Bladeren bron

绩效0425功能优化;

001295 1 jaar geleden
bovenliggende
commit
fdaeeb36f4

+ 18 - 1
src/api/business/ehr/config/config.js

@@ -1,9 +1,26 @@
 import request from '@/utils/request'
 
 // 员工数据权限配置
-export function listPmPerformance(query) {
+export function PmPerformancelist() {
   return request({
     url: '/ehr/pm/config/pmPerformance/list',
     method: 'get'
   })
+}
+
+// 保存绩效考核表查询数据权限
+export function pmPerformanceSave(data) {
+  return request({
+    url: '/ehr/pm/config/pmPerformance/save',
+    method: 'post',
+    data: data
+  })
+}
+
+// 分数调整权限
+export function listPmScoreAdjustment(query) {
+  return request({
+    url: '/ehr/pm/config/pmScoreAdjustment/list',
+    method: 'get'
+  })
 }

+ 0 - 2
src/store/modules/user.js

@@ -83,9 +83,7 @@ const user = {
     GetInfo({ commit, state }) {
       return new Promise((resolve, reject) => {
         getInfo().then(res => {
-          console.log("res",res);
           const user = res.user
-          console.log("user",user);
           const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
           if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
             commit('SET_ROLES', res.roles)

+ 11 - 17
src/views/business/ehr/config/index.vue

@@ -1,36 +1,30 @@
 <template>
-  <div v-loading="loading">
-    <el-tabs tab-position="left" style="height: 200px;">
-      <el-tab-pane label="员工数据权限">
-        <el-input
-          type="textarea"
-          v-model="pmPerformance"
-        />
+  <div>
+    <el-tabs v-model="activeName" tab-position="left">
+      <el-tab-pane label="员工数据权限" name="first">
+        <PmPerformanceConfig v-if="activeName == 'first'"/>
+      </el-tab-pane>
+      <el-tab-pane label="员工分数调整" name="second">
+        <PmScoreAdjustmentConfig v-if="activeName == 'second'"/>
       </el-tab-pane>
-      <el-tab-pane label="员工分数调整">员工分数调整</el-tab-pane>
     </el-tabs>
   </div>
 </template>
 
 <script>
-import { listPmPerformance} from "@/api/business/ehr/config/config";
-
+import PmPerformanceConfig from './pmPerformanceConfig.vue';
+import PmScoreAdjustmentConfig from './pmScoreAdjustmentConfig.vue';
 export default {
   name: "PmConfig",
+  components: {PmPerformanceConfig,PmScoreAdjustmentConfig},
   data() {
     return {
-      // 遮罩层
-      loading: false,
-      //员工数据权限
-      pmPerformance: null,
+      activeName: 'first',
     };
   },
   async created() {
-    let res = await listPmPerformance();
-    this.pmPerformance = res.data;
   },
   methods: {
-    
   }
 };
 </script>

+ 97 - 0
src/views/business/ehr/config/pmPerformanceConfig.vue

@@ -0,0 +1,97 @@
+<template>
+  <div v-loading="loading">
+    <div v-if = "operatingState == 'see'">
+      <el-table size="mini" v-loading="loading" :data="data" :key="refreshTable">
+        <el-table-column label="员工" align="center" prop="staff" />
+        <el-table-column label="部门" align="center" prop="dept" />
+      </el-table>
+    </div>
+    <div v-if = "operatingState == 'edit'">
+      <div style="float:right">
+        <el-button type="primary" size="mini" @click="btnAddRow" v-if = "operatingState == 'edit'">新增</el-button>
+      </div>
+      <el-table size="mini" v-loading="loading" :data="data" :key="refreshTable">
+        <el-table-column label="员工" align="center" prop="staff">
+          <template slot-scope="scope">
+            <el-input size="mini" v-model="scope.row.staff" />
+          </template>
+        </el-table-column>
+        <el-table-column label="部门" align="center" prop="dept">
+          <template slot-scope="scope">
+            <el-input size="mini" v-model="scope.row.dept" />
+          </template>
+        </el-table-column>
+      </el-table>
+    </div>
+    <div style="float:right">
+        <el-button type="primary" size="mini" @click="btnEdit" v-if = "operatingState == 'see'">修改</el-button>
+        <el-button size="mini" @click="btnCancel" v-if = "operatingState == 'edit'">取消</el-button>
+        <el-button type="primary" size="mini" @click="btnSave" v-if = "operatingState == 'edit'">保存</el-button>
+    </div>
+  </div>
+</template>
+
+<script>
+import { PmPerformancelist,pmPerformanceSave} from "@/api/business/ehr/config/config";
+
+export default {
+  name: "PmPerformanceConfig",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      //员工数据权限
+      data: null,
+      //操作状态
+      operatingState:"see",
+      //刷新表格标记
+      refreshTable:0,
+    };
+  },
+  async created() {
+    this.operatingState = "see";
+    this.loading = true;
+    let res = await PmPerformancelist();
+    this.data = res.data;
+    this.loading = false;
+  },
+  methods: {
+    //修改按钮
+    btnEdit(){
+      this.refreshTable++;
+      this.operatingState = "edit";
+    },
+    //取消按钮
+    async btnCancel(){
+      PmPerformancelist().then(res => {
+        this.data = res.data;
+      })
+      this.refreshTable++;
+      this.operatingState = "see";
+    },
+    //保存按钮
+    btnSave(){
+      this.loading = true;
+      try {
+        pmPerformanceSave(this.data).then(response => {
+          this.$modal.msgSuccess("保存成功");
+          PmPerformancelist().then(res => {
+            this.data = res.data;
+            this.refreshTable++;
+            this.operatingState = "see";
+            this.loading = false;
+          })
+        });
+      } catch (err) {
+        console.error(err);
+      } finally {
+        
+      }
+      
+    }
+  }
+};
+</script>
+
+<style lang="scss" scoped>
+</style>

+ 32 - 0
src/views/business/ehr/config/pmScoreAdjustmentConfig.vue

@@ -0,0 +1,32 @@
+<template>
+  <div v-loading="loading">
+    {{this.data}}
+  </div>
+</template>
+
+<script>
+import { listPmScoreAdjustment} from "@/api/business/ehr/config/config";
+
+export default {
+  name: "PmScoreAdjustmentConfig",
+  data() {
+    return {
+      // 遮罩层
+      loading: false,
+      //员工数据权限
+      data: null,
+    };
+  },
+  async created() {
+    let res = await listPmScoreAdjustment();
+    this.data = res.data;
+  },
+  methods: {
+    
+  }
+};
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 20 - 12
src/views/business/spd/bo/basic/details.vue

@@ -337,6 +337,26 @@ export default {
       },
       immediate: true,
       deep: true // 可以深度检测到 person 对象的属性值的变化
+    },
+    'form.basic.winningState': {
+      handler(newVal, oldVal) {
+        switch (newVal) {
+          case '1':
+            this.winningStateTitle = "关闭";
+            break;
+          case '2':
+            this.winningStateTitle = "丢单";
+            break;
+          case '3':
+            this.winningStateTitle = "赢单";
+            break;
+          default:
+            this.winningStateTitle = "***";
+            break;
+        }
+      },
+      immediate: true,
+      deep: true // 可以深度检测到 person 对象的属性值的变化
     }
   },
   //方法
@@ -426,12 +446,6 @@ export default {
       //加载基础数据
       let res = await getBasic(this.$route.params.id);
       this.form.basic = res.data;
-      //设置应丢关单标题
-      switch(this.form.basic.winningState){
-        case "1" : this.winningStateTitle = "关闭";break;
-        case "2" : this.winningStateTitle = "丢单";break;
-        case "3" : this.winningStateTitle = "赢单";break;
-      }
       //加载流程节点数据
       let bnRes = await getBoNodeListByType(this.form.basic.boType);
       this.boStage = bnRes.rows;
@@ -482,12 +496,6 @@ export default {
     //加载基础数据
     let res = await getBasic(this.$route.params.id);
     this.form.basic = res.data;
-    //设置应丢关单标题
-    switch(this.form.basic.winningState){
-      case "1" : this.winningStateTitle = "关闭";break;
-      case "2" : this.winningStateTitle = "丢单";break;
-      case "3" : this.winningStateTitle = "赢单";break;
-    }
     //加载流程节点数据
     let bnRes = await getBoNodeListByType(this.form.basic.boType);
     this.boStage = bnRes.rows;