From a8e5c275a8724feff972502c1b2db348dba4482b Mon Sep 17 00:00:00 2001
From: guonan <guonan201020@163.com>
Date: 星期五, 16 五月 2025 09:57:50 +0800
Subject: [PATCH] 对接中科软接口

---
 src/components/menu/Device.vue |  200 ++++++++-----------------------------------------
 1 files changed, 34 insertions(+), 166 deletions(-)

diff --git a/src/components/menu/Device.vue b/src/components/menu/Device.vue
index 2c19385..e914dbf 100644
--- a/src/components/menu/Device.vue
+++ b/src/components/menu/Device.vue
@@ -7,6 +7,7 @@
       <div style="margin-left: 5px">
         <span style="color: white">閲嶇偣娌燂細</span>
         <el-select
+          @change="handleChange"
           v-model="selectValue"
           placeholder="Select"
           size="large"
@@ -45,7 +46,38 @@
 import { ref, computed, onMounted } from "vue";
 import { createPoint, removeEntities } from "@/utils/map";
 import { deviceDictList, getDictName } from "@/constant/dict.js";
-import { getDeviceData } from "@/api/index";
+import { getDeviceInfo } from "@/api/hpApi";
+
+// 瀹氫箟涓�涓搷搴斿紡寮曠敤瀛樺偍璁惧鍒楄〃
+const deviceListAll = ref([]);
+
+// 缁勪欢鎸傝浇鏃惰幏鍙栬澶囦俊鎭紝榛樿杩囨护鈥滃瓩鑳℃矡鈥�
+onMounted(() => {
+  loadDeviceList("瀛欒儭娌�");
+});
+
+// 鏍规嵁鍖哄煙鍚嶇О鍔犺浇璁惧鍒楄〃
+const loadDeviceList = async (areaName) => {
+  try {
+    const res = await getDeviceInfo(); // 璋冩暣getDeviceInfo浠ユ帴鍙楀姩鎬佸弬鏁帮紝濡傛灉闇�瑕佺殑璇�
+    deviceListAll.value = res.data.pageData.filter((item) =>
+      item.deviceName?.includes(areaName)
+    );
+  } catch (error) {
+    console.error("鍔犺浇璁惧淇℃伅澶辫触", error);
+  }
+};
+
+// 澶勭悊鍖哄煙鍙樺寲浜嬩欢
+const handleChange = (item) => {
+  if (!item) {
+    ElMessage("璇烽�夋嫨涓�涓尯鍩�");
+    return;
+  }
+  // 鏍规嵁鏂板尯鍩熷悕閲嶆柊鍔犺浇璁惧鍒楄〃
+  loadDeviceList(item);
+  console.log(deviceListAll.value);
+};
 
 const selectValue = ref("瀛欒儭娌�");
 
@@ -72,181 +104,17 @@
   },
 ]);
 
-const devicetList = ref([
-  {
-    deviceCode: "01303A9016",
-    deviceId: "1821067850122498049",
-    deviceName: "瀛欒儭娌�(澧掓儏)",
-    dictDeviceType: "14372958380",
-    latitude: 40.56476666,
-    longitude: 116.5955361,
-  },
-  {
-    deviceCode: "303A9016",
-    deviceId: "1821067878870257666",
-    deviceName: "瀛欒儭娌�(澧掓儏)",
-    dictDeviceType: "1437295822",
-    latitude: 40.56476666,
-    longitude: 116.5955361,
-  },
-  {
-    deviceCode: "1101161102180100010063",
-    deviceId: "1554360510040182786",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熷肮瀹惰タ娌熼洦閲忚0063",
-    dictDeviceType: "1437295810",
-    latitude: 40.556589,
-    longitude: 116.579459,
-  },
-  {
-    deviceCode: "1101161102180100194030",
-    deviceId: "1554361328692826114",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌熺紪鐮佸櫒4030",
-    dictDeviceType: "1437295815",
-    latitude: 40.554272,
-    longitude: 116.592583,
-  },
-  {
-    deviceCode: "1101161102180100031041",
-    deviceId: "1554360448702681089",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌熸澹颁华1041",
-    dictDeviceType: "1437295832",
-    latitude: 40.553236,
-    longitude: 116.592304,
-  },
-  {
-    deviceCode: "1101161102180100022007",
-    deviceId: "1554360273959587842",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌熷惈姘寸巼2007",
-    dictDeviceType: "1437295822",
-    latitude: 40.545821,
-    longitude: 116.586354,
-  },
-  {
-    deviceCode: "1101161102180100225406",
-    deviceId: "1554360478494822402",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌熸祦閫熶华5406",
-    dictDeviceType: "1437295821",
-    latitude: 40.554368,
-    longitude: 116.592989,
-  },
-  {
-    deviceCode: "1101161102180100055006",
-    deviceId: "1554360276627165185",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌熸偿浣嶈5006",
-    dictDeviceType: "1437295811",
-    latitude: 40.554398,
-    longitude: 116.592929,
-  },
-  {
-    deviceCode: "1101161102180100010064",
-    deviceId: "1554360452670492674",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌熼洦閲忚0064",
-    dictDeviceType: "1437295810",
-    latitude: 40.545741,
-    longitude: 116.586304,
-  },
-  {
-    deviceCode: "1101161102180100183030",
-    deviceId: "1554360533087883265",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙涓婂彴瀛愭渤涓滃崡娌熸憚鍍忓ご3030",
-    dictDeviceType: "1437295825",
-    latitude: 40.554272,
-    longitude: 116.592583,
-  },
-  {
-    deviceCode: "1101161102180100194031",
-    deviceId: "1554361328877375489",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸ご鏍戝簳涓嬩笢娌熺紪鐮佸櫒4031",
-    dictDeviceType: "1437295815",
-    latitude: 40.554035,
-    longitude: 116.59786,
-  },
-  {
-    deviceCode: "1101161102180100055007",
-    deviceId: "1554360509775941634",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸ご鏍戝簳涓嬩笢娌熸偿浣嶈5007",
-    dictDeviceType: "1437295811",
-    latitude: 40.554729,
-    longitude: 116.598165,
-  },
-  {
-    deviceCode: "1101161102180100031042",
-    deviceId: "1554360448916590593",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸ご鏍戝簳涓嬩笢娌熸澹颁华1042",
-    dictDeviceType: "1437295832",
-    latitude: 40.549398,
-    longitude: 116.600387,
-  },
-  {
-    deviceCode: "1101161102180100225407",
-    deviceId: "1554360478658400257",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸ご鏍戝簳涓嬩笢娌熸祦閫熶华5407",
-    dictDeviceType: "1437295821",
-    latitude: 40.55481,
-    longitude: 116.598025,
-  },
-  {
-    deviceCode: "1101161102180100022008",
-    deviceId: "1554360274165108737",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸ご鏍戝簳涓嬩笢娌熷惈姘寸巼2008",
-    dictDeviceType: "1437295822",
-    latitude: 40.544645,
-    longitude: 116.596511,
-  },
-  {
-    deviceCode: "1101161102180100183031",
-    deviceId: "1554360533255655426",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸ご鏍戝簳涓嬩笢娌熸憚鍍忓ご3031",
-    dictDeviceType: "1437295825",
-    latitude: 40.554035,
-    longitude: 116.59786,
-  },
-  {
-    deviceCode: "1101161102180100010065",
-    deviceId: "1554360452888596482",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸ご鏍戝簳涓嬩笢娌熼洦閲忚0065",
-    dictDeviceType: "1437295810",
-    latitude: 40.543104,
-    longitude: 116.59585,
-  },
-  {
-    deviceCode: "1101161102180100031040",
-    deviceId: "1554360448383913986",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙浜庡瑗挎矡娆″0浠�1040",
-    dictDeviceType: "1437295832",
-    latitude: 40.563822,
-    longitude: 116.592648,
-  },
-  {
-    deviceCode: "1101161102180100010062",
-    deviceId: "1554360452519497730",
-    deviceName: "鎬�鏌斿尯鐞夌拑搴欓晣瀛欒儭娌熸潙浜庡瑗挎矡闆ㄩ噺璁�0062",
-    dictDeviceType: "1437295810",
-    latitude: 40.558778,
-    longitude: 116.586892,
-  },
-  {
-    deviceCode: "1101160042160100010005",
-    deviceId: "1554360582698110977",
-    deviceName: "鎬�鏌斿尯闆佹爾闀囧寳婀炬潙鍖楁灄澶х煶闂ㄦ矡闆ㄩ噺璁�0005",
-    dictDeviceType: "1437295810",
-    latitude: 40.533623,
-    longitude: 116.602406,
-  },
-]);
-
 const treeProps = {
   label: "deviceName",
   children: "children",
 };
 
 // 璁$畻灞炴�э細灏嗚澶囧垪琛ㄨ浆鎹负鏍戝舰缁撴瀯
-// 璁$畻灞炴�э細灏嗚澶囧垪琛ㄨ浆鎹负鏍戝舰缁撴瀯
 const deviceTree = computed(() => {
   const typeMap = {};
 
   // 鍏堟寜璁惧绫诲瀷鍒嗙粍
-  devicetList.value.forEach((device) => {
+  deviceListAll.value.forEach((device) => {
     const typeName = getDictName(deviceDictList, device.dictDeviceType);
 
     if (!typeName) {

--
Gitblit v1.9.3