From c525bffecad37a62d36c774826e064ebfceb3eb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Thu, 5 Nov 2026 11:44:19 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=BC=80=E7=A5=A8?= =?UTF-8?q?=E7=94=B3=E8=AF=B7=E6=8F=90=E4=BA=A4=E8=BF=94=E5=9B=9E=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E9=A1=B5=E6=9C=AA=E5=88=B7=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../payment/invoice-application-form.vue | 4 +++ src/views/payment/invoice-application.vue | 25 +++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/src/views/payment/invoice-application-form.vue b/src/views/payment/invoice-application-form.vue index 9e91a2c..b4897ea 100644 --- a/src/views/payment/invoice-application-form.vue +++ b/src/views/payment/invoice-application-form.vue @@ -494,6 +494,9 @@ import VehicleAttachmentTable from '@/components/vehicle-attachment-table/main.v import { getMkPublicDetail } from '@/api/mk-process'; import { loadMkEnabled, submitMkApprovalFlow } from '@/utils/mk-approval'; +// 提交成功后带标记返回,列表页(keep-alive)据此重新拉取 +const invoiceApplicationListRefreshKey = 'invoice-application-list-refresh'; + let localId = 0; const emptyLine = () => ({ localId: ++localId, @@ -1227,6 +1230,7 @@ export default { mkEnabled: await loadMkEnabled().catch(() => false), }); this.$message.success('提交成功'); + sessionStorage.setItem(invoiceApplicationListRefreshKey, '1'); this.goBack(); }, async syncReferenceData() { diff --git a/src/views/payment/invoice-application.vue b/src/views/payment/invoice-application.vue index 27075a7..164d462 100644 --- a/src/views/payment/invoice-application.vue +++ b/src/views/payment/invoice-application.vue @@ -251,6 +251,10 @@ import { getMKApprovalUrl } from '@/api/system/business-process'; import { loadMkEnabled, submitMkApprovalFlow } from '@/utils/mk-approval'; import { kingdeeStatusType } from '@/utils/kingdee'; +// 表单提交成功后带标记返回,keep-alive 缓存的列表页据此重新拉取 +const invoiceApplicationListRefreshKey = 'invoice-application-list-refresh'; +const invoiceApplicationListRoute = '/payment/invoice-application'; + const emptyQuery = () => ({ applicationNo: '', projectName: '', @@ -308,7 +312,28 @@ export default { this.mkEnabled = false; }); }, + activated() { + this.consumeListRefreshFlag(); + }, + watch: { + $route(to, from) { + if ( + to.path === invoiceApplicationListRoute && + from?.path?.includes('/invoice-application/form') + ) { + this.consumeListRefreshFlag(); + } + }, + }, methods: { + /** 表单提交成功后带标记返回时,重新拉取列表 */ + consumeListRefreshFlag() { + if (!sessionStorage.getItem(invoiceApplicationListRefreshKey)) { + return; + } + sessionStorage.removeItem(invoiceApplicationListRefreshKey); + this.loadTable(); + }, hasPermission(code) { return this.permission?.[code] !== false; },