This commit is contained in:
xiongchengqiang 2020-12-02 10:26:58 +08:00
parent f75117ebf7
commit 1a506403ec

View File

@ -1,153 +1,147 @@
<!-- --> <!-- -->
<template> <template>
<div class="performance"> <div class="performance">
<SmallNav v-if="!isNoRouter"/> <SmallNav v-if="!isNoRouter" />
<div v-if="isNoRouter" style="margin:20px 0;" class="commonFont">我的绩效</div> <div v-if="isNoRouter"
<div class="performance-content boderAndRadius"> style="margin:20px 0;"
<div v-if="isNoRouter" class="isNoRouter commonFont" > class="commonFont">我的绩效</div>
<el-cascader <div class="performance-content boderAndRadius">
style="width:210px;" <div v-if="isNoRouter"
v-if="isNoRouter" class="isNoRouter commonFont">
:key="key" <el-cascader style="width:210px;"
v-model="startId" v-if="isNoRouter"
size="mini" :key="key"
:props="props" v-model="startId"
:options="timeOptions" size="mini"
@change="handleChange" :props="props"
></el-cascader> :options="timeOptions"
@change="handleChange"></el-cascader>
</div> </div>
<div v-if="!isNoList" class="performance-content-title"> <div v-if="!isNoList"
class="performance-content-title">
<InfoHeader :obj="{ <InfoHeader :obj="{
src:obj.avatar || '', src:obj.avatar || '',
name:obj.staffName, name:obj.staffName,
departmentName:obj.departmentName departmentName:obj.departmentName
}" /> }" />
<div class="performance-content-title-right"> <div class="performance-content-title-right">
<UseButton :resultRecordId='resultRecordId' v-if="isShow" :formList='formList' :tableInfo.sync='tableInfo'/> <UseButton :resultRecordId='resultRecordId'
v-if="isShow && !tableInfo.result && !tableInfo.score"
:formList='formList'
:tableInfo.sync='tableInfo' />
</div> </div>
</div> </div>
<div v-if="!isNoList" class="performance-content-center"> <div v-if="!isNoList"
<div class="performance-content-center">
class="performance-content-center-item commonFont" <div class="performance-content-center-item commonFont"
:class="{ :class="{
active:i.isActive, active:i.isActive,
right:true, right:true,
left:index !==0 left:index !==0
}" }"
v-for="(i,index) in formList.flowRecordList" v-for="(i,index) in formList.flowRecordList"
:key="index" :key="index">
> <el-tooltip v-if="i.flowName !== '执行中'"
<el-tooltip class="item"
v-if="i.flowName !== '执行中'" effect="dark"
class="item" :content="(index >= (formList.flowRecordList.length-1))?i.flowName:i.flowName +' : '+i.staffName"
effect="dark" placement="top">
:content="(index >= (formList.flowRecordList.length-1))?i.flowName:i.flowName +' : '+i.staffName"
placement="top"
>
<div> <div>
{{index+1}}.{{i.flowName}} <span v-if="index !== (formList.flowRecordList.length-1)">:{{i.staffName}} {{index+1}}.{{i.flowName}} <span v-if="index !== (formList.flowRecordList.length-1)">:{{i.staffName}}
<i <i v-if="i.isGou && !i.isActive"
v-if="i.isGou && !i.isActive" style="color:#3ba1ff;margin:0 0 0 4px;font-weight:800;"
style="color:#3ba1ff;margin:0 0 0 4px;font-weight:800;" class="el-icon-check"></i></span>
class="el-icon-check" <i v-if="index !== formList.flowRecordList.length-1"
></i></span> style="cursor: pointer;"
<i @click="handleRight(i)"
v-if="index !== formList.flowRecordList.length-1" class="el-icon-video-pause"></i>
style="cursor: pointer;"
@click="handleRight(i)"
class="el-icon-video-pause"
></i>
</div> </div>
</el-tooltip> </el-tooltip>
<el-tooltip <el-tooltip v-if="i.flowName === '执行中'"
v-if="i.flowName === '执行中'" class="item"
class="item" effect="dark"
effect="dark" placement="top">
placement="top"
>
<div slot="content">执行中是员工在目标确认后努力达成目标的一个过程直到管理员发起评分<br />管理员如何发起评分返回上级页面&lt;考核详情&gt;点击"开始评分"按钮发起</div> <div slot="content">执行中是员工在目标确认后努力达成目标的一个过程直到管理员发起评分<br />管理员如何发起评分返回上级页面&lt;考核详情&gt;点击"开始评分"按钮发起</div>
<div> <div>
{{index+1}}.{{i.flowName}}<i class="el-icon-warning-outline" />:{{i.staffName}} <i {{index+1}}.{{i.flowName}}<i class="el-icon-warning-outline" />:{{i.staffName}} <i v-if="i.isGou && !i.isActive"
v-if="i.isGou && !i.isActive" style="color:#3ba1ff;margin:0 0 0 4px;font-weight:800;"
style="color:#3ba1ff;margin:0 0 0 4px;font-weight:800;" class="el-icon-check"></i>
class="el-icon-check" <i style="cursor: pointer;"
></i> @click="handleRight(i)"
<i class="el-icon-video-pause"></i>
style="cursor: pointer;"
@click="handleRight(i)"
class="el-icon-video-pause"
></i>
</div> </div>
</el-tooltip> </el-tooltip>
</div> </div>
</div> </div>
<div v-if="!isNoList" class="performance-content-bottom"> <div v-if="!isNoList"
<tables class="performance-content-bottom">
:resultRecordId='String(resultRecordId)' <tables :resultRecordId='String(resultRecordId)'
:tableAuth='formList.auth' :tableAuth='formList.auth'
:tableInfo.sync='tableInfo' :tableInfo.sync='tableInfo'
v-if="obj.recortModelDtos.length !==0" v-if="obj.recortModelDtos.length !==0"
:obj='obj' :obj='obj' />
/>
</div> </div>
<div v-if="!isNoList"> <div v-if="!isNoList">
<div v-if="formList.resultCommentList.length !== 0 " class="performance-content-jilu"> <div v-if="formList.resultCommentList.length !== 0 "
<div class="performance-content-jilu-title commonFont"> class="performance-content-jilu">
记录 <div class="performance-content-jilu-title commonFont">
</div> 记录
<div </div>
v-for="(i,index) in formList.resultCommentList" <div v-for="(i,index) in formList.resultCommentList"
:key="index" :key="index"
class="performance-content-jilu-item commonFont" class="performance-content-jilu-item commonFont">
> <div class="performance-content-jilu-item-time">
<div class="performance-content-jilu-item-time"> {{i.gmtCreate}}
{{i.gmtCreate}} </div>
</div> <div class="performance-content-jilu-item-content">
<div class="performance-content-jilu-item-content"> <div class="performance-content-jilu-item-content-img">
<div class="performance-content-jilu-item-content-img"> <InfoHeader :isShow='false'
<InfoHeader :isShow='false' :obj='{src:i.avatar}' /> :obj='{src:i.avatar}' />
</div>
<div>
<span>{{i.staffName}}</span><span class="mubiao">#{{i.optDesc}}#</span>
</div>
</div>
<div class="comment" v-if="i.comment">
<pre>{{i.comment}}</pre>
</div>
</div>
</div> </div>
<div>
<span>{{i.staffName}}</span><span class="mubiao">#{{i.optDesc}}#</span>
</div>
</div>
<div class="comment"
v-if="i.comment">
<pre>{{i.comment}}</pre>
</div>
</div>
</div>
</div> </div>
</div> </div>
<popup-right <popup-right v-if="right.showRight"
v-if="right.showRight" @cancel='handleCancel'
@cancel='handleCancel' @submit="handleSubmit"
@submit="handleSubmit" :footer='false'
:footer='false' :title="form.item.flowName">
:title="form.item.flowName" <div slot="content"
> class="chooseManage">
<div <div class='chooseManage-item'
slot="content" :key="index"
class="chooseManage" v-for="(i,index) in form.item.flowDetailRespList">
>
<div
class='chooseManage-item'
:key="index"
v-for="(i,index) in form.item.flowDetailRespList"
>
<InfoHeader :obj="{ <InfoHeader :obj="{
src:i.avatar, src:i.avatar,
name:i.staffName, name:i.staffName,
departmentName:i.departName departmentName:i.departName
}"/> }" />
<div class="chooseManage-item-center"> <div class="chooseManage-item-center">
<el-tag v-if='i.status===0' size="mini" type="warning">未确认</el-tag> <el-tag v-if='i.status===0'
<el-tag v-if='i.status===4' size="mini" >已跳过</el-tag> size="mini"
<el-tag v-if='i.status===1' size="mini" type="success">已确认</el-tag> type="warning">未确认</el-tag>
<el-tag v-if='i.status===4'
size="mini">已跳过</el-tag>
<el-tag v-if='i.status===1'
size="mini"
type="success">已确认</el-tag>
</div> </div>
<div> <div>
<UseButton :resultRecordId='resultRecordId' :info='i' :formList='formList' :tableInfo.sync='tableInfo'/> <UseButton :resultRecordId='resultRecordId'
:info='i'
:formList='formList'
:tableInfo.sync='tableInfo' />
</div> </div>
</div> </div>
</div> </div>
@ -221,7 +215,7 @@ export default {
computed: {}, computed: {},
beforeMount () { }, beforeMount () { },
async mounted () { async mounted () {
await this.handleGetTbale({id: this.$route.query.id || ''}) await this.handleGetTbale({ id: this.$route.query.id || '' })
if (this.isNoRouter) { if (this.isNoRouter) {
await this.handleStartsReq() await this.handleStartsReq()
} }
@ -230,7 +224,7 @@ export default {
methods: { methods: {
async handleChange (item) { async handleChange (item) {
this.startId = item this.startId = item
await this.handleGetTbale({startId: item[1]}) await this.handleGetTbale({ startId: item[1] })
await this.handleList() await this.handleList()
}, },
// 999 // 999
@ -275,7 +269,7 @@ export default {
} }
this.startIds = res.data.startId this.startIds = res.data.startId
this.resultRecordId = res.data.id this.resultRecordId = res.data.id
res.data.recortModelDtos = res.data.recortModelDtos.concat([{name: '总分', detailDtos: []}]) res.data.recortModelDtos = res.data.recortModelDtos.concat([{ name: '总分', detailDtos: [] }])
this.obj = res.data this.obj = res.data
}, },
handleRight (item) { handleRight (item) {
@ -311,7 +305,7 @@ export default {
</script> </script>
<style lang='less' scoped> <style lang='less' scoped>
.isNoRouter{ .isNoRouter {
display: flex; display: flex;
margin: 0 0 28px 0; margin: 0 0 28px 0;
align-items: center; align-items: center;
@ -324,24 +318,24 @@ export default {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
&-center{ &-center {
min-width: 200px; min-width: 200px;
.center() .center();
} }
} }
&-content { &-content {
.comment{ .comment {
width: 200px; width: 200px;
margin: 0 0 0 50px; margin: 0 0 0 50px;
padding: 10px; padding: 10px;
background: rgb(240, 240, 240); background: rgb(240, 240, 240);
border-radius: 4px; border-radius: 4px;
pre{ pre {
white-space: pre; white-space: pre;
white-space: pre-wrap!important; white-space: pre-wrap !important;
word-wrap: break-word!important; word-wrap: break-word !important;
*white-space:normal!important; *white-space: normal !important;
} }
} }
padding: 28px; padding: 28px;
margin: 10px 0 50px; margin: 10px 0 50px;