|
|
@@ -4,52 +4,52 @@
|
|
|
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
|
|
|
<div class="card-panel" @click="gotoPage(`/api/docs`)">
|
|
|
<div class="card-panel-icon-wrapper icon-people">
|
|
|
- <el-image src="/images/16505@2x.png" class="card-panel-icon" style="height: 60px" />
|
|
|
+ <el-image src="/images/16505@2x.png" class="card-panel-icon" style="height: 60px"/>
|
|
|
</div>
|
|
|
<div class="card-panel-description">
|
|
|
<div class="card-panel-text">
|
|
|
景点数量
|
|
|
</div>
|
|
|
- <count-to :start-val="0" :end-val="60" :duration="2600" class="card-panel-num" />
|
|
|
+ <count-to :start-val="0" :end-val="60" :duration="2600" class="card-panel-num"/>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
|
|
|
<div class="card-panel" @click="gotoPage(`/appKey/index`)">
|
|
|
<div class="card-panel-icon-wrapper icon-message">
|
|
|
- <el-image src="/images/16506@2x.png" class="card-panel-icon" style="height: 60px" />
|
|
|
+ <el-image src="/images/16506@2x.png" class="card-panel-icon" style="height: 60px"/>
|
|
|
</div>
|
|
|
<div class="card-panel-description">
|
|
|
<div class="card-panel-text">
|
|
|
文旅线路
|
|
|
</div>
|
|
|
- <count-to :start-val="0" :end-val="185" :duration="2600" class="card-panel-num" />
|
|
|
+ <count-to :start-val="0" :end-val="185" :duration="2600" class="card-panel-num"/>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
|
|
|
<div class="card-panel" @click="gotoPage(`/place/baseInfo`)">
|
|
|
<div class="card-panel-icon-wrapper icon-message">
|
|
|
- <el-image src="/images/16507@2x.png" class="card-panel-icon" style="height: 60px" />
|
|
|
+ <el-image src="/images/16507@2x.png" class="card-panel-icon" style="height: 60px"/>
|
|
|
</div>
|
|
|
<div class="card-panel-description">
|
|
|
<div class="card-panel-text">
|
|
|
酒店
|
|
|
</div>
|
|
|
- <count-to :start-val="0" :end-val="326" :duration="2600" class="card-panel-num" />
|
|
|
+ <count-to :start-val="0" :end-val="326" :duration="2600" class="card-panel-num"/>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
|
|
|
<div class="card-panel" @click="gotoPage(`/statistics/file`)">
|
|
|
<div class="card-panel-icon-wrapper icon-message">
|
|
|
- <el-image src="/images/16508@2x.png" class="card-panel-icon" style="height: 60px" />
|
|
|
+ <el-image src="/images/16508@2x.png" class="card-panel-icon" style="height: 60px"/>
|
|
|
</div>
|
|
|
<div class="card-panel-description">
|
|
|
<div class="card-panel-text">
|
|
|
停车位
|
|
|
</div>
|
|
|
- <count-to :start-val="0" :end-val="4416" :duration="2600" class="card-panel-num" />
|
|
|
+ <count-to :start-val="0" :end-val="4416" :duration="2600" class="card-panel-num"/>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
@@ -59,52 +59,52 @@
|
|
|
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
|
|
|
<div class="card-panel" @click="gotoPage(`/api/docs`)">
|
|
|
<div class="card-panel-icon-wrapper icon-people">
|
|
|
- <el-image src="/images/16510@2x.png" class="card-panel-icon" style="height: 60px" />
|
|
|
+ <el-image src="/images/16510@2x.png" class="card-panel-icon" style="height: 60px"/>
|
|
|
</div>
|
|
|
<div class="card-panel-description">
|
|
|
<div class="card-panel-text">
|
|
|
体育馆
|
|
|
</div>
|
|
|
- <count-to :start-val="0" :end-val="5" :duration="2600" class="card-panel-num" />
|
|
|
+ <count-to :start-val="0" :end-val="5" :duration="2600" class="card-panel-num"/>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
|
|
|
<div class="card-panel" @click="gotoPage(`/appKey/index`)">
|
|
|
<div class="card-panel-icon-wrapper icon-message">
|
|
|
- <el-image src="/images/16509@2x.png" class="card-panel-icon" style="height: 60px" />
|
|
|
+ <el-image src="/images/16509@2x.png" class="card-panel-icon" style="height: 60px"/>
|
|
|
</div>
|
|
|
<div class="card-panel-description">
|
|
|
<div class="card-panel-text">
|
|
|
餐馆
|
|
|
</div>
|
|
|
- <count-to :start-val="0" :end-val="1586" :duration="2600" class="card-panel-num" />
|
|
|
+ <count-to :start-val="0" :end-val="1586" :duration="2600" class="card-panel-num"/>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
|
|
|
<div class="card-panel" @click="gotoPage(`/place/baseInfo`)">
|
|
|
<div class="card-panel-icon-wrapper icon-message">
|
|
|
- <el-image src="/images/16511@2x.png" class="card-panel-icon" style="height: 60px" />
|
|
|
+ <el-image src="/images/16511@2x.png" class="card-panel-icon" style="height: 60px"/>
|
|
|
</div>
|
|
|
<div class="card-panel-description">
|
|
|
<div class="card-panel-text">
|
|
|
娱乐场所
|
|
|
</div>
|
|
|
- <count-to :start-val="0" :end-val="18" :duration="2600" class="card-panel-num" />
|
|
|
+ <count-to :start-val="0" :end-val="18" :duration="2600" class="card-panel-num"/>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :xs="12" :sm="12" :lg="6" class="card-panel-col">
|
|
|
<div class="card-panel" @click="gotoPage(`/statistics/file`)">
|
|
|
<div class="card-panel-icon-wrapper icon-message">
|
|
|
- <el-image src="/images/16529@2x.png" class="card-panel-icon" style="height: 60px" />
|
|
|
+ <el-image src="/images/16529@2x.png" class="card-panel-icon" style="height: 60px"/>
|
|
|
</div>
|
|
|
<div class="card-panel-description">
|
|
|
<div class="card-panel-text">
|
|
|
非物质文化遗产
|
|
|
</div>
|
|
|
- <count-to :start-val="0" :end-val="4" :duration="2600" class="card-panel-num" />
|
|
|
+ <count-to :start-val="0" :end-val="4" :duration="2600" class="card-panel-num"/>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
@@ -112,13 +112,15 @@
|
|
|
|
|
|
<div class="bz-card">
|
|
|
<el-card shadow="never">
|
|
|
- <el-tabs v-model="activeName">
|
|
|
- <el-tab-pane label="景点访客量" name="first" />
|
|
|
- <el-tab-pane label="客流趋势" name="second" />
|
|
|
+ <el-tabs v-model="activeName" @tab-click="handleClick">
|
|
|
+ <el-tab-pane label="景点访客量" name="first"/>
|
|
|
+ <el-tab-pane label="客流趋势" name="second"/>
|
|
|
</el-tabs>
|
|
|
+ <div v-if="activeName==='first'" id="chart-first" style="height: 200px;width: 100%"></div>
|
|
|
+ <div v-if="activeName==='second'" id="chart-second" style="height: 200px;width: 100%"></div>
|
|
|
</el-card>
|
|
|
</div>
|
|
|
- <div style="height: 32px" />
|
|
|
+ <div style="height: 32px"/>
|
|
|
<el-row :gutter="40">
|
|
|
<el-col :xs="24" :sm="24" :lg="8">
|
|
|
<div class="bz-card">
|
|
|
@@ -126,6 +128,7 @@
|
|
|
<div slot="header" class="clearfix">
|
|
|
<span>酒店访客量统计</span>
|
|
|
</div>
|
|
|
+ <div id="chart1" style="height: 200px;width: 100%"></div>
|
|
|
</el-card>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
@@ -136,6 +139,7 @@
|
|
|
<div slot="header" class="clearfix">
|
|
|
<span>餐馆访客量统计</span>
|
|
|
</div>
|
|
|
+ <div id="chart2" style="height: 200px;width: 100%"></div>
|
|
|
</el-card>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
@@ -147,6 +151,7 @@
|
|
|
<div slot="header" class="clearfix">
|
|
|
<span>各景点访客量排行</span>
|
|
|
</div>
|
|
|
+ <div id="chart3" style="height: 200px;width: 100%"></div>
|
|
|
</el-card>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
@@ -157,6 +162,7 @@
|
|
|
|
|
|
<script>
|
|
|
import CountTo from 'vue-count-to'
|
|
|
+import * as echarts from 'echarts'
|
|
|
|
|
|
export default {
|
|
|
components: { CountTo },
|
|
|
@@ -169,7 +175,53 @@ export default {
|
|
|
created() {
|
|
|
},
|
|
|
mounted() {
|
|
|
+ const xAxis = []
|
|
|
+ for (let i = 7; i > 0; i--) {
|
|
|
+ console.log(this.addDays(new Date(), i * -1))
|
|
|
+ xAxis.push(this.addDays(new Date(), i * -1))
|
|
|
+ }
|
|
|
+ this.buildBar('chart-first', xAxis, [{ type: 'line', stack: 'Total', data: [0, 0, 0, 0, 0, 0, 0] }])
|
|
|
+ this.buildBar('chart1', xAxis, [{ type: 'line', stack: 'Total', data: [0, 0, 0, 0, 0, 0, 0] }])
|
|
|
+ this.buildBar('chart2', xAxis, [{ type: 'line', stack: 'Total', data: [0, 0, 0, 0, 0, 0, 0] }])
|
|
|
+ this.buildBar('chart3', xAxis, [{ type: 'line', stack: 'Total', data: [0, 0, 0, 0, 0, 0, 0] }])
|
|
|
},
|
|
|
- methods: {}
|
|
|
+
|
|
|
+ methods: {
|
|
|
+ handleClick(tab) {
|
|
|
+ const xAxis = []
|
|
|
+ for (let i = 7; i > 0; i--) {
|
|
|
+ console.log(this.addDays(new Date(), i * -1))
|
|
|
+ xAxis.push(this.addDays(new Date(), i * -1))
|
|
|
+ }
|
|
|
+ this.buildBar('chart-' + tab.name, xAxis, [{ type: 'line', stack: 'Total', data: [0, 0, 0, 0, 0, 0, 0] }])
|
|
|
+ },
|
|
|
+ addDays(nd, days) {
|
|
|
+ nd = nd.valueOf()
|
|
|
+ nd = nd + days * 24 * 60 * 60 * 1000
|
|
|
+ nd = new Date(nd)
|
|
|
+ var y = nd.getFullYear()
|
|
|
+ var m = nd.getMonth() + 1
|
|
|
+ var d = nd.getDate()
|
|
|
+ if (m <= 9) m = '0' + m
|
|
|
+ if (d <= 9) d = '0' + d
|
|
|
+ return y + '-' + m + '-' + d
|
|
|
+ },
|
|
|
+ buildBar(elementId, xAxis, seriesData) {
|
|
|
+ const chart = echarts.init(document.getElementById(elementId))
|
|
|
+ chart.setOption({
|
|
|
+ tooltip: {
|
|
|
+ trigger: 'axis',
|
|
|
+ axisPointer: {
|
|
|
+ type: 'shadow'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ legend: { top: '0', right: '1%' },
|
|
|
+ grid: { left: 25, right: 0, bottom: 35, top: 25 },
|
|
|
+ xAxis: { type: 'category', data: xAxis },
|
|
|
+ yAxis: { type: 'value' },
|
|
|
+ series: seriesData
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|