From 25ab0c2c41862bc4926814e6905e07cf4b76d40a Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期一, 06 四月 2026 22:54:50 +0800
Subject: [PATCH] refactor(user): 规范字典选项计算属性格式
---
src/views/user/archivesChange.vue | 108 +++++++++++++++++++++++++++++++++--------------------
1 files changed, 67 insertions(+), 41 deletions(-)
diff --git a/src/views/user/archivesChange.vue b/src/views/user/archivesChange.vue
index a5d9c4e..0109919 100644
--- a/src/views/user/archivesChange.vue
+++ b/src/views/user/archivesChange.vue
@@ -3566,7 +3566,7 @@
computed: {
// 字典选项计算属性
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') },
@@ -3602,7 +3602,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: {
typeFormat(row, column) {
@@ -4032,45 +4032,8 @@
this.physicalExamForm = { ...val }
this.workExperienceForm = { ...val }
this.badRecordForm = { ...val }
- // 分批加载数据,避免并发请求过多导致 503 错误
- this.loadDataInBatches()
- },
- // 分批加载档案数据,控制并发请求数量
- async loadDataInBatches() {
- // 第1批:首屏可见数据(4个请求)
- await Promise.all([
- this.initlabel(),
- this.initphysicalExamData(),
- this.initList(),
- this.initjobChangeData()
- ])
-
- // 延迟 200ms 后加载第2批
- await new Promise(resolve => setTimeout(resolve, 200))
- await Promise.all([
- this.initdimissionLogData(),
- this.initcontractInfoData(),
- this.initleaveInfoData(),
- this.initresignData()
- ])
-
- // 延迟 200ms 后加载第3批
- await new Promise(resolve => setTimeout(resolve, 200))
- await Promise.all([
- this.initunemploymentData(),
- this.initinsuranceData(),
- this.initremarkInfoData(),
- this.initlaborTroubleData()
- ])
-
- // 延迟 200ms 后加载第4批
- await new Promise(resolve => setTimeout(resolve, 200))
- await Promise.all([
- this.initoccupationalData(),
- this.initbadRecordData(),
- this.initaccidentCasesData(),
- this.initdimissionAttendData()
- ])
+ // 只加载附件数据(基本信息已在val中),其他模块懒加载
+ this.initlabel()
},
initphysicalExamData(params = {}) {
params.pageSize = this.pagination.size
@@ -5684,57 +5647,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
+ // 记录截图及相关附件 - 已在initlabel中加载
break
}
this.$nextTick(() => {
--
Gitblit v1.8.0