Browse Source

Merge branch 'dev' of http://172.16.100.139/new-business/drp-web into dev

002390 1 năm trước cách đây
mục cha
commit
3a8f7af210

+ 9 - 0
src/api/business/ehr/pm/stage.js

@@ -130,4 +130,13 @@ export function stageCount(id) {
     url: '/ehr/pm/stage/stageCount/' + id,
     method: 'get'
   })
+}
+
+//绩效结果公示
+export function publishResult(data) {
+  return request({
+    url: '/ehr/pm/stage/publishResult',
+    method: 'post',
+    data: data
+  })
 }

+ 9 - 1
src/router/index.js

@@ -188,7 +188,15 @@ export const constantRoutes = [
   {
     path: '/business/spd/bo/statement',
     component: () => import('@/views/business/spd/bo/statement'),
-    hidden: false,
+    hidden: true,
+    meta: {
+      keepAlive: true // 需要缓存
+    }
+  },
+  {
+    path: '/business/ehr/pm/stagecontrol',
+    component: () => import('@/views/business/ehr/pm/stagecontrol'),
+    hidden: true,
     meta: {
       keepAlive: true // 需要缓存
     }

+ 0 - 1
src/views/business/ehr/pm/adjustMark/index.vue

@@ -241,7 +241,6 @@ export default {
         }
       }).catch((e) => {
         console.log('e',e);
-        this.$message.error(e.message)
       }).finally((e) => {
         this.$refs['upload'].clearFiles();
         this.getList();

+ 29 - 11
src/views/business/ehr/pm/stagecontrol/detail.vue

@@ -5,16 +5,17 @@
         <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>
-          <el-button size="mini" type="primary" :loading="loading" @click="btnFinishSelfEvaluation" v-if="form.stage == '3'">结束自评</el-button>
-          <el-button size="mini" type="primary" :loading="loading" plain @click="btnOpenGradeAdjust" v-if="form.stage == '5' && form.isAdjust == 'N' && form.isSalary == 'N'">开启最终分数调整</el-button>
-          <el-button size="mini" type="primary" :loading="loading" plain @click="btnCloseGradeAdjust" v-if="form.stage == '5' && form.isAdjust == 'Y' && form.isSalary == 'N'">关闭最终分数调整</el-button>
-          <el-button size="mini" type="primary" :loading="loading" plain @click="btnAdjustMark" v-if="form.stage == '5' && form.isSalary == 'N'">分数调整</el-button>
-          <el-button size="mini" type="primary" :loading="loading" plain @click="btnComputeResult" v-if="form.stage == '5' && form.isSalary == 'N'">计算结果</el-button>
-          <el-button size="mini" type="primary" :loading="loading" plain @click="btnCendToSalary" v-if="form.stage == '5' && form.isSalary == 'N'">过数到薪资</el-button>
+          <el-button type="primary" size="mini" @click="btnEdit" v-if="pageState == 'see' && form.stage < 5" v-hasPermi="['ehr:pm:stage:edit']">修改</el-button>
+          <el-button size="mini" type="primary" :loading="loading" @click="btnPublish" v-if="form.isPublish == 'N'" v-hasPermi="['ehr:pm:stage:publish']">发布</el-button>
+          <el-button size="mini" type="primary" :loading="loading" @click="btnFillinFinish" v-if="form.isPublish == 'Y' && form.stage == '0'" v-hasPermi="['ehr:pm:stage:fillinFinish']">结束填写</el-button>
+          <el-button size="mini" type="primary" :loading="loading" @click="btnStartSelfEvaluation" v-if="form.stage == '2'" v-hasPermi="['ehr:pm:stage:startSelfEvaluation']">开始自评</el-button>
+          <el-button size="mini" type="primary" :loading="loading" @click="btnFinishSelfEvaluation" v-if="form.stage == '3'" v-hasPermi="['ehr:pm:stage:finishSelfEvaluation']">结束自评</el-button>
+          <el-button size="mini" type="primary" :loading="loading" plain @click="btnOpenGradeAdjust" v-if="form.stage == '5' && form.isAdjust == 'N' && form.isSalary == 'N'" v-hasPermi="['ehr:pm:stage:openGradeAdjust']">开启部门分数调整</el-button>
+          <el-button size="mini" type="primary" :loading="loading" plain @click="btnCloseGradeAdjust" v-if="form.stage == '5' && form.isAdjust == 'Y' && form.isSalary == 'N'" v-hasPermi="['ehr:pm:stage:closeGradeAdjust']">关闭部门分数调整</el-button>
+          <el-button size="mini" type="primary" :loading="loading" plain @click="btnAdjustMark" v-if="form.stage == '5' && form.isSalary == 'N'" v-hasPermi="['ehr:pm:stage:markAdjust']">分数调整</el-button>
+          <el-button size="mini" type="primary" :loading="loading" plain @click="btnComputeResult" v-if="form.stage == '5' && form.isSalary == 'N'" v-hasPermi="['ehr:pm:stage:computeResult']">计算结果</el-button>
+          <el-button size="mini" type="primary" :loading="loading" plain @click="btnCendToSalary" v-if="form.stage == '5' && form.isSalary == 'N'" v-hasPermi="['ehr:pm:stage:cendToSalary']">过数到薪资</el-button>
+          <el-button size="mini" type="primary" :loading="loading" plain @click="btnPublishResult" v-if="form.stage == '5' && form.isSalary == 'Y'" v-hasPermi="['ehr:pm:stage:publishResult']">绩效结果公示</el-button>
           <el-button size="mini" plain @click="btnPreviou">上一个</el-button>
           <el-button size="mini" plain @click="btnNext">下一个</el-button>
         </div>
@@ -92,7 +93,7 @@
 <script>
 import PmList from './pmList.vue'
 import GcList from './gcList.vue'
-import { getStage,addStage,updateStage,publishStage,fillinFinish,startSelfEvaluation,finishSelfEvaluation,openGradeAdjust,closeGradeAdjust,computeResult,cendToSalary} from "@/api/business/ehr/pm/stage";
+import { getStage,addStage,updateStage,publishStage,fillinFinish,startSelfEvaluation,finishSelfEvaluation,openGradeAdjust,closeGradeAdjust,computeResult,cendToSalary,publishResult} from "@/api/business/ehr/pm/stage";
 
 export default {
   name: 'detail',
@@ -277,6 +278,10 @@ export default {
     },
     //计算结果
     btnComputeResult(){
+      if(this.form.isAdjust == 'Y'){
+        this.$modal.msgWarning("当前已开启部门负责人分数调整,请先关闭部门负责人分数调整后再进行计算结果操作!");
+        return;
+      }
       try {
         this.loading = true;
         computeResult(this.form).then(res => {
@@ -301,6 +306,19 @@ export default {
         that.loading = false;
       });
     },
+    //公布结果
+    btnPublishResult(){
+      let that = this;
+      this.$modal.confirm('确认要公示结果吗?').then(async function() {
+        that.loading = true;
+        return await publishResult(that.form);
+      }).then(() => {
+        that.fetchStage(that.id);
+        that.$modal.msgSuccess("已公示");
+      }).catch(() => {
+        that.loading = false;
+      });
+    },
     //修改
     btnEdit(){
       this.pageState = "edit";

+ 7 - 1
src/views/business/ehr/pm/stagecontrol/index.vue

@@ -21,7 +21,7 @@
         </el-row>
       </el-form>
       <div style="float:right">
-        <el-button type="primary" size="mini" @click="btnAdd">新增</el-button>
+        <el-button type="primary" size="mini" @click="btnAdd" v-hasPermi="['ehr:pm:stage:add']">新增</el-button>
       </div>
       <el-table size="mini" v-loading="loading" :data="listData" height="500px" @row-dblclick="btnDetails">
         <el-table-column label="周期编号" align="center" prop="id" />
@@ -32,6 +32,11 @@
             <dict-tag :options="dict.type.ehr_pm_status" :value="scope.row.stage"/>
           </template>
         </el-table-column>
+        <el-table-column label="是否过数系数" align="center" prop="isSalary">
+          <template slot-scope="scope">
+            {{scope.row.isSalary == 'Y' ? '是' : '否'}}
+          </template>
+        </el-table-column>
         <el-table-column label="创建时间" align="center" prop="createTime" />
         <el-table-column label="创建人" align="center" prop="createByName" />
         <el-table-column label="操作" fixed="right" align="center" class-name="small-padding fixed-width">
@@ -46,6 +51,7 @@
               type="text"
               @click="btnDelete(scope.row)"
               v-if="scope.row.isPublish != 'Y'"
+              v-hasPermi="['ehr:pm:stage:delete']"
             >删除</el-button>
           </template>
         </el-table-column>

+ 1 - 0
src/views/business/ehr/pm/stagecontrol/pmList.vue

@@ -110,6 +110,7 @@ export default {
         pageSize: 10,
         status: null,
         params:{
+          JXKKB: 'Y',
           staffCodeOrName: null,
         },
       },