irc_web/.svn/pristine/17/1730a556dc86db9e37e59d34b3d...

74 lines
1.7 KiB
Plaintext

<template>
<div class="app-container financials">
<el-tabs v-model="activeTab" @tab-click="clickTab">
<el-tab-pane label="Monthly Payment" name="MonthlyPayment">
<monthly-payment v-if="activeTab=='MonthlyPayment'" />
</el-tab-pane>
<el-tab-pane label="Payment History" name="PaymentHistory">
<payment-history v-if="activeTab=='PaymentHistory'" />
</el-tab-pane>
<el-tab-pane label="Revenues" name="Revenues">
<Revenues v-if="activeTab=='Revenues'" />
</el-tab-pane>
<el-tab-pane label="Analysis" name="Analysis">
<keep-alive>
<Analysis v-if="activeTab=='Analysis'" />
</keep-alive>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import MonthlyPayment from './monthlyPayment/index'
import PaymentHistory from './paymentHistory/index'
import Revenues from './revenues/index'
import Analysis from './analysis/index'
import { mapGetters } from 'vuex'
import store from '@/store'
export default {
name: 'Financials',
components: {
MonthlyPayment,
PaymentHistory,
Revenues,
Analysis
},
data() {
return {
activeTab: 'MonthlyPayment'
}
},
computed: {
...mapGetters(['financialsActiveName'])
},
created() {
this.activeTab = this.financialsActiveName
},
methods: {
clickTab(tab, event) {
this.activeTab = tab.name
store.dispatch('financials/setActiveName', tab.name)
}
}
}
</script>
<style lang="scss">
.financials{
.el-tabs{
height: 100%;
display: flex;
flex-direction: column;
.el-tabs__header {
height: 40px;
}
.el-tabs__content{
flex: 1;
.el-tab-pane{
height: 100%;
}
}
}
}
</style>