fix: 修复开票申请提交返回列表页未刷新
This commit is contained in:
@@ -494,6 +494,9 @@ import VehicleAttachmentTable from '@/components/vehicle-attachment-table/main.v
|
|||||||
import { getMkPublicDetail } from '@/api/mk-process';
|
import { getMkPublicDetail } from '@/api/mk-process';
|
||||||
import { loadMkEnabled, submitMkApprovalFlow } from '@/utils/mk-approval';
|
import { loadMkEnabled, submitMkApprovalFlow } from '@/utils/mk-approval';
|
||||||
|
|
||||||
|
// 提交成功后带标记返回,列表页(keep-alive)据此重新拉取
|
||||||
|
const invoiceApplicationListRefreshKey = 'invoice-application-list-refresh';
|
||||||
|
|
||||||
let localId = 0;
|
let localId = 0;
|
||||||
const emptyLine = () => ({
|
const emptyLine = () => ({
|
||||||
localId: ++localId,
|
localId: ++localId,
|
||||||
@@ -1227,6 +1230,7 @@ export default {
|
|||||||
mkEnabled: await loadMkEnabled().catch(() => false),
|
mkEnabled: await loadMkEnabled().catch(() => false),
|
||||||
});
|
});
|
||||||
this.$message.success('提交成功');
|
this.$message.success('提交成功');
|
||||||
|
sessionStorage.setItem(invoiceApplicationListRefreshKey, '1');
|
||||||
this.goBack();
|
this.goBack();
|
||||||
},
|
},
|
||||||
async syncReferenceData() {
|
async syncReferenceData() {
|
||||||
|
|||||||
@@ -251,6 +251,10 @@ import { getMKApprovalUrl } from '@/api/system/business-process';
|
|||||||
import { loadMkEnabled, submitMkApprovalFlow } from '@/utils/mk-approval';
|
import { loadMkEnabled, submitMkApprovalFlow } from '@/utils/mk-approval';
|
||||||
import { kingdeeStatusType } from '@/utils/kingdee';
|
import { kingdeeStatusType } from '@/utils/kingdee';
|
||||||
|
|
||||||
|
// 表单提交成功后带标记返回,keep-alive 缓存的列表页据此重新拉取
|
||||||
|
const invoiceApplicationListRefreshKey = 'invoice-application-list-refresh';
|
||||||
|
const invoiceApplicationListRoute = '/payment/invoice-application';
|
||||||
|
|
||||||
const emptyQuery = () => ({
|
const emptyQuery = () => ({
|
||||||
applicationNo: '',
|
applicationNo: '',
|
||||||
projectName: '',
|
projectName: '',
|
||||||
@@ -308,7 +312,28 @@ export default {
|
|||||||
this.mkEnabled = false;
|
this.mkEnabled = false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
activated() {
|
||||||
|
this.consumeListRefreshFlag();
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
$route(to, from) {
|
||||||
|
if (
|
||||||
|
to.path === invoiceApplicationListRoute &&
|
||||||
|
from?.path?.includes('/invoice-application/form')
|
||||||
|
) {
|
||||||
|
this.consumeListRefreshFlag();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
/** 表单提交成功后带标记返回时,重新拉取列表 */
|
||||||
|
consumeListRefreshFlag() {
|
||||||
|
if (!sessionStorage.getItem(invoiceApplicationListRefreshKey)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
sessionStorage.removeItem(invoiceApplicationListRefreshKey);
|
||||||
|
this.loadTable();
|
||||||
|
},
|
||||||
hasPermission(code) {
|
hasPermission(code) {
|
||||||
return this.permission?.[code] !== false;
|
return this.permission?.[code] !== false;
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user