1、调整导入运单

2、调整对账
This commit is contained in:
2026-09-10 22:50:18 +08:00
parent 38e53e01af
commit 1a9cd55d66
17 changed files with 374 additions and 149 deletions
+28 -16
View File
@@ -384,6 +384,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="业务模式" prop="businessMode">
<el-select v-model="form.businessMode" placeholder="请选择业务模式">
<el-option
v-for="item in businessModeOptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="项目规模" prop="projectScale">
<el-input
v-model="form.projectScale"
@@ -410,6 +420,14 @@
<template #suffix>万元</template>
</el-input>
</el-form-item>
<el-form-item label="利润率" prop="profitRate">
<el-input
v-model="form.profitRate"
@input="value => handleNumberInput('profitRate', value)"
>
<template #suffix>%</template>
</el-input>
</el-form-item>
<el-form-item label="履约保证金" prop="fundDemand">
<el-input
v-model="form.fundDemand"
@@ -670,17 +688,6 @@
</el-table>
<template v-if="isChangeDialog">
<div class="dialog-section-title">变更内容</div>
<el-form-item prop="changeContent" class="project-apply-form__change-textarea">
<el-input
v-model="form.changeContent"
type="textarea"
:rows="2"
placeholder="2000字以内"
maxlength="2000"
show-word-limit
/>
</el-form-item>
<div class="dialog-section-title">变更原因</div>
<el-form-item prop="changeReason" class="project-apply-form__change-textarea">
<el-input
@@ -852,6 +859,7 @@ import { mapGetters } from 'vuex';
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
import {
businessModeOptions,
businessTypeOptions,
projectSourceOptions,
projectTypeOptions,
@@ -886,9 +894,11 @@ const emptyForm = () => ({
transportRoute: '',
transportType: '',
businessType: '',
businessMode: '国内运输',
projectScale: '',
settlementMode: '',
estimatedProfit: '',
profitRate: '',
fundDemand: '',
handlerUserId: '',
handlerUserName: '',
@@ -909,6 +919,7 @@ const emptyForm = () => ({
const optionalSentinelFields = [
'projectScale',
'estimatedProfit',
'profitRate',
'fundDemand',
'receivableDays',
'paymentDays',
@@ -1001,6 +1012,7 @@ export default {
projectSourceOptions,
transportTypeOptions: [],
businessTypeOptions,
businessModeOptions,
settlementModeOptions: [],
changeTypeOptions,
tableForm: {},
@@ -1035,11 +1047,11 @@ export default {
{ max: 50, message: '项目名称不能超过50个字符', trigger: 'blur' },
],
projectShortName: [
{ required: true, message: '请输入项目简称', trigger: 'blur' },
{ max: 20, message: '项目简称不能超过20个字符', trigger: 'blur' },
],
businessDeptId: [{ required: true, message: '请选择业务部门', trigger: 'change' }],
undertakeDeptId: [{ required: true, message: '请选择承办部门', trigger: 'change' }],
businessMode: [{ required: true, message: '请选择业务模式', trigger: 'change' }],
customerNames: [{ required: true, message: '请选择客户名称', trigger: 'change' }],
carrierNames: [{ required: true, message: '请选择下游承运商', trigger: 'change' }],
fundLimit: [
@@ -1066,6 +1078,7 @@ export default {
],
projectScale: [{ label: '项目规模', validator: validateAmount, trigger: 'blur' }],
estimatedProfit: [{ label: '预估利润', validator: validateAmount, trigger: 'blur' }],
profitRate: [{ label: '利润率', validator: validateAmount, trigger: 'blur' }],
fundDemand: [{ label: '履约保证金', validator: validateAmount, trigger: 'blur' }],
handlerUserId: [
{
@@ -1087,9 +1100,6 @@ export default {
trigger: 'change',
},
],
changeContent: [
{ max: 2000, message: '变更内容不能超过2000个字符', trigger: 'blur' },
],
changeReason: [
{ max: 2000, message: '变更原因不能超过2000个字符', trigger: 'blur' },
],
@@ -1570,6 +1580,7 @@ export default {
receivableLimit: this.formatAmount(row.receivableLimit),
projectScale: this.normalizeOptionalSentinel(row.projectScale),
estimatedProfit: this.normalizeOptionalSentinel(row.estimatedProfit),
profitRate: this.normalizeOptionalSentinel(row.profitRate),
fundDemand: this.normalizeOptionalSentinel(row.fundDemand),
receivableDays: this.normalizeOptionalSentinel(row.receivableDays),
paymentDays: this.normalizeOptionalSentinel(row.paymentDays),
@@ -1760,8 +1771,9 @@ export default {
if (!options.includeChangeType) {
delete submitRow.changeType;
}
// 变更内容字段已下线,提交时始终清空,避免沿用历史值
submitRow.changeContent = '';
if (this.isNewProjectDialog && !options.includeChangeType) {
delete submitRow.changeContent;
delete submitRow.changeReason;
}
['projectIntro', 'profitRemark', 'riskPoint', 'emergencyPlan'].forEach(