✨ 付款申请表单优化与结算单过滤,并完善相关体验
进度预付仅可选预结算、尾款付款可选正式/预结算;同步收款账户、申请金额校验、关闭标签与费用明细残留等交互,并补充运单复制需求说明。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -24,7 +24,7 @@ export const syncKingdeeBatch = ids =>
|
|||||||
export const paymentTypeOptions = [
|
export const paymentTypeOptions = [
|
||||||
{ label: '项目预付', value: 'project_advance' },
|
{ label: '项目预付', value: 'project_advance' },
|
||||||
{ label: '进度预付', value: 'progress_advance' },
|
{ label: '进度预付', value: 'progress_advance' },
|
||||||
{ label: '结算付款', value: 'settlement_payment' },
|
{ label: '尾款付款', value: 'settlement_payment' },
|
||||||
];
|
];
|
||||||
export const approvalStatusOptions = [
|
export const approvalStatusOptions = [
|
||||||
{ label: '草稿', value: 'draft' },
|
{ label: '草稿', value: 'draft' },
|
||||||
|
|||||||
@@ -113,6 +113,12 @@
|
|||||||
label="导入方式"
|
label="导入方式"
|
||||||
width="100"
|
width="100"
|
||||||
/>
|
/>
|
||||||
|
<el-table-column
|
||||||
|
v-if="columnVisible.statusName"
|
||||||
|
prop="statusName"
|
||||||
|
label="状态"
|
||||||
|
width="100"
|
||||||
|
/>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-if="columnVisible.createUserName"
|
v-if="columnVisible.createUserName"
|
||||||
prop="createUserName"
|
prop="createUserName"
|
||||||
@@ -121,12 +127,6 @@
|
|||||||
>
|
>
|
||||||
<template #default="{ row }">{{ row.createUserName || '-' }}</template>
|
<template #default="{ row }">{{ row.createUserName || '-' }}</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
|
||||||
v-if="columnVisible.statusName"
|
|
||||||
prop="statusName"
|
|
||||||
label="状态"
|
|
||||||
width="100"
|
|
||||||
/>
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-if="columnVisible.createTime"
|
v-if="columnVisible.createTime"
|
||||||
prop="createTime"
|
prop="createTime"
|
||||||
@@ -621,8 +621,8 @@ const columnOptions = [
|
|||||||
{ prop: 'carrierType', label: '承运类型' },
|
{ prop: 'carrierType', label: '承运类型' },
|
||||||
{ prop: 'waybillCount', label: '运单数' },
|
{ prop: 'waybillCount', label: '运单数' },
|
||||||
{ prop: 'importTypeName', label: '导入方式' },
|
{ prop: 'importTypeName', label: '导入方式' },
|
||||||
{ prop: 'createUserName', label: '创建人' },
|
|
||||||
{ prop: 'statusName', label: '状态' },
|
{ prop: 'statusName', label: '状态' },
|
||||||
|
{ prop: 'createUserName', label: '创建人' },
|
||||||
{ prop: 'createTime', label: '创建时间' },
|
{ prop: 'createTime', label: '创建时间' },
|
||||||
{ prop: 'updateTime', label: '更新时间' },
|
{ prop: 'updateTime', label: '更新时间' },
|
||||||
];
|
];
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -326,7 +326,7 @@ export default {
|
|||||||
openProjectAdvance() {
|
openProjectAdvance() {
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: '/payment/payment-application/form',
|
path: '/payment/payment-application/form',
|
||||||
query: { mode: 'add', paymentType: 'project_advance' },
|
query: { mode: 'add', paymentType: 'progress_advance' },
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
openEdit(row) {
|
openEdit(row) {
|
||||||
|
|||||||
@@ -66,6 +66,9 @@
|
|||||||
<span v-else-if="field.prop === 'settlementType'" class="form-readonly">
|
<span v-else-if="field.prop === 'settlementType'" class="form-readonly">
|
||||||
{{ settlementTypeName }}
|
{{ settlementTypeName }}
|
||||||
</span>
|
</span>
|
||||||
|
<span v-else-if="field.prop === 'preSettlementNo'" class="form-readonly">
|
||||||
|
{{ form.preSettlementNo || (!form.id ? '系统自动生成' : '-') }}
|
||||||
|
</span>
|
||||||
<span v-else-if="field.prop === 'createTime'" class="form-readonly">
|
<span v-else-if="field.prop === 'createTime'" class="form-readonly">
|
||||||
{{ formatCreateDate(form.createTime) }}
|
{{ formatCreateDate(form.createTime) }}
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@@ -497,6 +497,7 @@ export default {
|
|||||||
path: '/payment/payment-application/form',
|
path: '/payment/payment-application/form',
|
||||||
query: {
|
query: {
|
||||||
mode: 'add',
|
mode: 'add',
|
||||||
|
paymentType: 'progress_advance',
|
||||||
transferToken,
|
transferToken,
|
||||||
preSettlementIds: sourcePreSettlements
|
preSettlementIds: sourcePreSettlements
|
||||||
.map(row => row.preSettlementId)
|
.map(row => row.preSettlementId)
|
||||||
|
|||||||
@@ -1198,10 +1198,24 @@ export default {
|
|||||||
await this.loadTable();
|
await this.loadTable();
|
||||||
await this.openRouteDetail();
|
await this.openRouteDetail();
|
||||||
},
|
},
|
||||||
|
// 标签切走(keep-alive 缓存)或销毁时,收起 teleport/append-to-body 弹层,避免残留盖住其它页面
|
||||||
|
deactivated() {
|
||||||
|
this.closeInnerDialogs();
|
||||||
|
},
|
||||||
beforeUnmount() {
|
beforeUnmount() {
|
||||||
this.clearAdjustCalculations();
|
this.closeInnerDialogs();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
closeInnerDialogs() {
|
||||||
|
this.closeDetailPanel();
|
||||||
|
this.closeAdjustPanel();
|
||||||
|
this.changeRecordsDialog.visible = false;
|
||||||
|
this.updateFeeDialog.visible = false;
|
||||||
|
this.transferDialog.visible = false;
|
||||||
|
this.generateDialog.visible = false;
|
||||||
|
this.previewDialog.visible = false;
|
||||||
|
this.generateContractDialog.visible = false;
|
||||||
|
},
|
||||||
contractCategoryName(value) {
|
contractCategoryName(value) {
|
||||||
return (
|
return (
|
||||||
this.contractCategoryOptions.find(item => String(item.value) === String(value))?.label ||
|
this.contractCategoryOptions.find(item => String(item.value) === String(value))?.label ||
|
||||||
|
|||||||
+7
-4
@@ -570,19 +570,22 @@
|
|||||||
|
|
||||||
- 功能点:
|
- 功能点:
|
||||||
- 任意状态的运单均支持复制。
|
- 任意状态的运单均支持复制。
|
||||||
- 复制后生成新的草稿运单,运单号重新生成。
|
- 复制后运单号重新生成,业务状态与原运单保持一致。
|
||||||
- 复制时保留运单基础信息、货物信息、承运信息和过程配置相关信息,状态与过程记录重新初始化。
|
- 复制时保留运单基础信息、货物信息、承运信息和过程配置相关信息;过程打卡记录重新初始化。
|
||||||
- 复制成功后跳转编辑页面。
|
- 若原运单为已完成,复制保存后按合同系统计费规则自动生成对应应收、应付明细。
|
||||||
|
- 复制成功后跳转编辑页面(独立表单模式)或刷新列表(弹窗模式)。
|
||||||
|
|
||||||
- 异常与边界:
|
- 异常与边界:
|
||||||
- 原运单不存在时提示数据不存在。
|
- 原运单不存在时提示数据不存在。
|
||||||
- 复制后名称、编号或关联字段触发唯一性校验时应重新处理。
|
- 复制后名称、编号或关联字段触发唯一性校验时应重新处理。
|
||||||
- 复制失败时不影响原运单数据。
|
- 复制失败时不影响原运单数据。
|
||||||
|
- 合同未开启系统计费、无匹配计费方案或自有运输等场景下,按既有规则跳过对应应收/应付生成。
|
||||||
|
|
||||||
- 反例:
|
- 反例:
|
||||||
- 不允许复制后沿用原运单号。
|
- 不允许复制后沿用原运单号。
|
||||||
- 不允许复制后直接生成进行中或已完成状态。
|
- 不允许复制后状态与原运单不一致。
|
||||||
- 不允许复制后保留原过程节点完成记录。
|
- 不允许复制后保留原过程节点完成记录。
|
||||||
|
- 不允许已完成运单复制成功后遗漏按规则应生成的应收应付明细。
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user