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/gsUser.vue | 79 ++++++++++++++++++++++++++++-----------
1 files changed, 56 insertions(+), 23 deletions(-)
diff --git a/src/views/dashboard/gsUser.vue b/src/views/dashboard/gsUser.vue
index 66db30c..9baeea1 100644
--- a/src/views/dashboard/gsUser.vue
+++ b/src/views/dashboard/gsUser.vue
@@ -2,9 +2,11 @@
<el-dialog
:title="title"
top="50px"
+ width="80%"
:close-on-click-modal="false"
:close-on-press-escape="false"
:visible.sync="isVisible"
+ :before-close="beforeClose"
>
<div class="app-container">
<div class="filter-container" style="margin-left: -340px;">
@@ -20,28 +22,33 @@
ref="multipleTable"
:data="list"
row-key="prop1"
- width="50%"
+ stripe
+ border
+ :cell-style="{padding:'7px 0','text-align':'center'}"
+ :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}"
+ style="width: 100%;"
>
- <el-table-column type="selection" :reserve-selection="false" width="55" />
- <el-table-column prop="empNumb" label="员工编号" width="180" />
- <el-table-column prop="deptName" label="护卫点" width="180" />
- <el-table-column prop="jobName" label="岗位" width="180" />
- <el-table-column prop="empName" label="姓名" width="180" />
- <el-table-column prop="certificateNumb" label="身份证号码" width="180" />
- <el-table-column prop="injuredTime" label="受伤日期" width="180" />
- <el-table-column prop="injuredAddress" label="受伤地点" width="180" />
- <el-table-column prop="injuredPart" label="受伤部位" width="180" />
- <el-table-column prop="injuredDescribe" label="受伤经过描述" width="180" />
- <el-table-column prop="injuredDiacrisis" label="工伤诊断" width="180" />
- <el-table-column prop="hospitalName" label="就诊医院" width="180" />
- <el-table-column prop="treatmentName" label="就诊科室" width="180" />
- <el-table-column prop="hospitalizatioFlag" label="是否住院" width="180" />
- <el-table-column prop="bedNumb" label="床号" width="180" />
- <el-table-column prop="reportTime" label="报案时间" width="180" />
- <el-table-column prop="submitTime" label="递交资料时间" width="180" />
- <el-table-column prop="sbumitBy" label="递交人" width="180" />
- <el-table-column prop="expensesFee" label="医疗总费用" width="180" />
- <el-table-column prop="compensated" label="已赔付医药费用" width="180" />
+ <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="身份证号码" width="120" />
+ <el-table-column show-overflow-tooltip prop="injuredTime" label="受伤日期" width="80" />
+ <el-table-column show-overflow-tooltip prop="injuredAddress" label="受伤地点" />
+ <el-table-column show-overflow-tooltip prop="injuredPart" label="受伤部位" width="80" />
+ <el-table-column show-overflow-tooltip prop="injuredDescribe" label="受伤经过描述" width="120" />
+ <el-table-column show-overflow-tooltip prop="injuredDiacrisis" label="工伤诊断" width="80" />
+ <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="是否住院" :formatter="hospitalizatioFlagFormat" width="80" />
+ <el-table-column show-overflow-tooltip prop="settleStatus" label="案结状态" width="80" :formatter="settleStatusFormat" />
+ <el-table-column show-overflow-tooltip prop="bedNumb" label="床号" width="80" />
+ <el-table-column show-overflow-tooltip prop="reportTime" label="报案时间" width="80" />
+ <el-table-column show-overflow-tooltip prop="submitTime" label="递交资料时间" width="120" />
+ <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="compensated" label="已赔付医药费用" width="120" />
</el-table>
<pagination
v-show="total>0"
@@ -92,9 +99,11 @@
}, // 查询参数
sort: {}, // 排序
pagination: { // 分页参数
- size: 5,
+ size: 15,
num: 1
},
+ // hospitalizatioFlagOptions: [],
+ // settleStatusOptions: [],
list: [], // 给table显示的数据
defaultProps: {
children: 'children',
@@ -107,9 +116,33 @@
get() {
return this.dialogVisible
}
- }
+ },
+ // 字典选项计算属性
+ hospitalizatioFlagOptions() { return this.getDictOptions('hospitalizatioFlag') },
+ settleStatusOptions() { return this.getDictOptions('settleStatus') }
+ },
+ mounted() {
+ // 字典数据已在登录时预加载,直接从 Vuex 获取
+ this.initDictTypes(['settleStatus', 'hospitalizatioFlag'])
},
methods: {
+ hospitalizatioFlagFormat(row, column) {
+ return this.selectDictLabel(this.hospitalizatioFlagOptions, row.hospitalizatioFlag)
+ },
+ settleStatusFormat(row, column) {
+ return this.selectDictLabel(this.settleStatusOptions, row.settleStatus)
+ },
+ transArbitrationStatus(arbitrationStatus) {
+ switch (arbitrationStatus) {
+ case 1:
+ return '已结案'
+ case 0:
+ return '未结案'
+ }
+ },
+ beforeClose(done) {
+ this.$emit('cancleChooseUser')
+ },
search() {
this.fetch({
...this.queryParams
--
Gitblit v1.8.0