diff --git a/src/api/hulianApi.js b/src/api/hulianApi.js index ce779ff..97539ad 100644 --- a/src/api/hulianApi.js +++ b/src/api/hulianApi.js @@ -147,5 +147,21 @@ export function getScreenUserList(data) { params: data }) } - - +//地图-微网格列表 gridId=1224135071215190018 +export function getSearchByGridId(data) { + return request({ + baseURL, + url: '/gov/org/customerMicroGrid/screen/searchByGridId', + method: 'GET', + params: data + }) +} +//地图-微网格详情 microGridId=1727515722002432002 +export function getSearchByGridIdDetail(data) { + return request({ + baseURL, + url: '/gov/org/customerMicroGrid/screen/detail', + method: 'GET', + params: data + }) +} diff --git a/src/assets/images/map/yellow.png b/src/assets/images/map/yellow.png new file mode 100644 index 0000000..25b2ca6 Binary files /dev/null and b/src/assets/images/map/yellow.png differ diff --git a/src/views/screenCenter/maoCopy.vue b/src/views/screenCenter/maoCopy.vue new file mode 100644 index 0000000..ef191b5 --- /dev/null +++ b/src/views/screenCenter/maoCopy.vue @@ -0,0 +1,987 @@ + + + + + \ No newline at end of file diff --git a/src/views/screenCenter/screenCenter.vue b/src/views/screenCenter/screenCenter.vue index bb73fbf..3a93f1f 100644 --- a/src/views/screenCenter/screenCenter.vue +++ b/src/views/screenCenter/screenCenter.vue @@ -16,27 +16,24 @@
-
-
- -
-
- 微网格信息 + style="position: absolute;right:1200px;bottom:394px;z-index: 100;padding:6px 20px 20px 0;font-size: 21px;color: #fff;height: 310px;display: flex;flex-direction: column;justify-content:space-around; align-items: center;background: rgba(0, 27, 37, 0.83);overflow: hidden;"> +
+
+ 微网格信息
x
-
- +
+ - {{ item.label }} + {{ item.microgridName }}
> @@ -44,67 +41,79 @@
+ style="position: absolute;right: 609px;bottom: 250px;z-index: 100;padding:20px;font-size: 20px;color: #fff;height: 500px;width: 550px;display: flex;flex-direction: column; box-sizing:border-box" + class="imageBg">
-
-
- {{ microgridObj.firstTitle || "--" }} +
+
+ {{ microgridObj.microgridName || "--" }}
x
-
+
- 微网格长:{{ microgridObj.leader }} + 描述范围: {{ microgridObj.address }}
-
- 性别:{{ microgridObj.gender }} +
+
+ 楼座数(层数){{ microgridObj.buildingNum || 0 }} +
+
+ 居民户数:{{ microgridObj.houseNum || 0 }} +
+
+ 居民人数:{{ microgridObj.resiNum || 0 }} +
+
+ 党员人数:{{ microgridObj.dangyuanNum || 0 }} +
-
- 电话:{{ microgridObj.phone }} -
-
- 住址:{{ microgridObj.address }} -
-
+
-
-
- {{ microgridObj.secondTitle || "--" }} +
+
+ 微网格力量
- 总数:{{ microgridObj.total || "--" }}户
-
- - {{ item.value }} - - - {{ item.label }} - + style="width: 484px;overflow-x: clip; text-overflow:ellipsis;white-space: nowrap;padding: 0 20px;box-sizing: border-box;"> +
+
党小组组长: --
+
楼组长: --
+
公益岗: --
+
街道包联干部: --
+
社区包联干部: --
-
- - -
-
人员信息 x
+
+
全部
+ +
+ 党员({{ dyTotal ||0 }})
+
公益岗(0 + ) +
+
先锋队伍(0 + ) +
+
红色合伙人(0 + ) +
+
+ style="width: 531px;display: flex;align-items: center;justify-content:center;height: 350px;"> 暂无数据~
@@ -176,7 +185,7 @@ import shibeiJson from './shibei.json'; import shibeiJson1 from './shibei1.json'; import maskJson from './markerJson.json'; -import { getScreenHouseStatistics, getScreenUserStatistics, getScreenHouseList, getScreenUserList } from "../../api/hulianApi" +import { getScreenHouseStatistics, getScreenUserStatistics, getScreenHouseList, getScreenUserList, getSearchByGridId, getSearchByGridIdDetail } from "../../api/hulianApi" const md5 = require('blueimp-md5'); let myMap; @@ -200,7 +209,6 @@ export default { name: "screen-center", data() { return { - colorList: ["#F84E2D", "#1372EC", "#44DEA3", "#FFC544", "#6C44FF"], attrAndColor: [], hoveredStateId: null, @@ -224,214 +232,10 @@ export default { layersIndex: 1, showFirst: false, showMicrogridDetails: false, - microgridArr: [ - { - value: 1, - label: "第一微网格" - }, - { - value: 2, - label: "第二微网格" - }, - { - value: 3, - label: "第三微网格" - }, - { - value: 4, - label: "第四微网格" - }, - { - value: 5, - label: "第五微网格" - }, - { - value: 6, - label: "第六微网格" - }, - ], + microgridArr: [], microgridIndex: 0, microgridObj: { - firstTitle: "", - leader: "张俊凯", - gender: "男", - phone: "15623523200", - address: "市北区", - secondTitle: "包干房屋", - total: 37, - list: [ - { - value: 1, - label: "市北区台柳路12号4单元101" - }, - { - value: 2, - label: "市北区敦化路53号4号楼2单元202" - }, - { - value: 3, - label: "市北区山东路168号时代国际广场1402号" - }, - { - value: 4, - label: "市北区山东路120号玫瑰花园6号楼3单元506" - }, - { - value: 5, - label: "市北区南宁路32号2单元501" - }, - { - value: 6, - label: "市北区台柳路12号4单元101" - }, - { - value: 7, - label: "市北区台柳路12号4单元101" - }, - { - value: 8, - label: "市北区台柳路12号4单元101" - }, - { - value: 9, - label: "市北区台柳路12号4单元101" - }, - { - value: 10, - label: "市北区台柳路12号4单元101" - }, - { - value: 11, - label: "市北区台柳路12号4单元101" - }, - { - value: 12, - label: "市北区台柳路12号4单元101" - }, - { - value: 13, - label: "市北区台柳路12号4单元101" - }, - { - value: 14, - label: "市北区台柳路12号4单元101" - }, - { - value: 15, - label: "市北区台柳路12号4单元101" - }, - { - value: 16, - label: "市北区台柳路12号4单元101" - }, - { - value: 17, - label: "市北区台柳路12号4单元101" - }, - { - value: 18, - label: "市北区台柳路12号4单元101" - }, - { - value: 19, - label: "市北区台柳路12号4单元101" - }, - { - value: 20, - label: "市北区台柳路12号4单元101" - }, - ] - }, - microgridObjCopy: { - firstTitle: "", - leader: "张俊凯", - gender: "男", - phone: "15623523200", - address: "市北区", - secondTitle: "包干房屋", - total: 37, - list: [ - { - value: 1, - label: "市北区台柳路12号4单元101" - }, - { - value: 2, - label: "市北区敦化路53号4号楼2单元202" - }, - { - value: 3, - label: "市北区山东路168号时代国际广场1402号" - }, - { - value: 4, - label: "市北区山东路120号玫瑰花园6号楼3单元506" - }, - { - value: 5, - label: "市北区南宁路32号2单元501" - }, - { - value: 6, - label: "市北区台柳路12号4单元101" - }, - { - value: 7, - label: "市北区台柳路12号4单元101" - }, - { - value: 8, - label: "市北区台柳路12号4单元101" - }, - { - value: 9, - label: "市北区台柳路12号4单元101" - }, - { - value: 10, - label: "市北区台柳路12号4单元101" - }, - { - value: 11, - label: "市北区台柳路12号4单元101" - }, - { - value: 12, - label: "市北区台柳路12号4单元101" - }, - { - value: 13, - label: "市北区台柳路12号4单元101" - }, - { - value: 14, - label: "市北区台柳路12号4单元101" - }, - { - value: 15, - label: "市北区台柳路12号4单元101" - }, - { - value: 16, - label: "市北区台柳路12号4单元101" - }, - { - value: 17, - label: "市北区台柳路12号4单元101" - }, - { - value: 18, - label: "市北区台柳路12号4单元101" - }, - { - value: 19, - label: "市北区台柳路12号4单元101" - }, - { - value: 20, - label: "市北区台柳路12号4单元101" - }, - ] + }, lightStyle: { style: "amap://styles/whitesmoke", @@ -487,14 +291,16 @@ export default { }, total: 0, pageNo: 1, - pageSize: 10, + pageSize: 9, agencyId: "", level: "", selAgency: [], showResiTable: false, resiList: [], showHouseTable: false, - houseList: [] + houseList: [], + active: 'all', + dyTotal:0 } }, mounted() { @@ -546,6 +352,16 @@ export default { } }, methods: { + handleClickTabs(val){ + this.active = val + if(val == 'all' || val == 'dy'){ + this.getScreenUserList() + + }else{ + this.resiList = [] + } + + }, selectType(value, label) { // if (value === this.buttonIndex) { // this.buttonIndex = 0 @@ -566,29 +382,30 @@ export default { } else if (value == 2) { this.getScreenHouseStatistics() - } else if (value == 3) { - + } else if (value == 3 && this.level == 'community') { + this.getDangzhibuDot() } }, initDot(data) { console.log(data, '点位数据'); scene.addImage("dotBto", require("../../assets/images/map/dotBg.png")); + //textOffset改为动态的 this.buttonIndex == 3 [10,60] 否则就是 [-30 60] dotBgLayer = new PointLayer({ zIndex: 21, }) .source(data) .shape('count', 'text') .color("#fff") - .size(16) + .size(14) .style({ strokeWidth: 3, strokeOpacity: 0.1, fontWeight: '500', stroke: "#000", - textOffset: [0, 45], - raisingHeight: 300, + textOffset: this.buttonIndex === 3 ? [10, 60] : [-30, 60], + raisingHeight: 700, heightfixed: true, - textAnchor: "center" + textAnchor: "center-left", }); scene.addLayer(dotBgLayer); @@ -597,11 +414,10 @@ export default { }) .source(data) .shape("dotBto") - .size(80) + .size(100) .style({ - // offsets: [15, 260], layerType: "fillImage", - raisingHeight: 300, + raisingHeight: 700, heightfixed: true }); scene.addLayer(dotLayer); @@ -625,11 +441,16 @@ export default { this.selAgencyId = e.feature.properties.subId if (e.feature.properties.type == 'resi') { this.getScreenUserList() + this.getDyTotal() this.showResiTable = true } else if (e.feature.properties.type == 'house') { this.getScreenHouseList() this.showHouseTable = true + } else if (e.feature.properties.type == 'dangzhibu') { + this.getSearchByGridId(e.feature.properties.subId) + this.showFirst = true } + // const htmlString = ` //
@@ -136,13 +136,20 @@ export default { } }, computed: { - ...mapGetters(["shibeiAId"]), + ...mapGetters(["shibeiAId","shibeiAgencyType"]), }, watch: { shibeiAId: { handler() { + if (this.shibeiAgencyType == 'street') { + this.headerList[1].title = '社区' + } else if (this.shibeiAgencyType == 'community') { + this.headerList[1].title = '网格' + } else if (this.shibeiAgencyType == 'district') { + this.headerList[1].title = '街道' + } // if (this.shibeiAId !== "") { - this.getData(); + this.getData(); // } }, immediate: true, @@ -154,7 +161,7 @@ export default { methods: { getLineChart() { const params = {}; - params.deptId = this.shibeiAId || '1175270520603930625' ; + params.deptId = this.shibeiAId || '1175270520603930625'; const currentDate = new Date(); params.yearMonth = currentDate.getFullYear() this.lineChartFlag = false; @@ -213,7 +220,7 @@ export default { if (res.code == 0) { this.dataListResult = [] this.dataListResult = res.data.map((item, index) => [index + 1, item.deptName, item.closedRatio, item.responseRatio, item.satisfiedRatio]) - console.log(this.dataListResult ); + console.log(this.dataListResult); if (this.dataListResult.length === 0) { this.noData = true } @@ -246,11 +253,11 @@ export default { this.xylTotal = xylTotal.data.find(item => item.name === '按期响应').value; const xylValue = xylTotal.data.find(item => item.name === '按期响应').total; - this.xylProportion = this.calculateProportion(this.xylTotal,xylValue ); + this.xylProportion = this.calculateProportion(this.xylTotal, xylValue); this.hflTotal = hflTotal.data.find(item => item.name === '按时回复').value; const hflValue = hflTotal.data.find(item => item.name === '按时回复').total; - this.hflProportion = this.calculateProportion(this.hflTotal,hflValue ); + this.hflProportion = this.calculateProportion(this.hflTotal, hflValue); const hflProportion = parseFloat(this.hflProportion) || 0; const xylProportion = parseFloat(this.xylProportion) || 0; @@ -284,7 +291,7 @@ export default { lineInitOk() { this.lineInitState = true; }, - + // 获取饼状图 async getPieChart() { this.$refs.pieChart.clear(); @@ -292,7 +299,7 @@ export default { this.pieOption = pieOption(); this.pieOption.title.text = this.proportion + '%' this.pieOption.series[1].data[0].value = this.proportion; - this.pieOption.series[1].data[1].value = 100 - this.proportion ; + this.pieOption.series[1].data[1].value = 100 - this.proportion; this.$refs.pieChart.setOption(this.pieOption); }, getLine() { diff --git a/src/views/screenRight/right3.vue b/src/views/screenRight/right3.vue index 83a0d90..882853a 100644 --- a/src/views/screenRight/right3.vue +++ b/src/views/screenRight/right3.vue @@ -195,6 +195,13 @@ export default { }, shibeiAId: { handler() { + if(this.shibeiAgencyType == 'street'){ + this.headerList[0].title = '社区' + }else if (this.shibeiAgencyType == 'community'){ + this.headerList[0].title = '网格' + }else if(this.shibeiAgencyType == 'district'){ + this.headerList[0].title = '街道' + } // if (this.shibeiAId != '') { this.getItemdailystatis() this.getCategoryAnalysis() @@ -208,7 +215,7 @@ export default { } }, computed: { - ...mapGetters(['shibeiAId']) + ...mapGetters(['shibeiAId','shibeiAgencyType']) }, methods: { @@ -357,16 +364,33 @@ export default { type: "pie", center: ["50%", "30%"],//饼状图位置 radius: ["20%", "40%"], + // label: { + // show: true, + // }, + // labelLine: { + // normal: { + // lineStyle: { + // color: 'rgba(255, 255, 255, 0.3)' + // }, + // smooth: 0.2, + // length: "10" + // } + // }, label: { show: true, + position: 'outside', + formatter(param) { + return param.name + param.value; + }, + fontSize: 14, + fontWeight: 'bold', + color: '#fff' }, labelLine: { - normal: { - lineStyle: { - color: 'rgba(255, 255, 255, 0.3)' - }, - smooth: 0.2, - length: "10" + show: true, + length: 10, // 设置线条的长度 + lineStyle: { + color: '#fff' } }, data: this.charData @@ -437,15 +461,28 @@ export default { series: [ { type: "pie", - radius: ["30%", "50%"], + radius: ["20%", "40%"], center: ["50%", "30%"],//饼状图位置 label: { show: false, position: 'center' }, label: { - show: false, - position: 'center' + show: true, + position: 'outside', + formatter(param) { + return param.name + param.value; + }, + fontSize: 10, + // fontWeight: 'bold', + color: '#fff' + }, + labelLine: { + show: true, + length: 10, // 设置线条的长度 + lineStyle: { + color: '#fff' + } }, emphasis: { label: { @@ -454,9 +491,6 @@ export default { fontWeight: 'bold' } }, - labelLine: { - show: false - }, data: this.charsData } ]