1 changed files with 227 additions and 0 deletions
@ -0,0 +1,227 @@ |
|||||
|
<template> |
||||
|
<el-card shadow="never" class="aui-card--fill"> |
||||
|
<div class="mod-news__dailyrecordinfo}"> |
||||
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()"> |
||||
|
<el-form-item label="报表类型" label-width="100px"> |
||||
|
<template> |
||||
|
<el-radio v-model="typeFlag" |
||||
|
label="1">日报</el-radio> |
||||
|
<el-radio v-model="typeFlag" |
||||
|
label="0">周报</el-radio> |
||||
|
</template> |
||||
|
</el-form-item> |
||||
|
<el-row> |
||||
|
<el-form-item label="时间筛选类型" label-width="100px" v-if="this.typeFlag=='1'"> |
||||
|
<template> |
||||
|
<el-radio v-model="timeFlag" |
||||
|
label="1">有效时间</el-radio> |
||||
|
<el-radio v-model="timeFlag" |
||||
|
label="0">截止时间</el-radio> |
||||
|
</template> |
||||
|
</el-form-item> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-form-item prop="newsReleaseStartTime" |
||||
|
v-if="this.timeFlag=='1'" |
||||
|
label="有效时间" |
||||
|
label-width="100px"> |
||||
|
<el-date-picker @change='setRegistTime' |
||||
|
v-model="time" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
type="daterange" |
||||
|
:picker-options="pickerEndTime" |
||||
|
range-separator="至" |
||||
|
start-placeholder="开始日期" |
||||
|
end-placeholder="结束日期"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
</el-row> |
||||
|
<el-row> |
||||
|
<el-form-item prop="endTime" |
||||
|
v-if="this.timeFlag=='0'" |
||||
|
label="截止时间" |
||||
|
label-width="100px"> |
||||
|
<el-date-picker v-model="dataForm.endTime" |
||||
|
type="date" |
||||
|
:picker-options="pickerEndTime" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
placeholder="选择日期"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
</el-row> |
||||
|
<div v-if="isShowRemind"> |
||||
|
<p>说明 :</p> |
||||
|
较上周新增 : 截至到昨天,最近的一周比上周新增的变化量<br><br> |
||||
|
例:选择日期1.20号,周统计数量为1.13-1.19这一周的数量,较上周变化量为1.13-1.19与1.6-1.12之间的变化量 |
||||
|
<br> |
||||
|
</div> |
||||
|
<br> |
||||
|
<el-row> |
||||
|
<el-form-item label-width="500px"> |
||||
|
<el-button type="success" @click="this.selectInfo">{{ $t('query') }}</el-button> |
||||
|
<el-button type="success" @click="this.exportHandlee">{{ $t('export') }}</el-button> |
||||
|
</el-form-item> |
||||
|
</el-row> |
||||
|
</el-form> |
||||
|
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;"> |
||||
|
<el-table-column prop="communityName" label="社区名" header-align="center" align="center" width="200" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column prop="partyCount" label="认证党员数" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column v-if="isShowYesterday" prop="yesterdayPartyCount" :label="tableLabel" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column prop="registerCount" label="居民注册数" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column v-if="isShowYesterday" prop="yesterdayRegisterCount" :label="tableLabel" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column prop="enterpriseCount" label="企业代表数" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column v-if="isShowYesterday" prop="yesterdayEnterpriseCount" :label="tableLabel" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column prop="communityCount" label="社群数" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column v-if="isShowYesterday" prop="yesterdayCommunityCount" :label="tableLabel" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column prop="groupCount" label="话题数" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column v-if="isShowYesterday" prop="yesterdayGroupCount" :label="tableLabel" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column prop="eventCount" label="议题数" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column v-if="isShowYesterday" prop="yesterdayEventCount" :label="tableLabel" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column prop="itemCount" label="项目数" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column v-if="isShowYesterday" prop="yesterdayItemCount" :label="tableLabel" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column prop="closeItemCount" label="结案数" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column v-if="isShowYesterday" prop="yesterdayCloseItemCount" :label="tableLabel" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column prop="newsCount" label="新闻发布数" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column v-if="isShowYesterday" prop="yesterdayNewsCount" :label="tableLabel" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column prop="activeUser" label="活跃用户数" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
<el-table-column v-if="isShowYesterday" prop="yesterdayActiveUser" :label="tableLabel" header-align="center" align="center" width="150" show-overflow-tooltip></el-table-column> |
||||
|
</el-table> |
||||
|
</div> |
||||
|
</el-card> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import mixinViewModule from '@/mixins/view-module' |
||||
|
export default { |
||||
|
mixins: [mixinViewModule], |
||||
|
data () { |
||||
|
return { |
||||
|
mixinViewModuleOptions: { |
||||
|
getDataListURL: '/analysis/userOperation/page', |
||||
|
exportURL: '/analysis/userOperation/export' |
||||
|
}, |
||||
|
dataForm: { |
||||
|
operationStartTime: '', |
||||
|
operationEndTime: '', |
||||
|
endTime: this.dateFormat('YYYY-mm-dd', new Date()), |
||||
|
isWeek: '1' |
||||
|
}, |
||||
|
pickerEndTime: { |
||||
|
disabledDate: (time) => { |
||||
|
let beginDateVal = this.dateFormat('YYYY-mm-dd', new Date()) |
||||
|
if (beginDateVal) { |
||||
|
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
time: [], |
||||
|
timeFlag: '0', |
||||
|
typeFlag: '1', |
||||
|
tableLabel: '较昨日新增', |
||||
|
isShowRemind: false, |
||||
|
isShowYesterday: true |
||||
|
} |
||||
|
}, |
||||
|
watch: { |
||||
|
'timeFlag': function (val) { |
||||
|
if (val === '0') { |
||||
|
this.dataForm.operationStartTime = '' |
||||
|
this.dataForm.operationEndTime = '' |
||||
|
this.time = [] |
||||
|
this.isShowYesterday = true |
||||
|
} else { |
||||
|
this.dataForm.endTime = '' |
||||
|
this.isShowYesterday = false |
||||
|
} |
||||
|
}, |
||||
|
'typeFlag': function (val) { |
||||
|
if (val === '0') { |
||||
|
// 周报 |
||||
|
this.timeFlag = '0' |
||||
|
this.tableLabel = '较上周新增' |
||||
|
this.dataForm.isWeek = '0' |
||||
|
this.isShowRemind = true |
||||
|
} else { |
||||
|
// 日报 |
||||
|
this.timeFlag = '1' |
||||
|
this.tableLabel = '较昨日新增' |
||||
|
this.dataForm.isWeek = '1' |
||||
|
this.isShowRemind = false |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
created: function () { |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
methods: { |
||||
|
// 时间段取值变化事件 |
||||
|
setRegistTime () { |
||||
|
this.dataForm.operationStartTime = this.time[0] |
||||
|
this.dataForm.operationEndTime = this.time[1] |
||||
|
}, |
||||
|
// 查询 |
||||
|
selectInfo () { |
||||
|
if (this.time.length === 0 && (this.dataForm.endTime === '' || this.dataForm.endTime === null)) { |
||||
|
this.$message({ |
||||
|
message: '请选择有效时间!', |
||||
|
type: 'warning' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
this.getDataList() |
||||
|
}, |
||||
|
// 导出 |
||||
|
exportHandlee () { |
||||
|
if (this.time.length === 0 && (this.dataForm.endTime === '' || this.dataForm.endTime === null)) { |
||||
|
this.$message({ |
||||
|
message: '请选择有效时间!', |
||||
|
type: 'warning' |
||||
|
}) |
||||
|
return false |
||||
|
} |
||||
|
this.loading = true |
||||
|
this.$http.post('/analysis/userOperation/export', this.dataForm, { responseType: 'arraybuffer' }).then((res) => { |
||||
|
this.loading = false |
||||
|
let fileName = '运营数据报表.xls' |
||||
|
let blob = new Blob([res.data], { type: 'application/x-xls' }) |
||||
|
if (window.navigator.msSaveOrOpenBlob) { |
||||
|
navigator.msSaveBlob(blob, fileName) |
||||
|
} else { |
||||
|
var link = document.createElement('a') |
||||
|
link.href = window.URL.createObjectURL(blob) |
||||
|
link.download = fileName |
||||
|
link.click() |
||||
|
window.URL.revokeObjectURL(link.href) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
// 时间格式化 |
||||
|
dateFormat (fmt, date) { |
||||
|
let ret |
||||
|
const opt = { |
||||
|
'Y+': date.getFullYear().toString(), |
||||
|
'm+': (date.getMonth() + 1).toString(), |
||||
|
'd+': date.getDate().toString(), |
||||
|
'H+': date.getHours().toString(), |
||||
|
'M+': date.getMinutes().toString(), |
||||
|
'S+': date.getSeconds().toString() |
||||
|
} |
||||
|
for (let k in opt) { |
||||
|
ret = new RegExp('(' + k + ')').exec(fmt) |
||||
|
if (ret) { |
||||
|
fmt = fmt.replace(ret[1], (ret[1].length === 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, '0'))) |
||||
|
} |
||||
|
} |
||||
|
return fmt |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
<style> |
||||
|
.el-tooltip__popper { |
||||
|
max-width: 80%; |
||||
|
color: #353434 !important; |
||||
|
background:#e6eaebf3 !important; |
||||
|
word-break:break-all; |
||||
|
} |
||||
|
</style> |
Loading…
Reference in new issue