zhengnaiwen_citu 4 月之前
父节点
当前提交
85cb6f1c24
共有 2 个文件被更改,包括 56 次插入6 次删除
  1. 5 0
      src/api/salary.js
  2. 51 6
      src/views/humanResources/roster/rosterEdit.vue

+ 5 - 0
src/api/salary.js

@@ -140,3 +140,8 @@ export function exportSalaryFixedLevel (data) {
 export function getSalaryFixedList (data) {
   return http.post('/digitizationData/employee/salary/page', data)
 }
+
+// 薪酬等级字典
+export function getSalaryLevelDict () {
+  return http.post('/salary/level/manage/dict')
+}

+ 51 - 6
src/views/humanResources/roster/rosterEdit.vue

@@ -6,12 +6,17 @@
 
 <script>
 import { saveRoster } from '@/api/system'
+import {
+  getSalaryLevelDict
+} from '@/api/salary'
 export default {
   name: 'roster-edit',
   data () {
     return {
       query: {},
-      isEdit: false
+      isEdit: false,
+      loading: false,
+      dict: {}
     }
   },
   computed: {
@@ -51,21 +56,40 @@ export default {
           options: { disabled: this.isEdit, placeholder: '请选择工行时间' },
           rules: [{ required: true, message: '请选择工行时间', trigger: 'blur' }]
         },
-        { label: '薪酬档次', prop: 'salaryCategory', type: 'number', options: { placeholder: '薪酬档次' }, rules: [{ required: true, message: '请输入薪酬档次', trigger: 'blur' }] },
-        { label: '薪酬级别', prop: 'salaryLevel', type: 'number', options: { placeholder: '薪酬级别' }, rules: [{ required: true, message: '请输入薪酬级别', trigger: 'blur' }] }
+        {
+          label: '薪酬档次',
+          prop: 'salaryCategory',
+          type: 'select',
+          options: {
+            placeholder: '薪酬档次',
+            items: this.dict.gradeDict
+          },
+          rules: [{ required: true, message: '请输入薪酬档次', trigger: 'blur' }]
+        },
+        {
+          label: '薪酬级别',
+          prop: 'salaryLevel',
+          type: 'select',
+          options: {
+            placeholder: '薪酬级别',
+            items: this.dict.levelDict
+          },
+          rules: [{ required: true, message: '请输入薪酬级别', trigger: 'blur' }]
+        }
       ]
     }
   },
   methods: {
-    open (item) {
-      console.log(item)
-
+    async open (item) {
       this.query = this.items.reduce((res, item) => {
         res[item.prop] = null
         return res
       }, {})
       this.$refs.editDialog.open()
       this.isEdit = Boolean(item)
+      this.loading = true
+      await this.getDict()
+      this.loading = false
       if (item) {
         Object.keys(this.query).forEach(key => {
           this.query[key] = item[key]
@@ -96,6 +120,27 @@ export default {
           this.$message.error(error)
         }
       })
+    },
+    async getDict () {
+      try {
+        const { data } = await getSalaryLevelDict()
+        this.dict = {
+          gradeDict: data.gradeDict.map(e => {
+            return {
+              label: e,
+              value: e
+            }
+          }),
+          levelDict: data.levelDict.map(e => {
+            return {
+              label: e,
+              value: e
+            }
+          })
+        }
+      } catch (error) {
+        this.$message.error(error)
+      }
     }
   }
 }