|
@ -4,12 +4,7 @@ |
|
|
<div class="mod-sys__user"> |
|
|
<div class="mod-sys__user"> |
|
|
<el-form :inline="true" |
|
|
<el-form :inline="true" |
|
|
:model="dataForm" |
|
|
:model="dataForm" |
|
|
@keyup.enter.native="getDataList()"> |
|
|
@keyup.enter.native="getPointsOverview()"> |
|
|
<el-form-item label="积分类别"> |
|
|
|
|
|
<el-input v-model="dataForm.realName" |
|
|
|
|
|
placeholder="积分类别" |
|
|
|
|
|
clearable></el-input> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
<span class="demonstration">统计时间</span> |
|
|
<span class="demonstration">统计时间</span> |
|
|
<el-date-picker @change='setRegistTime' |
|
|
<el-date-picker @change='setRegistTime' |
|
|
v-model="time" |
|
|
v-model="time" |
|
@ -20,88 +15,95 @@ |
|
|
end-placeholder="结束日期"> |
|
|
end-placeholder="结束日期"> |
|
|
</el-date-picker> |
|
|
</el-date-picker> |
|
|
<el-form-item> |
|
|
<el-form-item> |
|
|
<el-button @click="getDataList()">{{ $t('query') }}</el-button> |
|
|
<el-button @click="getPointsOverview()">{{ $t('query') }}</el-button> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
|
|
|
<br><br><br><br><br> |
|
|
|
|
|
<div id="myChart" |
|
|
|
|
|
:style="{width: '500px', height: '300px'}"></div> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<el-table v-loading="dataListLoading" |
|
|
|
|
|
:data="dataList" |
|
|
|
|
|
border |
|
|
|
|
|
@selection-change="dataListSelectionChangeHandle" |
|
|
|
|
|
@sort-change="dataListSortChangeHandle" |
|
|
|
|
|
style="width: 100%;"> |
|
|
|
|
|
<el-table-column prop="realName" |
|
|
|
|
|
label="姓名" |
|
|
|
|
|
header-align="center" |
|
|
|
|
|
align="center" |
|
|
|
|
|
:formatter="realNameFormat"></el-table-column> |
|
|
|
|
|
<el-table-column :label="$t('handle')" |
|
|
|
|
|
fixed="right" |
|
|
|
|
|
header-align="center" |
|
|
|
|
|
align="center" |
|
|
|
|
|
width="150"> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
|
<el-button type="text" |
|
|
|
|
|
size="small" |
|
|
|
|
|
@click="pointsAdjustHandle(scope.row.id)">积分调整</el-button> |
|
|
|
|
|
<el-button type="text" |
|
|
|
|
|
size="small" |
|
|
|
|
|
@click="pointsLogs(scope.row.id)">积分记录</el-button> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
|
|
|
</el-table> |
|
|
|
|
|
<el-pagination :current-page="page" |
|
|
|
|
|
:page-sizes="[10, 20, 50, 100]" |
|
|
|
|
|
:page-size="limit" |
|
|
|
|
|
:total="total" |
|
|
|
|
|
layout="total, sizes, prev, pager, next, jumper" |
|
|
|
|
|
@size-change="pageSizeChangeHandle" |
|
|
|
|
|
@current-change="pageCurrentChangeHandle"> |
|
|
|
|
|
</el-pagination> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</el-card> |
|
|
</el-card> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script> |
|
|
<script> |
|
|
import mixinViewModule from '@/mixins/view-module' |
|
|
// import mixinViewModule from '@/mixins/view-module' |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
mixins: [mixinViewModule], |
|
|
|
|
|
data () { |
|
|
data () { |
|
|
return { |
|
|
return { |
|
|
mixinViewModuleOptions: { |
|
|
|
|
|
getDataListURL: '/app-user/user/pageForPoints', |
|
|
|
|
|
getDataListIsPage: true |
|
|
|
|
|
}, |
|
|
|
|
|
dataForm: { |
|
|
dataForm: { |
|
|
realName: '', |
|
|
startTime: '', |
|
|
mobile: '', |
|
|
endTime: '' |
|
|
streetId: '', |
|
|
|
|
|
communityId: '', |
|
|
|
|
|
gridId: '' |
|
|
|
|
|
}, |
|
|
}, |
|
|
time: '' |
|
|
time: '', |
|
|
|
|
|
resultData: { |
|
|
|
|
|
}, |
|
|
|
|
|
myChart: '' |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
created () { |
|
|
mounted () { |
|
|
this.$http |
|
|
this.myChart = this.$echarts.init(document.getElementById('myChart')) |
|
|
.get(`/sys/user/deptOptions/getByLoginUser`) |
|
|
this.myChart.setOption({ |
|
|
.then(({ data: res }) => { |
|
|
title: { |
|
|
if (res.code !== 0) { |
|
|
text: '积分统计', |
|
|
return this.$message.error(res.msg) |
|
|
// subtext: '纯属虚构', |
|
|
|
|
|
x: 'center' |
|
|
|
|
|
}, |
|
|
|
|
|
tooltip: { |
|
|
|
|
|
trigger: 'item', |
|
|
|
|
|
formatter: '{a} <br/>{b} : {c} ({d}%)' |
|
|
|
|
|
}, |
|
|
|
|
|
legend: { |
|
|
|
|
|
orient: 'vertical', |
|
|
|
|
|
bottom: 'bottom', |
|
|
|
|
|
data: ['总积分', '剩余积分'] |
|
|
|
|
|
}, |
|
|
|
|
|
series: [ |
|
|
|
|
|
{ |
|
|
|
|
|
name: '访问来源', |
|
|
|
|
|
type: 'pie', |
|
|
|
|
|
radius: '55%', |
|
|
|
|
|
data: [ |
|
|
|
|
|
{ value: this.resultData.allPoints, name: '总积分' }, |
|
|
|
|
|
{ value: this.resultData.residuePoints, name: '剩余积分' } |
|
|
|
|
|
], |
|
|
|
|
|
itemStyle: { |
|
|
|
|
|
emphasis: { |
|
|
|
|
|
shadowBlur: 10, |
|
|
|
|
|
shadowOffsetX: 0, |
|
|
|
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)' |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
this.options = res.data.options |
|
|
] |
|
|
}) |
|
|
}) |
|
|
.catch(() => { }) |
|
|
|
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
realNameFormat (row, column) { |
|
|
getPointsOverview () { |
|
|
if (row.realName) { |
|
|
if (this.time === null) { |
|
|
return row.realName |
|
|
this.dataForm.startTime = '' |
|
|
|
|
|
this.dataForm.endTime = '' |
|
|
} |
|
|
} |
|
|
return row.nickname |
|
|
console.log(this.dataForm) |
|
|
|
|
|
this.$http |
|
|
|
|
|
.get(`points/pointslogs/point/pointsOverview`, { params: this.dataForm }) |
|
|
|
|
|
.then(({ data: res }) => { |
|
|
|
|
|
this.myChart.setOption({ |
|
|
|
|
|
series: [{ |
|
|
|
|
|
data: [ |
|
|
|
|
|
{ value: res.data.allPoints, name: '总积分' }, |
|
|
|
|
|
{ value: res.data.residuePoints, name: '剩余积分' } |
|
|
|
|
|
] |
|
|
|
|
|
}] |
|
|
|
|
|
}) |
|
|
|
|
|
if (res.code !== 0) { |
|
|
|
|
|
return this.$message.error(res.msg) |
|
|
|
|
|
} |
|
|
|
|
|
this.resultData = res.data |
|
|
|
|
|
console.log(this.resultData) |
|
|
|
|
|
}) |
|
|
|
|
|
.catch(() => { }) |
|
|
}, |
|
|
}, |
|
|
setRegistTime () { |
|
|
setRegistTime () { |
|
|
console.log(this.time[0]) |
|
|
|
|
|
this.dataForm.startTime = this.time[0] |
|
|
this.dataForm.startTime = this.time[0] |
|
|
this.dataForm.endTime = this.time[1] |
|
|
this.dataForm.endTime = this.time[1] |
|
|
} |
|
|
} |
|
|