From 0bc0468692ad7b16cd2d49d20c4689ddcd6fb212 Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期二, 12 十一月 2024 17:43:14 +0800 Subject: [PATCH] 修改资产界面 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/map/gaode/html/ViewProjectList.html | 146 ++++++++++++++++++++++++++++-------------------- 1 files changed, 86 insertions(+), 60 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/map/gaode/html/ViewProjectList.html b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/map/gaode/html/ViewProjectList.html index 7d2dd47..8db39e0 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/map/gaode/html/ViewProjectList.html +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/map/gaode/html/ViewProjectList.html @@ -1,14 +1,17 @@ 锘�<!DOCTYPE html> <html> <head> - <meta charset="utf-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width"> + <meta charset="utf-8" /> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <meta name="viewport" + content="initial-scale=1.0, user-scalable=no, width=device-width" /> <title>椤圭洰鍒楄〃瑙嗗浘</title> - <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119.css" /> + <link rel="stylesheet" + href="http://cache.amap.com/lbs/static/main1119.css" /> <link href="../css/public.css" rel="stylesheet" /> <script src="http://cache.amap.com/lbs/static/es5.min.js"></script> - <script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=3627ed9deaac2622e26a7169f0c36b1b&plugin=AMap.Geocoder"></script> + <script type="text/javascript" + src="https://webapi.amap.com/maps?v=2.0&key=3627ed9deaac2622e26a7169f0c36b1b&plugin=AMap.Geocoder"></script> <script src="../js/jquery-2.1.1.min.js"></script> <script src="../js/public.js"></script> <script src="../js/tools.js"></script> @@ -16,28 +19,32 @@ </head> <body> - <div id="container"></div> <div class="search-box" id="search_box"> - <input class="search-text" id="search_text" type="text" placeholder="璇疯緭鍏ヨ缁嗗湴鍧�" onkeypress="keySearchAddress()" /> - <input class="search-button" id="search_button" type="button" onclick="searchAddress()" /> + <input class="search-text" + id="search_text" + type="text" + placeholder="璇疯緭鍏ヨ缁嗗湴鍧�" + onkeypress="keySearchAddress()" /> + <input class="search-button" + id="search_button" + type="button" + onclick="searchAddress()" /> </div> <script> - - let map;//鍦板浘瀵硅薄 浣跨敤 ToolBar鏃讹紝鍦板浘瀵硅薄闇�瑕佸畾涔変綅map 鍚﹀垯浼氭姤閿� - let _map;//鍦板浘瀵硅薄 - let _layer;//鍥惧眰瀵硅薄 - let _callBackObj;//浜や簰瀵硅薄 - let _allProjectList = [];//鎵�鏈夐」鐩垪琛� - let _selectedProjectOverlay = null;//閫夋嫨鐨勯」鐩鐩栫墿 + let map; //鍦板浘瀵硅薄 浣跨敤 ToolBar鏃讹紝鍦板浘瀵硅薄闇�瑕佸畾涔変綅map 鍚﹀垯浼氭姤閿� + let _map; //鍦板浘瀵硅薄 + let _layer; //鍥惧眰瀵硅薄 + let _callBackObj; //浜や簰瀵硅薄 + let _allProjectList = []; //鎵�鏈夐」鐩垪琛� + let _selectedProjectOverlay = null; //閫夋嫨鐨勯」鐩鐩栫墿 $(document).ready(function () { - try { - map = _map = new AMap.Map('container', { - viewMode: '2D', //榛樿浣跨敤 2D 妯″紡 + map = _map = new AMap.Map("container", { + viewMode: "2D", //榛樿浣跨敤 2D 妯″紡 resizeEnable: true, expandZoomRange: true, zoom: 10, @@ -55,32 +62,31 @@ //鍦板浘鐐瑰嚮鏃跺叧闂悳绱㈤潰鏉� _map.on("click", function () { - if ($("#search_text").css("display") == 'block') { + if ($("#search_text").css("display") == "block") { $("#search_text").hide(); } }); //鍦板浘鍔犺浇瀹屾垚浜嬩欢 - _map.on("complete", function () {//鍦板浘鍔犺浇瀹屾垚 + _map.on("complete", function () { + //鍦板浘鍔犺浇瀹屾垚 _layer = new AMap.LabelsLayer({ zooms: [3, 20], zIndex: 1000, - eventSupport: true, // 鍥惧眰浜嬩欢鏀寔锛孡abelsLayer 榛樿寮�鍚� + eventSupport: true, // 鍥惧眰浜嬩欢鏀寔锛孡abelsLayer 榛樿寮�鍚� fitView: true, - collision: true,// 璇ュ眰鍐呮爣娉ㄦ槸鍚﹂伩璁� + collision: true, // 璇ュ眰鍐呮爣娉ㄦ槸鍚﹂伩璁� allowCollision: true, //涓嶅悓鏍囨敞灞備箣闂存槸鍚﹂伩璁� }); _map.add(_layer); _callBackObj = window.chrome.webview.hostObjects.callBackObj; _callBackObj.LoadCompleted(); }); - - } - catch (e) { - _callBackObj = window.chrome.webview.hostObjects.callBackObj + } catch (e) { + _callBackObj = window.chrome.webview.hostObjects.callBackObj; _callBackObj.LoadFailed(); } - }) + }); //璁剧疆椤圭洰鍒楄〃 function setProjectList(allProjectList) { @@ -89,8 +95,7 @@ } if (isEmpty(allProjectList)) { _allProjectList = []; - } - else { + } else { _allProjectList = allProjectList; } @@ -102,10 +107,10 @@ //zIndex: 1, // 灏嗙涓�姝ュ垱寤虹殑 icon 瀵硅薄浼犵粰 icon 灞炴�� icon: { - type: 'image',// 鍥炬爣绫诲瀷锛岀幇闃舵鍙敮鎸� image 绫诲瀷 - image: xhs_image_base64.project,// 鍥剧墖 url + type: "image", // 鍥炬爣绫诲瀷锛岀幇闃舵鍙敮鎸� image 绫诲瀷 + image: xhs_image_base64.project, // 鍥剧墖 url size: [32, 32], // 鍥剧墖灏哄 - anchor: 'center',// 鍥剧墖鐩稿 position 鐨勯敋鐐癸紝榛樿涓� bottom-center + anchor: "center", // 鍥剧墖鐩稿 position 鐨勯敋鐐癸紝榛樿涓� bottom-center }, // 灏嗙浜屾鍒涘缓鐨� text 瀵硅薄浼犵粰 text 灞炴�� text: { @@ -118,8 +123,8 @@ fillColor: "#22886f", //瀛椾綋棰滆壊 strokeColor: "#fff", //鎻忚竟棰滆壊 strokeWidth: 2, //鎻忚竟瀹藉害 - } - } + }, + }, }); labelMarker.objInfo = x; labelMarker.on("click", function (e) { @@ -136,32 +141,50 @@ return true; } + function initOverlayListener(overlay) { + const id = overlay.objInfo.Id + console.log('id:', id) + // FIXME: 姣忔鍒囨崲閮戒細鏂板鍚屾牱鐨勫厓绱�, 闇�瑕佷紭鍖� + const objInfoNameEleList = document.querySelectorAll(".obj-info-name-" + id); + const lastEle = objInfoNameEleList[objInfoNameEleList.length - 1]; + + lastEle?.addEventListener("click", () => { + _callBackObj.JumpSimulation(overlay.objInfo.Id); + }); + } + //璁剧疆閫夋嫨椤圭洰鏍峰紡 function setSelectProjectStyle(overlay) { setCancelSelectProjectStyle(); let info = []; info.push("<div className='input-card'>"); - info.push("<label style=\"color: blue\">"); + const id = overlay.objInfo.Id + info.push( + "<label class='obj-info-name-" + id + "' style=\"color: blue;cursor:pointer\">" + ); info.push(overlay.objInfo.Name); info.push("</label>"); info.push("<p class='input-item'>缂栧彿锛�"); info.push(overlay.objInfo.NO); info.push("</p>"); - info.push("<p class='input-item'>缁忕含搴︼細"); - info.push(overlay.objInfo.Point.X + "," + overlay.objInfo.Point.Y); + info.push("<p class='input-item'>瀹㈡埛鍚嶇О锛�"); + info.push(overlay.objInfo.Customer); info.push("</p>"); info.push("</div>"); infoWindow = new AMap.InfoWindow({ - anchor: 'bottom-center', + anchor: "bottom-center", content: info.join(""), - offset: new AMap.Pixel(0, -16) + offset: new AMap.Pixel(0, -16), }); infoWindow.open(_map, overlay.getPosition()); _selectedProjectOverlay = overlay; _map.setFitView(overlay); + initOverlayListener(overlay); } - + function getAllOverlaysClick(overlay) { + console.log(overlay); + } //璁剧疆鍙栨秷閫夋嫨鏍峰紡 function setCancelSelectProjectStyle() { if (_selectedProjectOverlay) { @@ -179,10 +202,14 @@ _allProjectList = []; } - let project = _allProjectList.find(function (x) { return x.Id == projectId; }); + let project = _allProjectList.find(function (x) { + return x.Id == projectId; + }); if (project) { let allOverlays = _layer.getAllOverlays(); - let overlay = allOverlays.find(function (x) { return x.objInfo && x.objInfo.Id == projectId; }); + let overlay = allOverlays.find(function (x) { + return x.objInfo && x.objInfo.Id == projectId; + }); if (overlay) { setSelectProjectStyle(overlay); } @@ -198,7 +225,8 @@ //璁剧疆鎼滅储闈㈡澘鐨勫彲瑙佹�� function setSearchPanelVisibility() { - document.getElementById('search_box').hidden = !document.getElementById('search_box').hidden; + document.getElementById("search_box").hidden = + !document.getElementById("search_box").hidden; } //鏍规嵁璇︾粏鍦板潃鏌ョ湅鍦板浘 @@ -209,14 +237,19 @@ let geocoder = new AMap.Geocoder({}); //鍦扮悊缂栫爜,杩斿洖鍦扮悊缂栫爜缁撴灉 geocoder.getLocation(address, function (status, result) { - if (status === 'complete' && result.info === 'OK') { + if (status === "complete" && result.info === "OK") { let geocode = result.geocodes; - let lnglat = [geocode[0].location.getLng(), geocode[0].location.getLat()]; + let lnglat = [ + geocode[0].location.getLng(), + geocode[0].location.getLat(), + ]; let marker = new AMap.Marker({ position: lnglat }); _map.setFitView(marker); - } - else { - let error = { Code: error_type.locate_address, Message: "鏍规嵁璇︾粏鍦板潃瀹氫綅鍦板浘澶辫触" }; + } else { + let error = { + Code: error_type.locate_address, + Message: "鏍规嵁璇︾粏鍦板潃瀹氫綅鍦板浘澶辫触", + }; _callBackObj.HandingError(JSON.stringify(error)); } }); @@ -224,16 +257,13 @@ //鎼滅储鍦板潃 function searchAddress() { - if ($("#search_text").css("display") == 'block') { - + if ($("#search_text").css("display") == "block") { let address = $("#search_text").val(); if (!isEmpty(address)) { - locateByAddress(address); } $("#search_text").hide(); - } - else { + } else { $("#search_text").show(); } } @@ -250,18 +280,14 @@ getAddressByLnglat = function (lnglat, callback) { let geocoder = new AMap.Geocoder({}); geocoder.getAddress(lnglat, function (status, result) { - if (status === 'complete' && result.info === 'OK') { + if (status === "complete" && result.info === "OK") { var address = result.regeocode.formattedAddress; //杩斿洖鍦板潃鎻忚堪 callback(address); - } - else { + } else { callback(null); } }); - } - - + }; </script> </body> - </html> \ No newline at end of file -- Gitblit v1.9.3