You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
5.5 KiB
177 lines
5.5 KiB
<template>
|
|
<el-card shadow="never"
|
|
v-loading="loading"
|
|
class="aui-card--fill">
|
|
<div class="mod-news__news}">
|
|
<el-form :inline="true"
|
|
:model="dataForm"
|
|
:rules="dataRule"
|
|
ref="dataForm"
|
|
:label-width="$i18n.locale === 'en-US' ? '120px' : '80px'">
|
|
<el-row>
|
|
<el-form-item prop="allDeptIdsShow"
|
|
label="所属机构">
|
|
<el-cascader v-model="dataForm.allDeptIdsShow"
|
|
:options="options"
|
|
:props="{ multiple: true }"
|
|
clearable
|
|
collapse-tags></el-cascader>
|
|
</el-form-item>
|
|
</el-row>
|
|
<el-form-item label="时间筛选类型">
|
|
<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-form-item prop="newsReleaseStartTime"
|
|
v-if="this.timeFlag==1"
|
|
label="有效时间">
|
|
<el-date-picker @change='setRegistTime'
|
|
v-model="time"
|
|
value-format="yyyy-MM-dd"
|
|
type="daterange"
|
|
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="截止时间">
|
|
<el-date-picker v-model="dataForm.endTime"
|
|
type="date"
|
|
value-format="yyyy-MM-dd"
|
|
placeholder="选择日期">
|
|
</el-date-picker>
|
|
</el-form-item>
|
|
</el-row>
|
|
<p>导出内容包括:</p>
|
|
居民数(待认证居民+认证失败+认证通过+初次扫码进入网格但未认证)
|
|
党员数(已认证党员数)
|
|
新闻发布数 议题数 项目数 项目结案数
|
|
社群数 社群成员数 社群话题数
|
|
<br>
|
|
<br>
|
|
<el-row>
|
|
<el-form-item label-width="500px">
|
|
<el-button type="primary"
|
|
@click="this.exportHandlee">{{ $t('export') }}</el-button>
|
|
</el-form-item>
|
|
</el-row>
|
|
</el-form>
|
|
</div>
|
|
</el-card>
|
|
</template>
|
|
<script>
|
|
import mixinViewModule from '@/mixins/view-module'
|
|
export default {
|
|
data () {
|
|
return {
|
|
mixinViewModuleOptions: {
|
|
getDataListURL: '/analysis/user/page/dataRank',
|
|
getDataListIsPage: true,
|
|
deleteURL: '/news/news',
|
|
deleteIsBatch: true,
|
|
exportURL: '/analysis/user/export/exportOperationData'
|
|
},
|
|
dataForm: {
|
|
id: '',
|
|
operationStartTime: '',
|
|
operationEndTime: '',
|
|
allDeptIdsShow: [],
|
|
endTime: ''
|
|
},
|
|
time: [],
|
|
streetList: [],
|
|
communityList: [],
|
|
gridList: [],
|
|
options: [],
|
|
categorys: [],
|
|
loading: false,
|
|
timeFlag: '1'
|
|
}
|
|
},
|
|
activated () {
|
|
},
|
|
created () {
|
|
this.getDeptInfoList()
|
|
},
|
|
computed: {
|
|
dataRule () {
|
|
return {
|
|
allDeptIdsShow: [
|
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
|
|
],
|
|
newsTitle: [
|
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
|
|
],
|
|
newsCateroryId: [
|
|
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
|
|
]
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
setRegistTime () {
|
|
this.dataForm.operationStartTime = this.time[0]
|
|
this.dataForm.operationEndTime = this.time[1]
|
|
},
|
|
getDeptInfoList () {
|
|
this.$http.get(`/sys/user/deptOptions/getStreetByLoginUser`).then(({ data: res }) => {
|
|
if (res.code !== 0) {
|
|
return this.$message.error(res.msg)
|
|
}
|
|
this.options = res.data.options
|
|
}).catch(() => { })
|
|
},
|
|
export () {
|
|
this.$http['post'](`/analysis/user/export/exportOperationData`, this.dataForm).then(({ data: res }) => {
|
|
if (res.code !== 0) {
|
|
return this.$message.error(res.msg)
|
|
}
|
|
this.options = res.data.options
|
|
}).catch(() => { })
|
|
},
|
|
exportHandlee () {
|
|
this.loading = true
|
|
this.$http.post('/analysis/user/export/exportOperationData', this.dataForm, { responseType: 'arraybuffer' }).then((res) => {
|
|
this.loading = false
|
|
// if (res.code !== 0) {
|
|
// return this.$message.error(res.msg)
|
|
// }
|
|
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)
|
|
}
|
|
})
|
|
}
|
|
},
|
|
components: {
|
|
},
|
|
mixins: [mixinViewModule],
|
|
watch: {
|
|
'timeFlag': function (val) {
|
|
if (val === 0) {
|
|
this.dataForm.operationStartTime = ''
|
|
this.dataForm.operationEndTime = ''
|
|
this.time = []
|
|
} else {
|
|
this.dataForm.endTime = ''
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|