From 6448ec15bfe0b65fb822a662105bceddc23b58d8 Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期一, 06 四月 2026 21:34:44 +0800
Subject: [PATCH] feat(user): 新增员工档案管理视图组件

---
 src/views/dashboard/onTheJobUser.vue |   67 ++++++++++++++++++++-------------
 1 files changed, 41 insertions(+), 26 deletions(-)

diff --git a/src/views/dashboard/onTheJobUser.vue b/src/views/dashboard/onTheJobUser.vue
index e83ec62..afeef95 100644
--- a/src/views/dashboard/onTheJobUser.vue
+++ b/src/views/dashboard/onTheJobUser.vue
@@ -62,10 +62,12 @@
 <script>
 // 引用翻页组件
 import Pagination from '@/components/Pagination'
+import dictMixin from '../../utils/dictMixin'
 export default {
   components: {
     Pagination
   },
+  mixins: [dictMixin],
   props: {
     dialogVisible: {
       type: Boolean,
@@ -109,13 +111,13 @@
       defaultProps: {
         children: 'children',
         label: 'label'
-      },
-      educationOptions: [],
-      nativePlaceOptions: [],
-      insuranceOptions: [],
-      sexOptions: [],
-      empTypeOptions: [],
-      nationOptions: []
+      }
+      // educationOptions: [],
+      // nativePlaceOptions: [],
+      // insuranceOptions: [],
+      // sexOptions: [],
+      // empTypeOptions: [],
+      // nationOptions: []
     }
   },
   computed: {
@@ -123,27 +125,40 @@
       get() {
         return this.dialogVisible
       }
-    }
+    },
+    // 字典选项计算属性
+    sexOptions() { return this.getDictOptions('sex') },
+    // empStatusOptions() { return this.getDictOptions('empStatus') },
+    empTypeOptions() { return this.getDictOptions('EMPTYPE') },
+    educationOptions() { return this.getDictOptions('EDUCATION') },
+    nativePlaceOptions() { return this.getDictOptions('NATIVEPLACE') },
+    insuranceTypeOptions() { return this.getDictOptions('INSURANCETYPE') },
+    nationOptions() { return this.getDictOptions('NATION') }
   },
   mounted() {
-    this.getDicts('EDUCATION').then(response => {
-      this.educationOptions = response.data
-    })
-    this.getDicts('NATIVEPLACE').then(response => {
-      this.nativePlaceOptions = response.data
-    })
-    this.getDicts('sex').then(response => {
-      this.sexOptions = response.data
-    })
-    this.getDicts('empType').then(response => {
-      this.empTypeOptions = response.data
-    })
-    this.getDicts('NATION').then(response => {
-      this.nationOptions = response.data
-    })
-    this.getDicts('INSURANCETYPE').then(response => {
-      this.insuranceTypeOptions = response.data
-    })
+    this.initDictTypes([
+      'sex', 'NATION', 'EMPTYPE',
+      'EDUCATION', 'NATIVEPLACE',
+      'INSURANCETYPE'
+    ])
+    // this.getDicts('EDUCATION').then(response => {
+    //   this.educationOptions = response.data
+    // })
+    // this.getDicts('NATIVEPLACE').then(response => {
+    //   this.nativePlaceOptions = response.data
+    // })
+    // this.getDicts('sex').then(response => {
+    //   this.sexOptions = response.data
+    // })
+    // this.getDicts('empType').then(response => {
+    //   this.empTypeOptions = response.data
+    // })
+    // this.getDicts('NATION').then(response => {
+    //   this.nationOptions = response.data
+    // })
+    // this.getDicts('INSURANCETYPE').then(response => {
+    //   this.insuranceTypeOptions = response.data
+    // })
   },
   methods: {
     educationFormat(row, column) {

--
Gitblit v1.8.0