2022-07-08 11:22:57 +08:00
|
|
|
<template>
|
|
|
|
|
<div class="AppPropagandaStatistics">
|
2022-07-11 17:29:18 +08:00
|
|
|
|
2022-07-08 17:33:14 +08:00
|
|
|
<uni-calendar :insert="true" :selected="selected" :lunar="false" @change="change"/>
|
2022-07-11 16:01:51 +08:00
|
|
|
|
|
|
|
|
<!-- 折线图 -->
|
|
|
|
|
<div class="brokenEcharts">
|
|
|
|
|
<div id="brokenEcharts"></div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="columnarEcharts">
|
|
|
|
|
<div id="columnarEcharts"></div>
|
|
|
|
|
</div>
|
2022-07-11 17:29:18 +08:00
|
|
|
<div class="pieEcharts">
|
|
|
|
|
<div id="pieEcharts"></div>
|
|
|
|
|
</div>
|
2022-07-08 11:22:57 +08:00
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script>
|
2022-07-11 16:01:51 +08:00
|
|
|
import { uniCalendar } from "@dcloudio/uni-ui"
|
|
|
|
|
import echarts from 'echarts';
|
2022-07-08 11:22:57 +08:00
|
|
|
export default {
|
|
|
|
|
name: 'AppPropagandaStatistics',
|
|
|
|
|
appName: '宣发统计',
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
2022-07-08 17:33:14 +08:00
|
|
|
date: '',
|
|
|
|
|
selected: [{date: '2022-07-08',}],
|
2022-07-11 16:01:51 +08:00
|
|
|
brokenEcharts: null,
|
|
|
|
|
columnarEcharts: null,
|
2022-07-11 17:29:18 +08:00
|
|
|
pieEcharts: null,
|
2022-07-08 11:22:57 +08:00
|
|
|
}
|
|
|
|
|
},
|
2022-07-11 16:01:51 +08:00
|
|
|
components: {
|
|
|
|
|
uniCalendar
|
|
|
|
|
},
|
2022-07-08 11:22:57 +08:00
|
|
|
onShow() {
|
|
|
|
|
document.title = '宣发统计'
|
2022-07-11 16:01:51 +08:00
|
|
|
|
|
|
|
|
},
|
|
|
|
|
mounted() {
|
|
|
|
|
this.getBrokenEcharts()
|
|
|
|
|
this.getColumnarEcharts()
|
2022-07-11 17:29:18 +08:00
|
|
|
this.getPieEcharts()
|
2022-07-08 11:22:57 +08:00
|
|
|
},
|
|
|
|
|
methods: {
|
2022-07-08 17:33:14 +08:00
|
|
|
change(val) {
|
|
|
|
|
this.date = `${val.year} + '-' + ${val.month} + '-' + ${val.day}`
|
2022-07-11 16:01:51 +08:00
|
|
|
},
|
2022-07-11 17:29:18 +08:00
|
|
|
// 折线图
|
2022-07-11 16:01:51 +08:00
|
|
|
getBrokenEcharts() {
|
|
|
|
|
this.brokenEcharts = echarts.init(document.getElementById('brokenEcharts'))
|
|
|
|
|
this.brokenEcharts.setOption({
|
|
|
|
|
tooltip: {
|
|
|
|
|
trigger: 'axis'
|
|
|
|
|
},
|
|
|
|
|
legend: {
|
|
|
|
|
data: ['触达人次', '宣发次数', '宣发任务数']
|
|
|
|
|
},
|
|
|
|
|
grid: {
|
|
|
|
|
left: '2%',
|
|
|
|
|
right: '8%',
|
|
|
|
|
bottom: '3%',
|
|
|
|
|
containLabel: true
|
|
|
|
|
},
|
|
|
|
|
xAxis: {
|
|
|
|
|
type: 'category',
|
|
|
|
|
boundaryGap: false,
|
|
|
|
|
data: ['2022.02', '2202.03', '2202.04', '2202.05', '2202.06', '2202.07']
|
|
|
|
|
},
|
|
|
|
|
yAxis: {
|
|
|
|
|
type: 'value',
|
|
|
|
|
},
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: '触达人次',
|
|
|
|
|
type: 'line',
|
|
|
|
|
stack: 'Total',
|
|
|
|
|
data: [120, 132, 101, 134, 90, 230]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '宣发次数',
|
|
|
|
|
type: 'line',
|
|
|
|
|
stack: 'Total',
|
|
|
|
|
data: [220, 182, 191, 234, 290, 330]
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: '宣发任务数',
|
|
|
|
|
type: 'line',
|
|
|
|
|
stack: 'Total',
|
|
|
|
|
data: [800, 232, 201, 154, 190, 330]
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
})
|
|
|
|
|
},
|
2022-07-11 17:29:18 +08:00
|
|
|
// 柱状图
|
2022-07-11 16:01:51 +08:00
|
|
|
getColumnarEcharts() {
|
|
|
|
|
this.columnarEcharts = echarts.init(document.getElementById('columnarEcharts'))
|
|
|
|
|
this.columnarEcharts.setOption({
|
|
|
|
|
title: {
|
|
|
|
|
text: '宣发明细'
|
|
|
|
|
},
|
|
|
|
|
xAxis: {
|
|
|
|
|
type: 'category',
|
|
|
|
|
data: ['卫健委', '法院', '团委', '扶贫办', '警察局']
|
|
|
|
|
},
|
|
|
|
|
yAxis: {
|
|
|
|
|
type: 'value'
|
|
|
|
|
},
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
data: [120, 200, 150, 80, 70, 110, 130],
|
|
|
|
|
itemStyle:{
|
|
|
|
|
normal:{
|
|
|
|
|
color:'#5087ec'
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
type: 'bar'
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
})
|
2022-07-11 17:29:18 +08:00
|
|
|
},
|
|
|
|
|
// 带百分比饼图
|
|
|
|
|
getPieEcharts() {
|
|
|
|
|
this.pieEcharts = echarts.init(document.getElementById('pieEcharts'))
|
|
|
|
|
this.pieEcharts.setOption( {
|
|
|
|
|
tooltip: {
|
|
|
|
|
trigger: 'item',
|
|
|
|
|
formatter: '{a} <br/>{b}: {c} ({d}%)'
|
|
|
|
|
},
|
|
|
|
|
color:['#1684fc','#ccc'],
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: '群发送达率',
|
|
|
|
|
type: 'pie',
|
|
|
|
|
radius: ['60', '70%'],
|
|
|
|
|
avoidLabelOverlap: false,
|
|
|
|
|
label: {
|
|
|
|
|
normal: {
|
|
|
|
|
show: false,
|
|
|
|
|
position: 'center'
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
labelLine: {
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
data: [
|
|
|
|
|
{value: 5, name: '群发送达率',label:{
|
|
|
|
|
normal:{
|
|
|
|
|
show:true,
|
|
|
|
|
formatter: '{d}%',
|
|
|
|
|
textStyle: {
|
|
|
|
|
fontSize: 16,
|
|
|
|
|
},
|
|
|
|
|
}}},
|
|
|
|
|
{value: 120, name: '邮件营销'}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
})
|
2022-07-08 17:33:14 +08:00
|
|
|
}
|
|
|
|
|
}
|
2022-07-08 11:22:57 +08:00
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
2022-07-08 17:33:14 +08:00
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
.AppPropagandaStatistics {
|
|
|
|
|
::v-deep .uni-calendar-item__weeks-box-circle {
|
|
|
|
|
top: 77%;
|
|
|
|
|
right: 45%;
|
|
|
|
|
border-radius: 12px;
|
|
|
|
|
}
|
|
|
|
|
::v-deep .uni-calendar__header {
|
|
|
|
|
height: 76px;
|
|
|
|
|
}
|
|
|
|
|
::v-deep .uni-calendar__backtoday {
|
|
|
|
|
display: none
|
|
|
|
|
}
|
2022-07-11 16:01:51 +08:00
|
|
|
|
|
|
|
|
.brokenEcharts {
|
|
|
|
|
margin: 32px 0,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.brokenEcharts,
|
2022-07-11 17:29:18 +08:00
|
|
|
.columnarEcharts,
|
|
|
|
|
.pieEcharts {
|
2022-07-11 16:01:51 +08:00
|
|
|
background: #FFF;
|
|
|
|
|
|
|
|
|
|
#brokenEcharts,
|
2022-07-11 17:29:18 +08:00
|
|
|
#columnarEcharts,
|
|
|
|
|
#pieEcharts {
|
2022-07-11 16:01:51 +08:00
|
|
|
width: 100%;
|
|
|
|
|
height: 400px;
|
|
|
|
|
}
|
|
|
|
|
}
|
2022-07-08 17:33:14 +08:00
|
|
|
}
|
2022-07-08 11:22:57 +08:00
|
|
|
|
|
|
|
|
</style>
|