积分统计

This commit is contained in:
shijingjing
2022-08-04 14:40:43 +08:00
parent 59a4be64b5
commit f321fc8986
2 changed files with 72 additions and 33 deletions

View File

@@ -148,6 +148,8 @@ export default {
}, },
}, },
}, },
barWidth: 20,
barGap: '20%',
} }
] ]
}, true); }, true);

View File

@@ -4,7 +4,7 @@
<div class="title"> <div class="title">
<p>总体统计</p> <p>总体统计</p>
<div class="title_right"> <div class="title_right">
<div><span v-for="(item,index) in timeCheck" :key="index">{{item}}</span></div> <div><span v-for="(item,index) in timeCheck" :key="index" :class="currrntTime == index? 'active':''" @click="timeChange(index)">{{item}}</span></div>
<el-select size="small" style="width: 200px;margin-left: 16px;" v-model="search.girdId" placeholder="类型" clearable <el-select size="small" style="width: 200px;margin-left: 16px;" v-model="search.girdId" placeholder="类型" clearable
@change="getListInit()"> @change="getListInit()">
<el-option <el-option
@@ -31,12 +31,12 @@
<p class="color1">0</p> <p class="color1">0</p>
</div> </div>
</div> </div>
<div class="echertsBox" style="display: flex;"> <div class="echertsBox">
<div class="left_Box"> <div class="left_Box">
<div id="chart1" style="height: 300px; width: 100%;"></div> <div id="chart1" style="height: 300px; width: 100%;"></div>
<ai-empty v-if="false" style="height: 300px;"></ai-empty> <ai-empty v-if="false" style="height: 300px;"></ai-empty>
</div> </div>
<div class="left_Box"> <div class="right_Box">
<div id="chart1" style="height: 300px; width: 100%;"></div> <div id="chart1" style="height: 300px; width: 100%;"></div>
<ai-empty v-if="false" style="height: 300px;"></ai-empty> <ai-empty v-if="false" style="height: 300px;"></ai-empty>
</div> </div>
@@ -83,6 +83,12 @@
</ai-search-bar> </ai-search-bar>
<ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size" <ai-table :tableData="tableData" :total="page.total" :current.sync="page.current" :size.sync="page.size"
@getList="getTableData" :col-configs="colConfigs" :dict="dict"> @getList="getTableData" :col-configs="colConfigs" :dict="dict">
<el-table-column slot="options" label="操作" align="center">
<template slot-scope="{ row }">
<!-- <el-button type="text" @click="handleDelete(row.id)">调整积分</el-button> -->
<el-button type="text" @click="toAdd(row.id)">详情</el-button>
</template>
</el-table-column>
</ai-table> </ai-table>
</template> </template>
</ai-card> </ai-card>
@@ -112,7 +118,8 @@ export default {
page: {current: 1, size: 10, total: 0}, page: {current: 1, size: 10, total: 0},
girdList: [], girdList: [],
time: '', time: '',
timeCheck: ['昨日','近7天','近30天','自定义'] timeCheck: ['昨日','近7天','近30天','自定义'],
currrntTime: '0'
} }
}, },
computed: { computed: {
@@ -125,6 +132,7 @@ export default {
{ prop: "", label: '积分变动', align: "center", }, { prop: "", label: '积分变动', align: "center", },
{ prop: "", label: '剩余积分', align: "center", }, { prop: "", label: '剩余积分', align: "center", },
{ prop: "", label: '时间', align: "center", }, { prop: "", label: '时间', align: "center", },
{ slot: "options" }
] ]
} }
}, },
@@ -134,37 +142,55 @@ export default {
methods: { methods: {
getColEcherts() { getColEcherts() {
let chartDom = document.getElementById('chart1'); let chartDom = document.getElementById('chart1');
chartDom.style.width = (window.innerWidth - 328) / 2 + "px"; chartDom.style.width = (window.innerWidth - 344) / 2 + "px";
this.myChart = echarts.init(chartDom); this.myChart = echarts.init(chartDom);
this.myChart.setOption({ this.myChart.setOption({
dataZoom: [
{ title: {
type: "slider", text: '个人积分排行'
xAxisIndex: [0], },
filterMode: "filter", tooltip: {
}, trigger: 'axis',
], axisPointer: {
type: 'shadow'
}
},
grid: {
left: '16px',
right: '28px',
bottom: '14px',
top: '50px',
containLabel: true
},
xAxis: { xAxis: {
type: 'category', type: 'value',
data: ['每日签到', '事件上报', '特殊人员跟进', '群发任务', '邀请居民进群'] boundaryGap: [0, 0.01],
}, },
yAxis: { yAxis: {
type: 'value' type: 'category',
data: ['Brazil', 'Indonesia', 'India', 'China', 'World'],
axisTick: {
show: false,
},
axisLine: {
show: false,
},
}, },
series: [ series: [
{ {
data: [120, 200, 150, 80, 70,], data: [120, 200, 150, 80, 70,],
type: 'bar', type: 'bar',
showBackground: true, showBackground: true,
backgroundStyle: { // backgroundStyle: {
color: 'rgba(180, 180, 180, 0.2)' // color: 'rgba(180, 180, 180, 0.2)'
}, // },
itemStyle: { itemStyle: {
normal: { normal: {
color: "#5087ec", color: "#5087ec",
label: { label: {
show: true, //开启显示 show: true, //开启显示
position: 'top', //在上方显示 position: 'right', //在上方显示
textStyle: { textStyle: {
fontSize: 13, fontSize: 13,
color: '#666' color: '#666'
@@ -172,6 +198,8 @@ export default {
}, },
}, },
}, },
barWidth: 10,
barGap: '20%',
} }
] ]
}, true); }, true);
@@ -182,6 +210,9 @@ export default {
}, },
getListInit() {}, getListInit() {},
getTableData() {}, getTableData() {},
timeChange(index) {
this.currrntTime = index
},
}, },
mounted() { mounted() {
this.getColEcherts() this.getColEcherts()
@@ -223,9 +254,16 @@ export default {
display: inline-block; display: inline-block;
width: 70px; width: 70px;
height: 32px; height: 32px;
line-height: 32px;
border-radius: 2px; border-radius: 2px;
border: 1px solid #D0D4DC; border: 1px solid #D0D4DC;
margin-right: 8px; margin-right: 8px;
text-align: center;
cursor: pointer;
}
.active {
color: #2266FF;
border: 1px solid #2266FF;
} }
} }
} }
@@ -267,26 +305,25 @@ export default {
.echertsBox { .echertsBox {
width: 100%; width: 100%;
margin-top: 20px; margin-top: 20px;
background: #F9F9F9; background: #FFF;
box-shadow: 0px 4px 6px -2px rgba(15,15,21,0.1500); display: flex;
border-radius: 4px; .left_Box {
padding: 16px; margin-right: 16px;
box-sizing: border-box;
h4 {
color: #222222;
font-style: 16px;
font-weight: 600;
} }
.right_Box {}
.bar_Box { .left_Box,
width: 100%; .right_Box {
background: #F9F9F9;
box-shadow: 0px 4px 6px -2px rgba(15,15,21,0.1500);
border-radius: 4px;
padding: 16px;
box-sizing: border-box;
#chartDom { #chartDom {
width: 100%; width: 100%;
height: 300px; height: 260px;
margin-top: 16px;
} }
} }
} }
} }
} }