From 56011c95af309dc9ee4562f820c8f5728b393838 Mon Sep 17 00:00:00 2001 From: yaoyuhao Date: Tue, 15 Oct 2024 15:31:54 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=B5=84=E6=BA=90=E8=A6=81=E7=B4=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/images/map/j9_map.png | Bin 0 -> 4494 bytes src/view/person/rwTable.vue | 4 + src/view/sy_map.vue | 235 ++++++++++++++++++++++++++----- vite.config.js | 4 +- 4 files changed, 206 insertions(+), 37 deletions(-) create mode 100644 src/assets/images/map/j9_map.png diff --git a/src/assets/images/map/j9_map.png b/src/assets/images/map/j9_map.png new file mode 100644 index 0000000000000000000000000000000000000000..c73bca33f14d096d105a52cae7b1dd920375a0fc GIT binary patch literal 4494 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 literal 0 HcmV?d00001 diff --git a/src/view/person/rwTable.vue b/src/view/person/rwTable.vue index ac9fdad..73f4397 100644 --- a/src/view/person/rwTable.vue +++ b/src/view/person/rwTable.vue @@ -211,4 +211,8 @@ onMounted(() => { font-size: 18px; border: none; } +:deep(.el-table) { + --el-table-border-color: #62696d; + // border: 1px solid #62696d; + } diff --git a/src/view/sy_map.vue b/src/view/sy_map.vue index 9c52a01..6e2d7ac 100644 --- a/src/view/sy_map.vue +++ b/src/view/sy_map.vue @@ -109,7 +109,7 @@
-
+
基本公共服务资源要素
@@ -155,7 +155,6 @@
-
{ } else { totalType.value = 2; map.setMapType(BMAP_SATELLITE_MAP); - } map.enableScrollWheelZoom(true); goMapCenter([119.178783, 29.034583], 11); @@ -1819,28 +1826,35 @@ const clear = () => { xkzDk.length = 0; }; //清空选中年龄及标签(街道级别) -const clearPerson=()=>{ - if(choose.value.person){ - choose.value.person=''; +const clearPerson = () => { + if (choose.value.person) { + choose.value.person = ""; jdm_number_arr.value.forEach((item, index) => { map.removeOverlay(jdm_number_arr.value[index]); }); addJd(); } -} +}; //清空要素 -const clearyaosu=()=>{ - - if(yaosuList.value.length!=0){ - yaosuList.value.forEach((name,index)=>{ +const clearyaosu = () => { + if (yaosuList.value.length != 0) { + yaosuList.value.forEach((name, index) => { yaosuIcon.value[name].sj.forEach((item, index) => { - map.removeOverlay(yaosuIcon.value[name].sj[index].overlay); + map.removeOverlay(item.overlay); + }); }); - }) - yaosuList.value.length=0; - } -} + zyys_dk.value.forEach((item, index) => { + map.removeOverlay(item); // 清空服务圈 图标 + }); + zyys_center.value.forEach((item, index) => { + map.removeOverlay(item); // 清空服务圈 图标 + }); + yaosuList.value.length = 0; + zyys_dk.value.length = 0; + zyys_center.value.length = 0; + } +}; //定义地图中点 const goMapCenter = (point, zoom) => { map.centerAndZoom(new BMapGL.Point(point[0], point[1]), zoom); @@ -2737,7 +2751,8 @@ const changeys = (name) => { name == "小学" || name == "初中" || name == "高中" || - name == "医院" + name == "医院" || + name == "卫生服务中心" ) { getZyys(url, name, img, img_map, tooltip); } @@ -2837,21 +2852,172 @@ const createZyys = (polygon, indexx, name, tooltip) => { } ); map.addOverlay(yaosuIcon.value[name].sj[indexx].overlay); - yaosuIcon.value[name].sj[indexx].overlay.addEventListener("click", () => { - switch (name) { - case "摄像头": - sxtShow.deviceCode = polygon.sbbm; - sxtShow.name = polygon.sbmc; - getCameraUrl(); - break; - case "AED": - break; - default: - break; + yaosuIcon.value[name].sj[indexx].overlay.addEventListener( + "click", + async () => { + switch (name) { + case "摄像头": + sxtShow.deviceCode = polygon.sbbm; + sxtShow.name = polygon.sbmc; + getCameraUrl(); + break; + case "AED": + break; + case "体育场所": + break; + case "南孔书院": + break; + case "养老机构": + break; + case "汽车充电桩": + break; + default: + if (zyys_dk.value.length) { + zyys_dk.value.forEach((item, index) => { + map.removeOverlay(item); // 清空服务圈 图标 + }); + zyys_center.value.forEach((item, index) => { + map.removeOverlay(item); // 清空服务圈 图标 + }); + } + + await get_dk_zyys( + polygon.xzjd, + polygon.csq, + polygon.num, + polygon.zyysmc + ); + if (zyys_data.value.point.length == 0) { + ElMessage.warning({ + message: "地图上未找到对应村社", + }); + }else{ + xr_dk_center_zyys(); + } + + break; + } + } + ); +}; +//资源要素(获取对应村社的地块) +const zyys_data = ref({ + point: [], + center: [], + name: "", +}); +const get_dk_zyys = async (xzjd, csq, number, name) => { + zyys_dk.value.length = 0; + zyys_center.value.length = 0; + zyys_data.value.point.length = 0; + zyys_data.value.center.length = 0; + zyys_data.value.name = ""; + await loadCs(xzjd); + zyys_data.value.name = csq; + xkzDk.forEach((dk) => { + if (csq == dk.name) { + zyys_data.value.point.push(dk); + } + }); + xkzCenter.forEach((center) => { + if (csq == center.name) { + let a = { ...center, num: number }; + zyys_data.value.center.push(a); } }); }; +//资源要素(渲染地块) +const xr_dk_center_zyys = async () => { + zyys_data.value.point.map((item, index) => { + let points = []; + item.point[0].map((p) => points.push(new BMapGL.Point(...p))); + if (points.length) { + //创建面 + zyys_dk.value[index] = new BMapGL.Polygon(points, { + strokeColor: "blue", + strokeWeight: 2, + strokeOpacity: 0.8, + fillColor: "blue", + fillOpacity: 0.3, + zIndex: 5, + }); + map.addOverlay(zyys_dk.value[index]); + } + }); + zyys_data.value.center.map((item, index) => { + Xr_zyysNum(item, index); + }); +}; +//资源要素(渲染地块) +const Xr_zyysNum = (polygon, indexx) => { + console.log(4444444, ...polygon.center); + function createLabelDOM() { + var content = document.createElement("div"); + content.style.display = "flex"; + content.style.flexDirection = "column"; + content.style.alignItems = "center"; + content.style.height = "60px"; + content.style.width = "60px"; + content.style.zIndex = BMapGL.Overlay.getZIndex(this.point.lat); + + var div = document.createElement("div"); + div.style.color = "#333"; + div.style.whiteSpace = "nowrap"; + div.style.MozUserSelect = "none"; + div.style.display = "flex"; + div.style.justifyContent = "space-between"; + div.style.alignItems = "center"; + div.style.cursor = "pointer"; + div.style.padding = "5px"; + div.style.minWidth = "60px"; + div.style.background = `url(${xcbg}) no-repeat 0/100% 100%`; + div.style.transform = "translateY(50px)"; + div.setAttribute("name", this.properties.title); + + var title = document.createElement("div"); + title.style.fontSize = "10px"; + title.style.fontWeight = "600"; + title.style.color = "#000000"; + div.appendChild(title); + title.appendChild(document.createTextNode(this.properties.title)); + content.appendChild(div); + + var number = document.createElement("div"); + number.style.fontSize = "10px"; + number.style.fontWeight = "600"; + number.style.color = "black"; + div.appendChild(number); + number.appendChild(document.createTextNode(this.properties.number)); + content.appendChild(div); + let img2 = document.createElement("img"); + img2.style.width = "20px"; + img2.style.height = "26px"; + img2.src = this.properties.imgSrc2; + content.appendChild(div); + content.appendChild(img2); + return content; + } + zyys_center.value[indexx] = new BMapGL.CustomOverlay(createLabelDOM, { + point: new BMapGL.Point(...polygon.center), + opacity: 0.5, + offsetX: 10, + offsetY: -15, + properties: { + title: polygon.name, + number: polygon.num, + imgSrc2: dwd, + type: "customOverlay", + }, + }); + map.addOverlay(zyys_center.value[indexx]); + + zyys_center.value[indexx].addEventListener("click", () => { + console.log(polygon.name); + // cfCsZs.value = polygon.name; + // open_detail(); + }); +}; //获取摄像头地址 const getCameraUrl = () => { // camera.deviceCode = dataMyTag.camera.sbbm; @@ -3690,8 +3856,8 @@ const addPolygonCounty = () => { // townName.value = item.name; if (item.name == cfJd.value) { } else { - if(yaosuList.value.length!=0){ - return + if (yaosuList.value.length != 0) { + return; } loadingss.value = true; clear(); @@ -3906,7 +4072,6 @@ const loadCs = async (name) => { }); } } - console.log(6666); }; //添加村社区块 const addPolygonCountyCs = () => { @@ -4722,7 +4887,7 @@ onMounted(async () => { overflow: hidden; transition: opacity 1s; .jbggfwq { - margin-top: 20px; + margin-top: 20px; .jbggfwq_content { height: 540px; overflow: auto; diff --git a/vite.config.js b/vite.config.js index be26ac7..5c41c63 100644 --- a/vite.config.js +++ b/vite.config.js @@ -15,8 +15,8 @@ export default defineConfig({ // 第一个代理 "/api": { // 匹配到啥来进行方向代理 - // target: "http://10.0.0.7:8095/", //刘进 - target: "https://jzzf.longyou.gov.cn:998/", //线上 + target: "http://10.0.0.7:8095/", //刘进 + // target: "https://jzzf.longyou.gov.cn:998/", //线上 // target: "http://220.191.238.50:996/", //线上 // target: "https://zzdyyfb.dsjj.qz.gov.cn/web/mgop/gov-open/zj/2002428903/reserved/", //线上 changeOrigin: true, //是否支持跨域 From 325eed58b2dbae407e84deca126d14e94fe90635 Mon Sep 17 00:00:00 2001 From: yaoyuhao Date: Tue, 15 Oct 2024 15:43:02 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=BE=AE=E8=B0=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/view/sy_map.vue | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/view/sy_map.vue b/src/view/sy_map.vue index 6e2d7ac..fc95d6c 100644 --- a/src/view/sy_map.vue +++ b/src/view/sy_map.vue @@ -1853,6 +1853,7 @@ const clearyaosu = () => { yaosuList.value.length = 0; zyys_dk.value.length = 0; zyys_center.value.length = 0; + zyys_choose_cs.value=''; } }; //定义地图中点 @@ -2722,12 +2723,23 @@ const changeRs = (id) => { }; //----------资源要素------------ +const zyys_choose_cs = ref(""); const changeys = (name) => { if (yaosuList.value.includes(name)) { yaosuList.value = yaosuList.value.filter((ch) => ch !== name); yaosuIcon.value[name].sj.forEach((item, index) => { map.removeOverlay(yaosuIcon.value[name].sj[index].overlay); }); + if (name == zyys_choose_cs.value) { + zyys_dk.value.forEach((item, index) => { + map.removeOverlay(item); + }); + zyys_center.value.forEach((item, index) => { + map.removeOverlay(item); + }); + zyys_dk.value.length = 0; + zyys_center.value.length = 0; + } } else { csh(); clearPerson(); @@ -2872,6 +2884,7 @@ const createZyys = (polygon, indexx, name, tooltip) => { case "汽车充电桩": break; default: + zyys_choose_cs.value=name; if (zyys_dk.value.length) { zyys_dk.value.forEach((item, index) => { map.removeOverlay(item); // 清空服务圈 图标 @@ -2891,10 +2904,10 @@ const createZyys = (polygon, indexx, name, tooltip) => { ElMessage.warning({ message: "地图上未找到对应村社", }); - }else{ + } else { xr_dk_center_zyys(); } - + break; } } From 7d8feb2314203b5be5b9df08307b69324f31b12f Mon Sep 17 00:00:00 2001 From: yaoyuhao Date: Wed, 16 Oct 2024 09:41:17 +0800 Subject: [PATCH 3/3] gx --- src/view/sy_details.vue | 8 ++++---- src/view/sy_map.vue | 3 ++- vite.config.js | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/view/sy_details.vue b/src/view/sy_details.vue index d7a2287..82fc978 100644 --- a/src/view/sy_details.vue +++ b/src/view/sy_details.vue @@ -573,10 +573,10 @@ const handleRowClick = (row) => { } }; const handleRowClickGO = (row) => { - router.push({ - path: `/person/rwTable`, - query: { xh: row.xh, bm: row.bm }, - }); + // router.push({ + // path: `/person/rwTable`, + // query: { xh: row.xh, bm: row.bm }, + // }); }; // 初始化 判断赋值 diff --git a/src/view/sy_map.vue b/src/view/sy_map.vue index fc95d6c..729188f 100644 --- a/src/view/sy_map.vue +++ b/src/view/sy_map.vue @@ -2934,7 +2934,7 @@ const get_dk_zyys = async (xzjd, csq, number, name) => { }); xkzCenter.forEach((center) => { if (csq == center.name) { - let a = { ...center, num: number }; + let a = { ...center, num: number, zyysmc: name }; zyys_data.value.center.push(a); } }); @@ -3017,6 +3017,7 @@ const Xr_zyysNum = (polygon, indexx) => { offsetX: 10, offsetY: -15, properties: { + // title: `${polygon.name}(${polygon.zyysmc})`, title: polygon.name, number: polygon.num, imgSrc2: dwd, diff --git a/vite.config.js b/vite.config.js index 5c41c63..be26ac7 100644 --- a/vite.config.js +++ b/vite.config.js @@ -15,8 +15,8 @@ export default defineConfig({ // 第一个代理 "/api": { // 匹配到啥来进行方向代理 - target: "http://10.0.0.7:8095/", //刘进 - // target: "https://jzzf.longyou.gov.cn:998/", //线上 + // target: "http://10.0.0.7:8095/", //刘进 + target: "https://jzzf.longyou.gov.cn:998/", //线上 // target: "http://220.191.238.50:996/", //线上 // target: "https://zzdyyfb.dsjj.qz.gov.cn/web/mgop/gov-open/zj/2002428903/reserved/", //线上 changeOrigin: true, //是否支持跨域