运单调整
This commit is contained in:
@@ -227,7 +227,7 @@
|
||||
<el-radio-group
|
||||
v-model="row.confirmMode"
|
||||
:disabled="dialogReadonly || !row.enabled"
|
||||
@change="syncNodeFields"
|
||||
@change="handleAcceptConfirmChange(row)"
|
||||
>
|
||||
<el-radio label="yes">是</el-radio>
|
||||
<el-radio label="no_confirm_accept">无需确认接单</el-radio>
|
||||
@@ -235,12 +235,7 @@
|
||||
</div>
|
||||
<div class="process-config-form__require-line">
|
||||
<span class="process-config-form__require-label">确认接单人</span>
|
||||
<el-checkbox
|
||||
v-model="row.confirmDriver"
|
||||
:disabled="dialogReadonly || !row.enabled || row.confirmMode !== 'yes'"
|
||||
@change="syncNodeFields"
|
||||
>司机</el-checkbox
|
||||
>
|
||||
<el-checkbox v-model="row.confirmDriver" :disabled="true">司机</el-checkbox>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -551,10 +546,19 @@ export default {
|
||||
hasPermission(code) {
|
||||
return this.isAdmin || this.validData(this.permission && this.permission[code], false);
|
||||
},
|
||||
handleAcceptConfirmChange(row) {
|
||||
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;
|
||||
},
|
||||
initDeptOptions() {
|
||||
getDeptTree(this.userInfo.tenantId).then(res => {
|
||||
const deptColumn = this.findColumn(this.option.column, 'searchDeptId');
|
||||
@@ -610,7 +614,7 @@ export default {
|
||||
return 'warning';
|
||||
},
|
||||
canEdit(row) {
|
||||
return this.hasPermission('process_config_edit') && !row.readonly;
|
||||
return this.hasPermission('process_config_edit') && !row.readonly && !row.hasRelatedWaybill;
|
||||
},
|
||||
canDelete(row) {
|
||||
return (
|
||||
@@ -626,7 +630,7 @@ export default {
|
||||
return this.hasPermission('process_config_disable') && !row.readonly && row.status === 1;
|
||||
},
|
||||
cloneNode(template) {
|
||||
return {
|
||||
const node = {
|
||||
enabled: false,
|
||||
punch: true,
|
||||
location: true,
|
||||
@@ -641,10 +645,16 @@ export default {
|
||||
supportVoucher: false,
|
||||
voucherOptions: [],
|
||||
confirmMode: 'yes',
|
||||
confirmDriver: false,
|
||||
confirmDriver: true,
|
||||
confirmInternal: false,
|
||||
...template,
|
||||
};
|
||||
if ((node.key === 'accept' || node.name === '接单') && node.confirmMode === 'yes') {
|
||||
node.confirmDriver = true;
|
||||
} else if ((node.key === 'accept' || node.name === '接单') && node.confirmMode !== 'yes') {
|
||||
node.confirmDriver = false;
|
||||
}
|
||||
return node;
|
||||
},
|
||||
resetNodeRows() {
|
||||
this.nodeRows = NODE_TEMPLATES.map(item => this.cloneNode(item));
|
||||
@@ -769,6 +779,7 @@ export default {
|
||||
this.syncNodeFields();
|
||||
},
|
||||
syncNodeFields() {
|
||||
this.nodeRows.forEach(item => this.enforceAcceptDriver(item));
|
||||
const enabledNodes = this.nodeRows.filter(item => item.enabled);
|
||||
this.form.includedNodes = enabledNodes.map(item => item.name).join(',');
|
||||
this.form.nodeConfigJson = JSON.stringify(
|
||||
@@ -935,7 +946,7 @@ export default {
|
||||
);
|
||||
},
|
||||
openConfig(row, readonly = false) {
|
||||
this.dialogReadonly = readonly;
|
||||
this.dialogReadonly = readonly || !!(row && row.hasRelatedWaybill);
|
||||
if (!row || !row.id) {
|
||||
this.form = {
|
||||
configName: '',
|
||||
@@ -952,6 +963,7 @@ export default {
|
||||
}
|
||||
api.getDetail(row.id).then(res => {
|
||||
const detail = res.data.data || {};
|
||||
this.dialogReadonly = readonly || !!detail.hasRelatedWaybill;
|
||||
this.form = {
|
||||
...detail,
|
||||
defaultFinishDays:
|
||||
@@ -969,6 +981,10 @@ export default {
|
||||
},
|
||||
submitConfig(mode) {
|
||||
if (this.submitting) return;
|
||||
if (this.form.id && this.form.hasRelatedWaybill) {
|
||||
this.$message.warning('该项目已有运单,过程配置不可修改');
|
||||
return;
|
||||
}
|
||||
this.syncNodeFields();
|
||||
const submitRow = this.normalizeRow({
|
||||
...this.form,
|
||||
|
||||
Reference in New Issue
Block a user