code refactor

This commit is contained in:
MaysWind
2023-08-13 23:33:07 +08:00
parent 1ac12ac668
commit ddca6e7ec9
2 changed files with 36 additions and 31 deletions
+32
View File
@@ -13,6 +13,7 @@ import services from '@/lib/services.js';
import logger from '@/lib/logger.js';
import { isNumber, isString } from '@/lib/common.js';
import {
getCurrentUnixTime,
getTimezoneOffsetMinutes,
parseDateFromUnixTime,
getShortDate,
@@ -292,6 +293,37 @@ export const useTransactionsStore = defineStore('transactions', {
}
},
actions: {
generateNewTransactionModel(type) {
const settingsStore = useSettingsStore();
const now = getCurrentUnixTime();
const currentTimezone = settingsStore.appSettings.timeZone;
let defaultType = transactionConstants.allTransactionTypes.Expense;
if (type === transactionConstants.allTransactionTypes.Income.toString()) {
defaultType = transactionConstants.allTransactionTypes.Income;
} else if (type === transactionConstants.allTransactionTypes.Transfer.toString()) {
defaultType = transactionConstants.allTransactionTypes.Transfer;
}
return {
type: defaultType,
time: now,
timeZone: currentTimezone,
utcOffset: getTimezoneOffsetMinutes(currentTimezone),
expenseCategory: '',
incomeCategory: '',
transferCategory: '',
sourceAccountId: '',
destinationAccountId: '',
sourceAmount: 0,
destinationAmount: 0,
hideAmount: false,
tagIds: [],
comment: '',
geoLocation: null
};
},
updateTransactionListInvalidState(invalidState) {
this.transactionListStateInvalid = invalidState;
},
+4 -31
View File
@@ -347,7 +347,6 @@ import {
getNameByKeyValue
} from '@/lib/common.js';
import {
getCurrentUnixTime,
getTimeDifferenceHoursAndMinutes,
getTimezoneOffsetMinutes,
getBrowserTimezoneOffsetMinutes,
@@ -375,40 +374,14 @@ export default {
'f7router'
],
data() {
const self = this;
const settingsStore = useSettingsStore();
const query = self.f7route.query;
const now = getCurrentUnixTime();
const currentTimezone = settingsStore.appSettings.timeZone;
let defaultType = transactionConstants.allTransactionTypes.Expense;
if (query.type === transactionConstants.allTransactionTypes.Income.toString()) {
defaultType = transactionConstants.allTransactionTypes.Income;
} else if (query.type === transactionConstants.allTransactionTypes.Transfer.toString()) {
defaultType = transactionConstants.allTransactionTypes.Transfer;
}
const query = this.f7route.query;
const transactionsStore = useTransactionsStore();
const newTransaction = transactionsStore.generateNewTransactionModel(query.type);
return {
mode: 'add',
editTransactionId: null,
transaction: {
type: defaultType,
time: now,
timeZone: currentTimezone,
utcOffset: getTimezoneOffsetMinutes(currentTimezone),
expenseCategory: '',
incomeCategory: '',
transferCategory: '',
sourceAccountId: '',
destinationAccountId: '',
sourceAmount: 0,
destinationAmount: 0,
hideAmount: false,
tagIds: [],
comment: '',
geoLocation: null
},
transaction: newTransaction,
loading: true,
loadingError: null,
geoLocationStatus: null,