Browse Source

Merge branch 'dev_ehr_pm2.0' into dev

001295 1 year ago
parent
commit
070bbbaeef

+ 21 - 17
src/views/business/ehr/pm/awaitMarkPm/detail.vue

@@ -2,7 +2,8 @@
   <div>
     <el-card v-if="flow.staff == this.$store.state.user.name">
       <div slot="header" class="clearfix">
-        <span style="font-weight:bold">绩效评分</span>
+        <span style="font-weight:bold">绩效评分</span>-{{form.name}}
+        <el-tag v-if="form.isTwoEvaluation">双向评估</el-tag>
         <div style="float: right; padding: 3px 0" type="text">
           <el-button size="mini" plain @click="btnBack">返回</el-button>
           <el-button size="mini" plain @click="btnTurnDown(1)" v-if="flow.status == 0">驳回</el-button>
@@ -36,13 +37,10 @@
             <el-descriptions-item label="总评语">{{form.comment}}</el-descriptions-item>
           </el-descriptions>
           <div v-if="flow.status == 0">
-            <el-form-item label="总评语" prop="comment">
-              <el-input type="textarea" v-model="form.comment"></el-input>
+            <el-form-item label="总评语" prop="remark">
+              <el-input type="textarea" v-model="form.remark"></el-input>
             </el-form-item>
           </div>
-          <!-- <div style="float:right">
-            <el-button size="mini" @click="btnUnfold">{{isUnfold == true ? "收起" : "展开"}}</el-button>
-          </div> -->
           <el-table size="mini"  :data="form.performanceItem" show-summary :summary-method="getSummaries" border :key="refreshTable">
             <el-table-column type="index" width="50" label="序号"/>
             <el-table-column width="100" :show-overflow-tooltip="!isUnfold" label="评估方面" align="center" prop="aspect">
@@ -61,11 +59,6 @@
                 <div style="white-space: pre-wrap;text-align: left">{{scope.row.instructions}}</div>
               </template>
             </el-table-column>
-            <!-- <el-table-column width="100" label="角色" align="center" prop="role">
-              <template slot-scope="scope">
-                <dict-tag :options="dict.type.ehr_pm_role" :value="scope.row.role"/>
-              </template>
-            </el-table-column> -->
             <el-table-column :show-overflow-tooltip="!isUnfold" label="评分标准" align="center" prop="standard">
               <template slot-scope="scope">
                 <div style="white-space: pre-wrap;text-align: left">{{scope.row.standard}}</div>
@@ -74,19 +67,22 @@
             <el-table-column width="100" label="数据来源" align="center" prop="source" />
             <el-table-column width="80" label="自评分" align="center" prop="selfScoring"/>
             <el-table-column :show-overflow-tooltip="!isUnfold" label="自评语" align="center" prop="selfComment"/>
+            <el-table-column width="80" label="评估人" align="center" prop="evaluatorName" v-if="form.isTwoEvaluation"/>
             <el-table-column width="80" label="上级评分" align="center" prop="leaderScoring" v-if="flow.status != 0"/>
             <el-table-column :show-overflow-tooltip="!isUnfold" label="评分说明" align="center" prop="leaderComment" v-if="flow.status != 0"/>
             <el-table-column width="85" label="上级评分" align="center" prop="leaderScoring" :render-header="addRedStar" v-if="flow.status == 0">
               <template slot-scope="scope">
                 <el-form-item :prop="'performanceItem.'+scope.$index+'.leaderScoring'" :rules="{required: true,message: ' ',trigger: 'blur'}">
-                  <el-input  v-model="scope.row.leaderScoring" v-only-number="{max:saMarkMax,min:0,precision:1}" size="mini"/>
+                  <el-input v-if="scope.row.evaluator.includes($store.state.user.name)" v-model="scope.row.leaderScoring" v-only-number="{max:saMarkMax,min:0,precision:1}" size="mini"/>
+                  <div v-else>{{scope.row.leaderScoring}}</div>
                 </el-form-item>
               </template>
             </el-table-column>
             <el-table-column :show-overflow-tooltip="!isUnfold" label="评分说明" align="center" prop="leaderComment" v-if="flow.status == 0">
               <template slot-scope="scope">
                 <el-form-item :prop="'performanceItem.'+scope.$index+'.leaderComment'">
-                  <el-input size="mini" type="textarea" v-model="scope.row.leaderComment"/>
+                  <el-input v-if="scope.row.evaluator.includes($store.state.user.name)" size="mini" type="textarea" v-model="scope.row.leaderComment"/>
+                  <div v-else>{{scope.row.leaderComment}}</div>
                 </el-form-item>
               </template>
             </el-table-column>
@@ -128,7 +124,7 @@ export default {
       flow:{},
       //提交规则
       rules:{
-        comment: [
+        remark: [
           { required: true, message: " ", trigger: "blur" },
         ],
       },
@@ -154,10 +150,18 @@ export default {
       return this.form.staffDivide == 'C1' ? 150 : 100
     }
 	},
-  created() {
+  async created() {
     console.log("this.$route.query",this.$route.query);
-    this.fetchPerformance(this.$route.query.performanceId);
-    this.fetchFlow(this.$route.query.flowId);
+    await this.fetchPerformance(this.$route.query.performanceId);
+    await this.fetchFlow(this.$route.query.flowId);
+    if(this.form.comment){
+      let obj = JSON.parse(this.form.comment);
+      if(this.form.isTwoEvaluation){
+        this.form.remark = obj[this.$store.state.user.nickName];
+      }else{
+        this.form.remark = obj[this.form.evaluatorName];
+      }
+    }
   },
   methods: {
     //查询详情

+ 1 - 0
src/views/business/ehr/pm/awaitVerifyPm/detail.vue

@@ -3,6 +3,7 @@
     <el-card v-if="flow.staff == this.$store.state.user.name">
       <div slot="header" class="clearfix">
         <span style="font-weight:bold">绩效确认</span>
+        <el-tag v-if="form.isTwoEvaluation">双向评估</el-tag>
         <div style="float: right; padding: 3px 0" type="text">
           <el-button size="mini" plain @click="btnBack">返回</el-button>
           <el-button size="mini" plain @click="btnTurnDown(1)" v-if="flow.status == 0">驳回</el-button>

+ 2 - 0
src/views/business/ehr/pm/finishMarkPm/detail.vue

@@ -3,6 +3,7 @@
     <el-card>
       <div slot="header" class="clearfix">
         <span style="font-weight:bold">绩效考核表</span>-{{form.name}}
+        <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>
           <ApproveLogDialog style="margin: 0 10px" :pmId="form.id"></ApproveLogDialog>
@@ -65,6 +66,7 @@
             <el-table-column width="100" label="数据来源" align="center" prop="source"/>
             <el-table-column width="80" label="自评分" align="center" prop="selfScoring"/>
             <el-table-column :show-overflow-tooltip="!isUnfold" label="自评语" align="center" prop="selfComment"/>
+            <el-table-column width="80" label="评估人" align="center" prop="evaluatorName" v-if="form.isTwoEvaluation"/>
             <el-table-column width="80" label="上级评分" align="center" prop="leaderScoring"/>
             <el-table-column :show-overflow-tooltip="!isUnfold" label="上级评语" align="center" prop="leaderComment"/>
           </el-table>

+ 1 - 0
src/views/business/ehr/pm/finishVerifyPm/detail.vue

@@ -3,6 +3,7 @@
     <el-card>
       <div slot="header" class="clearfix">
         <span style="font-weight:bold">绩效考核表</span>-{{form.name}}
+        <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>
           <ApproveLogDialog style="margin: 0 10px" :pmId="form.id"></ApproveLogDialog>

+ 10 - 19
src/views/business/ehr/pm/myPm/detail.vue

@@ -3,6 +3,7 @@
     <el-card>
       <div slot="header" class="clearfix">
         <span style="font-weight:bold">绩效考核表</span>-{{form.name}}
+        <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>
           <el-button type="primary" size="mini" @click="btnSubmit" :loading="loading" v-if="this.$store.state.user.name == form.staff && (form.status == '0' || form.status == '3')">提交</el-button>
@@ -43,12 +44,11 @@
             </el-form-item>
           </div>
           <el-descriptions v-if="form.status > 4">
-            <el-descriptions-item label="总评语">{{form.comment}}</el-descriptions-item>
+            <el-descriptions-item label="总评语">{{comment}}</el-descriptions-item>
           </el-descriptions>
           <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>
-            <!-- <el-button size="mini" @click="btnUnfold">{{isUnfold == true ? "收起" : "展开"}}</el-button> -->
           </div>
           <el-table size="mini"  :data="form.performanceItem" show-summary :summary-method="getSummaries" border :key="refreshTable">
             <el-table-column type="index" width="50" align="center" label="序号"/>
@@ -68,11 +68,6 @@
                 <div style="white-space: pre-wrap;text-align: left">{{scope.row.instructions}}</div>
               </template>
             </el-table-column>
-            <!-- <el-table-column width="100" label="角色" align="center" prop="role">
-              <template slot-scope="scope">
-                <dict-tag :options="dict.type.ehr_pm_role" :value="scope.row.role"/>
-              </template>
-            </el-table-column> -->
             <el-table-column :show-overflow-tooltip="!isUnfold" label="评分标准" align="center" prop="standard">
               <template slot-scope="scope">
                 <div style="white-space: pre-wrap;text-align: left">{{scope.row.standard}}</div>
@@ -98,9 +93,10 @@
               </template>
             </el-table-column>
 
+            <el-table-column width="80" label="评估人" align="center" prop="evaluatorName" v-if="form.status > 4 && form.isTwoEvaluation"/>
+
             <el-table-column width="80" label="上级评分" align="center" prop="leaderScoring" v-if="form.status > 4"/>
             <el-table-column :show-overflow-tooltip="!isUnfold" label="评分说明" align="center" prop="leaderComment" v-if="form.status > 4"/>
-            <!-- <el-table-column width="80" label="加权得分" align="center" prop="weightedScore" v-if="form.status > 4"/> -->
 
             <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width" v-if="this.$store.state.user.name == form.staff && form.status == '0'">
               <template slot-scope="scope">
@@ -139,16 +135,6 @@
         <el-form-item label="指标说明" prop="instructions">
           <el-input type="textarea" v-model="rowData.instructions" :rows="5"></el-input>
         </el-form-item>
-        <!-- <el-form-item label="角色" prop="role">
-          <el-select v-model="rowData.role" >
-            <el-option
-              v-for="dict in dict.type.ehr_pm_role"
-              :key="dict.value"
-              :label="dict.label"
-              :value="dict.value"
-            ></el-option>
-          </el-select>
-        </el-form-item> -->
         <el-form-item label="评分标准" prop="standard">
           <el-input type="textarea" v-model="rowData.standard" :rows="5"></el-input>
         </el-form-item>
@@ -174,7 +160,7 @@ import { getPerformanceItem,addPerformanceItem,updatePerformanceItem,delPerforma
 
 export default {
   name: 'detail',
-  dicts: ['ehr_pm_aspect','ehr_pm_role','ehr_pm_group'],
+  dicts: ['ehr_pm_aspect','ehr_pm_role','ehr_pm_group','ehr_pm_status'],
   props: ['pageStu','rowId',"ids"],
   model: {
     prop: 'isList',
@@ -241,6 +227,11 @@ export default {
       //业务组最高自评分为150;非业务组最高自评分为100;
       return this.form.staffDivide == 'C1' ? 150 : 100
     },
+    comment() {
+      let str = this.form.comment;
+      //数据处理
+      return str;
+    }
 	},
   async created() {
     this.id = this.rowId;

+ 2 - 2
src/views/business/ehr/pm/performance/detail.vue

@@ -3,6 +3,7 @@
     <el-card>
       <div slot="header" class="clearfix">
         <span style="font-weight:bold">绩效考核表</span>-{{form.name}}
+        <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>
           <el-button type="primary" size="mini" @click="btnSubmit" :loading="loading" v-if="this.$store.state.user.name == form.staff && (form.status == '0' || form.status == '3')">提交</el-button>
@@ -67,6 +68,7 @@
             <el-table-column width="100" label="数据来源" align="center" prop="source" />
             <el-table-column width="80" label="自评分" align="center" prop="selfScoring" v-if="form.status > 3"/>
             <el-table-column :show-overflow-tooltip="!isUnfold" label="自评语" align="center" prop="selfComment" v-if="form.status > 3"/>
+            <el-table-column width="80" label="评估人" align="center" prop="evaluatorName" v-if="form.status > 4 && form.isTwoEvaluation"/>
             <el-table-column width="80" label="上级评分" align="center" prop="leaderScoring" v-if="form.status > 4"/>
             <el-table-column :show-overflow-tooltip="!isUnfold" label="评分说明" align="center" prop="leaderComment" v-if="form.status > 4"/>
           </el-table>
@@ -111,8 +113,6 @@ export default {
     if(this.pageStu == 'edit' || this.pageStu == 'see') {
     }
   },
-  watch: {
-  },
   methods: {
     //返回
     btnBack(){