add total amount in home page

This commit is contained in:
MaysWind
2021-01-10 21:24:02 +08:00
parent a470752d42
commit a5474d0d65
15 changed files with 576 additions and 7 deletions
+18
View File
@@ -40,6 +40,9 @@ import {
UPDATE_TAG_VISIBILITY_IN_TRANSACTION_TAG_LIST,
REMOVE_TAG_FROM_TRANSACTION_TAG_LIST,
UPDATE_TRANSACTION_TAG_LIST_INVALID_STATE,
LOAD_TRANSACTION_OVERVIEW,
UPDATE_TRANSACTION_OVERVIEW_INVALID_STATE,
} from './mutations.js';
import {
@@ -79,6 +82,10 @@ import {
clearExchangeRatesFromLocalStorage,
} from './exchangeRates.js';
import {
loadTransactionOverview
} from './overview.js';
import {
loadAllAccounts,
getAccount,
@@ -154,6 +161,8 @@ const stores = {
allTransactionTags: [],
allTransactionTagsMap: {},
transactionTagListStateInvalid: true,
transactionOverview: {},
transactionOverviewStateInvalid: true,
},
getters: {
// user
@@ -706,6 +715,12 @@ const stores = {
[UPDATE_TRANSACTION_TAG_LIST_INVALID_STATE] (state, invalidState) {
state.transactionTagListStateInvalid = invalidState;
},
[LOAD_TRANSACTION_OVERVIEW] (state, transactionOverview) {
state.transactionOverview = transactionOverview;
},
[UPDATE_TRANSACTION_OVERVIEW_INVALID_STATE] (state, invalidState) {
state.transactionOverviewStateInvalid = invalidState;
},
},
actions: {
// user
@@ -734,6 +749,9 @@ const stores = {
// exchange rates
getLatestExchangeRates,
// overview
loadTransactionOverview,
// account
loadAllAccounts,
saveAccount,
+3
View File
@@ -36,3 +36,6 @@ export const CHANGE_TAG_DISPLAY_ORDER_IN_TRANSACTION_TAG_LIST = 'CHANGE_TAG_DISP
export const UPDATE_TAG_VISIBILITY_IN_TRANSACTION_TAG_LIST = 'UPDATE_TAG_VISIBILITY_IN_TRANSACTION_TAG_LIST';
export const REMOVE_TAG_FROM_TRANSACTION_TAG_LIST = 'REMOVE_TAG_FROM_TRANSACTION_TAG_LIST';
export const UPDATE_TRANSACTION_TAG_LIST_INVALID_STATE = 'UPDATE_TRANSACTION_TAG_LIST_INVALID_STATE';
export const LOAD_TRANSACTION_OVERVIEW = 'LOAD_TRANSACTION_OVERVIEW';
export const UPDATE_TRANSACTION_OVERVIEW_INVALID_STATE = 'UPDATE_TRANSACTION_OVERVIEW_INVALID_STATE';
+53
View File
@@ -0,0 +1,53 @@
import services from '../lib/services.js';
import logger from '../lib/logger.js';
import {
LOAD_TRANSACTION_OVERVIEW,
UPDATE_TRANSACTION_OVERVIEW_INVALID_STATE,
} from './mutations.js';
export function loadTransactionOverview(context, { dateRange, force }) {
if (!force && !context.state.transactionOverviewStateInvalid) {
return new Promise((resolve) => {
resolve(context.state.transactionOverview);
});
}
return new Promise((resolve, reject) => {
services.getTransactionOverview({
today: dateRange.today,
thisWeek: dateRange.thisWeek,
thisMonth: dateRange.thisMonth,
thisYear: dateRange.thisYear
}).then(response => {
const data = response.data;
if (!data || !data.success || !data.result) {
reject({ message: 'Unable to get transaction overview' });
return;
}
context.commit(LOAD_TRANSACTION_OVERVIEW, data.result);
if (context.state.transactionOverviewStateInvalid) {
context.commit(UPDATE_TRANSACTION_OVERVIEW_INVALID_STATE, false);
}
resolve(data.result);
}).catch(error => {
if (force) {
logger.error('failed to force load transaction overview', error);
} else {
logger.error('failed to load transaction overview', error);
}
if (error.response && error.response.data && error.response.data.errorMessage) {
reject({ error: error.response.data });
} else if (!error.processed) {
reject({ message: 'Unable to get transaction overview' });
} else {
reject(error);
}
});
});
}
+3
View File
@@ -14,6 +14,7 @@ import {
REMOVE_TRANSACTION_FROM_TRANSACTION_LIST,
UPDATE_TRANSACTION_LIST_INVALID_STATE,
UPDATE_ACCOUNT_LIST_INVALID_STATE,
UPDATE_TRANSACTION_OVERVIEW_INVALID_STATE,
} from './mutations.js';
const emptyTransactionResult = {
@@ -169,6 +170,7 @@ export function saveTransaction(context, { transaction, defaultCurrency }) {
}
context.commit(UPDATE_ACCOUNT_LIST_INVALID_STATE, true);
context.commit(UPDATE_TRANSACTION_OVERVIEW_INVALID_STATE, true);
resolve(data.result);
}).catch(error => {
@@ -216,6 +218,7 @@ export function deleteTransaction(context, { transaction, defaultCurrency, befor
}
context.commit(UPDATE_ACCOUNT_LIST_INVALID_STATE, true);
context.commit(UPDATE_TRANSACTION_OVERVIEW_INVALID_STATE, true);
resolve(data.result);
}).catch(error => {