|
|
@@ -76,10 +76,10 @@ |
|
|
|
<img src="../../../static/images/plotPremises/plotPremises_img.png" alt=""> |
|
|
|
|
|
|
|
<div class="pop_content_zd_right"> |
|
|
|
<van-row type="flex" justify="space-between"> |
|
|
|
<!-- <van-row type="flex" justify="space-between"> |
|
|
|
<van-col>租地位置:</van-col> |
|
|
|
<van-col>{{deptName}}</van-col> |
|
|
|
</van-row> |
|
|
|
</van-row> --> |
|
|
|
<van-row type="flex" justify="space-between"> |
|
|
|
<van-col>租地编号:</van-col> |
|
|
|
<van-col class="num">{{ndItem.id}}</van-col> |
|
|
@@ -116,10 +116,10 @@ |
|
|
|
<img src="../../../static/images/plotPremises/plotPremises_img.png" alt=""> |
|
|
|
|
|
|
|
<div class="pop_content_zd_right"> |
|
|
|
<van-row type="flex" justify="space-between"> |
|
|
|
<!-- <van-row type="flex" justify="space-between"> |
|
|
|
<van-col>租房位置:</van-col> |
|
|
|
<van-col>{{deptName}}</van-col> |
|
|
|
</van-row> |
|
|
|
</van-row> --> |
|
|
|
<van-row type="flex" justify="space-between"> |
|
|
|
<van-col>租房编号:</van-col> |
|
|
|
<van-col class="num">{{nfItem.id}}</van-col> |
|
|
@@ -235,6 +235,7 @@ export default { |
|
|
|
|
|
|
|
landLayer: "", // 地块图层 |
|
|
|
homesteadLayer: "", // 宅基地图层 |
|
|
|
selectedLayer: "", // 选中的图层 |
|
|
|
deptInfo: { |
|
|
|
leader: null, // 联系人 |
|
|
|
phone: null // 电话 |
|
|
@@ -280,6 +281,7 @@ export default { |
|
|
|
getData(){ |
|
|
|
plotPremisesStatistics({deptId:this.deptId}).then(response => { |
|
|
|
this.detail = response.data; |
|
|
|
console.log(this.detail); |
|
|
|
}); |
|
|
|
}, |
|
|
|
onConfirmDept({ selectedOptions }){ |
|
|
@@ -287,6 +289,13 @@ export default { |
|
|
|
this.deptName = selectedOptions.map((option) => option.label).join('/'); |
|
|
|
this.getData(); |
|
|
|
this.showAddress = false; |
|
|
|
this.drawMap(selectedOptions); |
|
|
|
this.deptInfo.leader = null; |
|
|
|
this.deptInfo.phone = null; |
|
|
|
getDept(this.deptId).then(res => { |
|
|
|
this.deptInfo.leader = res.data.leader; |
|
|
|
this.deptInfo.phone = res.data.phone; |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
tabChange(name){ |
|
|
@@ -294,12 +303,53 @@ export default { |
|
|
|
this.selectChooseOrder = -1; |
|
|
|
}, |
|
|
|
listChange(id,type,data){ |
|
|
|
console.log(data); |
|
|
|
this.selectChooseOrder = id; |
|
|
|
this.show = false; |
|
|
|
this.showZF = false; |
|
|
|
this.showZD = false; |
|
|
|
if (type=='nf'){this.showZF = true;this.nfItem = data;} |
|
|
|
if (type=='nd'){this.showZD = true;this.ndItem = data;} |
|
|
|
if (type=='nf') { |
|
|
|
this.showZF = true; |
|
|
|
this.nfItem = data; |
|
|
|
} |
|
|
|
if (type=='nd') { |
|
|
|
this.showZD = true; |
|
|
|
this.ndItem = data; |
|
|
|
} |
|
|
|
|
|
|
|
if (this.selectedLayer) { |
|
|
|
this.map.removeLayer(this.selectedLayer); |
|
|
|
this.selectedLayer = ''; |
|
|
|
} |
|
|
|
if (data.theGeom) { |
|
|
|
this.selectedLayer = new ol.layer.Vector({ |
|
|
|
source: new ol.source.Vector({ |
|
|
|
features: new ol.format.GeoJSON().readFeatures("{\n" + |
|
|
|
" \"type\": \"Feature\",\n" + |
|
|
|
" \"geometry\":" + data.theGeom + ", \"properties\":" + JSON.stringify(data.id) + "}"), |
|
|
|
}), |
|
|
|
name: 'selectedLayer', |
|
|
|
style: new ol.style.Style({ |
|
|
|
fill: new ol.style.Fill({ |
|
|
|
//矢量图层填充颜色,以及透明度 |
|
|
|
color: "rgba(255, 84, 87, 0.5)", |
|
|
|
}), |
|
|
|
stroke: new ol.style.Stroke({ |
|
|
|
//边界样式 |
|
|
|
color: "#ff5457", |
|
|
|
width: 2, |
|
|
|
}), |
|
|
|
}), |
|
|
|
}); |
|
|
|
this.map.addLayer(this.selectedLayer); |
|
|
|
let center = ol.extent.getCenter(this.selectedLayer.getSource().getExtent()); |
|
|
|
this.map.getView().animate({ |
|
|
|
center: center, // 中心点 |
|
|
|
zoom: 17, // 缩放级别 |
|
|
|
rotation: undefined, // 缩放完成view视图旋转弧度 |
|
|
|
duration: 500, // 缩放持续时间,默认不需要设置 |
|
|
|
}); |
|
|
|
} |
|
|
|
}, |
|
|
|
//获取geoserver的地址 |
|
|
|
getGeoServerUrl() { |
|
|
@@ -456,6 +506,13 @@ export default { |
|
|
|
this.addDeptLayer(deptNode.children); |
|
|
|
} |
|
|
|
} else if (deptLevel === '2') { |
|
|
|
this.deptId = deptId; |
|
|
|
this.getData(); |
|
|
|
let parentNodes = []; |
|
|
|
this.findParentNode(this.addrOptions, deptId, parentNodes); |
|
|
|
console.log(parentNodes); |
|
|
|
this.villageValue = deptId; |
|
|
|
this.deptName = parentNodes.map(node => node.label).join('/'); |
|
|
|
this.currentDeptLevel = '2'; |
|
|
|
this.map.removeLayer(this.borderLayer); |
|
|
|
this.borderLayer = ''; |
|
|
@@ -489,6 +546,16 @@ export default { |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
const viewResolution = this.map.getView().getResolution(); |
|
|
|
const url1 = this.landLayer.getSource().getFeatureInfoUrl(evt.coordinate, viewResolution, 'EPSG:3857', {'INFO_FORMAT': 'application/json'}); |
|
|
|
if (url1) { |
|
|
|
this.fetchUrl(url1); |
|
|
|
} |
|
|
|
const url2 = this.homesteadLayer.getSource().getFeatureInfoUrl(evt.coordinate, viewResolution, 'EPSG:3857', {'INFO_FORMAT': 'application/json'}); |
|
|
|
if (url2) { |
|
|
|
this.fetchUrl(url2); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
@@ -514,6 +581,10 @@ export default { |
|
|
|
this.landLayer = ""; |
|
|
|
this.map.removeLayer(this.homesteadLayer); |
|
|
|
this.homesteadLayer = ""; |
|
|
|
if (this.selectedLayer) { |
|
|
|
this.map.removeLayer(this.selectedLayer); |
|
|
|
this.selectedLayer = ""; |
|
|
|
} |
|
|
|
this.deptInfo.leader = null; |
|
|
|
this.deptInfo.phone = null; |
|
|
|
} else if (this.currentDeptLevel === '3' && zoom < 11) { |
|
|
@@ -560,6 +631,10 @@ export default { |
|
|
|
this.landLayer = ""; |
|
|
|
this.map.removeLayer(this.homesteadLayer); |
|
|
|
this.homesteadLayer = ""; |
|
|
|
if (this.selectedLayer) { |
|
|
|
this.map.removeLayer(this.selectedLayer); |
|
|
|
this.selectedLayer = ""; |
|
|
|
} |
|
|
|
this.deptInfo.leader = null; |
|
|
|
this.deptInfo.phone = null; |
|
|
|
} else if (this.currentDeptLevel === '3' && zoom < 11) { |
|
|
@@ -588,6 +663,76 @@ export default { |
|
|
|
} |
|
|
|
return null; |
|
|
|
}, |
|
|
|
findParentNode(tree, deptId, result) { |
|
|
|
for (let node of tree) { |
|
|
|
if (node.id === deptId) { |
|
|
|
result.unshift(node); |
|
|
|
return true; |
|
|
|
} |
|
|
|
if (node.children && node.children.length > 0) { |
|
|
|
let isFind = this.findParentNode(node.children, deptId, result); |
|
|
|
if (isFind) { |
|
|
|
result.unshift(node); |
|
|
|
return true; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return false; |
|
|
|
}, |
|
|
|
fetchUrl(url) { |
|
|
|
fetch(url) |
|
|
|
.then(response => response.json()) |
|
|
|
.then(data => { |
|
|
|
if (data.features.length > 0) { |
|
|
|
let arr = data.features[0].id.split("."); |
|
|
|
let tableName = arr[0]; |
|
|
|
let id = arr[1]; |
|
|
|
|
|
|
|
this.show = false; |
|
|
|
this.showList = false; |
|
|
|
this.showZF = false; |
|
|
|
this.showZD = false; |
|
|
|
if (tableName.startsWith("t_homestead_zjdzdxx")) { |
|
|
|
this.showZF = true; |
|
|
|
this.nfItem = { |
|
|
|
id: id, |
|
|
|
zdmj: data.features[0].properties.ZDMJ, |
|
|
|
}; |
|
|
|
} |
|
|
|
if (tableName.startsWith("t_sys_dk")) { |
|
|
|
this.showZD = true; |
|
|
|
this.ndItem = { |
|
|
|
id: id, |
|
|
|
scmjm: data.features[0].properties.SCMJM, |
|
|
|
}; |
|
|
|
} |
|
|
|
|
|
|
|
if (this.selectedLayer) { |
|
|
|
this.map.removeLayer(this.selectedLayer); |
|
|
|
this.selectedLayer = ""; |
|
|
|
} |
|
|
|
this.selectedLayer = new ol.layer.Vector({ |
|
|
|
source: new ol.source.Vector({ |
|
|
|
features: new ol.format.GeoJSON().readFeatures(data) |
|
|
|
}), |
|
|
|
name: 'selectedLayer', |
|
|
|
style: new ol.style.Style({ |
|
|
|
fill: new ol.style.Fill({ |
|
|
|
//矢量图层填充颜色,以及透明度 |
|
|
|
color: "rgba(255, 84, 87, 0.3)", |
|
|
|
}), |
|
|
|
stroke: new ol.style.Stroke({ |
|
|
|
//边界样式 |
|
|
|
color: "#ff5457", |
|
|
|
width: 3, |
|
|
|
}), |
|
|
|
}) |
|
|
|
}); |
|
|
|
this.map.addLayer(this.selectedLayer); |
|
|
|
// this.map.getLayers().insertAt(4, this.selectedHomesteadLayer); |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
// 添加区县边界 |
|
|
|
addCountyBorder() { |
|
|
|
this.borderLayer = new ol.layer.Image({ |
|
|
@@ -697,26 +842,6 @@ export default { |
|
|
|
}, |
|
|
|
// 添加地块图层 |
|
|
|
addLandLayer(deptId) { |
|
|
|
/* let params = {}; |
|
|
|
if (this.street === '全部' && this.cun === '全部') { |
|
|
|
params = { |
|
|
|
LAYERS: this.homesteadLayerName, |
|
|
|
SRID: 3857, |
|
|
|
}; |
|
|
|
} else if (this.street !== '全部' && this.cun === '全部') { |
|
|
|
let villageDeptIds = this.houseCunship.map(item => item.deptId); |
|
|
|
params = { |
|
|
|
LAYERS: this.homesteadLayerName, |
|
|
|
cql_filter: "dept_id in (" + villageDeptIds + ")", |
|
|
|
SRID: 3857, |
|
|
|
}; |
|
|
|
} else if (this.street !== '全部' && this.cun !== '全部') { |
|
|
|
params = { |
|
|
|
LAYERS: "zjd_dc:t_sys_dk", // 测试用的图层,正式使用时要换成自己发布的图层 |
|
|
|
cql_filter: "dept_id = '" + this.deptId + "'", |
|
|
|
SRID: 3857, |
|
|
|
}; |
|
|
|
} */ |
|
|
|
this.landLayer = new ol.layer.Image({ |
|
|
|
source: new ol.source.ImageWMS({ |
|
|
|
url: "http://218.59.175.43:8090/geoserver/zjd_dc/wms", // 测试用的geoserver服务器链接,正式使用时需要换掉 |
|
|
@@ -733,26 +858,6 @@ export default { |
|
|
|
}, |
|
|
|
// 添加宅基地图层 |
|
|
|
addHomesteadLayer(deptId) { |
|
|
|
/* let params = {}; |
|
|
|
if (this.street === '全部' && this.cun === '全部') { |
|
|
|
params = { |
|
|
|
LAYERS: this.homesteadLayerName, |
|
|
|
SRID: 3857, |
|
|
|
}; |
|
|
|
} else if (this.street !== '全部' && this.cun === '全部') { |
|
|
|
let villageDeptIds = this.houseCunship.map(item => item.deptId); |
|
|
|
params = { |
|
|
|
LAYERS: this.homesteadLayerName, |
|
|
|
cql_filter: "dept_id in (" + villageDeptIds + ")", |
|
|
|
SRID: 3857, |
|
|
|
}; |
|
|
|
} else if (this.street !== '全部' && this.cun !== '全部') { |
|
|
|
params = { |
|
|
|
LAYERS: "zjd_dc:t_sys_dk", // 测试用的图层,正式使用时要换成自己发布的图层 |
|
|
|
cql_filter: "dept_id = '" + this.deptId + "'", |
|
|
|
SRID: 3857, |
|
|
|
}; |
|
|
|
} */ |
|
|
|
this.homesteadLayer = new ol.layer.Image({ |
|
|
|
source: new ol.source.ImageWMS({ |
|
|
|
url: "http://218.59.175.43:8090/geoserver/zjd_dc/wms", // 测试用的geoserver服务器链接,正式使用时需要换掉 |
|
|
@@ -767,6 +872,53 @@ export default { |
|
|
|
this.map.addLayer(this.homesteadLayer); |
|
|
|
// this.map.getLayers().insertAt(3, this.homesteadLayer); |
|
|
|
}, |
|
|
|
drawMap(selectedOptions) { |
|
|
|
const villageNode = selectedOptions[selectedOptions.length - 1]; |
|
|
|
const ids = selectedOptions.map(option => option.id); |
|
|
|
|
|
|
|
this.currentDeptLevel = '2'; |
|
|
|
this.townId = ids[ids.length - 2]; |
|
|
|
this.countyId = ids[ids.length - 3]; |
|
|
|
this.map.removeLayer(this.borderLayer); |
|
|
|
this.borderLayer = ''; |
|
|
|
// 添加村边界 |
|
|
|
const cqlFilter = "dept_id = '" + villageNode.id + "'"; |
|
|
|
this.addVillageBorder(cqlFilter); |
|
|
|
|
|
|
|
let villagePoint = { |
|
|
|
id: villageNode.id, |
|
|
|
label: villageNode.label, |
|
|
|
lng: villageNode.lng, |
|
|
|
lat: villageNode.lat, |
|
|
|
deptLevel: villageNode.deptLevel, |
|
|
|
}; |
|
|
|
let depts = []; |
|
|
|
depts.push(villagePoint); |
|
|
|
this.map.removeLayer(this.deptLayer); |
|
|
|
this.deptLayer = ''; |
|
|
|
this.addDeptLayer(depts); |
|
|
|
|
|
|
|
if (this.landLayer) { |
|
|
|
this.map.removeLayer(this.landLayer); |
|
|
|
this.landLayer = ''; |
|
|
|
} |
|
|
|
if (this.homesteadLayer) { |
|
|
|
this.map.removeLayer(this.homesteadLayer); |
|
|
|
this.homesteadLayer = ''; |
|
|
|
} |
|
|
|
if (this.selectedLayer) { |
|
|
|
this.map.removeLayer(this.selectedLayer); |
|
|
|
this.selectedLayer = ""; |
|
|
|
} |
|
|
|
this.addLandLayer(villageNode.id); |
|
|
|
this.addHomesteadLayer(villageNode.id); |
|
|
|
this.map.getView().animate({ |
|
|
|
center: ol.proj.fromLonLat([villageNode.lng, villageNode.lat]), // 中心点 |
|
|
|
zoom: 17, // 缩放级别 |
|
|
|
rotation: undefined, // 缩放完成view视图旋转弧度 |
|
|
|
duration: 1000, // 缩放持续时间,默认不需要设置 |
|
|
|
}); |
|
|
|
}, |
|
|
|
}, |
|
|
|
}; |
|
|
|
</script> |
|
|
|