✨ 过程配置回单「内部人员」改为只读并按是否确认自动勾选
This commit is contained in:
@@ -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(
|
||||
|
||||
@@ -214,6 +214,7 @@
|
||||
- 到场、装货、发货、在途、到货、卸货、签收节点的操作要求包含是否打卡、打卡定位;装货、发货、到货、卸货、签收还包含上传货量和上传货量类型;附件要求包含上传凭证和凭证类型。
|
||||
- 在途节点额外包含打卡频次和打卡时段,打卡频次使用普通输入框,打卡时段使用时间选择器。
|
||||
- 回单节点的操作要求包含是否确认、确认完成,是否确认提供“是 / 无需确认完成”单选,确认完成使用“内部人员”复选框。
|
||||
- 回单节点的“内部人员”复选框只读,不接受手工勾选:是否确认为“是”时自动勾选(即回单需内部人员确认),为“无需确认完成”时自动取消勾选。
|
||||
- 各节点中是否打卡、上传货量、上传凭证均使用单选或复选输入,控件类型与截图保持一致。
|
||||
|
||||
- 异常与边界:
|
||||
@@ -233,6 +234,7 @@
|
||||
- 不允许非在途节点配置打卡频次和打卡时段。
|
||||
- 不允许是否打卡为否时仍强制填写打卡定位或打卡时段。
|
||||
- 不允许上传凭证关闭后仍提交凭证类型。
|
||||
- 不允许手工勾选或取消回单节点的“内部人员”复选框。
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user