mirror of
https://github.com/mayswind/ezbookkeeping.git
synced 2026-05-20 09:44:26 +08:00
reload reconciliation statement after adding new transaction
This commit is contained in:
@@ -135,6 +135,7 @@ export const useTransactionsStore = defineStore('transactions', () => {
|
|||||||
const transactions = ref<TransactionMonthList[]>([]);
|
const transactions = ref<TransactionMonthList[]>([]);
|
||||||
const transactionsNextTimeId = ref<number>(0);
|
const transactionsNextTimeId = ref<number>(0);
|
||||||
const transactionListStateInvalid = ref<boolean>(true);
|
const transactionListStateInvalid = ref<boolean>(true);
|
||||||
|
const transactionReconciliationStatementStateInvalid = ref<boolean>(true);
|
||||||
|
|
||||||
const allFilterCategoryIds = computed<Record<string, boolean>>(() => splitItemsToMap(transactionsFilter.value.categoryIds, ','));
|
const allFilterCategoryIds = computed<Record<string, boolean>>(() => splitItemsToMap(transactionsFilter.value.categoryIds, ','));
|
||||||
const allFilterAccountIds = computed<Record<string, boolean>>(() => splitItemsToMap(transactionsFilter.value.accountIds, ','));
|
const allFilterAccountIds = computed<Record<string, boolean>>(() => splitItemsToMap(transactionsFilter.value.accountIds, ','));
|
||||||
@@ -596,6 +597,10 @@ export const useTransactionsStore = defineStore('transactions', () => {
|
|||||||
transactionListStateInvalid.value = invalidState;
|
transactionListStateInvalid.value = invalidState;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateTransactionReconciliationStatementInvalidState(invalidState: boolean): void {
|
||||||
|
transactionReconciliationStatementStateInvalid.value = invalidState;
|
||||||
|
}
|
||||||
|
|
||||||
function resetTransactions(): void {
|
function resetTransactions(): void {
|
||||||
transactionsFilter.value.dateType = DateRange.All.type;
|
transactionsFilter.value.dateType = DateRange.All.type;
|
||||||
transactionsFilter.value.maxTime = 0;
|
transactionsFilter.value.maxTime = 0;
|
||||||
@@ -610,6 +615,7 @@ export const useTransactionsStore = defineStore('transactions', () => {
|
|||||||
transactions.value = [];
|
transactions.value = [];
|
||||||
transactionsNextTimeId.value = 0;
|
transactionsNextTimeId.value = 0;
|
||||||
transactionListStateInvalid.value = true;
|
transactionListStateInvalid.value = true;
|
||||||
|
transactionReconciliationStatementStateInvalid.value = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function clearTransactions(): void {
|
function clearTransactions(): void {
|
||||||
@@ -972,14 +978,26 @@ export const useTransactionsStore = defineStore('transactions', () => {
|
|||||||
const data = response.data;
|
const data = response.data;
|
||||||
|
|
||||||
if (!data || !data.success || !data.result) {
|
if (!data || !data.success || !data.result) {
|
||||||
|
if (!transactionReconciliationStatementStateInvalid.value) {
|
||||||
|
updateTransactionReconciliationStatementInvalidState(true);
|
||||||
|
}
|
||||||
|
|
||||||
reject({ message: 'Unable to retrieve reconciliation statements' });
|
reject({ message: 'Unable to retrieve reconciliation statements' });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (transactionReconciliationStatementStateInvalid.value) {
|
||||||
|
updateTransactionReconciliationStatementInvalidState(false);
|
||||||
|
}
|
||||||
|
|
||||||
resolve(data.result);
|
resolve(data.result);
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
logger.error('failed to load reconciliation statements', error);
|
logger.error('failed to load reconciliation statements', error);
|
||||||
|
|
||||||
|
if (!transactionReconciliationStatementStateInvalid.value) {
|
||||||
|
updateTransactionReconciliationStatementInvalidState(true);
|
||||||
|
}
|
||||||
|
|
||||||
if (error.response && error.response.data && error.response.data.errorMessage) {
|
if (error.response && error.response.data && error.response.data.errorMessage) {
|
||||||
reject({ error: error.response.data });
|
reject({ error: error.response.data });
|
||||||
} else if (!error.processed) {
|
} else if (!error.processed) {
|
||||||
@@ -1067,6 +1085,10 @@ export const useTransactionsStore = defineStore('transactions', () => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!transactionReconciliationStatementStateInvalid.value) {
|
||||||
|
updateTransactionReconciliationStatementInvalidState(true);
|
||||||
|
}
|
||||||
|
|
||||||
if (!accountsStore.accountListStateInvalid) {
|
if (!accountsStore.accountListStateInvalid) {
|
||||||
accountsStore.updateAccountListInvalidState(true);
|
accountsStore.updateAccountListInvalidState(true);
|
||||||
}
|
}
|
||||||
@@ -1124,6 +1146,10 @@ export const useTransactionsStore = defineStore('transactions', () => {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!transactionReconciliationStatementStateInvalid.value) {
|
||||||
|
updateTransactionReconciliationStatementInvalidState(true);
|
||||||
|
}
|
||||||
|
|
||||||
if (!accountsStore.accountListStateInvalid) {
|
if (!accountsStore.accountListStateInvalid) {
|
||||||
accountsStore.updateAccountListInvalidState(true);
|
accountsStore.updateAccountListInvalidState(true);
|
||||||
}
|
}
|
||||||
@@ -1334,6 +1360,7 @@ export const useTransactionsStore = defineStore('transactions', () => {
|
|||||||
transactions,
|
transactions,
|
||||||
transactionsNextTimeId,
|
transactionsNextTimeId,
|
||||||
transactionListStateInvalid,
|
transactionListStateInvalid,
|
||||||
|
transactionReconciliationStatementStateInvalid,
|
||||||
// computed states
|
// computed states
|
||||||
allFilterCategoryIds,
|
allFilterCategoryIds,
|
||||||
allFilterAccountIds,
|
allFilterAccountIds,
|
||||||
@@ -1350,6 +1377,7 @@ export const useTransactionsStore = defineStore('transactions', () => {
|
|||||||
clearTransactionDraft,
|
clearTransactionDraft,
|
||||||
setTransactionSuitableDestinationAmount,
|
setTransactionSuitableDestinationAmount,
|
||||||
updateTransactionListInvalidState,
|
updateTransactionListInvalidState,
|
||||||
|
updateTransactionReconciliationStatementInvalidState,
|
||||||
resetTransactions,
|
resetTransactions,
|
||||||
clearTransactions,
|
clearTransactions,
|
||||||
initTransactionListFilter,
|
initTransactionListFilter,
|
||||||
|
|||||||
@@ -452,6 +452,10 @@ function renderExternal(vl: unknown, vlData: ReconciliationStatementVirtualListD
|
|||||||
}
|
}
|
||||||
|
|
||||||
function onPageAfterIn(): void {
|
function onPageAfterIn(): void {
|
||||||
|
if (finishQuery.value && transactionsStore.transactionReconciliationStatementStateInvalid) {
|
||||||
|
reload(false);
|
||||||
|
}
|
||||||
|
|
||||||
routeBackOnError(props.f7router, loadingError);
|
routeBackOnError(props.f7router, loadingError);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user