✨ 过程配置回单「内部人员」改为只读并按是否确认自动勾选

This commit is contained in:
2026-10-25 23:10:24 +08:00
parent 0ac17dea0b
commit 56b8f68449
2 changed files with 15 additions and 10 deletions
+13 -10
View File
@@ -245,7 +245,7 @@
<el-radio-group
v-model="row.confirmMode"
:disabled="dialogReadonly || !row.enabled"
@change="handleReturnConfirmChange(row)"
@change="syncNodeFields"
>
<el-radio label="yes">是</el-radio>
<el-radio label="no_confirm_complete">无需确认完成</el-radio>
@@ -253,10 +253,7 @@
</div>
<div class="process-config-form__require-line">
<span class="process-config-form__require-label">确认完成</span>
<el-checkbox
v-model="row.confirmInternal"
:disabled="dialogReadonly || !row.enabled || row.confirmMode !== 'yes'"
@change="syncNodeFields"
<el-checkbox v-model="row.confirmInternal" :disabled="true"
>内部人员</el-checkbox
>
</div>
@@ -549,15 +546,18 @@ export default {
row.confirmDriver = row.confirmMode === 'yes';
this.syncNodeFields();
},
handleReturnConfirmChange(row) {
row.confirmInternal = row.confirmMode === 'yes';
this.syncNodeFields();
},
enforceAcceptDriver(node) {
if (!node || (node.key !== 'accept' && node.name !== '接单')) return node;
node.confirmDriver = node.confirmMode === 'yes';
return node;
},
// 回单「确认完成」只有内部人员一种角色,是否确认为「是」时即由内部人员确认,
// 界面上只读展示,值始终由 confirmMode 推导
enforceReturnInternal(node) {
if (!node || (node.key !== 'return' && node.name !== '回单')) return node;
node.confirmInternal = node.confirmMode === 'yes';
return node;
},
initDeptOptions() {
getDeptTree(this.userInfo.tenantId).then(res => {
const deptColumn = this.findColumn(this.option.column, 'searchDeptId');
@@ -808,7 +808,10 @@ export default {
this.syncNodeFields();
},
syncNodeFields() {
this.nodeRows.forEach(item => this.enforceAcceptDriver(item));
this.nodeRows.forEach(item => {
this.enforceAcceptDriver(item);
this.enforceReturnInternal(item);
});
const enabledNodes = this.nodeRows.filter(item => item.enabled);
this.form.includedNodes = enabledNodes.map(item => item.name).join(',');
this.form.nodeConfigJson = JSON.stringify(