Browse Source

地图优化

master
mk 2 years ago
parent
commit
7ffff53e6c
  1. 108
      src/views/screenCenter/screenCenter.vue

108
src/views/screenCenter/screenCenter.vue

@ -102,15 +102,16 @@
<div class="tabs"> <div class="tabs">
<div :class="['item', { 'item-active': active === 'all' }]" @click="handleClickTabs('all')">全部</div> <div :class="['item', { 'item-active': active === 'all' }]" @click="handleClickTabs('all')">全部</div>
<!-- --> <!-- -->
<div :class="['item', { 'item-active': active === 'dy' }]" @click="handleClickTabs('dy')" > <div :class="['item', { 'item-active': active === 'dy' }]" @click="handleClickTabs('dy')">
党员{{ dyTotal ||0 }}</div> 党员{{ dyTotal || 0 }}</div>
<div :class="['item', { 'item-active': active === 'gyg' }]" @click="handleClickTabs('gyg')" >公益岗0 <div :class="['item', { 'item-active': active === 'gyg' }]" @click="handleClickTabs('gyg')">公益岗0
</div> </div>
<div :class="['item', { 'item-active': active === 'xfdw' }]" @click="handleClickTabs('xfdw')" >先锋队伍0 <div :class="['item', { 'item-active': active === 'xfdw' }]" @click="handleClickTabs('xfdw')">先锋队伍0
</div> </div>
<div :class="['item', { 'item-active': active === 'hshhr' }]" @click="handleClickTabs('hshhr')" >红色合伙人0 <div :class="['item', { 'item-active': active === 'hshhr' }]" @click="handleClickTabs('hshhr')">
红色合伙人0
</div> </div>
</div> </div>
@ -300,7 +301,7 @@ export default {
showHouseTable: false, showHouseTable: false,
houseList: [], houseList: [],
active: 'all', active: 'all',
dyTotal:0 dyTotal: 0
} }
}, },
mounted() { mounted() {
@ -360,13 +361,13 @@ export default {
}, },
}, },
methods: { methods: {
handleClickTabs(val){ handleClickTabs(val) {
this.active = val this.active = val
if(val == 'all' || val == 'dy'){ if (val == 'all' || val == 'dy') {
this.getScreenUserList() this.getScreenUserList()
}else{ } else {
this.resiList = [] this.resiList = []
} }
}, },
@ -381,9 +382,7 @@ export default {
} }
if (dotLayer) { if (dotLayer) {
scene.removeLayer(dotLayer); scene.removeLayer(dotLayer);
} if (dotLayerBto) { }
scene.removeLayer(dotLayerBto);
}
this.buttonIndex = value this.buttonIndex = value
if (value == 1) { if (value == 1) {
this.getScreenUserStatistics() this.getScreenUserStatistics()
@ -411,7 +410,7 @@ export default {
fontWeight: '500', fontWeight: '500',
stroke: "#000", stroke: "#000",
textOffset: this.buttonIndex === 3 ? [10, 60] : [-30, 60], textOffset: this.buttonIndex === 3 ? [10, 60] : [-30, 60],
raisingHeight: 700, raisingHeight: 300,
heightfixed: true, heightfixed: true,
textAnchor: "center-left", textAnchor: "center-left",
}); });
@ -425,7 +424,7 @@ export default {
.size(100) .size(100)
.style({ .style({
layerType: "fillImage", layerType: "fillImage",
raisingHeight: 700, raisingHeight: 300,
heightfixed: true heightfixed: true
}); });
scene.addLayer(dotLayer); scene.addLayer(dotLayer);
@ -502,7 +501,7 @@ export default {
level: this.level == 'street' ? 'community' : this.level == 'community' ? 'grid' : 'street', level: this.level == 'street' ? 'community' : this.level == 'community' ? 'grid' : 'street',
pageSize: this.pageSize, pageSize: this.pageSize,
pageNo: this.pageNo, pageNo: this.pageNo,
dangyuan:'1' dangyuan: '1'
} }
console.log(params); console.log(params);
const { data, msg, code } = await getScreenUserList(params) const { data, msg, code } = await getScreenUserList(params)
@ -518,7 +517,7 @@ export default {
level: this.level == 'street' ? 'community' : this.level == 'community' ? 'grid' : 'street', level: this.level == 'street' ? 'community' : this.level == 'community' ? 'grid' : 'street',
pageSize: this.pageSize, pageSize: this.pageSize,
pageNo: this.pageNo, pageNo: this.pageNo,
dangyuan:this.active == 'dy'?'1':'' dangyuan: this.active == 'dy' ? '1' : ''
} }
console.log(params); console.log(params);
const { data, msg, code } = await getScreenUserList(params) const { data, msg, code } = await getScreenUserList(params)
@ -617,6 +616,7 @@ export default {
features: data, features: data,
} }
if (this.level) { if (this.level) {
// this.selAgency
obj.features.forEach(f => { obj.features.forEach(f => {
f.type = 'Feature'; f.type = 'Feature';
f.properties = {}; f.properties = {};
@ -657,6 +657,8 @@ export default {
delete f.count; delete f.count;
}); });
} }
console.log(obj,'居民点位数据伪装转');
this.initDot(obj) this.initDot(obj)
} else { } else {
console.log(msg); console.log(msg);
@ -664,10 +666,13 @@ export default {
}, },
getDangzhibuDot() { getDangzhibuDot() {
console.log(this.selAgency); if( this.selAgency[0].type != 'grid'){
return
}
const selAgency = JSON.parse(JSON.stringify(this.selAgency));
let obj = { let obj = {
type: 'FeatureCollection', type: 'FeatureCollection',
features: this.selAgency, features:selAgency,
} }
obj.features.forEach(f => { obj.features.forEach(f => {
f.type = 'Feature'; f.type = 'Feature';
@ -679,10 +684,11 @@ export default {
f.properties.count = `${f.subName}党支部`; f.properties.count = `${f.subName}党支部`;
f.geometry.type = "Point"; f.geometry.type = "Point";
f.geometry.coordinates = [...JSON.parse(f.subCenterMark)[0]]; f.geometry.coordinates = [...JSON.parse(f.subCenterMark)[0]];
delete f.agencyName; delete f.subAreaMarks;
delete f.agencyId; delete f.subCenterMark;
delete f.count; delete f.agencyLevel;
delete f.subId;
delete f.subName;
}); });
this.initDot(obj) this.initDot(obj)
}, },
@ -740,7 +746,7 @@ export default {
logoVisible: false, logoVisible: false,
map: myMap, map: myMap,
}); });
scene.on("loaded", () => { scene.on("loaded", () => {
this.iniMapGrid(shibeiJson); this.iniMapGrid(shibeiJson);
}); });
}, },
@ -837,7 +843,6 @@ export default {
scene.addLayer(textLayer); scene.addLayer(textLayer);
let _this = this let _this = this
polygonLayer.on("click", (e) => { polygonLayer.on("click", (e) => {
console.log(e);
if (e.feature.properties.name.indexOf("党工委") != -1) { if (e.feature.properties.name.indexOf("党工委") != -1) {
_this.level = e.feature.properties.level _this.level = e.feature.properties.level
_this.agencyId = e.feature.properties.adcode _this.agencyId = e.feature.properties.adcode
@ -866,7 +871,17 @@ export default {
if (dotLayerBto) { if (dotLayerBto) {
scene.removeLayer(dotLayerBto); scene.removeLayer(dotLayerBto);
} }
this.getBoundary(e.feature.properties.adcode || e.feature.properties.subId) this.getBoundary(e.feature.properties.adcode || e.feature.properties.subId)
if (_this.buttonIndex == 1) {
_this.getScreenUserStatistics()
} else if (_this.buttonIndex == 2) {
_this.getScreenHouseStatistics()
} else if (_this.buttonIndex == 3 && _this.level == 'community') {
setTimeout(()=> {
_this.getDangzhibuDot()
}, 500)
}
}); });
// posLayer.on("click", (e) => { // posLayer.on("click", (e) => {
// console.log(e); // console.log(e);
@ -922,10 +937,10 @@ export default {
delete f.subId delete f.subId
delete f.subName delete f.subName
}) })
this.iniMapGrid(obj) this.iniMapGrid(obj)
if(this.level == 'community'){ if (this.level == 'community') {
} }
}).catch(f => { }).catch(f => {
console.log(f); console.log(f);
}) })
@ -941,7 +956,7 @@ export default {
}, },
async getSearchByGridId(id) { async getSearchByGridId(id) {
let params = { let params = {
gridId:id// "1224135071215190018", gridId: id// "1224135071215190018",
} }
const { data, msg, code } = await getSearchByGridId(params) const { data, msg, code } = await getSearchByGridId(params)
if (code == 0) { if (code == 0) {
@ -1132,22 +1147,27 @@ export default {
white-space: nowrap; white-space: nowrap;
width: 539px; width: 539px;
height: 49px; height: 49px;
&::-webkit-scrollbar { &::-webkit-scrollbar {
/*滚动条整体样式*/ /*滚动条整体样式*/
width: 6px; /*高宽分别对应横竖滚动条的尺寸*/ width: 6px;
height: 2px; /*高宽分别对应横竖滚动条的尺寸*/
height: 2px;
} }
&::-webkit-scrollbar-thumb {
/*滚动条里面小方块*/ &::-webkit-scrollbar-thumb {
background: linear-gradient(-90deg, #09b8e5 0%, #09f0e3 99%); /*滚动条里面小方块*/
border-radius: 3px; background: linear-gradient(-90deg, #09b8e5 0%, #09f0e3 99%);
border-radius: 3px;
} }
&::-webkit-scrollbar-track { &::-webkit-scrollbar-track {
/*滚动条里面轨道*/ /*滚动条里面轨道*/
// box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); // box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
background: #428ba2; background: #428ba2;
border-radius: 3px; border-radius: 3px;
} }
.item { .item {
display: inline-block; display: inline-block;
color: #fff; color: #fff;
@ -1168,6 +1188,4 @@ export default {
font-weight: 400; font-weight: 400;
} }
} }</style>
</style>
Loading…
Cancel
Save