Kaynağa Gözat

EHR-绩效:增加绩效导出功能;阶段控制绩效列表分页功能无法点击问题处理;绩效详情增加状态字段;

001295 1 yıl önce
ebeveyn
işleme
52aaa20b74

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

@@ -117,7 +117,7 @@ import { superiorevaluation,superiorevaluationFlow} from "@/api/business/ehr/pm/
 
 export default {
   name: "AwaitMarkPmDetail",
-  dicts: ['ehr_pm_aspect','ehr_pm_role','ehr_pm_group'],
+  dicts: ['ehr_pm_aspect','ehr_pm_role','ehr_pm_group','ehr_pm_status'],
   data() {
     return {
       //遮罩层

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

@@ -77,7 +77,7 @@ import { verify} from "@/api/business/ehr/pm/pmverify";
 
 export default {
   name: "AwaitVerifyPmDetail",
-  dicts: ['ehr_pm_aspect','ehr_pm_role','ehr_pm_group'],
+  dicts: ['ehr_pm_aspect','ehr_pm_role','ehr_pm_group','ehr_pm_status'],
   data() {
     return {
       //遮罩层

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

@@ -88,7 +88,7 @@ import { getPerformance} from "@/api/business/ehr/pm/performance";
 
 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',

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

@@ -67,7 +67,7 @@ import { getPerformance} from "@/api/business/ehr/pm/performance";
 
 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',

+ 3 - 1
src/views/business/ehr/pm/juniorPm/detail.vue

@@ -3,6 +3,8 @@
     <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>
           <ApproveLogDialog style="margin: 0 10px" :pmId="form.id"></ApproveLogDialog>
@@ -81,7 +83,7 @@ import { getPerformance} from "@/api/business/ehr/pm/performance";
 
 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',

+ 40 - 1
src/views/business/ehr/pm/myPm/detail.vue

@@ -129,7 +129,15 @@
           </el-select>
         </el-form-item>
         <el-form-item label="评估指标" prop="target">
-          <el-input v-model="rowData.target"></el-input>
+          <el-select v-model="rowData.target" v-if="form.isTwoEvaluation">
+            <el-option
+              v-for="item in bothwayData[rowData.aspect]"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value">
+            </el-option>
+          </el-select>
+          <el-input v-model="rowData.target" v-else></el-input>
         </el-form-item>
         <el-form-item label="加/减分项" prop="asItem">
           <el-checkbox v-model="rowData.asItem" @change="handleCheckedChange"></el-checkbox>
@@ -226,6 +234,37 @@ export default {
       weightSum: 0,
       //自评分
       saMark: 0,
+      //双向评估评估方面选项
+      bothwayData:{
+        "5":[
+          {
+            value: '销售',
+            label: '销售'
+          },
+          {
+            value: '利润',
+            label: '利润'
+          },
+          {
+            value: '回款',
+            label: '回款'
+          },
+          {
+            value: '库存管理',
+            label: '库存管理'
+          },
+          {
+            value: '信息收集',
+            label: '信息收集'
+          },
+        ],
+        "6":[
+          {
+            value: '重点事项',
+            label: '重点事项'
+          },
+        ],
+      }
     }
   },
   computed: {

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

@@ -91,7 +91,7 @@ import { getPerformance} from "@/api/business/ehr/pm/performance";
 
 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',

+ 3 - 5
src/views/business/ehr/pm/psnrelation/detail.vue

@@ -5,6 +5,9 @@
         <span style="font-weight:bold">评估关系</span>
         <div style="float: right; padding: 3px 0" type="text">
           <el-button size="mini" plain @click="btnBack">返回</el-button>
+          <el-button type="primary" size="mini" @click="btnEdit" v-if="pageState == 'see'">修改</el-button>
+          <el-button size="mini" plain @click="btnCancel" v-if="pageState != 'see'">取消</el-button>
+          <el-button type="primary" size="mini" @click="btnSave" v-if="pageState != 'see'">保存</el-button>
           <el-button size="mini" plain @click="btnPreviou">上一个</el-button>
           <el-button size="mini" plain @click="btnNext">下一个</el-button>
         </div>
@@ -84,11 +87,6 @@
           </el-table-column>
         </el-table>
       </div>
-      <div class="footer">
-        <el-button type="primary" size="mini" @click="btnEdit" v-if="pageState == 'see'">修改</el-button>
-        <el-button size="mini" plain @click="btnCancel" v-if="pageState != 'see'">取消</el-button>
-        <el-button type="primary" size="mini" @click="btnSave" v-if="pageState != 'see'">保存</el-button>
-      </div>
     </el-card>
 
   </div>

+ 6 - 5
src/views/business/ehr/pm/stagecontrol/detail.vue

@@ -5,6 +5,7 @@
         <span style="font-weight:bold">阶段控制</span>
         <div style="float: right; padding: 3px 0;display:flex;justify-content:space-between" type="text" v-if="pageState == 'see'">
           <el-button size="mini" plain @click="btnBack">返回</el-button>
+          <el-button type="primary" size="mini" @click="btnEdit" v-if="pageState == 'see' && form.stage < 5">修改</el-button>
           <el-button size="mini" type="primary" :loading="loading" @click="btnPublish" v-if="form.isPublish == 'N'">发布</el-button>
           <el-button size="mini" type="primary" :loading="loading" @click="btnFillinFinish" v-if="form.isPublish == 'Y' && form.stage == '0'">结束填写</el-button>
           <el-button size="mini" type="primary" :loading="loading" @click="btnStartSelfEvaluation" v-if="form.stage == '2'">开始自评</el-button>
@@ -16,6 +17,10 @@
           <el-button size="mini" plain @click="btnPreviou">上一个</el-button>
           <el-button size="mini" plain @click="btnNext">下一个</el-button>
         </div>
+        <div style="float: right; padding: 3px 0;display:flex;justify-content:space-between" type="text" v-if="pageState != 'see'">
+          <el-button size="mini" plain @click="btnCancel" >取消</el-button>
+          <el-button type="primary" :loading="loading" size="mini" @click="btnSave">保存</el-button>
+        </div>
       </div>
       <div v-loading="loading">
         <el-descriptions :column="4" v-if="pageState == 'see'">
@@ -76,11 +81,7 @@
             <GcList :key="gcListKey" :stage="form"/>
           </el-tab-pane>
         </el-tabs>
-        <div class="footer">
-          <el-button type="primary" size="mini" @click="btnEdit" v-if="pageState == 'see' && form.stage < 5">修改</el-button>
-          <el-button size="mini" plain @click="btnCancel" v-if="pageState != 'see'">取消</el-button>
-          <el-button type="primary" :loading="loading" size="mini" @click="btnSave" v-if="pageState != 'see'">保存</el-button>
-        </div>
+        <!--               -->
       </div>
     </el-card>
     

+ 14 - 8
src/views/business/ehr/pm/stagecontrol/pmList.vue

@@ -1,8 +1,8 @@
 <template>
   <div>
     <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true">
-      <el-row type="flex" justify="space-between">
-        <el-col :span="12">
+      <el-row >
+        <el-col :span="18">
           <el-form-item label="状态" prop="status">
             <el-select
               size="mini"
@@ -21,18 +21,20 @@
           <el-form-item label="员工">
               <el-input v-model="queryParams.params.staffCodeOrName" clearable/>
           </el-form-item>
-          <el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item style="float:right">
             <el-button type="primary" icon="el-icon-search" size="mini" @click="btnSearch">搜索</el-button>
             <el-button icon="el-icon-refresh" size="mini" @click="btnResetQuery">重置</el-button>
           </el-form-item>
         </el-col>
-        <el-col :span="12" >
-          <!-- <el-button size="mini" icon="el-icon-upload2" @click="click">导入外部绩效数据</el-button> -->
-          <CreatePmDialog :stageId="stage.id" v-if="stage.stage < 5"></CreatePmDialog>
-        </el-col>
       </el-row>
     </el-form>
-    <el-table size="mini" height="500px" v-loading="loading" :data="listData">
+    <div style="float: right; padding: 3px 0; display:flex;justify-content:space-between">
+      <el-button size="mini" icon="el-icon-download" @click="btnExportAll">导出全部</el-button>
+      <CreatePmDialog :stageId="stage.id" v-if="stage.stage < 5"></CreatePmDialog>
+    </div> 
+    <el-table size="mini" height="400px" v-loading="loading" :data="listData">
       <el-table-column label="编号" align="center" prop="id" />
       <el-table-column label="员工工号" align="center" prop="staff" />
       <el-table-column label="员工名称" align="center" prop="staffName" />
@@ -209,6 +211,10 @@ export default {
         this.$modal.msgSuccess("调整成功");
       }).catch(() => {});
     },
+    //导出全部
+    btnExportAll(){
+      this.download('/ehr/pm/performance/exportAll', {sourceId:this.stage.id}, `performance_${new Date().getTime()}.xlsx`)
+    },
   },
 };
 </script>