47 lines
810 B
Vue
47 lines
810 B
Vue
|
<template>
|
||
|
<div class="d-flex h-100">
|
||
|
<div
|
||
|
class="d-flex flex-column flex-shrink-0 p-3"
|
||
|
style="width: 300px"
|
||
|
>
|
||
|
<accounts-sidebar
|
||
|
:accounts="accounts"
|
||
|
@updateAccounts="fetchAccounts"
|
||
|
/>
|
||
|
</div>
|
||
|
<div class="d-flex flex-column flex-grow-1 p-3">
|
||
|
<router-view />
|
||
|
</div>
|
||
|
</div>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import accountsSidebar from './accountsSidebar.vue'
|
||
|
|
||
|
export default {
|
||
|
components: { accountsSidebar },
|
||
|
|
||
|
created() {
|
||
|
this.fetchAccounts()
|
||
|
},
|
||
|
|
||
|
data() {
|
||
|
return {
|
||
|
accounts: [],
|
||
|
}
|
||
|
},
|
||
|
|
||
|
methods: {
|
||
|
fetchAccounts() {
|
||
|
return fetch('/api/accounts?with-balances')
|
||
|
.then(resp => resp.json())
|
||
|
.then(data => {
|
||
|
this.accounts = data
|
||
|
})
|
||
|
},
|
||
|
},
|
||
|
|
||
|
name: 'AccountingAppMain',
|
||
|
}
|
||
|
</script>
|