Removed Bank Bookings from displayOpenBalances.vue
Added displayBankaccounts.vue
This commit is contained in:
54
components/displayBankaccounts.vue
Normal file
54
components/displayBankaccounts.vue
Normal 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>
|
||||||
@@ -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>
|
||||||
|
|||||||
@@ -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"
|
||||||
>
|
>
|
||||||
|
|||||||
Reference in New Issue
Block a user