|
|
@@ -3,7 +3,7 @@
|
|
|
<div class="insideTop">
|
|
|
数据统计
|
|
|
<div class="addBtn">
|
|
|
- <el-button type="primary" v-show="0">导出</el-button>
|
|
|
+ <el-button type="primary" @click="handleExport">导出</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="obstruct"></div>
|
|
|
@@ -60,6 +60,7 @@ import {
|
|
|
} from 'echarts/components'
|
|
|
import { BarChart } from 'echarts/charts'
|
|
|
import { CanvasRenderer } from 'echarts/renderers'
|
|
|
+import { exportExcelFile } from '../../utils/xlsxExport'
|
|
|
echarts.use([
|
|
|
TitleComponent,
|
|
|
TooltipComponent,
|
|
|
@@ -80,7 +81,11 @@ export default {
|
|
|
{ name: '累计点赞数', num: '0', img: '3.png' },
|
|
|
{ name: '页面分享数', num: '0', img: '4.png' }
|
|
|
],
|
|
|
- dakaData: []
|
|
|
+ dakaData: [],
|
|
|
+ objTemp: {
|
|
|
+ name: [],
|
|
|
+ num: []
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
// 监听属性 类似于data概念
|
|
|
@@ -88,7 +93,18 @@ export default {
|
|
|
// 监控data中的数据变化
|
|
|
watch: {},
|
|
|
// 方法集合
|
|
|
- methods: {},
|
|
|
+ methods: {
|
|
|
+ handleExport () {
|
|
|
+ const combinedNames = [...this.data1.map(item => item.name), { name: '', num: '' }, ...this.objTemp.name]
|
|
|
+ const combinedNums = [...this.data1.map(item => item.num), { name: '', num: '' }, ...this.objTemp.num]
|
|
|
+ const result = combinedNames.map((name, index) => ({
|
|
|
+ 明细: name,
|
|
|
+ 访问量: combinedNums[index]
|
|
|
+ }))
|
|
|
+ const width = [...Array(4).fill(150), ...Array(12).fill(130)]
|
|
|
+ exportExcelFile(result, width, '数据统计')
|
|
|
+ }
|
|
|
+ },
|
|
|
// 生命周期 - 创建完成(可以访问当前this实例)
|
|
|
async created () {
|
|
|
// 获取列表
|
|
|
@@ -114,13 +130,10 @@ export default {
|
|
|
this.data1[1].num = res.data.visitToday
|
|
|
this.data1[2].num = res.data.starCount
|
|
|
this.data1[3].num = res.data.shareCount
|
|
|
- const objTemp = {
|
|
|
- name: [],
|
|
|
- num: []
|
|
|
- }
|
|
|
+
|
|
|
res.data.village.forEach((v) => {
|
|
|
- objTemp.name.push(v.name)
|
|
|
- objTemp.num.push(v.visit)
|
|
|
+ this.objTemp.name.push(v.name)
|
|
|
+ this.objTemp.num.push(v.visit)
|
|
|
})
|
|
|
const chartDom = document.getElementById('echaBox')
|
|
|
const myChart = echarts.init(chartDom)
|
|
|
@@ -146,7 +159,7 @@ export default {
|
|
|
yAxis: {
|
|
|
inverse: true,
|
|
|
type: 'category',
|
|
|
- data: objTemp.name,
|
|
|
+ data: this.objTemp.name,
|
|
|
axisTick: {
|
|
|
// y轴刻度线
|
|
|
show: false
|
|
|
@@ -159,7 +172,7 @@ export default {
|
|
|
series: [
|
|
|
{
|
|
|
type: 'bar',
|
|
|
- data: objTemp.num,
|
|
|
+ data: this.objTemp.num,
|
|
|
itemStyle: {
|
|
|
normal: {
|
|
|
label: {
|
|
|
@@ -189,7 +202,7 @@ export default {
|
|
|
activated () {} // 如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
}
|
|
|
</script>
|
|
|
-<style lang='less' scoped>
|
|
|
+<style lang="less" scoped>
|
|
|
.botRowBox::-webkit-scrollbar {
|
|
|
/*滚动条整体样式*/
|
|
|
width: 10px; /*高宽分别对应横竖滚动条的尺寸*/
|