✨ 过程配置新增装货端/卸货端节点与货量类型校验
This commit is contained in:
@@ -489,6 +489,12 @@ const NODE_TEMPLATES = [
|
||||
},
|
||||
];
|
||||
|
||||
// 过程配置必须覆盖装货端与卸货端各一个节点;货量下限只看装货端——
|
||||
// 到场没有货量开关,不能拿它顶替货量采集
|
||||
const PICKUP_NODE_KEYS = ['arrive_scene', 'load', 'dispatch'];
|
||||
const DELIVERY_NODE_KEYS = ['unload', 'arrival', 'sign', 'return'];
|
||||
const CARGO_NODE_KEYS = ['load', 'dispatch'];
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
@@ -916,8 +922,24 @@ export default {
|
||||
this.$message.warning('备注不能超过500个字符');
|
||||
return false;
|
||||
}
|
||||
if (!this.enabledNodes.length) {
|
||||
this.$message.warning('请至少选择一个过程节点');
|
||||
const isEnabledNode = key => this.nodeRows.some(item => item.key === key && item.enabled);
|
||||
if (!PICKUP_NODE_KEYS.some(isEnabledNode)) {
|
||||
this.$message.warning('发货、装货、到场至少选择一个');
|
||||
return false;
|
||||
}
|
||||
if (!DELIVERY_NODE_KEYS.some(isEnabledNode)) {
|
||||
this.$message.warning('卸货、到货、签收、回单至少选择一个');
|
||||
return false;
|
||||
}
|
||||
// 装货端没有节点采集货量时,整条配置在小程序侧等于不采集货量
|
||||
const collectsCargo = CARGO_NODE_KEYS.some(key =>
|
||||
this.nodeRows.some(
|
||||
item =>
|
||||
item.key === key && item.enabled && item.uploadCargo && (item.cargoTypes || []).length
|
||||
)
|
||||
);
|
||||
if (!collectsCargo) {
|
||||
this.$message.warning('发货或装货至少勾选一个货量类型');
|
||||
return false;
|
||||
}
|
||||
const transit = this.nodeRows.find(item => item.key === 'transit');
|
||||
|
||||
Reference in New Issue
Block a user