1 changed files with 176 additions and 0 deletions
@ -0,0 +1,176 @@ |
|||||
|
<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" |
||||
|
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> |
||||
Loading…
Reference in new issue