|
@@ -3,6 +3,7 @@
|
|
|
<el-card>
|
|
|
<div slot="header" class="clearfix">
|
|
|
<span style="font-weight:bold">绩效考核表</span>-{{form.name}}
|
|
|
+ <dict-tag :options="dict.type.ehr_pm_status" :value="form.status" style="display:inline-block;margin-right:5px;" />
|
|
|
<el-tag v-if="form.isTwoEvaluation">双向评估</el-tag>
|
|
|
<div style="float: right; padding: 3px 0; display:flex;justify-content:space-between" type="text">
|
|
|
<el-button size="mini" plain @click="btnBack">返回</el-button>
|
|
@@ -43,9 +44,13 @@
|
|
|
<el-input type="textarea" placeholder="总结本月工作的亮点和暗点" v-model="form.summary"></el-input>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
- <el-descriptions v-if="form.status > 4">
|
|
|
- <el-descriptions-item label="总评语">{{comment}}</el-descriptions-item>
|
|
|
- </el-descriptions>
|
|
|
+ <div style=" display: flex;align-items: flex-start;justify-content: flex-start;margin-top: -20px;" v-if="form.status > 4">
|
|
|
+ <p>总评语:</p>
|
|
|
+ <div style="margin-left: 18px;font-size: 15px;">
|
|
|
+ <p v-for="(item,index) in comment" :key="index">{{item[0]}}:{{item[1]}}</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
<div style="float: right; padding: 3px 0; display:flex;justify-content:space-between">
|
|
|
<el-button type="primary" size="mini" @click="btnAddRow" v-if="this.$store.state.user.name == form.staff && form.status == '0' && form.performanceItem.length <= 4">增加指标</el-button>
|
|
|
<CopyItemDialog style="margin: 0 10px" @setItems="setItems" v-if="this.$store.state.user.name == form.staff && form.status == '0'" :id="rowId"></CopyItemDialog>
|
|
@@ -81,14 +86,16 @@
|
|
|
<el-table-column width="80" label="自评分" align="center" prop="selfScoring" :render-header="addRedStar" v-if="this.$store.state.user.name == form.staff && form.status == '3'">
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item :prop="'performanceItem.'+scope.$index+'.selfScoring'" :rules="{required: true,message: ' ',trigger: 'blur'}">
|
|
|
- <el-input v-model="scope.row.selfScoring" v-only-number="{max:saMarkMax,min:0,precision:1}" size="mini"/>
|
|
|
+ <el-input v-model="scope.row.selfScoring" v-only-number="{max:saMarkMax,min:0,precision:1}" size="mini" v-if="!form.scored.includes(scope.row.evaluator)"/>
|
|
|
+ <div v-else>{{scope.row.selfScoring}}</div>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column :show-overflow-tooltip="!isUnfold" label="自评语" align="center" prop="selfComment" :render-header="addRedStar" v-if="this.$store.state.user.name == form.staff && form.status == '3'">
|
|
|
<template slot-scope="scope">
|
|
|
<el-form-item :prop="'performanceItem.'+scope.$index+'.selfComment'" :rules="{required: true,message: ' ',trigger: 'blur'}">
|
|
|
- <el-input size="mini" type="textarea" :rows="3" v-model="scope.row.selfComment"></el-input>
|
|
|
+ <el-input size="mini" type="textarea" :rows="3" v-model="scope.row.selfComment" v-if="!form.scored.includes(scope.row.evaluator)"/>
|
|
|
+ <div v-else>{{scope.row.selfComment}}</div>
|
|
|
</el-form-item>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -228,14 +235,21 @@ export default {
|
|
|
return this.form.staffDivide == 'C1' ? 150 : 100
|
|
|
},
|
|
|
comment() {
|
|
|
- let str = this.form.comment;
|
|
|
- //数据处理
|
|
|
- return str;
|
|
|
+ if(this.form.comment){
|
|
|
+ let obj = JSON.parse(this.form.comment);
|
|
|
+ let arr = Object.entries(obj)
|
|
|
+ return arr;
|
|
|
+ }else{
|
|
|
+ return [];
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
async created() {
|
|
|
this.id = this.rowId;
|
|
|
- this.fetchPerformance(this.id);
|
|
|
+ await this.fetchPerformance(this.id);
|
|
|
+ if(this.form.isTwoEvaluation){
|
|
|
+ this.dict.type.ehr_pm_aspect = this.dict.type.ehr_pm_aspect.filter(o => o.value == '5' || o.value == '6');
|
|
|
+ }
|
|
|
if(this.pageStu == 'add'){
|
|
|
}
|
|
|
if(this.pageStu == 'edit' || this.pageStu == 'see') {
|