Browse Source

【市北代码迁移至安宁】【用户数据分析、数据总览】-王公峰-2020-09-17

redesign
wanggongfeng 5 years ago
parent
commit
2fa1d9a872
  1. 173
      src/views/modules/analysis/active/activeusercount-add-or-update.vue
  2. 183
      src/views/modules/analysis/active/activeusercount.vue
  3. 194
      src/views/modules/analysis/active/activeuserinfo-add-or-update.vue
  4. 154
      src/views/modules/analysis/active/activeuserinfo.vue
  5. 29
      src/views/modules/analysis/active/activeuserroute.vue
  6. 13
      src/views/modules/analysis/export/operation.vue
  7. 47
      src/views/modules/analysis/issue/hottest-issue-list.vue
  8. 22
      src/views/modules/analysis/issue/issue-classified-statistic-second.vue
  9. 29
      src/views/modules/analysis/issue/issue-classified-statistic.vue
  10. 44
      src/views/modules/analysis/issue/latest-issue-list.vue
  11. 120
      src/views/modules/analysis/item/difficult-Item-list.vue
  12. 46
      src/views/modules/analysis/item/hottest-item-list.vue
  13. 8
      src/views/modules/analysis/item/item-detail-view.vue
  14. 56
      src/views/modules/analysis/item/report-solved-item-list.vue
  15. 62
      src/views/modules/analysis/item/report-unsolved-item-list.vue
  16. 57
      src/views/modules/analysis/item/unsolved-item-list.vue
  17. 51
      src/views/modules/analysis/topic/hottest-topic-list.vue
  18. 31
      src/views/modules/analysis/topic/latest-topic-list.vue
  19. 159
      src/views/modules/analysis/user/gridopening.vue
  20. 4
      src/views/modules/analysis/user/metausergridopining.vue
  21. 4
      src/views/modules/analysis/user/metauserpartyrank.vue
  22. 4
      src/views/modules/analysis/user/metauserregisterrank.vue
  23. 124
      src/views/modules/analysis/user/party.vue
  24. 114
      src/views/modules/analysis/user/register.vue

173
src/views/modules/analysis/active/activeusercount-add-or-update.vue

@ -0,0 +1,173 @@
<template>
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('update')" :close-on-click-modal="false" :close-on-press-escape="false">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'">
<el-form-item label="统计月份" prop="statisticalMonth">
<el-input v-model="dataForm.statisticalMonth" placeholder="统计月份"></el-input>
</el-form-item>
<el-form-item label="活跃用户数" prop="activeUserNum">
<el-input v-model="dataForm.activeUserNum" placeholder="活跃用户数"></el-input>
</el-form-item>
<el-form-item label="活跃居民数" prop="activeResidentNum">
<el-input v-model="dataForm.activeResidentNum" placeholder="活跃居民数"></el-input>
</el-form-item>
<el-form-item label="活跃党员数" prop="activePartyNum">
<el-input v-model="dataForm.activePartyNum" placeholder="活跃党员数"></el-input>
</el-form-item>
<el-form-item label="所属部门ID" prop="deptId">
<el-input v-model="dataForm.deptId" placeholder="所属部门ID"></el-input>
</el-form-item>
<el-form-item label="所属部门名称" prop="deptName">
<el-input v-model="dataForm.deptName" placeholder="所属部门名称"></el-input>
</el-form-item>
<el-form-item label="所有部门ID" prop="allDeptIds">
<el-input v-model="dataForm.allDeptIds" placeholder="所有部门ID"></el-input>
</el-form-item>
<el-form-item label="所有部门名称" prop="allDeptNames">
<el-input v-model="dataForm.allDeptNames" placeholder="所有部门名称"></el-input>
</el-form-item>
<el-form-item label="乐观锁" prop="revision">
<el-input v-model="dataForm.revision" placeholder="乐观锁"></el-input>
</el-form-item>
<el-form-item label="删除标记 0:未删除,1:已删除 0:未删除,1:已删除" prop="delFlag">
<el-input v-model="dataForm.delFlag" placeholder="删除标记 0:未删除,1:已删除 0:未删除,1:已删除"></el-input>
</el-form-item>
<el-form-item label="创建人" prop="createdBy">
<el-input v-model="dataForm.createdBy" placeholder="创建人"></el-input>
</el-form-item>
<el-form-item label="创建时间" prop="createdTime">
<el-input v-model="dataForm.createdTime" placeholder="创建时间"></el-input>
</el-form-item>
<el-form-item label="更新人" prop="updatedBy">
<el-input v-model="dataForm.updatedBy" placeholder="更新人"></el-input>
</el-form-item>
<el-form-item label="更新时间" prop="updatedTime">
<el-input v-model="dataForm.updatedTime" placeholder="更新时间"></el-input>
</el-form-item>
</el-form>
<template slot="footer">
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button>
</template>
</el-dialog>
</template>
<script>
import debounce from 'lodash/debounce'
export default {
data () {
return {
visible: false,
dataForm: {
id: '',
statisticalMonth: '',
activeUserNum: '',
activeResidentNum: '',
activePartyNum: '',
deptId: '',
deptName: '',
allDeptIds: '',
allDeptNames: '',
revision: '',
delFlag: '',
createdBy: '',
createdTime: '',
updatedBy: '',
updatedTime: ''
}
}
},
computed: {
dataRule () {
return {
statisticalMonth: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
activeUserNum: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
activeResidentNum: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
activePartyNum: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
deptId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
deptName: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
allDeptIds: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
allDeptNames: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
revision: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
delFlag: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
createdBy: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
createdTime: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
updatedBy: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
updatedTime: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
]
}
}
},
methods: {
init () {
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.getInfo()
}
})
},
//
getInfo () {
this.$http.get(`/analysis/activeusercount/${this.dataForm.id}`).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.dataForm = {
...this.dataForm,
...res.data
}
}).catch(() => {})
},
//
dataFormSubmitHandle: debounce(function () {
this.$refs['dataForm'].validate((valid) => {
if (!valid) {
return false
}
this.$http[!this.dataForm.id ? 'post' : 'put']('/analysis/activeusercount/', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
}).catch(() => {})
})
}, 1000, { 'leading': true, 'trailing': false })
}
}
</script>

183
src/views/modules/analysis/active/activeusercount.vue

@ -0,0 +1,183 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-analysis__activeusercount}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader
v-model="ids"
:options="options"
:props="{ checkStrictly: true }"
clearable
>
</el-cascader>
</el-form-item>
<el-form-item label="统计月份" prop="statisticalMonth">
<el-date-picker
:clearable="false"
v-model="dataForm.statisticalMonth"
type="month"
value-format="yyyy-MM"
format="yyyy-MM"
placeholder="选择月份">
</el-date-picker>
</el-form-item>
<el-form-item label="部门类型" prop="deptType">
<el-select v-model="dataForm.deptType" placeholder="部门类型" clearable>
<el-option v-for="item in deptTypeArr" :key="item.dictValue" :label="item.dictName" :value="item.dictValue">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('analysis:activeusercount:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('analysis:activeusercount:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="success" @click="exportHandle()">{{ $t('export') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<!-- <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column> -->
<el-table-column label="序号" header-align="center" align="center" width="50px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
</el-table-column>
<!-- <el-table-column prop="id" label="主键" header-align="center" align="center"></el-table-column> -->
<!-- <el-table-column prop="deptId" label="所属部门ID" header-align="center" align="center"></el-table-column> -->
<el-table-column prop="deptName" label="部门名称" header-align="center" align="center" min-width="200" show-overflow-tooltip></el-table-column>
<el-table-column prop="statisticalMonth" label="统计月份" header-align="center" align="center" width="150"></el-table-column>
<el-table-column prop="activeUserNum" label="活跃用户数" header-align="center" align="center" width="150">
<template slot-scope="scope">
<span v-if="scope.row.activeUserNum === 0">{{ scope.row.activeUserNum }}</span>
<el-button v-else type="text" @click="openDetailHandle(scope.row,'')">{{ scope.row.activeUserNum }}</el-button>
</template>
</el-table-column>
<el-table-column prop="activeResidentNum" label="活跃居民数" header-align="center" align="center" width="150">
<template slot-scope="scope">
<span v-if="scope.row.activeResidentNum === 0">{{ scope.row.activeResidentNum }}</span>
<el-button v-else type="text" @click="openDetailHandle(scope.row,'0')">{{ scope.row.activeResidentNum }}</el-button>
</template>
</el-table-column>
<el-table-column prop="activePartyNum" label="活跃党员数" header-align="center" align="center" width="150">
<template slot-scope="scope">
<span v-if="scope.row.activePartyNum === 0">{{ scope.row.activePartyNum }}</span>
<el-button v-else type="text" @click="openDetailHandle(scope.row,'1')">{{ scope.row.activePartyNum }}</el-button>
</template>
</el-table-column>
<!-- <el-table-column prop="allDeptIds" label="所有部门ID" header-align="center" align="center"></el-table-column> -->
<!-- <el-table-column prop="allDeptNames" label="所有部门名称" header-align="center" align="center" min-width="250" show-overflow-tooltip></el-table-column> -->
<!-- <el-table-column prop="revision" label="乐观锁" header-align="center" align="center"></el-table-column>
<el-table-column prop="delFlag" label="删除标记 0:未删除,1:已删除 0:未删除,1:已删除" header-align="center" align="center"></el-table-column>
<el-table-column prop="createdBy" label="创建人" header-align="center" align="center"></el-table-column>
<el-table-column prop="createdTime" label="创建时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="updatedBy" label="更新人" header-align="center" align="center"></el-table-column> -->
<!-- <el-table-column prop="updatedTime" label="更新时间" header-align="center" align="center" width="180"></el-table-column> -->
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150" v-if="false">
<template slot-scope="scope">
<el-button v-if="$hasPermission('analysis:activeusercount:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
<el-button v-if="$hasPermission('analysis:activeusercount:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</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>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</el-card>
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from './activeusercount-add-or-update'
export default {
mixins: [mixinViewModule],
data () {
return {
mixinViewModuleOptions: {
getDataListURL: '/cloudAnalysis/activeusercount/page',
getDataListIsPage: true,
deleteURL: '/cloudAnalysis/activeusercount',
deleteIsBatch: true,
exportURL: '/cloudAnalysis/activeusercount/export'
},
dataForm: {
id: '',
deptType: '',
statisticalMonth: '',
deptId: ''
},
deptTypeArr: [],
options: [],
ids: []
}
},
components: {
AddOrUpdate
},
watch: {
ids: function (val) {
if (val.length === 0) {
this.dataForm.deptId = ''
} else {
this.dataForm.deptId = this.ids[val.length - 1]
}
}
},
created () {
//
var year = new Date().getFullYear()
var month = new Date().getMonth() + 1
if (month < 10) {
month = '0' + month
}
this.dataForm.statisticalMonth = year + '-' + month
//
this.getParamListInfo('dept_type')
//
this.getOptions()
//
this.getDataList()
},
methods: {
openDetailHandle (row, partyFlag) {
this.$parent.selectComponent = 'Activeuserinfo'
this.$router.push({ path: '/analysis-active-activeuserroute', query: { partyFlag: partyFlag, deptIds: row.deptId, statisticalMonth: row.statisticalMonth } })
},
getOptions () {
this.$http
.get(`/sys/user/deptOptions/getByLoginUser`)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.options = res.data.options
})
.catch(() => {})
},
//
getParamListInfo (dictType) {
this.$http.get(`/sys/dict/listSimple/` + dictType).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
if (dictType === 'dept_type') {
this.deptTypeArr = res.data
}
}).catch(() => {})
}
}
}
</script>

194
src/views/modules/analysis/active/activeuserinfo-add-or-update.vue

@ -0,0 +1,194 @@
<template>
<el-dialog :visible.sync="visible" :title="!dataForm.id ? $t('add') : $t('update')" :close-on-click-modal="false" :close-on-press-escape="false">
<el-form :model="dataForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="dataFormSubmitHandle()" :label-width="$i18n.locale === 'en-US' ? '120px' : '80px'">
<el-form-item label="居民ID" prop="userId">
<el-input v-model="dataForm.userId" placeholder="居民ID"></el-input>
</el-form-item>
<el-form-item label="居民名称" prop="userName">
<el-input v-model="dataForm.userName" placeholder="居民名称"></el-input>
</el-form-item>
<el-form-item label="所属部门ID" prop="deptId">
<el-input v-model="dataForm.deptId" placeholder="所属部门ID"></el-input>
</el-form-item>
<el-form-item label="所属部门名称" prop="deptName">
<el-input v-model="dataForm.deptName" placeholder="所属部门名称"></el-input>
</el-form-item>
<el-form-item label="联系方式" prop="mobile">
<el-input v-model="dataForm.mobile" placeholder="联系方式"></el-input>
</el-form-item>
<el-form-item label="党员标识 0:居民;1:党员" prop="partyFlag">
<el-input v-model="dataForm.partyFlag" placeholder="党员标识 0:居民;1:党员"></el-input>
</el-form-item>
<el-form-item label="统计月份" prop="statisticalMonth">
<el-input v-model="dataForm.statisticalMonth" placeholder="统计月份"></el-input>
</el-form-item>
<el-form-item label="达成活跃用户时间" prop="reachActiveTime">
<el-input v-model="dataForm.reachActiveTime" placeholder="达成活跃用户时间"></el-input>
</el-form-item>
<el-form-item label="有效时间" prop="validTime">
<el-input v-model="dataForm.validTime" placeholder="有效时间"></el-input>
</el-form-item>
<el-form-item label="所有部门ID" prop="allDeptIds">
<el-input v-model="dataForm.allDeptIds" placeholder="所有部门ID"></el-input>
</el-form-item>
<el-form-item label="所有部门名称" prop="allDeptNames">
<el-input v-model="dataForm.allDeptNames" placeholder="所有部门名称"></el-input>
</el-form-item>
<el-form-item label="乐观锁" prop="revision">
<el-input v-model="dataForm.revision" placeholder="乐观锁"></el-input>
</el-form-item>
<el-form-item label="删除标记 0:未删除,1:已删除 0:未删除,1:已删除" prop="delFlag">
<el-input v-model="dataForm.delFlag" placeholder="删除标记 0:未删除,1:已删除 0:未删除,1:已删除"></el-input>
</el-form-item>
<el-form-item label="创建人" prop="createdBy">
<el-input v-model="dataForm.createdBy" placeholder="创建人"></el-input>
</el-form-item>
<el-form-item label="创建时间" prop="createdTime">
<el-input v-model="dataForm.createdTime" placeholder="创建时间"></el-input>
</el-form-item>
<el-form-item label="更新人" prop="updatedBy">
<el-input v-model="dataForm.updatedBy" placeholder="更新人"></el-input>
</el-form-item>
<el-form-item label="更新时间" prop="updatedTime">
<el-input v-model="dataForm.updatedTime" placeholder="更新时间"></el-input>
</el-form-item>
</el-form>
<template slot="footer">
<el-button @click="visible = false">{{ $t('cancel') }}</el-button>
<el-button type="primary" @click="dataFormSubmitHandle()">{{ $t('confirm') }}</el-button>
</template>
</el-dialog>
</template>
<script>
import debounce from 'lodash/debounce'
export default {
data () {
return {
visible: false,
dataForm: {
id: '',
userId: '',
userName: '',
deptId: '',
deptName: '',
mobile: '',
partyFlag: '',
statisticalMonth: '',
reachActiveTime: '',
validTime: '',
allDeptIds: '',
allDeptNames: '',
revision: '',
delFlag: '',
createdBy: '',
createdTime: '',
updatedBy: '',
updatedTime: ''
}
}
},
computed: {
dataRule () {
return {
userId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
userName: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
deptId: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
deptName: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
mobile: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
partyFlag: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
statisticalMonth: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
reachActiveTime: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
validTime: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
allDeptIds: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
allDeptNames: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
revision: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
delFlag: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
createdBy: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
createdTime: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
updatedBy: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
],
updatedTime: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
]
}
}
},
methods: {
init () {
this.visible = true
this.$nextTick(() => {
this.$refs['dataForm'].resetFields()
if (this.dataForm.id) {
this.getInfo()
}
})
},
//
getInfo () {
this.$http.get(`/analysis/activeuserinfo/${this.dataForm.id}`).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.dataForm = {
...this.dataForm,
...res.data
}
}).catch(() => {})
},
//
dataFormSubmitHandle: debounce(function () {
this.$refs['dataForm'].validate((valid) => {
if (!valid) {
return false
}
this.$http[!this.dataForm.id ? 'post' : 'put']('/analysis/activeuserinfo/', this.dataForm).then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.$message({
message: this.$t('prompt.success'),
type: 'success',
duration: 500,
onClose: () => {
this.visible = false
this.$emit('refreshDataList')
}
})
}).catch(() => {})
})
}, 1000, { 'leading': true, 'trailing': false })
}
}
</script>

154
src/views/modules/analysis/active/activeuserinfo.vue

@ -0,0 +1,154 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-analysis__activeuserinfo}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<el-form-item>
<el-button type="primary" @click="backToUserCountList">{{"返回"}}</el-button>
</el-form-item>
<br>
<el-form-item label="所属部门" v-if="false">
<el-cascader
v-model="ids"
:options="options"
:props="{ checkStrictly: true }"
clearable
>
</el-cascader>
</el-form-item>
<el-form-item label="居民名称" prop="userName">
<el-input v-model="dataForm.userName" placeholder="居民名称" clearable maxlength="20" @keyup.native="btKeyUpUserName"></el-input>
</el-form-item>
<el-form-item label="联系方式" prop="mobile">
<el-input v-model="dataForm.mobile" placeholder="联系方式" clearable maxlength="20" @keyup.native="btKeyUpMobile"></el-input>
</el-form-item>
<el-form-item>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('analysis:activeuserinfo:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('analysis:activeuserinfo:delete')" type="danger" @click="deleteHandle()">{{ $t('deleteBatch') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="success" @click="exportHandle()">{{ $t('export') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<!-- <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column> -->
<el-table-column label="序号" header-align="center" align="center" width="50px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
</el-table-column>
<!-- <el-table-column prop="userId" label="居民ID" header-align="center" align="center"></el-table-column> -->
<el-table-column prop="userName" label="居民名称" header-align="center" align="center" width="150"></el-table-column>
<!-- <el-table-column prop="deptId" label="所属部门ID" header-align="center" align="center"></el-table-column> -->
<el-table-column prop="deptName" label="所属部门" header-align="center" align="center" min-width="200" show-overflow-tooltip></el-table-column>
<el-table-column prop="mobile" label="联系方式" header-align="center" align="center" width="150"></el-table-column>
<!-- <el-table-column prop="partyFlag" label="党员标识 0:居民;1:党员" header-align="center" align="center"></el-table-column> -->
<el-table-column prop="statisticalMonth" label="统计月份" header-align="center" align="center" width="150"></el-table-column>
<el-table-column prop="reachActiveTime" label="达成活跃用户时间" header-align="center" align="center" width="180"></el-table-column>
<el-table-column prop="validTime" label="有效时间" header-align="center" align="center" width="180"></el-table-column>
<el-table-column prop="allDeptNames" label="所有部门" header-align="center" align="center" min-width="250" show-overflow-tooltip></el-table-column>
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150" v-if="false">
<template slot-scope="scope">
<el-button v-if="$hasPermission('analysis:activeuserinfo:update')" type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">{{ $t('update') }}</el-button>
<el-button v-if="$hasPermission('analysis:activeuserinfo:delete')" type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</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>
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update>
</div>
</el-card>
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from './activeuserinfo-add-or-update'
export default {
mixins: [mixinViewModule],
data () {
return {
mixinViewModuleOptions: {
getDataListURL: '/cloudAnalysis/activeuserinfo/page',
getDataListIsPage: true,
deleteURL: '/cloudAnalysis/activeuserinfo',
deleteIsBatch: true,
exportURL: '/cloudAnalysis/activeuserinfo/export'
},
dataForm: {
id: '',
statisticalMonth: '',
deptId: '',
deptIds: '',
partyFlag: '',
mobile: '',
userName: ''
},
ids: [],
options: []
}
},
components: {
AddOrUpdate
},
watch: {
ids: function (val) {
if (val.length === 0) {
this.dataForm.deptId = ''
} else {
this.dataForm.deptId = this.ids[val.length - 1]
}
}
},
created () {
//
this.getOptions()
},
mounted () {
this.dataForm.statisticalMonth = this.$route.query.statisticalMonth
this.dataForm.deptIds = this.$route.query.deptIds
this.dataForm.partyFlag = this.$route.query.partyFlag
//
this.getDataList()
},
methods: {
//
backToUserCountList () {
this.$emit('refreshDataList')
this.$parent.selectComponent = 'Activeusercount'
this.$router.push({ path: '/analysis-active-activeuserroute' })
},
getOptions () {
this.$http
.get(`/sys/user/deptOptions/getByLoginUser`)
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
}
this.options = res.data.options
})
.catch(() => {})
},
btKeyUpUserName (e) {
e.target.value = e.target.value.replace(/[`~!@#$%^&*()_+=<>?:"{}|·~!@#¥%……&*()——+={}|《》?:“”【】、;‘’,。、]/g, '')
this.dataForm.userName = e.target.value
},
btKeyUpMobile (e) {
e.target.value = e.target.value.replace(/[`~!@#$%^&*()_+=<>?:"{}|·~!@#¥%……&*()——+={}|《》?:“”【】、;‘’,。、]/g, '')
this.dataForm.mobile = e.target.value
}
}
}
</script>

29
src/views/modules/analysis/active/activeuserroute.vue

@ -0,0 +1,29 @@
<template>
<keep-alive include="activeusercount">
<component :is="selectComponent"></component>
</keep-alive>
</template>
<script>
import Activeusercount from './activeusercount'
import Activeuserinfo from './activeuserinfo'
export default {
data () {
return {
selectComponent: Activeusercount
}
},
components: {
Activeusercount,
Activeuserinfo
},
methods: {
init () {
this.selectComponent = Activeusercount
}
}
}
</script>
<style lang="scss" scoped>
</style>

13
src/views/modules/analysis/export/operation.vue

@ -18,7 +18,7 @@
collapse-tags></el-cascader>
</el-form-item>
</el-row>
<el-form-item label="时间筛选类型">
<el-form-item label="时间筛选类型" label-width="100px">
<template>
<el-radio v-model="timeFlag"
label="1">有效时间</el-radio>
@ -28,7 +28,7 @@
</el-form-item>
<el-row>
<el-form-item prop="newsReleaseStartTime"
v-if="this.timeFlag==1"
v-if="this.timeFlag=='1'"
label="有效时间">
<el-date-picker @change='setRegistTime'
v-model="time"
@ -42,7 +42,7 @@
</el-row>
<el-row>
<el-form-item prop="endTime"
v-if="this.timeFlag==0"
v-if="this.timeFlag=='0'"
label="截止时间">
<el-date-picker v-model="dataForm.endTime"
type="date"
@ -55,12 +55,13 @@
居民数(待认证居民+认证失败+认证通过+初次扫码进入网格但未认证)&nbsp;&nbsp;
党员数(已认证党员数)&nbsp;&nbsp;
新闻发布数 议题数 项目数 项目结案数
社群数 社群成员数 社群话题数
社群数 社群成员数 社群话题数&nbsp;
用户活跃率
<br>
<br>
<el-row>
<el-form-item label-width="500px">
<el-button type="primary"
<el-button type="success"
@click="this.exportHandlee">{{ $t('export') }}</el-button>
</el-form-item>
</el-row>
@ -164,7 +165,7 @@ export default {
mixins: [mixinViewModule],
watch: {
'timeFlag': function (val) {
if (val === 0) {
if (val === '0') {
this.dataForm.operationStartTime = ''
this.dataForm.operationEndTime = ''
this.time = []

47
src/views/modules/analysis/issue/hottest-issue-list.vue

@ -1,22 +1,25 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-news__topic}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item label="所属机构">
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable filterable>
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构" label-width="70px">
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable filterable style="width:200px">
</el-cascader>
</el-form-item>
<el-form-item label="议题摘要" prop="topicContent">
<el-input v-model="dataForm.issueContent" placeholder="请输入关键字模糊搜索" clearable ></el-input>
<el-form-item label="议题摘要" prop="topicContent" label-width="70px">
<el-input v-model="dataForm.issueContent" placeholder="议题摘要" clearable @keyup.native="btKeyUpissueContent" style="width:200px"></el-input>
</el-form-item>
<el-form-item label="时间"
prop="startTime">
<br>
<el-form-item label="发布时间"
prop="startTime" label-width="70px">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
@ -27,24 +30,26 @@
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column label="序号" type="index" show-overflow-tooltip align="center" width="50"></el-table-column>
<el-table-column prop="issueContent" label="议题摘要" header-align="center" align="center"></el-table-column>
<el-table-column prop="allDeptNames" label="来源网格" header-align="center" align="center"></el-table-column>
<el-table-column prop="nickName" label="发言人" header-align="center" align="center"></el-table-column>
<el-table-column prop="createdTime" label="发布时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="issueContent" label="议题摘要" min-width=400 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="allDeptNames" label="来源网格" width=400 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="nickName" label="发言人" width=180 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="createdTime" label="发布时间" width=180 header-align="center" align="center"></el-table-column>
<el-table-column prop="approveNum" label="支持总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="opposeNum" label="反对总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="commentNum" label="评论总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="browseNum" label="浏览总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="expressAttitudeNum" label="表达态度总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="expressAttitudeNum" label="表达态度总数" width=120 header-align="center" align="center"></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="detailAction(scope.row.id)">{{ $t('look') }}</el-button>
@ -88,17 +93,17 @@ export default {
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.startTime
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal).getTime()
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.endTime
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal).getTime()
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
@ -147,6 +152,10 @@ export default {
detailAction (id) {
this.$parent.selectComponent = 'IssueDetailView'
this.$router.push({ path: '/analysis-issue-hottest-issue', query: { id: id } })
},
btKeyUpissueContent(e){
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.issueContent = e.target.value
}
}
}

22
src/views/modules/analysis/issue/issue-classified-statistic-second.vue

@ -4,7 +4,7 @@
:title="title"
:close-on-click-modal="false"
:close-on-press-escape="false">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable filterable>
</el-cascader>
@ -21,13 +21,15 @@
</el-form-item>
<div class="block">
<el-form-item label="时间"
prop="startTime">
prop="startTime" label-width="70px">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
@ -38,11 +40,13 @@
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
</div>
</el-form>
@ -100,17 +104,17 @@ export default {
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.startTime
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal).getTime()
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.endTime
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal).getTime()
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},

29
src/views/modules/analysis/issue/issue-classified-statistic.vue

@ -1,7 +1,7 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-news__topic}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable filterable>
</el-cascader>
@ -26,14 +26,17 @@
</el-option>
</el-select>
</el-form-item>
<br>
<el-form-item label="时间"
prop="startTime">
prop="startTime" label-width="70px">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
@ -44,11 +47,13 @@
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
@ -96,24 +101,24 @@ export default {
streetId: '',
communityId: '',
gridId: '',
startTime: '',
endTime: '',
sort: 'desc',
categoryLevel: '1'
categoryLevel: '1',
startTime:'',
endTime:''
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.startTime
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal).getTime()
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.endTime
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal).getTime()
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},

44
src/views/modules/analysis/issue/latest-issue-list.vue

@ -1,50 +1,52 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-news__topic}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable filterable>
</el-cascader>
</el-form-item>
<el-form-item label="议题摘要" prop="topicContent">
<el-input v-model="dataForm.issueContent" placeholder="请输入关键字模糊搜索" clearable ></el-input>
<el-input v-model="dataForm.issueContent" placeholder="议题摘要" clearable @keyup.native="btKeyUpissueContent" ></el-input>
</el-form-item>
<el-form-item label="时间"
prop="startTime">
<br>
<el-form-item label="发布时间" prop="startTime" label-width="68px">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
label-width="25px"
prop="endTime">
<el-form-item label="至" prop="endTime">
<el-date-picker v-model="dataForm.endTime"
type="date"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column label="序号" type="index" show-overflow-tooltip align="center" width="50"></el-table-column>
<el-table-column prop="issueContent" label="议题摘要" header-align="center" align="center"></el-table-column>
<el-table-column prop="allDeptNames" label="来源网格" header-align="center" align="center"></el-table-column>
<el-table-column prop="nickName" label="发言人" header-align="center" align="center"></el-table-column>
<el-table-column prop="createdTime" label="发布时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="issueContent" label="议题摘要" min-width=400 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="allDeptNames" label="来源网格" width=400 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="nickName" label="发言人" width=180 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="createdTime" label="发布时间" width=180 header-align="center" align="center"></el-table-column>
<el-table-column prop="approveNum" label="支持总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="opposeNum" label="反对总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="commentNum" label="评论总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="browseNum" label="浏览总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="expressAttitudeNum" label="表达态度总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="expressAttitudeNum" label="表达态度总数" width=120 header-align="center" align="center"></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="detailAction(scope.row.id)">{{ $t('look') }}</el-button>
@ -87,17 +89,17 @@ export default {
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.startTime
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal).getTime()
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.endTime
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal).getTime()
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
@ -146,6 +148,10 @@ export default {
detailAction (id) {
this.$parent.selectComponent = 'IssueDetailView'
this.$router.push({ path: '/analysis-issue-latest-issue', query: { id: id } })
},
btKeyUpissueContent(e){
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.issueContent = e.target.value
}
}
}

120
src/views/modules/analysis/item/difficult-Item-list.vue

@ -1,8 +1,8 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-news__topic}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item label="所属机构">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构" label-width="95px">
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable filterable>
</el-cascader>
</el-form-item>
@ -16,68 +16,66 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item label="转项目时间"
prop="changeItemStartTime">
<el-form-item label="项目状态" label-width="135px">
<el-select v-model="dataForm.itemState" placeholder="全部" clearable >
<el-option
v-for="item in itemStateOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<br/>
<el-form-item label="转项目时间" prop="changeItemStartTime" label-width="95px">
<el-date-picker v-model="dataForm.changeItemStartTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
@change="changeItemStartTime"
>
</el-date-picker>
</el-form-item>
<el-form-item label="至"
label-width="25px"
prop="changeItemEndTime">
<el-form-item label="至" label-width="25px" prop="changeItemEndTime">
<el-date-picker v-model="dataForm.changeItemEndTime"
type="date"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间" @change="changeItemStartTime">
</el-date-picker>
</el-form-item>
<el-form-item label="项目状态">
<el-select v-model="dataForm.itemState" placeholder="全部" clearable >
<el-form-item label="满意度" label-width="140px" >
<el-select v-model="dataForm.evaluationScore" placeholder="全部" clearable >
<el-option
v-for="item in itemStateOptions"
v-for="item in evaluationScoreOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="处理完毕时间"
prop="processedStartTime">
<br/>
<el-form-item label="处理完毕时间" prop="processedStartTime" >
<el-date-picker v-model="dataForm.processedStartTime"
type="date"
:picker-options="pickerBeginDateBefore1"
:picker-options="pickerBeginDateBeforeProcessed"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间" @change="changeProcessedStartTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
label-width="25px"
prop="processedEndTime">
<el-form-item label="至" label-width="25px" prop="processedEndTime">
<el-date-picker v-model="dataForm.processedEndTime"
type="date"
:picker-options="pickerBeginDateAfter1"
:picker-options="pickerBeginDateAfterProcessed"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间" @change="changeProcessedStartTime">
</el-date-picker>
</el-form-item>
<el-form-item label="满意度">
<el-select v-model="dataForm.evaluationScore" placeholder="全部" clearable >
<el-option
v-for="item in evaluationScoreOptions"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="是否流转网格化平台">
<el-select v-model="dataForm.reportFlag" placeholder="全部" clearable >
<el-option
@ -89,21 +87,21 @@
</el-select>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button @click="getDataListSearch()" type='success'>{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column label="序号" type="index" show-overflow-tooltip align="center" width="50"></el-table-column>
<el-table-column prop="itemContent" label="项目内容" header-align="center" align="center"></el-table-column>
<el-table-column prop="createdTime" label="转项目时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="itemContent" label="项目内容" header-align="center" align="center" min-width="400" show-overflow-tooltip></el-table-column>
<el-table-column prop="createdTime" label="转项目时间" header-align="center" align="center" width="180"></el-table-column>
<el-table-column prop="operatNum" label="处理次数" header-align="center" align="center" ></el-table-column>
<el-table-column prop="reportFlag" label="是否流转网格化平台" header-align="center" align="center" :formatter="showReportFlagFormatter"></el-table-column>
<el-table-column prop="deptNum" label="涉及部门数量" header-align="center" align="center" ></el-table-column>
<el-table-column prop="reportFlag" label="是否流转网格化平台" header-align="center" align="center" :formatter="showReportFlagFormatter" width="180"></el-table-column>
<el-table-column prop="deptNum" label="涉及部门数量" header-align="center" align="center" width="120"></el-table-column>
<el-table-column prop="itemState" label="项目状态" header-align="center" align="center" :formatter="showItemStateNameFormatter"></el-table-column>
<el-table-column prop="processedTime" label="处理完毕时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="takeTime" label="处理时长(h)" header-align="center" align="center" ></el-table-column>
<el-table-column prop="allDeptNames" label="项目来源网格" header-align="center" align="center"></el-table-column>
<el-table-column prop="evaluationScore" label="居民满意度评价" header-align="center" align="center" :formatter="showEvaluationScoreNameFormatter"></el-table-column>
<el-table-column prop="processedTime" label="处理完毕时间" header-align="center" align="center" width="180"></el-table-column>
<el-table-column prop="takeTime" label="处理时长(h)" header-align="center" align="center" width="100" ></el-table-column>
<el-table-column prop="allDeptNames" label="项目来源网格" header-align="center" align="center" min-width="200" show-overflow-tooltip></el-table-column>
<el-table-column prop="evaluationScore" label="居民满意度评价" header-align="center" align="center" :formatter="showEvaluationScoreNameFormatter" width="120"></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="look(scope.row.id)">{{ $t('look') }}</el-button>
@ -192,33 +190,33 @@ export default {
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.changeItemStartTime
let beginDateVal = this.dataForm.changeItemEndTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal).getTime()
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.changeItemEndTime
let EndDateVal = this.dataForm.changeItemStartTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal).getTime()
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateBefore1: {
pickerBeginDateBeforeProcessed: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.processedStartTime
let beginDateVal = this.dataForm.processedEndTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal).getTime()
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter1: {
pickerBeginDateAfterProcessed: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.processedEndTime
let EndDateVal = this.dataForm.processedStartTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal).getTime()
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
@ -294,6 +292,28 @@ export default {
look (id) {
this.$parent.selectComponent = 'ItemDetailView'
this.$router.push({ path: '/analysis-item-difficult-Item', query: { id: id } })
},
changeItemStartTime(dateValue){
var startTimeIsNull = this.dataForm.changeItemStartTime === '' || this.dataForm.changeItemStartTime === 'null' || this.dataForm.changeItemStartTime === null
var endTimeIsNull = this.dataForm.changeItemEndTime === '' || this.dataForm.changeItemEndTime === 'null' || this.dataForm.changeItemEndTime === null
if (dateValue === null || dateValue === '' || dateValue === 'null') {
this.dataForm.changeItemStartTime = ''
this.dataForm.changeItemEndTime = ''
} else if (startTimeIsNull || endTimeIsNull) {
this.dataForm.changeItemStartTime = dateValue
this.dataForm.changeItemEndTime = dateValue
}
},
changeProcessedStartTime(dateValue){
var startTimeIsNull = this.dataForm.processedStartTime === '' || this.dataForm.processedStartTime === 'null' || this.dataForm.processedStartTime === null
var endTimeIsNull = this.dataForm.processedEndTime === '' || this.dataForm.processedEndTime === 'null' || this.dataForm.processedEndTime === null
if (dateValue === null || dateValue === '' || dateValue === 'null') {
this.dataForm.processedStartTime = ''
this.dataForm.processedEndTime = ''
} else if (startTimeIsNull || endTimeIsNull) {
this.dataForm.processedStartTime = dateValue
this.dataForm.processedEndTime = dateValue
}
}
}
}

46
src/views/modules/analysis/item/hottest-item-list.vue

@ -1,50 +1,52 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-news__topic}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item label="所属机构">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构" label-width="70px">
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable filterable>
</el-cascader>
</el-form-item>
<el-form-item label="项目摘要" prop="topicContent">
<el-input v-model="dataForm.searchContent" placeholder="请输入关键字模糊搜索" clearable ></el-input>
<el-input v-model="dataForm.searchContent" placeholder="请输入关键字模糊搜索" clearable @keyup.native="btKeyUpsearchContent" ></el-input>
</el-form-item>
<el-form-item label="时间"
prop="startTime">
<br>
<el-form-item label="发布时间" prop="startTime" label-width="70px">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
label-width="25px"
prop="endTime">
<el-form-item label="至" prop="endTime">
<el-date-picker v-model="dataForm.endTime"
type="date"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column label="序号" type="index" show-overflow-tooltip align="center" width="50"></el-table-column>
<el-table-column prop="itemContent" label="项目摘要" header-align="center" align="center"></el-table-column>
<el-table-column prop="allDeptNames" label="来源网格" header-align="center" align="center"></el-table-column>
<el-table-column prop="nickName" label="发言人" header-align="center" align="center"></el-table-column>
<el-table-column prop="releaseTime" label="发布时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="itemContent" label="项目摘要" min-width=400 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="allDeptNames" label="来源网格" width=400 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="nickName" label="发言人" width=180 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="releaseTime" label="发布时间" width=180 header-align="center" align="center"></el-table-column>
<el-table-column prop="approveNum" label="支持总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="opposeNum" label="反对总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="commentNum" label="评论总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="browseNum" label="浏览总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="expressAttitudeNum" label="表达态度总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="expressAttitudeNum" label="表达态度总数" width=120 header-align="center" align="center"></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="look(scope.row.id)">{{ $t('look') }}</el-button>
@ -87,17 +89,17 @@ export default {
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.startTime
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal).getTime()
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.endTime
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal).getTime()
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
@ -146,6 +148,10 @@ export default {
look (id) {
this.$parent.selectComponent = 'ItemDetailView'
this.$router.push({ path: '/analysis-item-hottest-item', query: { id: id } })
},
btKeyUpsearchContent(e){
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.searchContent = e.target.value
}
}
}

8
src/views/modules/analysis/item/item-detail-view.vue

@ -109,8 +109,8 @@
<el-dialog width="90%" title="评论" :visible.sync="innerVisible" append-to-body>
<el-table :data="commentsDTOs" border style="width: 100%;">
<el-table-column prop="user.userName" label="发言人" header-align="center" align="center"></el-table-column>
<el-table-column prop="commentTime" label="发言时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="content" label="发言内容" header-align="center" align="center"></el-table-column>
<el-table-column prop="commentTime" label="发言时间" header-align="center" align="center" width="180"></el-table-column>
<el-table-column prop="content" label="发言内容" header-align="center" align="center" min-width="200" show-overflow-tooltip ></el-table-column>
<el-table-column prop="replyComment.userName" label="被回复人" header-align="center" align="center"></el-table-column>
<el-table-column prop="replyComment.content" label="被回复内容" header-align="center" align="center"></el-table-column>
<el-table-column :label="$t('handle')" header-align="center" align="center" width="150" v-if="false">
@ -433,4 +433,8 @@ export default {
float:left;
}
}
.el-pagination{
margin-top: 10px;
text-align: right;
}
</style>

56
src/views/modules/analysis/item/report-solved-item-list.vue

@ -1,7 +1,7 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-news__topic}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<el-form-item label="上报到网格化平台的街道">
<el-cascader v-model="streetIds" :options="streetOptions" :props="{ checkStrictly: true }" clearable filterable></el-cascader>
</el-form-item>
@ -9,44 +9,43 @@
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable filterable></el-cascader>
</el-form-item>
<el-form-item label="项目摘要" prop="topicContent">
<el-input v-model="dataForm.searchContent" placeholder="请输入关键字模糊搜索" clearable ></el-input>
<el-input v-model="dataForm.searchContent" placeholder="项目摘要" clearable @keyup.native="btKeyUpsearchContent"></el-input>
</el-form-item>
<div class="block">
<el-form-item label="上报网格化平台时间"
prop="reportStartTime">
<el-form-item label="上报网格化平台时间" prop="reportStartTime" label-width="166px">
<el-date-picker v-model="dataForm.reportStartTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px" @change="changeReportStartTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
label-width="25px"
prop="reportEndTime">
<el-form-item label="至" prop="reportEndTime">
<el-date-picker v-model="dataForm.reportEndTime"
type="date"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px" @change="changeReportStartTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
</div>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column label="序号" type="index" show-overflow-tooltip align="center" width="50"></el-table-column>
<el-table-column prop="itemContent" label="项目内容" header-align="center" align="center"></el-table-column>
<el-table-column prop="createdTime" label="转项目时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="grid" label="网格名称" header-align="center" align="center"></el-table-column>
<el-table-column prop="reportDept" label="上报部门" header-align="center" align="center"></el-table-column>
<el-table-column prop="reportTime" label="吹哨时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="lastHandlerDept" label="最新进展处理部门" header-align="center" align="center"></el-table-column>
<el-table-column prop="lastHandlerTime" label="最新进展处理时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="itemContent" label="项目内容" min-width=400 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="createdTime" label="转项目时间" width=180 header-align="center" align="center"></el-table-column>
<el-table-column prop="grid" label="网格名称" width=180 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="reportDept" label="上报部门" width=180 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="reportTime" label="吹哨时间" width=180 header-align="center" align="center"></el-table-column>
<el-table-column prop="lastHandlerDept" label="最新进展处理部门" width=180 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="lastHandlerTime" label="最新进展处理时间" width=180 header-align="center" align="center"></el-table-column>
<el-table-column prop="itemState" label="项目状态" header-align="center" align="center" :formatter="showItemStateNameFormatter"></el-table-column>
<el-table-column prop="evaluationScore" label="居民评价" header-align="center" align="center" :formatter="showEvaluationScoreNameFormatter"></el-table-column>
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
@ -115,17 +114,17 @@ export default {
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.startTime
let beginDateVal = this.dataForm.reportEndTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal).getTime()
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.endTime
let EndDateVal = this.dataForm.reportStartTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal).getTime()
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
@ -210,6 +209,21 @@ export default {
look (id) {
this.$parent.selectComponent = 'ItemDetailView'
this.$router.push({ path: '/analysis-item-report-solved-item', query: { id: id } })
},
btKeyUpsearchContent(e){
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.searchContent = e.target.value
},
changeReportStartTime(dateValue){
var startTimeIsNull = this.dataForm.reportStartTime === '' || this.dataForm.reportStartTime === 'null' || this.dataForm.reportStartTime === null
var endTimeIsNull = this.dataForm.reportEndTime === '' || this.dataForm.reportEndTime === 'null' || this.dataForm.reportEndTime === null
if (dateValue === null || dateValue === '' || dateValue === 'null') {
this.dataForm.reportStartTime = ''
this.dataForm.reportEndTime = ''
} else if (startTimeIsNull || endTimeIsNull) {
this.dataForm.reportStartTime = dateValue
this.dataForm.reportEndTime = dateValue
}
}
}
}

62
src/views/modules/analysis/item/report-unsolved-item-list.vue

@ -1,52 +1,51 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-news__topic}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item label="上报到网格化平台的街道">
<el-cascader v-model="streetIds" :options="streetOptions" :props="{ checkStrictly: true }" clearable filterable></el-cascader>
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<el-form-item label="上报到网格化平台的街道" label-width="170px">
<el-cascader v-model="streetIds" :options="streetOptions" :props="{ checkStrictly: true }" clearable filterable style="width:200px"></el-cascader>
</el-form-item>
<el-form-item label="项目来源区域">
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable filterable></el-cascader>
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable filterable style="width:200px"></el-cascader>
</el-form-item>
<el-form-item label="项目摘要" prop="topicContent">
<el-input v-model="dataForm.searchContent" placeholder="请输入关键字模糊搜索" clearable ></el-input>
<el-input v-model="dataForm.searchContent" placeholder="项目摘要" clearable @keyup.native="btKeyUpsearchContent" style="width:200px"></el-input>
</el-form-item>
<div class="block">
<el-form-item label="上报网格化平台时间"
prop="reportStartTime">
<el-form-item label="上报网格化平台时间" prop="reportStartTime" label-width="170px">
<el-date-picker v-model="dataForm.reportStartTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px" @change="changeReportStartTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
label-width="25px"
prop="reportEndTime">
<el-form-item label="至" prop="reportEndTime">
<el-date-picker v-model="dataForm.reportEndTime"
type="date"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px" @change="changeReportStartTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
</div>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column label="序号" type="index" show-overflow-tooltip align="center" width="50"></el-table-column>
<el-table-column prop="itemContent" label="项目内容" header-align="center" align="center"></el-table-column>
<el-table-column prop="createdTime" label="转项目时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="grid" label="网格名称" header-align="center" align="center"></el-table-column>
<el-table-column prop="reportDept" label="上报部门" header-align="center" align="center"></el-table-column>
<el-table-column prop="reportTime" label="吹哨时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="lastHandlerDept" label="最新进展处理部门" header-align="center" align="center"></el-table-column>
<el-table-column prop="lastHandlerTime" label="最新进展处理时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="itemContent" label="项目内容" min-width=400 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="createdTime" label="转项目时间" width=180 header-align="center" align="center"></el-table-column>
<el-table-column prop="grid" label="网格名称" width=180 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="reportDept" label="上报部门" width=180 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="reportTime" label="吹哨时间" width=180 header-align="center" align="center"></el-table-column>
<el-table-column prop="lastHandlerDept" label="最新进展处理部门" width=180 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="lastHandlerTime" label="最新进展处理时间" width=180 header-align="center" align="center"></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="look(scope.row.id)">{{ $t('look') }}</el-button>
@ -90,17 +89,17 @@ export default {
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.startTime
let beginDateVal = this.dataForm.reportEndTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal).getTime()
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.endTime
let EndDateVal = this.dataForm.reportStartTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal).getTime()
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
@ -167,6 +166,21 @@ export default {
look (id) {
this.$parent.selectComponent = 'ItemDetailView'
this.$router.push({ path: '/analysis-item-report-unsolved-item', query: { id: id } })
},
btKeyUpsearchContent(e){
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.searchContent = e.target.value
},
changeReportStartTime(dateValue){
var startTimeIsNull = this.dataForm.reportStartTime === '' || this.dataForm.reportStartTime === 'null' || this.dataForm.reportStartTime === null
var endTimeIsNull = this.dataForm.reportEndTime === '' || this.dataForm.reportEndTime === 'null' || this.dataForm.reportEndTime === null
if (dateValue === null || dateValue === '' || dateValue === 'null') {
this.dataForm.reportStartTime = ''
this.dataForm.reportEndTime = ''
} else if (startTimeIsNull || endTimeIsNull) {
this.dataForm.reportStartTime = dateValue
this.dataForm.reportEndTime = dateValue
}
}
}
}

57
src/views/modules/analysis/item/unsolved-item-list.vue

@ -1,14 +1,15 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-news__topic}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item label="所属机构">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构" label-width="82px">
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable filterable>
</el-cascader>
</el-form-item>
<el-form-item label="项目摘要" prop="topicContent">
<el-input v-model="dataForm.searchContent" placeholder="请输入关键字模糊搜索" clearable ></el-input>
<el-input v-model="dataForm.searchContent" placeholder="项目摘要" clearable @keyup.native="btKeyUpsearchContent" ></el-input>
</el-form-item>
<br>
<el-form-item label="转项目时间"
prop="startTime">
<el-date-picker v-model="dataForm.startTime"
@ -16,7 +17,8 @@
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
@ -27,22 +29,23 @@
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column label="序号" type="index" show-overflow-tooltip align="center" width="50"></el-table-column>
<el-table-column prop="itemContent" label="项目内容" header-align="center" align="center" ></el-table-column>
<el-table-column prop="releaseTime" label="转项目时间" header-align="center" align="center" ></el-table-column>
<el-table-column prop="allDeptNames" label="来源网格" header-align="center" align="center" ></el-table-column>
<el-table-column prop="nickName" label="发言人" header-align="center" align="center" ></el-table-column>
<el-table-column prop="itemContent" label="项目内容" min-width=400 show-overflow-tooltip header-align="center" align="left" ></el-table-column>
<el-table-column prop="releaseTime" label="转项目时间" width=180 header-align="center" align="center" ></el-table-column>
<el-table-column prop="allDeptNames" label="来源网格" width=400 show-overflow-tooltip header-align="center" align="center" ></el-table-column>
<el-table-column prop="nickName" label="发言人" min-width=200 show-overflow-tooltip header-align="center" align="center" ></el-table-column>
<el-table-column prop="solveNum" label="处理次数" header-align="center" align="center" ></el-table-column>
<el-table-column prop="latestHandleTime" label="最新进展处理时间" header-align="center" align="center" ></el-table-column>
<el-table-column prop="latestHandleDeptName" label="最新进展处理部门" header-align="center" align="center" ></el-table-column>
<el-table-column prop="latestHandleTime" label="最新进展处理时间" width=180 header-align="center" align="center" ></el-table-column>
<el-table-column prop="latestHandleDeptName" label="最新进展处理部门" width=180 show-overflow-tooltip header-align="center" align="center" ></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="look(scope.row.id)">{{ $t('look') }}</el-button>
@ -83,19 +86,35 @@ export default {
endTime: '',
searchContent: ''
},
// pickerBeginDateBefore: {
// disabledDate: (time) => {
// let beginDateVal = this.dataForm.startTime
// if (beginDateVal) {
// return time.getTime() > new Date(beginDateVal+ ' 00:00:00').getTime()
// }
// }
// },
// pickerBeginDateAfter: {
// disabledDate: (time) => {
// let EndDateVal = this.dataForm.endTime
// if (EndDateVal) {
// return time.getTime() < new Date(EndDateVal+ ' 00:00:00').getTime()
// }
// }
// },
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.startTime
let beginDateVal = this.dataForm.endTime;
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal).getTime()
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.endTime
let EndDateVal = this.dataForm.startTime;
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal).getTime()
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
@ -144,7 +163,11 @@ export default {
look (id) {
this.$parent.selectComponent = 'ItemDetailView'
this.$router.push({ path: '/analysis-item-unsolved-item', query: { id: id } })
}
},
btKeyUpsearchContent(e){
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.searchContent = e.target.value
},
}
}
</script>

51
src/views/modules/analysis/topic/hottest-topic-list.vue

@ -1,22 +1,25 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-news__topic}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form-item label="所属机构">
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable filterable>
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构" label-width="70px">
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable filterable style="width:200px">
</el-cascader>
</el-form-item>
<el-form-item label="话题摘要" prop="topicContent">
<el-input v-model="dataForm.topicContent" placeholder="请输入关键字模糊搜索" clearable ></el-input>
<el-form-item label="话题摘要" prop="topicContent" label-width="70px">
<el-input v-model="dataForm.topicContent" placeholder="话题摘要" clearable @keyup.native="btKeyUptopicContent" style="width:200px"></el-input>
</el-form-item>
<el-form-item label="时间"
prop="startTime">
<br>
<el-form-item label="发布时间"
prop="startTime" label-width="70px">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
@ -27,23 +30,25 @@
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
style="width:200px"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column label="序号" type="index" show-overflow-tooltip align="center" width="50"></el-table-column>
<el-table-column prop="topicContent" label="话题摘要" header-align="center" align="center"></el-table-column>
<el-table-column prop="allDeptNames" label="来源网格" header-align="center" align="center"></el-table-column>
<el-table-column prop="groupName" label="话题来源群名称" header-align="center" align="center"></el-table-column>
<el-table-column prop="nickName" label="发言人" header-align="center" align="center"></el-table-column>
<el-table-column prop="releaseTime" label="发布时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="topicContent" label="话题摘要" min-width=400 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="allDeptNames" label="来源网格" width=400 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="groupName" label="话题来源群名称" width=180 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="nickName" label="发言人" width=180 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="releaseTime" label="发布时间" width=180 header-align="center" align="center"></el-table-column>
<el-table-column prop="commentNum" label="评论数" header-align="center" align="center"></el-table-column>
<el-table-column prop="browseNum" label="浏览数" header-align="center" align="center"></el-table-column>
<el-table-column prop="expressAttitudeNum" label="表达态度总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="expressAttitudeNum" label="表达态度总数" width=120 header-align="center" align="center"></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="look(scope.row.id)">{{ $t('look') }}</el-button>
@ -87,17 +92,17 @@ export default {
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.startTime
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal).getTime()
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.endTime
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal).getTime()
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
@ -147,7 +152,11 @@ export default {
look (id) {
this.$parent.selectComponent = 'TopicDetail'
this.$router.push({ path: '/analysis-topic-hottest-topic', query: { id: id } })
}
},
btKeyUptopicContent(e){
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.topicContent = e.target.value
},
}
}
</script>

31
src/views/modules/analysis/topic/latest-topic-list.vue

@ -1,22 +1,24 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-news__topic}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable filterable>
</el-cascader>
</el-form-item>
<el-form-item label="话题摘要" prop="topicContent">
<el-input v-model="dataForm.topicContent" placeholder="请输入关键字模糊搜索" clearable ></el-input>
<el-input v-model="dataForm.topicContent" placeholder="话题摘要" clearable @keyup.native="btKeyUptopicContent" ></el-input>
</el-form-item>
<br>
<el-form-item label="时间"
prop="startTime">
prop="startTime" label-width="68px">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
@ -27,23 +29,24 @@
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间">
placeholder="选择日期时间"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column label="序号" type="index" show-overflow-tooltip align="center" width="50"></el-table-column>
<el-table-column prop="topicContent" label="话题摘要" header-align="center" align="center"></el-table-column>
<el-table-column prop="allDeptNames" label="来源网格" header-align="center" align="center"></el-table-column>
<el-table-column prop="groupName" label="话题来源群名称" header-align="center" align="center"></el-table-column>
<el-table-column prop="nickName" label="发言人" header-align="center" align="center"></el-table-column>
<el-table-column prop="releaseTime" label="发布时间" header-align="center" align="center"></el-table-column>
<el-table-column prop="topicContent" label="话题摘要" min-width=400 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="allDeptNames" label="来源网格" width=400 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="groupName" label="话题来源群名称" width=180 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="nickName" label="发言人" width=180 show-overflow-tooltip header-align="center" align="center"></el-table-column>
<el-table-column prop="releaseTime" label="发布时间" width=180 header-align="center" align="center"></el-table-column>
<el-table-column prop="commentNum" label="评论数" header-align="center" align="center"></el-table-column>
<el-table-column prop="browseNum" label="浏览数" header-align="center" align="center"></el-table-column>
<el-table-column prop="expressAttitudeNum" label="表达态度总数" header-align="center" align="center"></el-table-column>
<el-table-column prop="expressAttitudeNum" label="表达态度总数" width=120 header-align="center" align="center"></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="look(scope.row.id)">{{ $t('look') }}</el-button>
@ -145,6 +148,10 @@ export default {
look (id) {
this.$parent.selectComponent = 'TopicDetail'
this.$router.push({ path: '/analysis-topic-latest-topic', query: { id: id } })
},
btKeyUptopicContent(e){
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, '')
this.dataForm.topicContent = e.target.value
}
}
}

159
src/views/modules/analysis/user/gridopening.vue

@ -4,27 +4,19 @@
<div class="mod-news__news}">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()">
@keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader v-model="deptIdList"
:options="options"
:props="{ checkStrictly: true }"
clearable></el-cascader>
clearable
style="width:200px"></el-cascader>
</el-form-item>
<br>
<span class="demonstration">提交时间</span>&nbsp;&nbsp;
<el-date-picker @change='setRegistTime'
v-model="time"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker> &nbsp; &nbsp;
<el-form-item label="排序规则">
<el-select v-model="dataForm.category"
clearable
placeholder="排序规则">
placeholder="排序规则"
style="width:200px">
<el-option v-for="item in categorys"
:key="item.value"
:label="item.label"
@ -32,15 +24,39 @@
</el-option>
</el-select>
</el-form-item>
<br>
<el-form-item label="发布时间" prop="startTime">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:200px"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至" prop="endTime">
<el-date-picker v-model="dataForm.endTime"
type="date"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:200px"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary"
<el-button type="success"
@click="exportHandle()">{{ $t('export') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary"
:disabled="isAble"
@click="getAllCount()">总计</el-button>
</el-form-item>
<el-form-item>
@ -59,79 +75,85 @@
border
@selection-change="dataListSelectionChangeHandle"
style="width: 100%;">
<el-table-column label="序号"
width="70px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
<el-table-column label="序号" header-align="center" align="center" width="50px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
</el-table-column>
<el-table-column prop="allDeptName"
label="网格名称"
header-align="center"
align="center"></el-table-column>
<!-- <el-table-column prop="gridLeader"-->
<!-- label="网格党建指导员姓名"-->
<!-- width="323px"-->
<!-- header-align="center"-->
<!-- align="center"></el-table-column>-->
min-width="325px"
align="center"
show-overflow-tooltip></el-table-column>
<!-- <el-table-column prop="gridLeader"
label="网格党建指导员姓名"
width="323px"
header-align="center"
align="center"></el-table-column> -->
<el-table-column prop="registerCount"
label="用户总数"
width="70px"
width="100px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="partyCount"
label="党员数"
width="70px"
width="100px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="residentCount"
label="已认证居民"
width="70px"
width="100px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="unAuthorizedCount"
label="未认证居民"
width="70px"
width="100px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="enterpriseCount"
label="企业代表数"
width="100px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="newsCount"
label="新闻发布数"
width="70px"
width="100px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="communityCount"
label="社群数"
width="70px"
width="100px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="communityMemberCount"
label="群成员数"
width="70px"
width="100px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="communityTopicCount"
label="群话题数"
width="70px"
width="100px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="eventCount"
label="议题总数"
width="70px"
width="100px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="itemCount"
label="项目数"
width="70px"
width="100px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="itemCloseCount"
label="项目已解决数"
width="70px"
width="120px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="itemPendingCount"
label="项目待解决数"
width="70px"
width="120px"
header-align="center"
align="center">
<template slot-scope="scope">
@ -140,7 +162,7 @@
</el-table-column>
<el-table-column prop="itemPraiseCount"
label="好评数"
width="70px"
width="100px"
header-align="center"
align="center"></el-table-column>
</el-table>
@ -157,7 +179,7 @@
ref="addOrUpdate"
@refreshDataList="getDataList"></add-or-update>
<!-- 总计表格 -->
<el-dialog :visible.sync="totalVisible"
<el-dialog :visible.sync="totalVisible" @close="changeDialog()"
title="总计">
<el-table :data="totalList"
border
@ -169,16 +191,17 @@
align="center"></el-table-column>
<el-table-column prop="unWorkGridCount"
label="未开通网格"
width="120px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="registerCount"
label="注册用户数"
width="70px"
width="120px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="residentCount"
label="认证居民数"
width="70px"
width="120px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="partyCount"
@ -187,13 +210,13 @@
header-align="center"
align="center"></el-table-column>
<el-table-column prop="unAuthorizedCount"
label="未认证居民数"
width="70px"
label="未认证用户数"
width="120px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="newsCount"
label="新闻发布数"
width="70px"
width="120px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="communityCount"
@ -203,17 +226,17 @@
align="center"></el-table-column>
<el-table-column prop="communityMemberCount"
label="群成员数"
width="70px"
width="120px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="communityTopicCount"
label="群话题数"
width="70px"
width="120px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="eventCount"
label="议题总数"
width="70px"
width="120px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="itemCount"
@ -223,12 +246,12 @@
align="center"></el-table-column>
<el-table-column prop="itemCloseCount"
label="项目已解决数"
width="70px"
width="120px"
header-align="center"
align="center"></el-table-column>
<el-table-column prop="itemPendingCount"
label="项目待解决数"
width="70px"
width="120px"
header-align="center"
align="center">
<template slot-scope="scope">
@ -244,7 +267,7 @@
</el-table>
<template slot="footer">
<el-button type="primary"
@click="totalVisible = false">确定</el-button>
@click= "changeDialog()">确定</el-button>
</template>
</el-dialog>
</div>
@ -265,8 +288,11 @@ export default {
exportURL: '/analysis/user/export/grid0pining'
},
dataForm: {
category: '1'
category: '1',
startTime:'',
endTime:''
},
isAble:false,
time: '',
options: [],
deptIdList: [],
@ -285,7 +311,23 @@ export default {
onLineState: ''
},
totalList: [],
totalVisible: false
totalVisible: false,
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
}
}
},
created () {
@ -303,6 +345,10 @@ export default {
// this.getListCategory()
},
methods: {
changeDialog(){
this.totalVisible = false
this.isAble = false
},
initTime () {
const end = new Date()
const start = new Date()
@ -404,13 +450,9 @@ export default {
this.dataForm.dept = choosenItem.name
this.dataForm.deptId = choosenItem.id
},
setRegistTime () {
console.log(this.time[0])
this.dataForm.startTime = this.time[0]
this.dataForm.endTime = this.time[1]
},
//
getAllCount () {
this.isAble = true
this.$http.get(`/analysis/user/pageGridDataToal`, {
params: {
order: this.order,
@ -421,6 +463,7 @@ export default {
}
}).then(({ data: res }) => {
if (res.code !== 0) {
this.isAble = false
return this.$message.error(res.msg)
}
this.totalList = []

4
src/views/modules/analysis/user/metausergridopining.vue

@ -4,7 +4,7 @@
<div class="mod-__metausergridopining}">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()">
@keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader v-model="deptIdList"
:options="options"
@ -18,7 +18,7 @@
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary"

4
src/views/modules/analysis/user/metauserpartyrank.vue

@ -4,7 +4,7 @@
<div class="mod-__metauserpartyrank}">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()">
@keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader v-model="deptIdList"
:options="options"
@ -18,7 +18,7 @@
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary"

4
src/views/modules/analysis/user/metauserregisterrank.vue

@ -4,7 +4,7 @@
<div class="mod-__metauserregisterrank}">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()">
@keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader v-model="deptIdList"
:options="options"
@ -18,7 +18,7 @@
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary"

124
src/views/modules/analysis/user/party.vue

@ -4,23 +4,13 @@
<div class="mod-news__news}">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()">
@keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader v-model="deptIdList"
:options="options"
:props="{ checkStrictly: true }"
clearable></el-cascader>
</el-form-item>
<br>
<span class="demonstration">提交时间</span>&nbsp;&nbsp;
<el-date-picker @change='setRegistTime'
v-model="time"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker> &nbsp; &nbsp;
<el-form-item label="排序规则">
<el-select v-model="dataForm.category"
clearable
@ -32,17 +22,40 @@
</el-option>
</el-select>
</el-form-item>
<br>
<el-form-item label="提交时间"
prop="startTime">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:250px;"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
label-width="25px"
prop="endTime">
<el-date-picker v-model="dataForm.endTime"
type="date"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:250px;"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button type="success" @click="getDataListSearch()">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary"
@click="exportHandle()">{{ $t('export') }}</el-button>
<el-button type="success" @click="exportHandle()">{{ $t('export') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('news:news:save')"
type="primary"
@click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
<el-button v-if="$hasPermission('news:news:save')" type="primary" @click="addOrUpdateHandle()">{{ $t('add') }}</el-button>
</el-form-item>
<el-form-item>
<el-button v-if="$hasPermission('news:news:delete')"
@ -55,28 +68,32 @@
border
@selection-change="dataListSelectionChangeHandle"
style="width: 100%;">
<el-table-column label="序号"
width="70px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
<el-table-column label="序号" header-align="center" align="center" width="50px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
</el-table-column>
<el-table-column prop="streetName"
label="街道名称"
header-align="center"
align="center"></el-table-column>
align="center"
min-width="150"
show-overflow-tooltip></el-table-column>
<el-table-column prop="partyMemberCount"
label="注册党员数量(已认证)"
header-align="center"
align="center"></el-table-column>
align="center"
width="180"></el-table-column>
<el-table-column prop="oldCount"
label="年龄超过50岁党员数量"
header-align="center"
align="center"></el-table-column>
align="center"
width="180"></el-table-column>
<el-table-column prop=""
label="老龄化比例"
header-align="center"
align="center">
align="center"
width="120">
<template slot-scope="scope">
{{(scope.row.oldPercent*100).toFixed(2)}}%
</template>
@ -84,12 +101,14 @@
<el-table-column prop="youngCount"
label="50岁以下党员数量"
header-align="center"
align="center">
align="center"
width="150">
</el-table-column>
<el-table-column prop=""
label="年轻化比例"
header-align="center"
align="center">
align="center"
width="150">
<template slot-scope="scope">
{{(scope.row.youngPercent*100).toFixed(2)}}%
</template>
@ -98,28 +117,32 @@
prop="maleCount"
label="男"
header-align="center"
align="center"></el-table-column>
align="center"
width="50"></el-table-column>
<el-table-column prop="femaleCount"
label="女"
header-align="center"
align="center"></el-table-column>
align="center"
width="50"></el-table-column>
<el-table-column prop="unknownSexCount"
label="未知性别"
header-align="center"
align="center"></el-table-column>
align="center"
width="80"></el-table-column>
<el-table-column prop="partyAuthFailureCount"
label="党员认证失败数"
header-align="center"
align="center"></el-table-column>
align="center"
width="140"></el-table-column>
</el-table>
<el-pagination :current-page="page"
<!-- <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>
</el-pagination> -->
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible"
ref="addOrUpdate"
@ -129,7 +152,6 @@
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from '../../news/news-add-or-update'
export default {
mixins: [mixinViewModule],
data () {
@ -137,12 +159,13 @@ export default {
mixinViewModuleOptions: {
getDataListURL: '/analysis/user/page/dataRank',
getDataListIsPage: true,
deleteURL: '/news/news',
deleteIsBatch: true,
exportURL: '/analysis/user/export/party'
},
dataForm: {
partyFlag: '1'
partyFlag: '1',
startTime:'',
endTime:''
},
time: '',
options: [],
@ -175,7 +198,23 @@ export default {
onLine: {
id: '',
onLineState: ''
}
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
}
},
created () {
@ -294,11 +333,7 @@ export default {
this.dataForm.dept = choosenItem.name
this.dataForm.deptId = choosenItem.id
},
setRegistTime () {
console.log(this.time[0])
this.dataForm.startTime = this.time[0]
this.dataForm.endTime = this.time[1]
},
// getListCategory () {
// this.$http.get(`/news/newscategory/category/`).then(({ data: res }) => {
// if (res.code !== 0) {
@ -384,9 +419,6 @@ export default {
})
}
},
components: {
AddOrUpdate
},
watch: {
'deptIdList': function (val) {
if (val.length !== 0) {

114
src/views/modules/analysis/user/register.vue

@ -4,23 +4,13 @@
<div class="mod-news__news}">
<el-form :inline="true"
:model="dataForm"
@keyup.enter.native="getDataList()">
@keyup.enter.native="getDataListSearch()">
<el-form-item label="所属机构">
<el-cascader v-model="deptIdList"
:options="options"
:props="{ checkStrictly: true }"
clearable></el-cascader>
</el-form-item>
<br>
<span class="demonstration">提交时间</span>&nbsp;&nbsp;
<el-date-picker @change='setRegistTime'
v-model="time"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker> &nbsp; &nbsp;
<el-form-item label="排序规则">
<el-select v-model="dataForm.category"
clearable
@ -32,11 +22,37 @@
</el-option>
</el-select>
</el-form-item>
<br>
<el-form-item label="提交时间"
prop="startTime">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:250px;"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item label="至"
label-width="25px"
prop="endTime">
<el-date-picker v-model="dataForm.endTime"
type="date"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:250px;"
@change="changeTime">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button @click="getDataList()">{{ $t('query') }}</el-button>
<el-button @click="getDataListSearch()" type="success">{{ $t('query') }}</el-button>
</el-form-item>
<el-form-item>
<el-button type="primary"
<el-button type="success"
@click="exportHandle()">{{ $t('export') }}</el-button>
</el-form-item>
<el-form-item>
@ -55,52 +71,62 @@
border
@selection-change="dataListSelectionChangeHandle"
style="width: 100%;">
<el-table-column label="序号"
width="70px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
<el-table-column label="序号" header-align="center" align="center" width="50px">
<template slot-scope="scope">
{{scope.$index+1}}
</template>
</el-table-column>
<el-table-column prop="streetName"
label="街道"
header-align="center"
align="center"></el-table-column>
align="center"
min-width="200"
show-overflow-tooltip></el-table-column>
<el-table-column prop="userCount"
label="用户总数"
header-align="center"
align="center"></el-table-column>
align="center"
width="120"></el-table-column>
<el-table-column prop="partyMemberCount"
label="党员数"
header-align="center"
align="center"></el-table-column>
align="center"
width="120"></el-table-column>
<el-table-column prop="residentCount"
label="已注册居民"
header-align="center"
align="center"></el-table-column>
align="center"
width="120"></el-table-column>
<el-table-column prop="unAuthorizedCount"
label="未注册居民"
header-align="center"
align="center"></el-table-column>
align="center"
width="120"></el-table-column>
<el-table-column prop="maleCount"
label="男"
header-align="center"
align="center"></el-table-column>
align="center"
width="80"></el-table-column>
<el-table-column prop="femaleCount"
label="女"
header-align="center"
align="center"></el-table-column>
align="center"
width="80"></el-table-column>
<el-table-column prop="unknownSexCount"
label="未知性别"
header-align="center"
align="center"></el-table-column>
align="center"
width="80"></el-table-column>
<el-table-column prop="oldCount"
label="年龄超过50岁"
header-align="center"
align="center"></el-table-column>
align="center"
width="120"></el-table-column>
<el-table-column prop="oldPercent"
label="老龄化比例"
header-align="center"
align="center">
align="center"
width="120">
<template slot-scope="scope">
{{(scope.row.oldPercent*100).toFixed(2)}}%
</template>
@ -108,25 +134,27 @@
<el-table-column prop="youngCount"
label="50岁以下用户数量"
header-align="center"
align="center">
align="center"
width="150">
</el-table-column>
<el-table-column prop="youngPercent"
label="年轻化比例"
header-align="center"
align="center">
align="center"
width="120">
<template slot-scope="scope">
{{(scope.row.youngPercent*100).toFixed(2)}}%
</template>
</el-table-column>
</el-table>
<el-pagination :current-page="page"
<!-- <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>
</el-pagination> -->
<!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible"
ref="addOrUpdate"
@ -160,7 +188,9 @@ export default {
newsCount: '',
noticeCount: '',
partyCount: '',
registerCount: ''
registerCount: '',
startTime:'',
endTime:''
},
time: '',
options: [],
@ -193,7 +223,23 @@ export default {
onLine: {
id: '',
onLineState: ''
}
},
pickerBeginDateBefore: {
disabledDate: (time) => {
let beginDateVal = this.dataForm.endTime
if (beginDateVal) {
return time.getTime() > new Date(beginDateVal + ' 00:00:00').getTime()
}
}
},
pickerBeginDateAfter: {
disabledDate: (time) => {
let EndDateVal = this.dataForm.startTime
if (EndDateVal) {
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
}
}
},
}
},
created () {

Loading…
Cancel
Save