市北互联平台前端仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

190 lines
4.3 KiB

4 years ago
<template>
<div class="g-cpt">
<div class="g-l">
<div class="m-people">
<cpt-card>
4 years ago
<div class="title">
<img src="@/assets/img/shuju/title-tip.png" />
<span>人员情况</span>
</div>
<div class="ren">
<img class="pic-ren" src="@/assets/img/shuju/people/ren.png" />
4 years ago
<div class="ren-prop">
<img class="pic-ren" src="@/assets/img/shuju/people/ren-prop-1.png" />
<span>所属网格</span>
<div class="ren-cnt">
<p>所属网格</p>
<p>惺惺惜惺惺</p>
</div>
</div>
4 years ago
</div>
4 years ago
</cpt-card>
</div>
</div>
<div class="g-r"></div>
</div>
</template>
<script>
import { Loading } from 'element-ui'; //引入Loading服务
import { requestPost } from "@/js/dai/request";
import cptCard from "@/views/modules/visual/cpts/card";
export default {
name: 'HomeMap',
data () {
return {
centerPoint: [],//中心点位置
zoom: 14,//缩放范围:区14
minZoom: 1,//最小缩放
orgData: {},//当前组织对象
orgId: '',
orgLevel: '',
subAgencyArray: [],//下拉框数据
selPolygonId: '',//选择的多边形id
selPolygon: {},
//右侧列表
name: "",
//下钻层级记录
runNum: 0,
runAgency: [],
}
},
props: {
vueFlag: {
type: String,
default: "alarm"
}
},
computed: {
mapHeight () {
return this.clientHeight - 120;
},
// zoom: {
// get () {
// //根据不同屏幕分辨率,控制zoom大小
// if (this.clientHeight < 900) {
// return 2.3
// } else {
// return 2.8
// }
// },
// set (value) {
// }
// },
},
components: {
cptCard
},
async mounted () {
},
methods: {
handleSearch () {
},
//加载组织数据
async loadOrgData () {
const url = "/gov/org/agency/maporg"
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/agency/maporg"
let params = {
orgId: this.orgId,
level: this.orgLevel
}
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
this.orgData = data
this.runAgency.push(data)
if (data.children && data.children.length > 0) {
this.subAgencyArray = data.children
}
} else {
this.$message.error(msg)
}
},
//加载当前园区的标注
loadPolygon (subAgencyArray) {
polygonSource.clear()//清空变电站标注
let featureData = []//标注数据
if (subAgencyArray && subAgencyArray.length > 0) {//判断是否存在下级标注
let oneData = {}
subAgencyArray.forEach(agencyItem => {
if (agencyItem.coordinates && agencyItem.coordinates !== '') {//如果有坐标
oneData = {
type: 'Feature',
id: agencyItem.id,
properties: {
id: agencyItem.id,
level: agencyItem.level,
name: agencyItem.name
},
geometry: {
type: 'Polygon',
coordinates: [],
},
}
let coorArray = agencyItem.coordinates.split(',')//坐标数组
let itemArray = []//单个点位的[lon,lat],数组
let polygonArray = []//整个多边形的[[lon,lat],[lon,lat],[lon,lat]]数组
coorArray.forEach((item, index) => {
itemArray.push(item)
if (index % 2 == 0) {//偶
} else {//奇
polygonArray.push(itemArray)
itemArray = []
}
});
oneData.geometry.coordinates.push(polygonArray)
featureData.push(oneData)
}
});
}
if (featureData && featureData.length > 0) {
var geojsonObject = {
'type': 'FeatureCollection',
'features': featureData
};
let feature = (new GeoJSON()).readFeatures(geojsonObject)
polygonSource.addFeatures(feature)
}
},
}
};
</script>
<style lang="scss" src="@/assets/scss/people.scss" scoped></style>