Переглянути джерело

[Feat 0000] 对接地图标记点位

houzekong 1 місяць тому
батько
коміт
b1cdb0eed9
1 змінених файлів з 34 додано та 39 видалено
  1. 34 39
      src/api/sys/map.ts

+ 34 - 39
src/api/sys/map.ts

@@ -14,55 +14,50 @@ export function getMarkers(params: any): Promise<any> {
   const mineStore = useMineDepartmentStore();
 
   return defHttp.post({ url: Api.list, params: omitBy(params, isNil) }, { joinParamsToUrl: true }).then(({ records }) => {
-    // const presets = [
-    //   ['36.644181586865905', '109.48980355362514', '1566106'],
-    //   ['36.644181586865905', '109.48980355362514', '1566106'],
-    //   // [33.063924198120645, 107.01782226562501, '1566101'],
-    //   // [34.34116826510752, 108.93468369998695, '1566103'],
-    //   ['34.361576287484176', '107.23571011212084', '1566107'],
-    //   ['34.361576287484176', '107.23571011212084', '1566107'],
-    // ];
-    // const presets2 = [
-    //   ['36.534181586865905', '109.39980355362514', '1566106'],
-    //   ['36.434181586865905', '109.29980355362514', '1566106'],
-    //   ['34.461576287484176', '107.33571011212084', '1566107'],
-    //   ['34.561576287484176', '107.43571011212084', '1566107'],
-    // ];
-    const presets = {
-      '810321182c6a40fa92d5acccdba34ce3': [
-        ['36.534181586865905', '109.39980355362514', '1566106'],
-        ['36.434181586865905', '109.29980355362514', '1566106'],
-        ['36.644181586865905', '109.48980355362514', '1566106'],
-      ],
-      '63afd272d0e24c7e9c1475c6498f0c80': [
-        ['34.461576287484176', '107.33571011212084', '1566103'],
-        ['34.561576287484176', '107.43571011212084', '1566103'],
-        ['34.361576287484176', '107.23571011212084', '1566103'],
-      ],
-      '38017ef114164ac5b1ff314b49694c2d': [
-        ['32.685619853722', '109.02571163416906', '1566109'],
-        ['32.685619853722', '109.02571163416906', '1566109'],
-        ['32.685619853722', '109.02571163416906', '1566109'],
-      ],
-    };
-
     return mineStore.getDepartTree.reduce((array: any[], root) => {
       const children = records.filter((e) => e.managementId === root.rawid);
 
+      if (!children.length) return array;
+
+      const gbMap = new Map([
+        // 西安
+        ['', '1566101'],
+        // 铜川
+        ['', '1566102'],
+        // 宝鸡
+        ['', '1566103'],
+        // 咸阳
+        ['', '1566104'],
+        // 渭南
+        ['', '1566105'],
+        // 延安
+        ['', '1566106'],
+        // 汉中
+        ['', '1566107'],
+        // 执法一处 - 榆林
+        ['223', '1566108'],
+        // 安康
+        ['', '1566109'],
+        // 商洛
+        ['', '1566111'],
+      ]);
+
+      const { latitude, longitude, areaId } = children[0];
+
       const ele = {
         name: root.departName,
         radius: 10,
         managementName: root.departName,
         mineCode: children.map((c) => c.mineCode).join(','),
-        lat: presets[root.rawid][2][0],
-        lng: presets[root.rawid][2][1],
-        gb: presets[root.rawid][2][2],
-        children: children.map((e, i) => {
+        lat: latitude,
+        lng: longitude,
+        gb: gbMap.get(areaId),
+        children: children.map((e) => {
           return {
             ...e,
-            lat: presets[root.rawid][i][0],
-            lng: presets[root.rawid][i][1],
-            gb: presets[root.rawid][i][2],
+            lat: e.latitude,
+            lng: e.longitude,
+            gb: gbMap.get(e.areaId),
           };
         }),
       };