Removed Bank Bookings from displayOpenBalances.vue

Added displayBankaccounts.vue
This commit is contained in:
2025-04-17 13:54:32 +02:00
parent b9cd79cabe
commit fa25923e62
3 changed files with 60 additions and 31 deletions

View File

@@ -0,0 +1,54 @@
<script setup>
import dayjs from "dayjs";
import {useSupabaseSelect} from "~/composables/useSupabase.js";
let unallocatedStatements = ref(0)
let bankaccounts = ref([])
const setupPage = async () => {
let bankstatements = (await useSupabaseSelect("bankstatements","*, statementallocations(*)","date",true)).filter(i => !i.archived)
unallocatedStatements.value = bankstatements.filter(i => Number(calculateOpenSum(i)) !== 0).length
bankaccounts.value = await useSupabaseSelect("bankaccounts")
}
setupPage()
const calculateOpenSum = (statement) => {
let startingAmount = 0
statement.statementallocations.forEach(item => {
startingAmount += item.amount
})
return (statement.amount - startingAmount).toFixed(2)
}
</script>
<template>
<table>
<tr>
<td colspan="2">Nicht zugewiesene Bankbuchungen:</td>
<td>
<span v-if="unallocatedStatements > 0" class="text-rose-600 font-bold">{{unallocatedStatements}}</span>
<span v-else class="text-primary-500 font-bold">0</span>
</td>
</tr>
<tr v-for="account in bankaccounts.filter(i => !i.expired)">
<td>{{ account.name }}:</td>
<td>
{{dayjs(account.synced_at).format("DD.MM.YY HH:mm")}}
</td>
<td>
<span v-if="account.balance < 0" class="text-rose-600 font-bold">{{useCurrency(account.balance)}}</span>
<span v-else class="text-primary-500 font-bold">{{useCurrency(account.balance)}}</span>
</td>
</tr>
</table>
</template>
<style scoped>
</style>

View File

@@ -4,7 +4,6 @@ let unpaidInvoicesSum = ref(0)
let unpaidInvoicesCount = ref(0) let unpaidInvoicesCount = ref(0)
let draftInvoicesSum = ref(0) let draftInvoicesSum = ref(0)
let draftInvoicesCount = ref(0) let draftInvoicesCount = ref(0)
let unallocatedStatements = ref(0)
const setupPage = async () => { const setupPage = async () => {
let documents = (await useSupabaseSelect("createddocuments","*, statementallocations(*), customer(id,name)")).filter(i => i.type === "invoices" ||i.type === "advanceInvoices"||i.type === "cancellationInvoices").filter(i => !i.archived) let documents = (await useSupabaseSelect("createddocuments","*, statementallocations(*), customer(id,name)")).filter(i => i.type === "invoices" ||i.type === "advanceInvoices"||i.type === "cancellationInvoices").filter(i => !i.archived)
@@ -25,33 +24,10 @@ const setupPage = async () => {
}) })
draftInvoicesCount.value = draftDocuments.length draftInvoicesCount.value = draftDocuments.length
let bankstatements = (await useSupabaseSelect("bankstatements","*, statementallocations(*)","date",true)).filter(i => !i.archived)
unallocatedStatements.value = bankstatements.filter(i => Number(calculateOpenSum(i)) !== 0).length
} }
setupPage() setupPage()
const calculateOpenSum = (statement) => {
/*let startingAmount = statement.amount || 0
statement.statementallocations.forEach(item => {
if(item.cd_id) {
startingAmount = startingAmount - item.amount
} else if(item.ii_id) {
startingAmount = Number(startingAmount) + item.amount
}
})
return startingAmount.toFixed(2)*/
let startingAmount = 0
statement.statementallocations.forEach(item => {
startingAmount += item.amount
})
return (statement.amount - startingAmount).toFixed(2)
}
</script> </script>
<template> <template>
@@ -72,13 +48,6 @@ const calculateOpenSum = (statement) => {
>{{draftInvoicesCount}} Stk / {{useCurrency(draftInvoicesSum)}}</td> >{{draftInvoicesCount}} Stk / {{useCurrency(draftInvoicesSum)}}</td>
<td v-else class="text-primary-500 font-bold text-no-wrap">0 Stk / 0,00</td> <td v-else class="text-primary-500 font-bold text-no-wrap">0 Stk / 0,00</td>
</tr> </tr>
<tr>
<td>Nicht zugewiesene Bankbuchungen:</td>
<td>
<span v-if="unallocatedStatements > 0" class="text-rose-600 font-bold">{{unallocatedStatements}}</span>
<span v-else class="text-primary-500 font-bold">0</span>
</td>
</tr>
</table> </table>
</template> </template>

View File

@@ -27,6 +27,12 @@
> >
<display-open-balances/> <display-open-balances/>
</UDashboardCard> </UDashboardCard>
<UDashboardCard
title="Bank"
v-if="profileStore.ownTenant.features.accounting"
>
<display-bankaccounts/>
</UDashboardCard>
<UDashboardCard <UDashboardCard
title="Projekte" title="Projekte"
> >