Browse Source

2026-07-31

RoHS和Lab:
优化节点权限
master
fengyuan_yang 3 days ago
parent
commit
5037ab3a64
  1. 3
      src/api/lab/lab.js
  2. 3
      src/api/rohs/rohs.js
  3. 46
      src/views/modules/lab/labRecord.vue
  4. 64
      src/views/modules/rohs/rohsRecord.vue

3
src/api/lab/lab.js

@ -27,9 +27,6 @@ export const submitLab = data => createAPI(`/lab/submit`, 'post', data)
// 查询审批信息
export const getLabApprovalList = data => createAPI(`/lab/approvalList`, 'post', data)
// 查询按钮控制信息
export const getLabButtonCondition = data => createAPI(`/lab/buttonCondition`, 'post', data)
// 获取节点字段权限(复用工程变更接口)
export const getLabNodeAuthority = data => createAPI(`/plm/changeManagement/getNodeAuthority`, 'post', data)

3
src/api/rohs/rohs.js

@ -42,9 +42,6 @@ export const deleteRohs = data => createAPI(`/rohs/delete`, 'post', data);
// 查询审批信息
export const getRohsApprovalList = data => createAPI(`/rohs/approvalList`, 'post', data);
// 查询按钮控制信息
export const getRohsButtonCondition = data => createAPI(`/rohs/buttonCondition`, 'post', data);
// 获取节点字段权限(复用工程变更接口)
export const getRohsNodeAuthority = data => createAPI(`/plm/changeManagement/getNodeAuthority`, 'post', data);

46
src/views/modules/lab/labRecord.vue

@ -1206,9 +1206,7 @@ export default {
rejectFlag: 'N',
rejectStepId: null,
createBy2: '',
isReject: 'Y',
tpProcessControl: 'N',
csProcessControl: 'N',
isReject: 'N',
propertyItemList: []
}
},
@ -2282,10 +2280,20 @@ export default {
return this.superAdmin || (this.modalData.createBy2 && this.modalData.createBy2.split(';').includes(this.createBy2))
},
canSaveAction () {
return !this.showModalFlag && (this.modalData.status === '草稿' || (this.modalData.status === '审批中' && this.isCurrentApprover()))
if (this.showModalFlag) {
return false
}
const hasSaveAuth = this.authUpdate || this.authDataEntry
if (!hasSaveAuth) {
return false
}
if (this.modalData.status === '草稿') {
return true
}
return this.modalData.status === '审批中' && this.isCurrentApprover()
},
canAgreeAction () {
return this.authSubmit && this.isCurrentApprover() && this.modalData.status === '审批中' && this.modalData.tpProcessControl !== 'Y' && this.modalData.csProcessControl !== 'Y'
return this.authSubmit && this.isCurrentApprover() && this.modalData.status === '审批中'
},
canRejectAction () {
return this.authReject && this.isCurrentApprover() && this.modalData.status === '审批中' && this.modalData.isReject === 'Y'
@ -2713,10 +2721,7 @@ export default {
this.$set(this.modalData, 'labApproverList', this.modalData.labApproverCodeList || [])
this.$set(this.modalData, 'customerIdFlag', true)
this.$set(this.modalData, 'projectIdFlag', true)
this.$set(this.modalData, 'createBy2', '')
this.$set(this.modalData, 'isReject', 'Y')
this.$set(this.modalData, 'tpProcessControl', 'N')
this.$set(this.modalData, 'csProcessControl', 'N')
this.applyModalButtonCondition(row || {})
this.$set(this.modalData, 'testerName', this.modalData.testerName || this.modalData.tester || '')
this.$set(this.modalData, 'labApproverName', this.modalData.labApproverName || this.modalData.labApprover || '')
Promise.all([
@ -2731,7 +2736,6 @@ export default {
this.applyLabTestLabPairToModalData(this.modalData.testLab)
this.loadTesterOptions()
})
this.loadModalButtonCondition()
this.loadNodeAuthority(this.modalData.site || row.site, this.modalData.stepId !== null && this.modalData.stepId !== undefined ? this.modalData.stepId : 10)
this.refreshJudgeCriteriaFileList()
this.refreshTestSpecFileList()
@ -2784,22 +2788,12 @@ export default {
this.$set(target, 'customerName', target.customerName || source.customerName || '')
this.$set(target, 'projectName', target.projectName || source.projectName || '')
},
loadModalButtonCondition () {
if (!this.modalData || !this.modalData.site || !this.modalData.referenceNo) {
return
}
const params = {
site: this.modalData.site,
referenceNo: this.modalData.referenceNo
}
api.getLabButtonCondition(params).then(({data}) => {
if (data && data.code === 0 && data.data) {
this.$set(this.modalData, 'createBy2', data.data.createBy2 || '')
this.$set(this.modalData, 'isReject', data.data.isReject || 'Y')
this.$set(this.modalData, 'tpProcessControl', data.data.tpProcessControl || 'N')
this.$set(this.modalData, 'csProcessControl', data.data.csProcessControl || 'N')
}
})
applyModalButtonCondition (source) {
const buttonSource = source || {}
const approverNames = String(buttonSource.createBy2 || buttonSource.currentApprover || '').trim()
const isReject = String(buttonSource.isReject || '').trim().toUpperCase() === 'Y' ? 'Y' : 'N'
this.$set(this.modalData, 'createBy2', approverNames)
this.$set(this.modalData, 'isReject', isReject)
},
handleModalClose () {
this.judgeCriteriaDialogVisible = false

64
src/views/modules/rohs/rohsRecord.vue

@ -2263,9 +2263,7 @@ export default {
rejectFlag: '',
rejectStepId: null,
createBy2: '',
isReject: 'Y',
tpProcessControl: 'N',
csProcessControl: 'N'
isReject: 'N'
}
}
},
@ -3115,10 +3113,20 @@ export default {
return this.superAdmin || (this.modalData.createBy2 && this.modalData.createBy2.split(';').includes(this.createBy2))
},
canSaveAction () {
return !this.showModalFlag && (this.modalData.status === '草稿' || (this.modalData.status === '审批中' && this.isCurrentApprover()))
if (this.showModalFlag) {
return false
}
const hasSaveAuth = this.authUpdate || this.authDataEntry
if (!hasSaveAuth) {
return false
}
if (this.modalData.status === '草稿') {
return true
}
return this.modalData.status === '审批中' && this.isCurrentApprover()
},
canAgreeAction () {
return this.authSubmit && this.isCurrentApprover() && this.modalData.status === '审批中' && this.modalData.tpProcessControl !== 'Y' && this.modalData.csProcessControl !== 'Y'
return this.authSubmit && this.isCurrentApprover() && this.modalData.status === '审批中'
},
canRejectAction () {
return this.authReject && this.isCurrentApprover() && this.modalData.status === '审批中' && this.modalData.isReject === 'Y'
@ -3372,36 +3380,12 @@ export default {
this.$message.error('保存失败')
})
},
loadModalButtonCondition () {
if (!this.modalData.site || !this.modalData.referenceNo || this.modalData.status !== '审批中') {
this.$set(this.modalData, 'createBy2', '')
this.$set(this.modalData, 'isReject', 'Y')
this.$set(this.modalData, 'tpProcessControl', 'N')
this.$set(this.modalData, 'csProcessControl', 'N')
return
}
let params = {
site: this.modalData.site,
referenceNo: this.modalData.referenceNo
}
api.getRohsButtonCondition(params).then(({data}) => {
if (data && data.code === 0 && data.data) {
this.$set(this.modalData, 'createBy2', data.data.createBy2 || '')
this.$set(this.modalData, 'isReject', data.data.isReject || 'Y')
this.$set(this.modalData, 'tpProcessControl', data.data.tpProcessControl || 'N')
this.$set(this.modalData, 'csProcessControl', data.data.csProcessControl || 'N')
} else {
this.$set(this.modalData, 'createBy2', '')
this.$set(this.modalData, 'isReject', 'Y')
this.$set(this.modalData, 'tpProcessControl', 'N')
this.$set(this.modalData, 'csProcessControl', 'N')
}
}).catch(() => {
this.$set(this.modalData, 'createBy2', '')
this.$set(this.modalData, 'isReject', 'Y')
this.$set(this.modalData, 'tpProcessControl', 'N')
this.$set(this.modalData, 'csProcessControl', 'N')
})
applyModalButtonCondition (source) {
const buttonSource = source || {}
const approverNames = String(buttonSource.createBy2 || buttonSource.currentApprover || '').trim()
const isReject = String(buttonSource.isReject || '').trim().toUpperCase() === 'Y' ? 'Y' : 'N'
this.$set(this.modalData, 'createBy2', approverNames)
this.$set(this.modalData, 'isReject', isReject)
},
//
rowStyle ({row}) {
@ -3994,11 +3978,7 @@ export default {
//
this.$set(this.modalData, 'endCustomerFlag', false)
this.$set(this.modalData, 'projectIdFlag', false)
this.$set(this.modalData, 'createBy2', '')
this.$set(this.modalData, 'isReject', 'Y')
this.$set(this.modalData, 'tpProcessControl', 'N')
this.$set(this.modalData, 'csProcessControl', 'N')
this.loadModalButtonCondition()
this.applyModalButtonCondition(row || {})
this.ensureModalBuNo(true, false).then((buNo) => {
if (!buNo) {
return
@ -4090,9 +4070,7 @@ export default {
rejectFlag: 'N',
rejectStepId: null,
createBy2: '',
isReject: 'Y',
tpProcessControl: 'N',
csProcessControl: 'N'
isReject: 'N'
}
this.initHsfApproverForNewRecord()
this.nodeAuthorityLoaded = true

Loading…
Cancel
Save