This commit is contained in:
Jan Bader 2022-02-15 08:25:30 +00:00
parent e7a085273b
commit fe018e1953
2 changed files with 15 additions and 13 deletions

View File

@ -1,5 +1,5 @@
<script lang="ts" setup>
import { computed, defineProps, onMounted, PropType, watch, watchEffect } from "vue";
import { computed, defineProps, watchEffect } from "vue";
import Currency from "../components/Currency.vue";
import { useBudgetsStore } from "../stores/budget";
import { useAccountStore } from "../stores/budget-account";
@ -22,6 +22,7 @@ const categoriesForMonth = useAccountStore().CategoriesForMonth;
const Categories = computed(() => {
return [...categoriesForMonth(selected.value.Year, selected.value.Month)];
});
const previous = computed(() => ({
Year: new Date(selected.value.Year, selected.value.Month - 1, 1).getFullYear(),
Month: new Date(selected.value.Year, selected.value.Month - 1, 1).getMonth(),

View File

@ -52,27 +52,28 @@ export const useAccountStore = defineStore("budget/account", {
}),
getters: {
AccountsList(state) {
return [ ...state.Accounts.values() ];
return [...state.Accounts.values()];
},
CategoriesForMonth: (state) => (year : number, month : number) => {
console.log("MTH", state.Months)
CategoriesForMonth: (state) => (year: number, month: number) => {
const yearMap = state.Months.get(year);
return [ ...yearMap?.get(month)?.values() || [] ];
const monthMap = yearMap?.get(month);
console.log("MTH", monthMap)
return [...monthMap?.values() || []];
},
CurrentAccount(state) : Account | undefined {
CurrentAccount(state): Account | undefined {
if (state.CurrentAccountID == null)
return undefined;
return state.Accounts.get(state.CurrentAccountID);
},
OnBudgetAccounts(state) {
return [ ...state.Accounts.values() ].filter(x => x.OnBudget);
return [...state.Accounts.values()].filter(x => x.OnBudget);
},
OnBudgetAccountsBalance(state) : number {
return this.OnBudgetAccounts.reduce((prev, curr) => prev + Number(curr.Balance), 0);
},
OffBudgetAccounts(state) {
return [ ...state.Accounts.values() ].filter(x => !x.OnBudget);
return [...state.Accounts.values()].filter(x => !x.OnBudget);
},
OffBudgetAccountsBalance(state) : number {
return this.OffBudgetAccounts.reduce((prev, curr) => prev + Number(curr.Balance), 0);
@ -82,7 +83,7 @@ export const useAccountStore = defineStore("budget/account", {
}
},
actions: {
async SetCurrentAccount(budgetid : string, accountid : string) {
async SetCurrentAccount(budgetid: string, accountid: string) {
if (budgetid == null)
return
@ -93,12 +94,12 @@ export const useAccountStore = defineStore("budget/account", {
useSessionStore().setTitle(this.CurrentAccount.Name);
await this.FetchAccount(accountid);
},
async FetchAccount(accountid : string) {
async FetchAccount(accountid: string) {
const result = await GET("/account/" + accountid + "/transactions");
const response = await result.json();
this.Transactions = response.Transactions;
},
async FetchMonthBudget(budgetid : string, year : number, month : number) {
async FetchMonthBudget(budgetid: string, year: number, month: number) {
const result = await GET("/budget/" + budgetid + "/" + year + "/" + month);
const response = await result.json();
this.addCategoriesForMonth(year, month, response.Categories);