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/qjUser.vue |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/src/views/dashboard/qjUser.vue b/src/views/dashboard/qjUser.vue
index 73ca979..b924a28 100644
--- a/src/views/dashboard/qjUser.vue
+++ b/src/views/dashboard/qjUser.vue
@@ -57,10 +57,12 @@
 <script>
 // 引用翻页组件
 import Pagination from '@/components/Pagination'
+import dictMixin from '../../utils/dictMixin'
 export default {
   components: {
     Pagination
   },
+  mixins: [dictMixin],
   props: {
     dialogVisible: {
       type: Boolean,
@@ -99,8 +101,8 @@
       defaultProps: {
         children: 'children',
         label: 'label'
-      },
-      leaveTypeOptions: []
+      }
+      // leaveTypeOptions: []
     }
   },
   computed: {
@@ -108,14 +110,19 @@
       get() {
         return this.dialogVisible
       }
-    }
+    },
+    // 字典选项计算属性
+    leaveTypeOptions() { return this.getDictOptions('LEAVETYPE') }
+    // 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() {
-    setTimeout(() => {
-      this.getDicts('LEAVETYPE').then(response => {
-        this.leaveTypeOptions = response.data
-      })
-    }, 1000)
+    // 字典数据已在登录时预加载,直接从 Vuex 获取
+    this.initDictTypes(['LEAVETYPE'])
   },
   methods: {
     leaveTypeFormat(row, column) {

--
Gitblit v1.8.0