Reduce duplicate dashboard data loading
This commit is contained in:
@@ -6,9 +6,13 @@ let unallocatedStatements = ref(0)
|
|||||||
let bankaccounts = ref([])
|
let bankaccounts = ref([])
|
||||||
|
|
||||||
const setupPage = async () => {
|
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
|
unallocatedStatements.value = bankstatements.filter(i => Number(calculateOpenSum(i)) !== 0).length
|
||||||
bankaccounts.value = await useEntities("bankaccounts").select()
|
bankaccounts.value = accountItems
|
||||||
}
|
}
|
||||||
|
|
||||||
setupPage()
|
setupPage()
|
||||||
@@ -51,4 +55,4 @@ const calculateOpenSum = (statement) => {
|
|||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -10,9 +10,11 @@ let draftInvoicesSum = ref(0)
|
|||||||
let draftInvoicesCount = ref(0)
|
let draftInvoicesCount = ref(0)
|
||||||
|
|
||||||
let countPreparedOpenIncomingInvoices = ref(0)
|
let countPreparedOpenIncomingInvoices = ref(0)
|
||||||
|
const { loadCoreData } = useDashboardData()
|
||||||
|
|
||||||
const setupPage = async () => {
|
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 documents = items.filter(i => i.type === "invoices" ||i.type === "advanceInvoices")
|
||||||
|
|
||||||
let draftDocuments = documents.filter(i => i.state === "Entwurf")
|
let draftDocuments = documents.filter(i => i.state === "Entwurf")
|
||||||
@@ -36,7 +38,7 @@ const setupPage = async () => {
|
|||||||
})
|
})
|
||||||
draftInvoicesCount.value = draftDocuments.length
|
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()
|
setupPage()
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ export const useDashboardData = () => {
|
|||||||
if (!force && cache.pendingRequest) return cache.pendingRequest
|
if (!force && cache.pendingRequest) return cache.pendingRequest
|
||||||
|
|
||||||
cache.pendingRequest = Promise.all([
|
cache.pendingRequest = Promise.all([
|
||||||
useEntities("createddocuments").select(),
|
useEntities("createddocuments").select("*, statementallocations(*), customer(id,name), linkedDocument(*)"),
|
||||||
useEntities("incominginvoices").select()
|
useEntities("incominginvoices").select()
|
||||||
])
|
])
|
||||||
.then(([createdDocuments, incomingInvoices]) => {
|
.then(([createdDocuments, incomingInvoices]) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user