diff --git a/src/views/modules/erf/components/expApplyForm.vue b/src/views/modules/erf/components/expApplyForm.vue index 4fccf27..cc73c61 100644 --- a/src/views/modules/erf/components/expApplyForm.vue +++ b/src/views/modules/erf/components/expApplyForm.vue @@ -276,6 +276,7 @@ export default { productType: '', quantityReq: '', expectedFinishDate: '', + projectLeaderId: this.$store.state.user.id, projectLeaderName: this.$store.state.user.name, projectLeader: this.$store.state.user.userDisplay, pjmLeaderUserId: null, @@ -335,7 +336,9 @@ export default { this.loadBuList() if (this.applyData && this.applyData.applyNo) { this.saveHeaderData = { + ...this.saveHeaderData, ...this.applyData, + projectLeaderId: this.applyData.projectLeaderId || null, originalApplyNo: this.applyData.applyNo } this.isEdit = true @@ -466,6 +469,9 @@ export default { */ getBaseData(val) { if (this.tagNo === 103) { + const leaderIdRaw = val.user_id !== undefined ? val.user_id : val.userId + const leaderId = Number(leaderIdRaw) + this.saveHeaderData.projectLeaderId = Number.isFinite(leaderId) ? leaderId : null this.saveHeaderData.projectLeaderName = val.username this.saveHeaderData.projectLeader = val.user_display } diff --git a/src/views/modules/erf/components/expTriConfirm.vue b/src/views/modules/erf/components/expTriConfirm.vue index 67582d7..9f0f22f 100644 --- a/src/views/modules/erf/components/expTriConfirm.vue +++ b/src/views/modules/erf/components/expTriConfirm.vue @@ -523,6 +523,18 @@ export default { experimentType: { type: String, default: '' + }, + projectLeaderId: { + type: [Number, String], + default: null + }, + projectLeader: { + type: String, + default: '' + }, + projectLeaderName: { + type: String, + default: '' } }, @@ -722,6 +734,31 @@ export default { return previousProcess && previousProcess.confirmStatus === '已确认' }, + /** + * 规范化用户ID(必须是数字) + */ + normalizeUserId(value) { + if (value === null || value === undefined || value === '') { + return null + } + const id = Number(value) + return Number.isFinite(id) ? id : null + }, + + /** + * 默认技术负责人姓名:试验负责人姓名 + */ + getDefaultTechApproverName() { + return (this.projectLeader || '').trim() + }, + + /** + * 默认技术负责人ID:试验负责人ID + */ + getDefaultTechApproverUserId() { + return this.normalizeUserId(this.projectLeaderId) + }, + /** * 打开新增弹框 */ @@ -734,8 +771,8 @@ export default { prodApproverUserId: null, qaApproverName: '', qaApproverUserId: null, - techApproverName: '', - techApproverUserId: null, + techApproverName: this.getDefaultTechApproverName(), + techApproverUserId: this.getDefaultTechApproverUserId(), remark: '' } this.processDialogVisible = true @@ -818,8 +855,8 @@ export default { prodApproverUserId: matchResult.template.prodApproverUserId, qaApproverName: matchResult.template.qaApproverName, qaApproverUserId: matchResult.template.qaApproverUserId, - techApproverName: matchResult.template.techApproverName, - techApproverUserId: matchResult.template.techApproverUserId, + techApproverName: matchResult.template.techApproverName || this.getDefaultTechApproverName(), + techApproverUserId: this.normalizeUserId(matchResult.template.techApproverUserId) || this.getDefaultTechApproverUserId(), remark: matchResult.template.remark || '' } } @@ -831,8 +868,8 @@ export default { prodApproverUserId: null, qaApproverName: '', qaApproverUserId: null, - techApproverName: '', - techApproverUserId: null, + techApproverName: this.getDefaultTechApproverName(), + techApproverUserId: this.getDefaultTechApproverUserId(), remark: '' } }) @@ -978,8 +1015,8 @@ export default { prodApproverUserId: row.prodApproverUserId || null, qaApproverName: row.qaApproverName || '', qaApproverUserId: row.qaApproverUserId || null, - techApproverName: row.techApproverName || '', - techApproverUserId: row.techApproverUserId || null, + techApproverName: row.techApproverName || this.getDefaultTechApproverName(), + techApproverUserId: this.normalizeUserId(row.techApproverUserId) || this.getDefaultTechApproverUserId(), remark: row.remark || '' } this.processDialogVisible = true @@ -1048,8 +1085,8 @@ export default { prodApproverUserId: row.prodApproverUserId || null, qaApproverName: row.qaApproverName || '', qaApproverUserId: row.qaApproverUserId || null, - techApproverName: row.techApproverName || '', - techApproverUserId: row.techApproverUserId || null, + techApproverName: row.techApproverName || this.getDefaultTechApproverName(), + techApproverUserId: this.normalizeUserId(row.techApproverUserId) || this.getDefaultTechApproverUserId(), remark: row.remark || '' } this.processDialogVisible = true @@ -1094,8 +1131,8 @@ export default { this.processForm.prodApproverUserId = row.prodApproverUserId || null this.processForm.qaApproverName = row.qaApproverName || '' this.processForm.qaApproverUserId = row.qaApproverUserId || null - this.processForm.techApproverName = row.techApproverName || '' - this.processForm.techApproverUserId = row.techApproverUserId || null + this.processForm.techApproverName = row.techApproverName || this.getDefaultTechApproverName() + this.processForm.techApproverUserId = this.normalizeUserId(row.techApproverUserId) || this.getDefaultTechApproverUserId() this.processForm.remark = row.remark || '' this.templateDialogVisible = false diff --git a/src/views/modules/erf/expApplyList.vue b/src/views/modules/erf/expApplyList.vue index e39f6b9..45aec51 100644 --- a/src/views/modules/erf/expApplyList.vue +++ b/src/views/modules/erf/expApplyList.vue @@ -135,18 +135,13 @@