✨ 结算付款体验优化与合同/运单导入校验

付款申请汇票筛选与提示去重、结算菜单拆分与金蝶同步弹框、应收应付详情高度、合同计费与半月结调整,以及导入运单批量删除校验。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-10-18 05:12:26 +08:00
parent 8db52ef168
commit 6f2383a7e5
36 changed files with 1387 additions and 495 deletions
@@ -16,6 +16,7 @@
<script>
import FormalSettlementEditor from './components/formal-settlement-editor.vue';
import { readSettlementTransfer, removeSettlementTransfer } from '@/utils/settlement-transfer';
import { settlementBillLabel, settlementListPath } from '@/utils/settlement-menu';
const LIST_REFRESH_KEY = 'formal-settlement-list-refresh';
@@ -35,12 +36,25 @@ export default {
readonly() {
return this.$route.query.mode === 'view';
},
settlementType() {
return this.$route.query.settlementType || this.transferPayload?.settlementType || 'payable';
},
billLabel() {
return settlementBillLabel(this.settlementType);
},
pageTitle() {
return this.readonly ? '查看正式结算' : this.recordId ? '编辑正式结算' : '新增正式结算';
return this.readonly
? `查看${this.billLabel}`
: this.recordId
? `编辑${this.billLabel}`
: `新增${this.billLabel}`;
},
listPath() {
return this.$route.query.listPath || settlementListPath(this.settlementType);
},
editorInitialData() {
const settlementType = this.$route.query.settlementType;
if (!this.transferPayload && !settlementType) return null;
const settlementType = this.settlementType;
if (!this.transferPayload && !this.$route.query.settlementType) return null;
return {
...(this.transferPayload || {}),
...(settlementType ? { settlementType } : {}),
@@ -63,7 +77,7 @@ export default {
goBack() {
removeSettlementTransfer(this.$route.query.transferToken);
this.$router.$avueRouter.closeTag();
this.$router.push('/settlement/formal-settlement');
this.$router.push(this.listPath);
},
syncTagTitle() {
this.$nextTick(() => {