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