From 54a4f00a7a6fb0fc9f820075d771743a552ce9b3 Mon Sep 17 00:00:00 2001
From: fengyuan_yang <1976974459@qq.com>
Date: Wed, 10 Jun 2026 10:42:04 +0800
Subject: [PATCH] =?UTF-8?q?2026-06-10=20RoHs=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/modules/rohs/rohsRecord.vue | 145 ++++++++++----------------
1 file changed, 54 insertions(+), 91 deletions(-)
diff --git a/src/views/modules/rohs/rohsRecord.vue b/src/views/modules/rohs/rohsRecord.vue
index d116d2d..dee7961 100644
--- a/src/views/modules/rohs/rohsRecord.vue
+++ b/src/views/modules/rohs/rohsRecord.vue
@@ -168,7 +168,7 @@
-
+
@@ -1359,6 +1359,25 @@ export default {
}
return this.rohsFieldFlag(fieldId) === 'N'
},
+ isProcessFieldDisabled () {
+ if (this.isEditMode) {
+ return true
+ }
+ return this.isRohsFieldDisabled('process')
+ },
+ handleProcessChange (value) {
+ const processValue = String(value || '').trim()
+ this.$set(this.modalData, 'process', processValue)
+ this.$set(this.modalData, 'buNo', processValue)
+ if (this.isEditMode) {
+ return
+ }
+ this.clearHsfApproverFields(false)
+ if (!processValue) {
+ return
+ }
+ this.loadHsfApproverByCurrentProcess(true)
+ },
isRohsFieldDisabledWithFallback (primaryFieldId, fallbackFieldId) {
if (this.showModalFlag) {
return true
@@ -1586,11 +1605,11 @@ export default {
if (this.isRohsFieldDisabled('hsfApprover')) {
return
}
- if (!this.modalData || !this.modalData.projectId) {
- this.$message.warning('请先选择项目编码')
+ if (!this.modalData || !String(this.modalData.process || '').trim()) {
+ this.$message.warning('请先选择工艺')
return
}
- this.loadHsfApproverByCurrentProject(false).then(() => {
+ this.loadHsfApproverByCurrentProcess(false).then(() => {
if (!this.hsfApproverOptionList || this.hsfApproverOptionList.length === 0) {
this.$message.warning('未查询到可选HSF审批人')
return
@@ -1659,11 +1678,8 @@ export default {
this.$set(this.modalData, 'hsfApprover', '')
this.$set(this.modalData, 'relatedPeople', '')
},
- loadHsfApproverByCurrentProject (forceSelectAll = false) {
- if (!this.modalData || !this.modalData.site || !this.modalData.projectId) {
- if (forceSelectAll) {
- this.$message.warning('请先选择项目编码')
- }
+ loadHsfApproverByCurrentProcess (forceSelectAll = false) {
+ if (!this.modalData || !this.modalData.site) {
this.hsfApproverOptionList = []
this.hsfApproverDisplayList = []
this.hsfApproverSelectionCache = []
@@ -1672,72 +1688,44 @@ export default {
}
return Promise.resolve()
}
- const queryByBu = (buNo) => {
- if (!buNo) {
- if (forceSelectAll) {
- this.$message.warning('当前项目未维护BU,无法查询HSF审批人')
- }
- this.hsfApproverOptionList = []
- this.hsfApproverDisplayList = []
+ const buNo = String(this.modalData.process || '').trim()
+ if (!buNo) {
+ if (forceSelectAll) {
+ this.$message.warning('请先选择工艺')
+ this.clearHsfApproverFields(false)
+ }
+ this.hsfApproverOptionList = []
+ this.hsfApproverDisplayList = []
+ this.hsfApproverSelectionCache = []
+ return Promise.resolve()
+ }
+ const params = {
+ site: this.modalData.site,
+ buNo: buNo,
+ roleNo: 'R015'
+ }
+ return api.searchBmUser(params).then(({data}) => {
+ if (data && data.code === 0 && Array.isArray(data.rows)) {
+ this.hsfApproverOptionList = this.normalizeHsfApproverOptionList(data.rows)
+ this.filterHsfApproverOptions()
this.hsfApproverSelectionCache = []
if (forceSelectAll) {
- this.clearHsfApproverFields(false)
- }
- return Promise.resolve()
- }
- const params = {
- site: this.modalData.site,
- buNo: buNo,
- roleNo: 'R015'
- }
- return api.searchBmUser(params).then(({data}) => {
- if (data && data.code === 0 && Array.isArray(data.rows)) {
- this.hsfApproverOptionList = this.normalizeHsfApproverOptionList(data.rows)
- this.filterHsfApproverOptions()
- this.hsfApproverSelectionCache = []
- if (forceSelectAll) {
- const defaultSelectedNames = this.hsfApproverOptionList.map(item => item.operatorName).filter(item => item)
- this.$set(this.modalData, 'hsfApproverList', defaultSelectedNames)
- }
- this.syncHsfApproverFields()
- } else {
- this.hsfApproverOptionList = []
- this.hsfApproverDisplayList = []
- this.hsfApproverSelectionCache = []
- if (forceSelectAll) {
- this.clearHsfApproverFields(false)
- }
+ const defaultSelectedNames = this.hsfApproverOptionList.map(item => item.operatorName).filter(item => item)
+ this.$set(this.modalData, 'hsfApproverList', defaultSelectedNames)
}
- }).catch(() => {
+ this.syncHsfApproverFields()
+ } else {
this.hsfApproverOptionList = []
this.hsfApproverDisplayList = []
this.hsfApproverSelectionCache = []
if (forceSelectAll) {
this.clearHsfApproverFields(false)
}
- })
- }
- if (this.modalData.buNo) {
- return queryByBu(this.modalData.buNo)
- }
- const projectParams = {
- site: this.modalData.site,
- projectId: this.modalData.projectId
- }
- if (this.modalData.endCustomer) {
- projectParams.customerId = this.modalData.endCustomer
- }
- return queryProjectByCustomer(projectParams).then(({data}) => {
- if (data && data.code === 0 && data.rows && data.rows.length === 1) {
- const project = data.rows[0]
- this.$set(this.modalData, 'buNo', project.buNo || project.bu_no || '')
- return queryByBu(this.modalData.buNo)
- } else {
- if (forceSelectAll) {
- this.clearHsfApproverFields(false)
- }
}
}).catch(() => {
+ this.hsfApproverOptionList = []
+ this.hsfApproverDisplayList = []
+ this.hsfApproverSelectionCache = []
if (forceSelectAll) {
this.clearHsfApproverFields(false)
}
@@ -2218,7 +2206,7 @@ export default {
this.$set(this.modalData, 'materialClassifyList', this.modalData.materialClassify ? this.modalData.materialClassify.split(';').filter(item => item) : [])
this.$set(this.modalData, 'materialList', Array.isArray(this.modalData.materialList) ? this.modalData.materialList : [])
this.$set(this.modalData, 'hsfApproverList', this.modalData.hsfApprover ? this.modalData.hsfApprover.split(';').filter(item => item) : [])
- this.$set(this.modalData, 'buNo', this.modalData.buNo || '')
+ this.$set(this.modalData, 'buNo', this.modalData.process || '')
this.$set(this.modalData, 'validUntilValue', this.normalizeValidUntilValue(this.modalData.validUntilValue))
this.syncHsfApproverFields()
this.fillDisplayFields(this.modalData, row || {})
@@ -2230,7 +2218,7 @@ export default {
this.$set(this.modalData, 'tpProcessControl', 'N')
this.$set(this.modalData, 'csProcessControl', 'N')
this.loadModalButtonCondition()
- this.loadHsfApproverByCurrentProject(false)
+ this.loadHsfApproverByCurrentProcess(false)
this.loadNodeAuthority(this.modalData.site || row.site, this.modalData.stepId !== null && this.modalData.stepId !== undefined ? this.modalData.stepId : (row.stepId !== null && row.stepId !== undefined ? row.stepId : 10))
}
}).catch(() => {
@@ -2717,9 +2705,7 @@ export default {
this.modalData.endCustomerName = val.Customer_desc
this.modalData.projectId = ''
this.modalData.projectName = ''
- this.modalData.buNo = ''
this.$set(this.modalData, 'materialList', [])
- this.clearHsfApproverFields(false)
}
}
if (this.tagNo === 103 || this.tagNo === 2001 || this.tagNo === 2054) {
@@ -2759,10 +2745,8 @@ export default {
this.modalData.endCustomerName = ''
this.modalData.projectId = ''
this.modalData.projectName = ''
- this.modalData.buNo = ''
this.modalData.projectIdFlag = true
this.$set(this.modalData, 'materialList', [])
- this.clearHsfApproverFields(false)
return
}
let params = {
@@ -2779,35 +2763,27 @@ export default {
this.modalData.endCustomerName = ''
this.modalData.projectId = ''
this.modalData.projectName = ''
- this.modalData.buNo = ''
this.modalData.projectIdFlag = true
this.$set(this.modalData, 'materialList', [])
- this.clearHsfApproverFields(false)
}
} else {
this.modalData.endCustomerName = ''
this.modalData.projectId = ''
this.modalData.projectName = ''
- this.modalData.buNo = ''
this.modalData.projectIdFlag = true
this.$set(this.modalData, 'materialList', [])
- this.clearHsfApproverFields(false)
}
}).catch((error) => {
this.modalData.endCustomerName = ''
this.modalData.projectId = ''
this.modalData.projectName = ''
- this.modalData.buNo = ''
this.modalData.projectIdFlag = true
this.$set(this.modalData, 'materialList', [])
- this.clearHsfApproverFields(false)
})
},
handleQueryProjectByCustomer() {
if (!this.modalData.projectId) {
this.modalData.projectName = ''
- this.modalData.buNo = ''
- this.clearHsfApproverFields(false)
return
}
let params = {
@@ -2822,30 +2798,20 @@ export default {
if (data.rows && data.rows.length === 1) {
const project = data.rows[0]
this.modalData.projectName = project.projectName || project.Project_name || ''
- this.modalData.buNo = project.buNo || project.bu_no || ''
- const forceSelectAll = !this.isEditMode
- this.loadHsfApproverByCurrentProject(forceSelectAll)
} else {
this.modalData.projectName = ''
- this.modalData.buNo = ''
- this.clearHsfApproverFields(false)
}
} else {
this.modalData.projectName = ''
- this.modalData.buNo = ''
- this.clearHsfApproverFields(false)
}
}).catch((error) => {
this.modalData.projectName = ''
- this.modalData.buNo = ''
- this.clearHsfApproverFields(false)
})
},
projectClickRow(row) {
const oldProjectId = this.modalData.projectId
this.modalData.projectId = row.projectId
this.modalData.projectName = row.projectName
- this.modalData.buNo = row.buNo || row.bu_no || ''
if (this.modalData.endCustomer && this.modalData.endCustomer !== '') {
// do nothing
} else {
@@ -2855,7 +2821,6 @@ export default {
if (oldProjectId && oldProjectId !== row.projectId) {
this.$set(this.modalData, 'materialList', [])
}
- this.loadHsfApproverByCurrentProject(!this.isEditMode)
this.chooseProjectListFlag = false
},
searchProjectInfoList() {
@@ -2875,8 +2840,6 @@ export default {
this.modalData.projectName = rows[0].projectName
this.modalData.endCustomer = rows[0].customerId
this.modalData.endCustomerName = rows[0].customerName
- this.modalData.buNo = rows[0].buNo || rows[0].bu_no || ''
- this.loadHsfApproverByCurrentProject(!this.isEditMode)
}
} else {
this.projectList = []