From e250159a9e6441c0474d5599d4197f4f9d847839 Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期一, 06 四月 2026 22:53:05 +0800
Subject: [PATCH] feat(user): 添加员工档案详情弹窗视图及信息展示功能
---
src/views/user/archivesEdit.vue | 83 +++++++++++++++++++++++++++++++++--------
1 files changed, 66 insertions(+), 17 deletions(-)
diff --git a/src/views/user/archivesEdit.vue b/src/views/user/archivesEdit.vue
index 7062ee6..4e339b1 100644
--- a/src/views/user/archivesEdit.vue
+++ b/src/views/user/archivesEdit.vue
@@ -3868,7 +3868,7 @@
},
// 字典选项计算属性
statusOptions() { return this.getDictOptions('PLITICAL') },
- empTypeOptions() { return this.getDictOptions('empType') },
+ empTypeOptions() { return this.getDictOptions('EMPTYPE') },
nationOptions() { return this.getDictOptions('NATION') },
marriageOptions() { return this.getDictOptions('MARRIAGE') },
educationOptions() { return this.getDictOptions('EDUCATION') },
@@ -3895,7 +3895,7 @@
mounted() {
this.initDept()
// 字典数据已在登录时预加载,直接从 Vuex 获取
- this.initDictTypes(['PLITICAL', 'sex', 'empType', 'NATION', 'MARRIAGE', 'EDUCATION', 'NATIVEPLACE', 'archivesStatus', 'INSURANCETYPE', 'empCardStatus', 'handbookStatus', 'certificateList', 'PHYSICALEXAMTYPE', 'ECG', 'CONTRACTSTATUS', 'LEAVETYPE', 'applayStatus', 'reportStatus', 'hospitalizatioFlag', 'settleStatus', 'ZCTYPE', 'changeType', 'LZTYPE'])
+ this.initDictTypes(['PLITICAL', 'sex', 'EMPTYPE', 'NATION', 'MARRIAGE', 'EDUCATION', 'NATIVEPLACE', 'archivesStatus', 'INSURANCETYPE', 'empCardStatus', 'handbookStatus', 'certificateList', 'PHYSICALEXAMTYPE', 'ECG', 'CONTRACTSTATUS', 'LEAVETYPE', 'applayStatus', 'reportStatus', 'hospitalizatioFlag', 'settleStatus', 'ZCTYPE', 'changeType', 'LZTYPE'])
},
methods: {
clickImg(node) {
@@ -4472,22 +4472,8 @@
this.accidentCasesForm.sex = val.sex
this.$set(this.accidentCasesForm, 'delFlag', 0)
+ // 只加载附件数据(基本信息已在val中),其他模块懒加载
this.initlabel()
- this.initphysicalExamData()
- this.initList() // 工作经历
- this.initjobChangeData() // 调岗记录
- this.initdimissionLogData() // 入离职记录
- this.initcontractInfoData() // 合同信息
- this.initleaveInfoData() // 请假记录
- this.initresignData() // 辞职申请
- this.initunemploymentData() // 失业金领取
- this.initinsuranceData() // 社保申请
- this.initremarkInfoData() // 备注
- this.initlaborTroubleData() // 仲裁案件
- this.initoccupationalData() // 工伤案件
- this.initbadRecordData() // 不良记录
- this.initaccidentCasesData() // 意外险案件
- this.initdimissionAttendData() // 考勤情况
},
initphysicalExamData(params = {}) {
params.pageSize = this.pagination.size
@@ -6104,57 +6090,120 @@
goAnchor: function(type) {
let item = 1
this.item = type
+ // 根据点击的菜单懒加载对应数据
switch (type) {
case 'jbxx':
item = 0
+ // 基本信息 - 已加载
break
case 'gzjl':
item = 1
+ // 工作经历 - 懒加载
+ if (!this.workExperienceData || this.workExperienceData.length === 0) {
+ this.initList()
+ }
break
case 'tjxx':
item = 2
+ // 体检信息 - 懒加载
+ if (!this.physicalExamData || this.physicalExamData.length === 0) {
+ this.initphysicalExamData()
+ }
break
case 'htxx':
item = 3
+ // 合同信息 - 懒加载
+ if (!this.contractInfoData || this.contractInfoData.length === 0) {
+ this.initcontractInfoData()
+ }
break
case 'tgjl':
item = 4
+ // 调岗记录 - 懒加载
+ if (!this.jobChangeData || this.jobChangeData.length === 0) {
+ this.initjobChangeData()
+ }
break
case 'qjjl':
item = 5
+ // 请假记录 - 懒加载
+ if (!this.leaveInfoData || this.leaveInfoData.length === 0) {
+ this.initleaveInfoData()
+ }
break
case 'czsq':
item = 6
+ // 辞职申请 - 懒加载
+ if (!this.resignData || this.resignData.length === 0) {
+ this.initresignData()
+ }
break
case 'lzdykq':
item = 7
+ // 考勤情况 - 懒加载
+ if (!this.dimissionAttendData || this.dimissionAttendData.length === 0) {
+ this.initdimissionAttendData()
+ }
break
case 'rlzjl':
item = 8
+ // 入离职记录 - 懒加载
+ if (!this.dimissionLogData || this.dimissionLogData.length === 0) {
+ this.initdimissionLogData()
+ }
break
case 'syjlq':
item = 9
+ // 失业金领取 - 懒加载
+ if (!this.unemploymentData || this.unemploymentData.length === 0) {
+ this.initunemploymentData()
+ }
break
case 'sbsq':
item = 10
+ // 社保申请 - 懒加载
+ if (!this.insuranceData || this.insuranceData.length === 0) {
+ this.initinsuranceData()
+ }
break
case 'ywxaj':
item = 11
+ // 意外险案件 - 懒加载
+ if (!this.accidentCasesData || this.accidentCasesData.length === 0) {
+ this.initaccidentCasesData()
+ }
break
case 'gsaj':
item = 12
+ // 工伤案件 - 懒加载
+ if (!this.occupationalData || this.occupationalData.length === 0) {
+ this.initoccupationalData()
+ }
break
case 'lzaj':
item = 13
+ // 仲裁案件 - 懒加载
+ if (!this.laborTroubleData || this.laborTroubleData.length === 0) {
+ this.initlaborTroubleData()
+ }
break
case 'bljl':
item = 14
+ // 不良记录 - 懒加载
+ if (!this.badRecordData || this.badRecordData.length === 0) {
+ this.initbadRecordData()
+ }
break
case 'bz':
item = 15
+ // 备注 - 懒加载
+ if (!this.remarkInfoData || this.remarkInfoData.length === 0) {
+ this.initremarkInfoData()
+ }
break
case 'jljt':
item = 16
+ // 奖励津贴 - 懒加载
break
}
this.$nextTick(() => {
--
Gitblit v1.8.0