fix: adaptive width problem during chart component initialization;🐛

修复:图表组件初始化时自适应宽度问题;
master
iczer 5 years ago
parent f90b6e8731
commit b9cdfdc476
  1. 4
      src/components/card/ChartCard.vue
  2. 14
      src/components/chart/Bar.vue
  3. 20
      src/pages/dashboard/analysis/Analysis.vue
  4. 4
      src/pages/dashboard/workplace/WorkPlace.vue

@ -1,5 +1,5 @@
<template> <template>
<a-card :body-style="{padding: '20px 24px 8px'}" :bordered="false"> <a-card :loading="loading" :body-style="{padding: '20px 24px 8px'}" :bordered="false">
<div class="chart-card-header"> <div class="chart-card-header">
<div class="meta"> <div class="meta">
<span class="chart-card-title">{{title}}</span> <span class="chart-card-title">{{title}}</span>
@ -23,7 +23,7 @@
<script> <script>
export default { export default {
name: 'ChartCard', name: 'ChartCard',
props: ['title', 'total'] props: ['title', 'total', 'loading']
} }
</script> </script>

@ -1,12 +1,14 @@
<template> <template>
<div > <div class="bar">
<h4>{{title}}</h4> <h4>{{title}}</h4>
<v-chart :force-fit="true" height="251" :data="data"> <div class="chart">
<v-chart :force-fit="true" height="312" :data="data" :padding="[24, 0, 0, 0]">
<v-tooltip /> <v-tooltip />
<v-axis /> <v-axis />
<v-bar position="x*y"/> <v-bar position="x*y"/>
</v-chart> </v-chart>
</div> </div>
</div>
</template> </template>
<script> <script>
@ -48,6 +50,10 @@ export default {
} }
</script> </script>
<style scoped> <style scoped lang="less">
.bar{
position: relative;
.chart{
}
}
</style> </style>

@ -2,7 +2,7 @@
<div class="analysis"> <div class="analysis">
<a-row :gutter="[24, 24]"> <a-row :gutter="[24, 24]">
<a-col :sm="24" :md="12" :xl="6"> <a-col :sm="24" :md="12" :xl="6">
<chart-card :title="$t('totalSales')" total="¥ 189,345"> <chart-card :loading="loading" :title="$t('totalSales')" total="¥ 189,345">
<a-tooltip :title="$t('introduce')" slot="action"> <a-tooltip :title="$t('introduce')" slot="action">
<a-icon type="info-circle-o" /> <a-icon type="info-circle-o" />
</a-tooltip> </a-tooltip>
@ -14,7 +14,7 @@
</chart-card> </chart-card>
</a-col> </a-col>
<a-col :sm="24" :md="12" :xl="6"> <a-col :sm="24" :md="12" :xl="6">
<chart-card :title="$t('visits')" total="¥ 189,345"> <chart-card :loading="loading" :title="$t('visits')" total="¥ 189,345">
<a-tooltip :title="$t('introduce')" slot="action"> <a-tooltip :title="$t('introduce')" slot="action">
<a-icon type="info-circle-o" /> <a-icon type="info-circle-o" />
</a-tooltip> </a-tooltip>
@ -25,7 +25,7 @@
</chart-card> </chart-card>
</a-col> </a-col>
<a-col :sm="24" :md="12" :xl="6"> <a-col :sm="24" :md="12" :xl="6">
<chart-card :title="$t('payments')" total="¥ 189,345"> <chart-card :loading="loading" :title="$t('payments')" total="¥ 189,345">
<a-tooltip :title="$t('introduce')" slot="action"> <a-tooltip :title="$t('introduce')" slot="action">
<a-icon type="info-circle-o" /> <a-icon type="info-circle-o" />
</a-tooltip> </a-tooltip>
@ -36,7 +36,7 @@
</chart-card> </chart-card>
</a-col> </a-col>
<a-col :sm="24" :md="12" :xl="6"> <a-col :sm="24" :md="12" :xl="6">
<chart-card :title="$t('operating')" total="73%"> <chart-card :loading="loading" :title="$t('operating')" total="73%">
<a-tooltip :title="$t('introduce')" slot="action"> <a-tooltip :title="$t('introduce')" slot="action">
<a-icon type="info-circle-o" /> <a-icon type="info-circle-o" />
</a-tooltip> </a-tooltip>
@ -50,7 +50,7 @@
</chart-card> </chart-card>
</a-col> </a-col>
</a-row> </a-row>
<a-card style="margin-top: 24px" :bordered="false" :body-style="{padding: '24px'}"> <a-card :loading="loading" style="margin-top: 24px" :bordered="false" :body-style="{padding: '24px'}">
<div class="salesCard"> <div class="salesCard">
<a-tabs default-active-key="1" size="large" :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}"> <a-tabs default-active-key="1" size="large" :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}">
<div class="extra-wrap" slot="tabBarExtraContent"> <div class="extra-wrap" slot="tabBarExtraContent">
@ -85,12 +85,12 @@
</a-card> </a-card>
<a-row style="margin: 0 -12px"> <a-row style="margin: 0 -12px">
<a-col style="padding: 0 12px" :xl="12" :lg="24" :md="24" :sm="24" :xs="24"> <a-col style="padding: 0 12px" :xl="12" :lg="24" :md="24" :sm="24" :xs="24">
<a-card :bordered="false" style="margin-top: 24px" :title="$t('search')"> <a-card :loading="loading" :bordered="false" style="margin-top: 24px" :title="$t('search')">
<hot-search /> <hot-search />
</a-card> </a-card>
</a-col> </a-col>
<a-col style="padding: 0 12px" :xl="12" :lg="24" :md="24" :sm="24" :xs="24"> <a-col style="padding: 0 12px" :xl="12" :lg="24" :md="24" :sm="24" :xs="24">
<a-card :bordered="false" style="margin-top: 24px;" :title="$t('proportion')"> <a-card :loading="loading" :bordered="false" style="margin-top: 24px;" :title="$t('proportion')">
<sales-data /> <sales-data />
<a-radio-group slot="extra" style="margin: -12px 0"> <a-radio-group slot="extra" style="margin: -12px 0">
<a-radio-button value="a">{{$t('all')}}</a-radio-button> <a-radio-button value="a">{{$t('all')}}</a-radio-button>
@ -128,9 +128,13 @@ export default {
i18n: require('./i18n'), i18n: require('./i18n'),
data () { data () {
return { return {
rankList rankList,
loading: true
} }
}, },
created() {
setTimeout(() => this.loading = !this.loading, 500)
},
components: {Trend, SalesData, HotSearch, RankingList, Bar, MiniProgress, MiniBar, MiniArea, ChartCard} components: {Trend, SalesData, HotSearch, RankingList, Bar, MiniProgress, MiniBar, MiniArea, ChartCard}
} }
</script> </script>

@ -55,7 +55,7 @@
<a-button size="small" type="primary" ghost icon="plus">{{$t('add')}}</a-button> <a-button size="small" type="primary" ghost icon="plus">{{$t('add')}}</a-button>
</div> </div>
</a-card> </a-card>
<a-card :title="`XX ${$t('degree')}`" style="margin-bottom: 24px" :bordered="false" :body-style="{padding: 0}"> <a-card :loading="loading" :title="`XX ${$t('degree')}`" style="margin-bottom: 24px" :bordered="false" :body-style="{padding: 0}">
<div style="min-height: 400px;"> <div style="min-height: 400px;">
<radar /> <radar />
</div> </div>
@ -93,7 +93,7 @@ export default {
projects: [], projects: [],
loading: true, loading: true,
activities: [], activities: [],
teams: [] teams: [],
} }
}, },
created() { created() {

Loading…
Cancel
Save