diff --git a/src/views/modules/visual/communityGovern/shijianchuli/event-info.vue b/src/views/modules/visual/communityGovern/shijianchuli/event-info.vue new file mode 100644 index 00000000..d9107f46 --- /dev/null +++ b/src/views/modules/visual/communityGovern/shijianchuli/event-info.vue @@ -0,0 +1,395 @@ + + + + + diff --git a/src/views/modules/visual/communityGovern/shijianchuli/pieOption.js b/src/views/modules/visual/communityGovern/shijianchuli/pieOption.js index b86fc0e9..1a64a0e0 100644 --- a/src/views/modules/visual/communityGovern/shijianchuli/pieOption.js +++ b/src/views/modules/visual/communityGovern/shijianchuli/pieOption.js @@ -89,7 +89,7 @@ const center= ['50%', '200px'] position: 'outside', alignTo: 'edge', // formatter: '{a|{c}}\n\n{name|{b}}', - formatter: '{a|{c}}\n{r|}\n{name|{b}}', + formatter: '{a|{c}%}\n{r|}\n{name|{b}}', minMargin: 5, edgeDistance: 1, lineHeight: 15, diff --git a/src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi.vue b/src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi.vue index 9bca5d81..21dc566e 100644 --- a/src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi.vue +++ b/src/views/modules/visual/communityGovern/shijianchuli/shijianchulifenxi.vue @@ -23,7 +23,7 @@ :key="item.value" :label="item.label" :value="item.value" - @click.native="handleChangeState(index)"> + @click.native="handleChangeDate(index)"> @@ -61,10 +61,10 @@ :key="index">
{{item.name}}
-
+
@@ -99,7 +99,7 @@ :loading="demand.loading" :header="demand.header" :list="demand.list" - @operate="toIssueInfo"> + @operate="toEventInfo">
@@ -115,6 +115,10 @@
+ + @@ -127,6 +131,7 @@ import screenEchartsFrame from "@/views/modules/visual/components/screen-echarts import ScreenLoading from "@/views/modules/visual/components/screen-loading"; import ScreenNodata from "@/views/modules/visual/components/screen-nodata"; +import eventInfo from "./event-info"; import { pieOption } from './pieOption.js' import { lineOption } from './lineOption.js' @@ -143,8 +148,8 @@ export default { isfirstInit: true,//记录地图是否第一次加载 projectTotal: 0, - dateIncr: 0, - monthIncr: 0, + processingCount: 0, + processingRatio: 0, lineChart: '', lineOption: {}, @@ -158,8 +163,8 @@ export default { pieChart: '', pieOption: {}, pieInitState: false, - pieTotal: 0, - colorArray: [], + + pieData: [], legendArray: [ @@ -178,10 +183,13 @@ export default { ], timeRange: [], - agencyId: '', - dataType: '5', - agencyInfo: {}, + orgId: '', + orgType: '', + queryStartTime: '', + queryEndTime: '', + processStatus: 'closed_case', + dataType: '5', casOptions: [], agencyIdArray: [], @@ -263,6 +271,9 @@ export default { total: 0, }, + showProject: false, + eventId: '', + }; }, // mixins: [animate] @@ -298,7 +309,25 @@ export default { }, - async handleChangeState (index) { + async handleChangeDate (index) { + const end = new Date(); + let start = new Date(); + if (index === '1') {//近一年 + start.setTime(start.getTime() - 3600 * 1000 * 24 * 365); + + } else if (index === '2') {//近一个月 + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); + + } else if (index === '3') {//近三个月 + start.setTime(start.getTime() - 3600 * 1000 * 24 * 91); + + } else if (index === '4') {//近半年 + start.setTime(start.getTime() - 3600 * 1000 * 24 * 183); + } + if (index != '5') { + this.queryStartTime = start + this.queryEndTime = end + } await this.getApiData() this.assignPieChart() @@ -325,17 +354,7 @@ export default { const { data, code, msg } = await requestPost(url, params); if (code === 0) { - this.agencyInfo = data - this.agencyId = this.agencyInfo.agencyId - if (!this.agencyInfo.latitude) { - this.agencyInfo.latitude = 36.072227 - } - if (!this.agencyInfo.longitude) { - this.agencyInfo.longitude = 120.389455 - } - if (!this.agencyInfo.level) { - this.agencyInfo.level = 'street' - } + this.orgId = data.agencyId //组织级联数据 ++this.iscascaderShow @@ -344,7 +363,7 @@ export default { if (data) { this.casOptions.push(data) - this.agencyIdArray.push(this.agencyId) + this.agencyIdArray.push(this.orgId) } } else { @@ -360,11 +379,13 @@ export default { this.$refs.pieChart.clear() } - const url = "/data/aggregator/project/projecttotal"; - // const url = "http://yapi.elinkservice.cn/mock/245/data/aggregator/project/projecttotal"; + // const url = "/gov/project/icEvent/processAnalysis/processStatusRatio"; + const url = "http://yapi.elinkservice.cn/mock/245/api/gov/project/icEvent/processAnalysis/processStatusRatio"; let params = { - agencyId: this.agencyId, - dateId: this.dateIdShow, + orgId: this.orgId, + orgType: this.orgType, + queryStartTime: this.queryStartTime, + queryEndTime: this.queryEndTime, }; const { data, code, msg } = await requestPost(url, params); @@ -372,18 +393,17 @@ export default { this.$refs.pieChart.hideLoading() } if (code === 0) { - this.projectTotal = data.projectTotal - this.dateIncr = data.dateIncr - this.monthIncr = data.monthIncr + this.projectTotal = 99999 + this.legendArray = [ { - name: '未结案', + name: '已完成', count: data.pendingTotal, percent: data.pendingRatio, url: require('@/assets/img/shuju/measure/huang@2x.png') }, { - name: '已结案', + name: '处理中', count: data.closedTotal, percent: data.closedRatio, url: require('@/assets/img/shuju/measure/lv@2x.png') @@ -391,14 +411,15 @@ export default { ] this.pieData = [ + { - name: "未结案", - value: data.pendingTotal, + name: "已完成", + value: 90, }, { - name: "已结案", - value: data.closedTotal, - } + name: "处理中", + value: 45, + }, ] } else { @@ -408,12 +429,14 @@ export default { //加载组织数据 async getTable () { - const url = "/gov/issue/issue/resibuzz"; - // const url = "http://yapi.elinkservice.cn/mock/245/gov/issue/issue/resibuzz"; + // const url = "/gov/project/icEvent/processAnalysis/eventList"; + const url = "http://yapi.elinkservice.cn/mock/245/api/gov/project/icEvent/processAnalysis/eventList"; let params = { - status: 'pending', + processStatus: this.processStatus, orgId: this.orgId, orgType: this.orgType, + queryStartTime: this.queryStartTime, + queryEndTime: this.queryEndTime, pageNo: this.demand.pageNo, pageSize: this.demand.pageSize, }; @@ -425,18 +448,16 @@ export default { this.demand.total = data.total; this.tableList = data.list - this.demand.list = data.list.map((item) => { + this.demand.list = data.list.map((item, index) => { return [ - item.sort ? item.sort : '--', - item.issueTitle ? item.issueTitle : '', - item.suggestion ? item.suggestion : '', - item.categoryName.join(','), - item.status ? item.status : '', - item.createdTime ? item.createdTime : '', - item.issueOriginator ? item.issueOriginator : '', - item.voteAccount ? item.voteAccount : '', - item.supportCount ? item.supportCount : 0, - item.oppositionCount ? item.oppositionCount : 0, + index + 1, + item.gridName ? item.gridName : '', + item.eventContent ? item.eventContent : '', + item.sourceTypeName ? item.sourceTypeName : '', + item.reportUserName ? item.reportUserName : '', + item.mobile ? item.mobile : 'processing', + item.status ? item.status === 'closed_case' ? '已完成' : '处理中' : '', + { type: "operate", list: ["查看"] }, ]; }); @@ -451,10 +472,11 @@ export default { }, - async toIssueInfo (index) { + toEventInfo (index) { const { tableList } = this; - this.issueId = tableList[index].issueId - this.showIssue = true + this.eventId = tableList[index].eventId + + this.showProject = true }, @@ -484,11 +506,13 @@ export default { } const _that = this // this.$refs.pieChart.showLoading() - const url = "/data/aggregator/project/projectmonthincr"; - // const url = "http://yapi.elinkservice.cn/mock/245/data/aggregator/project/projectmonthincr"; + // const url = "/gov/project/icEvent/processAnalysis/monthlyIncrement"; + const url = "http://yapi.elinkservice.cn/mock/245/api/gov/project/icEvent/processAnalysis/monthlyIncrement"; let params = { - agencyId: this.agencyId, - dateId: this.dateIdShow, + orgId: this.orgId, + orgType: this.orgType, + queryStartTime: this.queryStartTime, + queryEndTime: this.queryEndTime, }; const { data, code, msg } = await requestPost(url, params); @@ -501,8 +525,8 @@ export default { if (data && data.length > 0) { this.lineNoData = false data.forEach(item => { - this.lineXaxis.push(item.type) - this.lineSeriesData.push(item.value) + this.lineXaxis.push(item.monthName) + this.lineSeriesData.push(item.increment) }); this.lineData = data @@ -546,26 +570,17 @@ export default { // 获取饼状图 async assignPieChart () { - this.pieTotal = 0 let maxIndex = 0 - let maxValue = this.pieData[0].value + const _that = this // 获取pieChart配置 this.pieOption = pieOption(this.pieChartS) - 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 - } - }); + this.pieData[0].selected = true + this.pieData[1].selected = false - this.pieOption.title.text = this.pieTotal + this.pieOption.title.text = this.projectTotal this.clickPie(maxIndex) @@ -577,6 +592,12 @@ export default { }, clickPie (seriesIndex) { + if (seriesIndex === 0) { + this.processStatus = 'closed_case' + } else { + this.processStatus = 'processing' + } + this.pieData.forEach((element, index) => { if (index === seriesIndex) { element.label = { @@ -606,12 +627,13 @@ export default { } }); this.pieOption.series[1].data = this.pieData + this.demand.pageNo = 0 + this.getTable() + // this.$refs.pieChart.hideLoading() this.$refs.pieChart.setOption(this.pieOption) }, - - handleChangeAgency (value) { let orgArray = [] @@ -627,12 +649,6 @@ export default { this.getApiData() - - - // this.agencyName = this.$refs["myCascader"].getCheckedNodes()[0].label - // this.agencyId = this.agencyIdArray.length > 0 ? this.agencyIdArray[this.agencyIdArray.length - 1] : '' - // this.getApiData() - // console.log(this.agencyIdArray) }, //初始化时间 @@ -645,9 +661,6 @@ export default { this.dateIdShow = y + '-' + m + '-' + d; }, - toUserInfo (uid) { - this.$router.push({ path: `/main-shuju/visual-basicinfo-people/${uid}` }); - }, }, props: { uid: { @@ -663,7 +676,7 @@ export default { cptCard, cptTb, screenEchartsFrame, - + eventInfo, ScreenLoading, ScreenNodata },