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/ywUser.vue |   53 +++++++++++++++++++++++++++--------------------------
 1 files changed, 27 insertions(+), 26 deletions(-)

diff --git a/src/views/dashboard/ywUser.vue b/src/views/dashboard/ywUser.vue
index faa7638..9bd1db1 100644
--- a/src/views/dashboard/ywUser.vue
+++ b/src/views/dashboard/ywUser.vue
@@ -28,27 +28,27 @@
         :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}"
         style="width: 100%;"
       >
-        <el-table-column show-overflow-tooltip type="selection" :reserve-selection="false" width="55" />
-        <el-table-column show-overflow-tooltip prop="empNumb" label="员工编号" width="60" />
-        <el-table-column show-overflow-tooltip prop="deptName" label="护卫点" width="60" />
+        <el-table-column show-overflow-tooltip type="index" width="55" label="序号" />
+        <el-table-column show-overflow-tooltip prop="empNumb" label="编号" width="60" />
+        <el-table-column show-overflow-tooltip prop="allDeptName" label="部门(护卫点)" width="300" />
         <el-table-column show-overflow-tooltip prop="jobName" label="岗位" width="60" />
         <el-table-column show-overflow-tooltip prop="empName" label="姓名" width="60" />
-        <el-table-column show-overflow-tooltip prop="certificateNumb" label="身份证号码" />
+        <el-table-column show-overflow-tooltip prop="certificateNumb" label="身份证号码" width="120" />
         <el-table-column show-overflow-tooltip prop="injuredTime" label="受伤日期" width="80" />
-        <el-table-column show-overflow-tooltip prop="injuredAddress" label="受伤地点" width="60" />
-        <el-table-column show-overflow-tooltip prop="injuredPart" label="受伤部位" width="60" />
-        <el-table-column show-overflow-tooltip prop="injuredDescribe" label="受伤经过描述" />
-        <el-table-column show-overflow-tooltip prop="injuredDiacrisis" label="意外险诊断" width="80" />
-        <el-table-column show-overflow-tooltip prop="hospitalName" label="就诊医院" width="60" />
-        <el-table-column show-overflow-tooltip prop="treatmentName" label="就诊科室" width="60" />
-        <el-table-column show-overflow-tooltip prop="hospitalizatioFlag" label="是否住院" width="50" :formatter="hospitalizatioFlagFormat" />
-        <el-table-column prop="settleStatus" label="案结状态" width="180" :formatter="settleStatusFormat" />
+        <el-table-column show-overflow-tooltip prop="injuredAddress" label="受伤地点" width="80" />
+        <el-table-column show-overflow-tooltip prop="injuredPart" label="受伤部位" width="80" />
+        <el-table-column show-overflow-tooltip prop="injuredDescribe" label="受伤经过描述" width="110" />
+        <el-table-column show-overflow-tooltip prop="injuredDiacrisis" label="意外险诊断" width="100" />
+        <el-table-column show-overflow-tooltip prop="hospitalName" label="就诊医院" width="80" />
+        <el-table-column show-overflow-tooltip prop="treatmentName" label="就诊科室" width="80" />
+        <el-table-column show-overflow-tooltip prop="hospitalizatioFlag" label="是否住院" width="80" :formatter="hospitalizatioFlagFormat" />
+        <el-table-column prop="settleStatus" label="案结状态" width="80" :formatter="settleStatusFormat" />
         <el-table-column show-overflow-tooltip prop="bedNumb" label="床号" width="60" />
         <el-table-column show-overflow-tooltip prop="reprotTime" label="报案时间" width="80" />
-        <el-table-column show-overflow-tooltip prop="submitTime" label="递交资料时间" width="80" />
-        <el-table-column show-overflow-tooltip prop="sbumitBy" label="递交人" width="60" />
-        <el-table-column show-overflow-tooltip prop="expensesFee" label="医疗总费用" width="80" />
-        <el-table-column show-overflow-tooltip prop="innsureFee" label="保险赔付费用" width="80" />
+        <el-table-column show-overflow-tooltip prop="submitTime" label="递交资料时间" width="110" />
+        <el-table-column show-overflow-tooltip prop="sbumitBy" label="递交人" width="70" />
+        <el-table-column show-overflow-tooltip prop="expensesFee" label="医疗总费用" width="100" />
+        <el-table-column show-overflow-tooltip prop="innsureFee" label="保险赔付费用" width="120" />
       </el-table>
       <pagination
         v-show="total>0"
@@ -64,10 +64,12 @@
 <script>
 // 引用翻页组件
 import Pagination from '@/components/Pagination'
+import dictMixin from '../../utils/dictMixin'
 export default {
   components: {
     Pagination
   },
+  mixins: [dictMixin],
   props: {
     dialogVisible: {
       type: Boolean,
@@ -99,11 +101,11 @@
       }, // 查询参数
       sort: {}, // 排序
       pagination: { // 分页参数
-        size: 5,
+        size: 15,
         num: 1
       },
-      hospitalizatioFlagOptions: [],
-      settleStatusOptions: [],
+      // hospitalizatioFlagOptions: [],
+      // settleStatusOptions: [],
       list: [], // 给table显示的数据
       defaultProps: {
         children: 'children',
@@ -116,15 +118,14 @@
       get() {
         return this.dialogVisible
       }
-    }
+    },
+    // 字典选项计算属性
+    hospitalizatioFlagOptions() { return this.getDictOptions('hospitalizatioFlag') },
+    settleStatusOptions() { return this.getDictOptions('settleStatus') }
   },
   mounted() {
-    this.getDicts('hospitalizatioFlag').then(response => {
-      this.hospitalizatioFlagOptions = response.data
-    })
-    this.getDicts('settleStatus').then(response => {
-      this.settleStatusOptions = response.data
-    })
+    // 字典数据已在登录时预加载,直接从 Vuex 获取
+    this.initDictTypes(['hospitalizatioFlag', 'settleStatus'])
   },
   methods: {
     hospitalizatioFlagFormat(row, column) {

--
Gitblit v1.8.0