Reduce duplicate dashboard data loading

This commit is contained in:
2026-08-09 17:39:41 +02:00
parent 17717e8a1b
commit e12ec4557d
3 changed files with 12 additions and 6 deletions

View File

@@ -6,9 +6,13 @@ let unallocatedStatements = ref(0)
let bankaccounts = ref([])
const setupPage = async () => {
let bankstatements = (await useEntities("bankstatements").select("*, statementallocations(*)","date",true)).filter(i => !i.archived)
const [statementItems, accountItems] = await Promise.all([
useEntities("bankstatements").select("*, statementallocations(*)", "date", true),
useEntities("bankaccounts").select()
])
let bankstatements = statementItems.filter(i => !i.archived)
unallocatedStatements.value = bankstatements.filter(i => Number(calculateOpenSum(i)) !== 0).length
bankaccounts.value = await useEntities("bankaccounts").select()
bankaccounts.value = accountItems
}
setupPage()

View File

@@ -10,9 +10,11 @@ let draftInvoicesSum = ref(0)
let draftInvoicesCount = ref(0)
let countPreparedOpenIncomingInvoices = ref(0)
const { loadCoreData } = useDashboardData()
const setupPage = async () => {
let items = (await useEntities("createddocuments").select("*, statementallocations(*), customer(id,name), linkedDocument(*)")).filter(i => !i.archived)
const { createdDocuments, incomingInvoices } = await loadCoreData()
let items = createdDocuments.filter(i => !i.archived)
let documents = items.filter(i => i.type === "invoices" ||i.type === "advanceInvoices")
let draftDocuments = documents.filter(i => i.state === "Entwurf")
@@ -36,7 +38,7 @@ const setupPage = async () => {
})
draftInvoicesCount.value = draftDocuments.length
countPreparedOpenIncomingInvoices.value = (await useEntities("incominginvoices").select("id, state")).filter(i => i.state === "Vorbereitet" && !i.archived).length
countPreparedOpenIncomingInvoices.value = incomingInvoices.filter(i => i.state === "Vorbereitet" && !i.archived).length
}
setupPage()

View File

@@ -32,7 +32,7 @@ export const useDashboardData = () => {
if (!force && cache.pendingRequest) return cache.pendingRequest
cache.pendingRequest = Promise.all([
useEntities("createddocuments").select(),
useEntities("createddocuments").select("*, statementallocations(*), customer(id,name), linkedDocument(*)"),
useEntities("incominginvoices").select()
])
.then(([createdDocuments, incomingInvoices]) => {