0) {
+ if (childs[i].subCategory) {
+ if (childs[i].subCategory.length) {
+ this.filterTree(childs[i].subCategory)
+ } else {
+ delete childs[i].subCategory
+ }
+ }
+ }
+ return arr
+ },
async getReplayInfo () {
this.okflag = false
this.$refs["ref_form1"].validate((valid, messageObj) => {
@@ -98,11 +176,20 @@ export default {
app.util.validateRule(messageObj);
} else {
+
if (this.status) {
+
+ if (!this.selCateObj || !this.selCateObj.id) {
+ this.$message.info("请填写事件分类");
+ return false
+ }
this.formData.status = 'closed_case'
} else {
this.formData.status = 'processing'
}
+ this.formData.categoryId = this.selCateObj.id
+ this.formData.categoryList = []
+ this.formData.categoryList.push(this.selCateObj)
this.okflag = true
}
diff --git a/src/views/modules/shequzhili/event/cpts/process-form.vue b/src/views/modules/shequzhili/event/cpts/process-form.vue
index 6ab88929e..8adf8fc14 100644
--- a/src/views/modules/shequzhili/event/cpts/process-form.vue
+++ b/src/views/modules/shequzhili/event/cpts/process-form.vue
@@ -6,26 +6,14 @@
:inline="false"
:rules="dataRule"
class="form">
-
-
-
+
回复
立项
- 转需求
+ 转服务
@@ -70,24 +58,20 @@ export default {
data () {
return {
-
casOptions: [],
iscascaderShow: 0,
- selCategoryArray: [
-
- ],
+ selCategoryArray: [],
selCateObj: {},
optionProps: {
multiple: false,
value: 'id',
label: 'name',
children: 'subCategory',
-
},
- operationType: '0',
+ operationType: '',
+
- categoryList: [],
replayInfo: {},
demand: {},
project: {},
@@ -105,9 +89,7 @@ export default {
computed: {
dataRule () {
return {
- categoryList: [
- { required: true, message: "分类不能为空", trigger: "blur" },
- ],
+
operationType: [
{ required: true, message: "处理方式不能为空", trigger: "blur" },
],
@@ -149,117 +131,39 @@ export default {
async mounted () {
const { user } = this.$store.state
this.agencyId = user.agencyId
- await this.getCategoryList()
+
if (this.eventId) {
this.eventDetailCopy = JSON.parse(JSON.stringify(this.eventDetailData));
- if (this.eventDetailCopy.parentCategoryId && this.eventDetailCopy.categoryId) {
- this.selCategoryArray = []
- this.selCategoryArray.push(this.eventDetailCopy.parentCategoryId)
- this.selCategoryArray.push(this.eventDetailCopy.categoryId)
-
- this.selCateObj = {
- name: this.eventDetailCopy.categoryName,
- id: this.eventDetailCopy.categoryId
- }
- }
- }
-
+ }
},
methods: {
-
-
- async getCategoryList () {
- const url = "/gov/issue/issueprojectcategorydict/list"
-
- let params = {}
-
- const { data, code, msg } = await requestPost(url, params)
-
- if (code === 0) {
-
- let treeDataNew = this.filterTree(data)
-
- //组织级联数据
- ++this.iscascaderShow
- this.casOptions = []
-
-
- this.casOptions = treeDataNew
-
- } else {
- this.$message.error(msg)
- }
-
- },
-
- handleChangeCate () {
- console.log(this.$refs["myCascader"].getCheckedNodes()[0].data)
- this.selCateObj = this.$refs["myCascader"].getCheckedNodes()[0].data
-
- },
-
- //重构树,去除网格
- filterTree (arr) {
- let childs = arr
- for (let i = childs.length; i--; i > 0) {
- if (childs[i].subCategory) {
- if (childs[i].subCategory.length) {
- this.filterTree(childs[i].subCategory)
- } else {
- delete childs[i].subCategory
- }
- }
- }
- return arr
- },
-
async getProcessInfo () {
-
this.okflag = false
- if (this.selCategoryArray.length === 0) {
- this.$message({
- type: "error",
- message: "请选择分类",
- });
-
- this.okflag = false
- return false
- }
- this.categoryList = []
-
- this.categoryList.push(this.selCategoryArray[1])
+ // this.categoryList = []
+ // this.categoryList.push(this.selCategoryArray[1])
if (this.operationType === '0') {
this.$refs.ref_process_form_replay.getReplayInfo()
if (this.$refs.ref_process_form_replay.okflag) {
-
this.replayInfo = this.$refs.ref_process_form_replay.formData
- this.replayInfo.categoryId = this.categoryList[0]
- this.replayInfo.categoryList = this.categoryList
-
this.okflag = true
} else {
return false
}
-
} else if (this.operationType === '1') {
this.$refs.ref_process_form_project.getProjectInfo()
if (this.$refs.ref_process_form_project.okflag) {
this.project = this.$refs.ref_process_form_project.formData
- this.project.categoryList = []
- this.project.categoryList.push(this.selCateObj)
-
-
//赋值分类信息
this.okflag = true
diff --git a/src/views/modules/shequzhili/event/eventList.vue b/src/views/modules/shequzhili/event/eventList.vue
index ef7066da7..c35141f1a 100644
--- a/src/views/modules/shequzhili/event/eventList.vue
+++ b/src/views/modules/shequzhili/event/eventList.vue
@@ -436,8 +436,8 @@ export default {
computed: {
maxTableHeight () {
return this.$store.state.inIframe
- ? this.clientHeight - 400 + this.iframeHeigh
- : this.clientHeight - 400;
+ ? this.clientHeight - 410 + this.iframeHeigh
+ : this.clientHeight - 410;
},
...mapGetters(["clientHeight", "iframeHeight"]),
},
diff --git a/src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanfuwufenxi.vue b/src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanfuwufenxi.vue
index 200593006..6ed17014a 100644
--- a/src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanfuwufenxi.vue
+++ b/src/views/modules/visual/communityGovern/duoyuanfuwu/duoyuanfuwufenxi.vue
@@ -105,6 +105,15 @@ import nextTick from 'dai-js/tools/nextTick'
const transparent = 'rgba(2, 2, 2, 0)'
const polygonColorArray = [ '#f59701', '#0067b6', '#e70014', '#8fc41e', '#00a1be' ]
const colorArray = [ '#1B51FF', '#00E5ED', '#7800FF', '#16D783', '#FF7800', '#FFBA00', '#FFD685', '#2A00FF', '#C600FF', '#FF2A00']
+const legendList = [
+ { name: '#e70014', icon: require('../../../../../assets/img/shuju/volunteer4.png') },
+ { name: '#f59701', icon: require('../../../../../assets/img/shuju/volunteer5.png') },
+ { name: '#8fc41e', icon: require('../../../../../assets/img/shuju/volunteer7.png') },
+ { name: '#00a1be', icon: require('../../../../../assets/img/shuju/volunteer8.png') },
+ { name: '#0067b6', icon: require('../../../../../assets/img/shuju/volunteer9.png') },
+ { name: '', icon: require('../../../../../assets/img/shuju/volunteer1.png') }
+]
+const defaultLegendIcon = require('../../../../../assets/img/shuju/volunteer1.png')
export default {
name: "duoyuanfuwufenxi",
data () {
@@ -142,7 +151,8 @@ export default {
list: [],
pageSize: 10,
pageNo: 1,
- total: 0
+ total: 0,
+ categoryCode: ''
},
// 地图相关数据
isfirstInit: true, // 记录是否是首次加载地图
@@ -150,11 +160,11 @@ export default {
distributionsList: [],
legendArray: [],
iconUrlArray: [
- require('../../../../../assets/img/shuju/volunteer9.png'), // 其他
require('../../../../../assets/img/shuju/volunteer4.png'), // 文化队伍
+ require('../../../../../assets/img/shuju/volunteer5.png'), // 楼委会
require('../../../../../assets/img/shuju/volunteer7.png'), // 老友俱乐部
require('../../../../../assets/img/shuju/volunteer8.png'), // 治安巡逻
- require('../../../../../assets/img/shuju/volunteer5.png'), // 楼委会
+ require('../../../../../assets/img/shuju/volunteer9.png'), // 其他
require('../../../../../assets/img/shuju/volunteer1.png'), // 采集员
require('../../../../../assets/img/shuju/volunteer2.png'), // 代办员
require('../../../../../assets/img/shuju/volunteer3.png'), // 能人达人
@@ -217,10 +227,10 @@ export default {
},
// 加载列表数据
- async getTable (categoryCode = '') {
+ async getTable () {
const url = "/heart/iccommunityselforganization/category-list"
const params = {
- categoryCode: categoryCode,
+ categoryCode: this.categoryCode,
pageNo: this.demand.pageNo,
pageSize: this.demand.pageSize
}
@@ -278,18 +288,18 @@ export default {
this.pieData.forEach((item, index) => {
this.pieTotal = this.pieTotal + item.value
- if (item.value > maxValue) {
- maxValue = item.value
- maxIndex = index
- item.selected = true
- } else if (index !== 0) {
- item.selected = false
- }
+ // if (item.value > maxValue) {
+ // maxValue = item.value
+ // maxIndex = index
+ // item.selected = true
+ // } else if (index !== 0) {
+ // item.selected = false
+ // }
})
this.pieOption.title.text = this.pieTotal
- this.clickPie(maxIndex)
+ this.clickPie() // this.clickPie(maxIndex)
let fun = function (params) {
_that.clickPie(params.dataIndex)
@@ -309,7 +319,10 @@ export default {
opacity: 1,
}
}
- this.getTable(element.code)
+ this.categoryCode = element.code
+ this.demand.pageNo = 1
+ this.getTable()
+ this.getMapData()
} else {
element.label = {
show: false,
@@ -367,27 +380,58 @@ export default {
this.$message.error(msg)
}
},
+ getLegendIcon (color) {
+ let icon = ''
+ legendList.forEach(item => {
+ if (item.name == color) {
+ icon = item.icon
+ }
+ })
+ if (!icon) {
+ icon = defaultLegendIcon
+ }
+ return icon
+ },
+ getLegendIconIndex (color) {
+ let iconIndex = 0
+ this.iconUrlList.forEach((item, index) => {
+ if (color == item.color) {
+ iconIndex = index
+ }
+ })
+ return iconIndex
+ },
async getMapData () {
+ this.legendArray = []
this.pieData.forEach((item, index) => {
let ob = {
optionValue: item.code,
optionLabel: item.name,
- url: index < this.iconUrlArray.length ? this.iconUrlArray[index] : this.iconUrlArray[0]
+ url: this.getLegendIcon(item.color)
}
this.legendArray.push(ob)
})
const url = '/heart/iccommunityselforganization/coordinate-list'
const params = {
- categoryCode: ''
+ categoryCode: this.categoryCode
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
+ if (this.isfirstInit) {
+ this.iconUrlArray = []
+ this.iconUrlList = []
+ data.list.forEach(item => {
+ this.iconUrlArray.push(this.getLegendIcon(item.color))
+ this.iconUrlList.push(item)
+ })
+ }
+ this.distributionsList = []
data.list.forEach((item, index) => {
- item.urlIndex = index < this.iconUrlArray.length ? index : 0
- if (index === 0) {
- item.latitude = "36.07394505338441"
- item.longitude = "120.3868167667315"
- }
+ item.urlIndex = this.getLegendIconIndex(item.color)
+ // if (index === 0) {
+ // item.latitude = "36.07394505338441"
+ // item.longitude = "120.3868167667315"
+ // }
this.distributionsList.push(item)
})
// this.distributionsList = data.list
diff --git a/src/views/modules/visual/communityGovern/shijianchuli/event-info.vue b/src/views/modules/visual/communityGovern/shijianchuli/event-info.vue
index 6adb7112b..d2cf26951 100644
--- a/src/views/modules/visual/communityGovern/shijianchuli/event-info.vue
+++ b/src/views/modules/visual/communityGovern/shijianchuli/event-info.vue
@@ -146,6 +146,7 @@
:userTag="'(报事人)'"
:singleList="yanPan.singleList"
:hasEvent="yanPan.hasEvent"
+ :bcLimit="yanPan.resiReportEventCount"
@user="toUserInfo" />
diff --git a/src/views/modules/visual/communityGovern/shijianfenlei/shijianfenleifenxi.vue b/src/views/modules/visual/communityGovern/shijianfenlei/shijianfenleifenxi.vue
index 2d0b70253..626673f04 100644
--- a/src/views/modules/visual/communityGovern/shijianfenlei/shijianfenleifenxi.vue
+++ b/src/views/modules/visual/communityGovern/shijianfenlei/shijianfenleifenxi.vue
@@ -240,9 +240,7 @@ export default {
categoryCode: '',
tableOrgId: '',
eventId: '',
- processStatus: '',
- isFirstLoadPie: true, // 首次加载显示全部数据,无联动
- isFirstLoadTable: true, // 首次加载显示全部数据,无联动
+ processStatus: ''
}
},
// mixins: [animate]
@@ -261,12 +259,6 @@ export default {
// 获取服务器数据
await this.handleChangeDate(this.dataType)
- if (this.isFirstLoadPie) {
- await this.getGridPieData()
- }
- if (this.isFirstLoadTable) {
- await this.getTable()
- }
this.dataLoading = false
},
@@ -364,7 +356,6 @@ export default {
this.$refs.pieChart.hideLoading()
}
if (code === 0) {
- this.categoryCode = data[0].categoryCode
this.pieData = []
data.forEach((item, index) => {
let ob = {
@@ -395,7 +386,7 @@ export default {
orgType: this.orgType,
queryStartTime: this.queryStartTime,
queryEndTime: this.queryEndTime,
- categoryCode: this.isFirstLoadPie ? '' : this.categoryCode
+ categoryCode: this.categoryCode
}
const { data, code, msg } = await requestPost(url, params)
if (this.$refs.gridPieChart) {
@@ -429,7 +420,7 @@ export default {
queryStartTime: this.queryStartTime,
queryEndTime: this.queryEndTime,
processStatus: this.processStatus, // 处理状态,processing,closed_case。可为空,为空查询所有状态的事件列表
- categoryCode: this.isFirstLoadTable ? '' : this.categoryCode,
+ categoryCode: this.categoryCode,
pageNo: this.demand.pageNo,
pageSize: this.demand.pageSize,
}
@@ -496,18 +487,18 @@ export default {
this.pieData.forEach((item, index) => {
this.pieTotal = this.pieTotal + item.value
- if (item.value > maxValue) {
- maxValue = item.value
- maxIndex = index
- item.selected = true
- } else if (index !== 0) {
- item.selected = false
- }
+ // if (item.value > maxValue) {
+ // maxValue = item.value
+ // maxIndex = index
+ // item.selected = true
+ // } else if (index !== 0) {
+ // item.selected = false
+ // }
})
this.pieOption.title.text = this.pieTotal
- this.clickPie(maxIndex)
+ this.clickPie() // this.clickPie(maxIndex)
let fun = function (params) {
_that.clickPie(params.dataIndex)
@@ -545,11 +536,9 @@ export default {
this.pieOption.series[1].data = this.pieData
// this.$refs.pieChart.hideLoading()
this.$refs.pieChart.setOption(this.pieOption)
- if (!this.isFirstLoadPie) {
- this.tableOrgId = ''
- this.demand.pageNo = 1
- this.getGridPieData()
- }
+ this.tableOrgId = ''
+ this.demand.pageNo = 1
+ this.getGridPieData()
},
@@ -579,19 +568,19 @@ export default {
this.gridPieData.forEach((item, index) => {
this.gridPieTotal = this.gridPieTotal + item.value
- if (item.value > maxValue) {
- maxValue = item.value
- maxIndex = index
- item.selected = true
- } else if (index !== 0) {
- item.selected = false
- }
+ // if (item.value > maxValue) {
+ // maxValue = item.value
+ // maxIndex = index
+ // item.selected = true
+ // } else if (index !== 0) {
+ // item.selected = false
+ // }
})
this.gridPieOption.title.text = this.gridPieTotal
// this.gridPieOption.legend.bottom = 50
- this.clickGridPie(maxIndex)
+ this.clickGridPie() // this.clickGridPie(maxIndex)
let fun = function (params) {
_that.clickGridPie(params.dataIndex)
@@ -629,12 +618,8 @@ export default {
this.gridPieOption.series[1].data = this.gridPieData
// this.$refs.pieChart.hideLoading()
this.$refs.gridPieChart.setOption(this.gridPieOption)
- if (!this.isFirstLoadTable) {
- this.demand.pageNo = 1
- this.getTable()
- }
- this.isFirstLoadPie = false
- this.isFirstLoadTable = false
+ this.demand.pageNo = 1
+ this.getTable()
},
handleChangeAgency (value) {
diff --git a/src/views/modules/visual/cpts/analyse.vue b/src/views/modules/visual/cpts/analyse.vue
index 5c4af5d53..84ee80068 100644
--- a/src/views/modules/visual/cpts/analyse.vue
+++ b/src/views/modules/visual/cpts/analyse.vue
@@ -19,8 +19,28 @@
-
-
{{userName}}
+
+
{{userName}}
+
{{userTag}}
+
+
+
{{userName}}
+
{{userTag}}
+
+
+
{{userName}}
+
{{userTag}}
+
+
+
{{userName}}
{{userTag}}
@@ -265,6 +285,14 @@ export default {
type: String,
default: '案件居民'
},
+ isUserClick: { //中间报事人是否能点击
+ type: Boolean,
+ default: false
+ },
+ bcLimit: { //中间报事人的背景颜色限制
+ type: Number,
+ default: 1
+ },
singleList: Array, // 默认,必传 单个来源或多个来源
},
@@ -306,6 +334,12 @@ export default {
handleUser (item) {
this.$emit('user', item)
},
+ handleMidderUser (id) {
+ if (this.isUserClick) {
+ this.$emit('toMiddleUserInfo', id)
+ }
+
+ },
handleShow (item) {
item.showItem = !item.showItem
}
@@ -385,6 +419,19 @@ export default {
}
}
+ .analys-person-orange {
+ background: url("../../../../assets/img/shuju/measure/zhuhu_orange.png")
+ no-repeat center;
+ }
+ .analys-person-yellow {
+ background: url("../../../../assets/img/shuju/measure/zhuhu_yellow.png")
+ no-repeat center;
+ }
+ .analys-person-red {
+ background: url("../../../../assets/img/shuju/measure/zhuhu_red.png")
+ no-repeat center;
+ }
+
.analys-cate {
display: flex;
flex-direction: column;