After Width: | Height: | Size: 922 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 991 B |
After Width: | Height: | Size: 989 B |
After Width: | Height: | Size: 987 B |
After Width: | Height: | Size: 943 B |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 4.1 KiB |
@ -0,0 +1,7 @@ |
|||
@import "c/config"; |
|||
@import "c/function"; |
|||
|
|||
.m-people { |
|||
width: 400px; |
|||
// height: 400px; |
|||
} |
@ -0,0 +1,72 @@ |
|||
@import "c/config"; |
|||
@import "c/function"; |
|||
|
|||
.m-card { |
|||
position: relative; |
|||
box-sizing: border-box; |
|||
width: 100%; |
|||
height: 100%; |
|||
padding: 11px; |
|||
|
|||
.corner { |
|||
position: absolute; |
|||
display: block; |
|||
&.corner-1 { |
|||
top: 0; |
|||
left: 0; |
|||
} |
|||
&.corner-2 { |
|||
top: 0; |
|||
right: 0; |
|||
} |
|||
&.corner-3 { |
|||
bottom: 0; |
|||
right: 0; |
|||
} |
|||
&.corner-4 { |
|||
bottom: 0; |
|||
left: 0; |
|||
} |
|||
} |
|||
|
|||
.line { |
|||
position: absolute; |
|||
display: block; |
|||
background-repeat: repeat; |
|||
|
|||
&.line-t { |
|||
background-image: url(../img/shuju/card/line-t.png); |
|||
left: 11px; |
|||
right: 120px; |
|||
top: 0; |
|||
height: 11px; |
|||
} |
|||
&.line-r { |
|||
background-image: url(../img/shuju/card/line-r.png); |
|||
top: 11px; |
|||
bottom: 11px; |
|||
right: 0; |
|||
width: 11px; |
|||
} |
|||
&.line-b { |
|||
background-image: url(../img/shuju/card/line-b.png); |
|||
left: 11px; |
|||
right: 120px; |
|||
bottom: 0; |
|||
height: 11px; |
|||
} |
|||
&.line-l { |
|||
background-image: url(../img/shuju/card/line-l.png); |
|||
top: 11px; |
|||
bottom: 11px; |
|||
left: 0; |
|||
width: 11px; |
|||
} |
|||
} |
|||
|
|||
.cnt { |
|||
height: 300px; |
|||
background-image: url(../img/shuju/card/bg.png); |
|||
background-repeat: repeat; |
|||
} |
|||
} |
@ -0,0 +1,175 @@ |
|||
<template> |
|||
<div class="g-cpt"> |
|||
<div class="g-l"> |
|||
<div class="m-people"> |
|||
<cpt-card> |
|||
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈 |
|||
</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> |
|||
|
@ -0,0 +1,36 @@ |
|||
<template> |
|||
<div class="m-card"> |
|||
<div class="wrap"> |
|||
<img src="@/assets/img/shuju/card/l-t.png" class="corner corner-1" /> |
|||
<img src="@/assets/img/shuju/card/r-t.png" class="corner corner-2" /> |
|||
<img src="@/assets/img/shuju/card/r-b.png" class="corner corner-3" /> |
|||
<img src="@/assets/img/shuju/card/l-b.png" class="corner corner-4" /> |
|||
<div class="line line-t"></div> |
|||
<div class="line line-l"></div> |
|||
<div class="line line-r"></div> |
|||
<div class="line line-b"></div> |
|||
<div class="cnt"> |
|||
<solt></solt> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: "shuju-card", |
|||
data() { |
|||
return { |
|||
|
|||
}; |
|||
}, |
|||
props: { |
|||
}, |
|||
|
|||
methods: { |
|||
|
|||
}, |
|||
}; |
|||
</script> |
|||
|
|||
<style lang="scss" src="@/assets/scss/shuju-card.scss" scoped></style> |