From 828fedaae4ff767e0b9696a2a0702ab4d3721c66 Mon Sep 17 00:00:00 2001
From: guoshipeng <3194674006@qq.com>
Date: Mon, 14 Aug 2023 13:43:20 +0800
Subject: [PATCH] fix:设备详情百度地图换高德地图,批量修改补偿修改

---
 src/views/list/devicesBasic.vue        |  137 +++++--
 src/components/map/pickCoordinate1.vue |  198 ++++++++--
 package-lock.json                      |  388 ++++++++++++++++++++++
 public/index.html                      |  229 +++++++------
 package.json                           |    2 
 src/main.ts                            |   25 +
 6 files changed, 771 insertions(+), 208 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 0474547..64a96cd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,6 +8,7 @@
       "name": "vue-alain",
       "version": "0.2.0",
       "dependencies": {
+        "@amap/amap-vue": "^2.0.13",
         "@types/lodash": "^4.14.149",
         "@types/mockjs": "^1.0.1",
         "@types/numeral": "^0.0.26",
@@ -28,6 +29,7 @@
         "rxjs-compat": "^6.5.3",
         "v-charts": "^1.18.0",
         "vue": "^2.6.10",
+        "vue-amap": "^0.5.10",
         "vue-baidu-map": "^0.21.22",
         "vue-class-component": "^7.1.0",
         "vue-i18n": "^8.15.1",
@@ -56,6 +58,15 @@
         "typescript": "^3.7.2",
         "vue-template-compiler": "^2.6.10",
         "webpack-dev-server": "^3.11.2"
+      }
+    },
+    "node_modules/@amap/amap-vue": {
+      "version": "2.0.13",
+      "resolved": "https://registry.npmmirror.com/@amap/amap-vue/-/amap-vue-2.0.13.tgz",
+      "integrity": "sha512-aFIehFi01acAcDMvGUsAC9HxIhDNNOnBxb25dHdO/CbFGEegaOfCxDo6l9adkn4mVW5SgD6nPhkT4R+xVWhc7w==",
+      "peerDependencies": {
+        "core-js": "^3.3.2",
+        "vue": "^2.6.11"
       }
     },
     "node_modules/@ant-design/colors": {
@@ -405,9 +416,9 @@
       }
     },
     "node_modules/@babel/parser": {
-      "version": "7.14.4",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.4.tgz",
-      "integrity": "sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA==",
+      "version": "7.22.10",
+      "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.22.10.tgz",
+      "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==",
       "dev": true,
       "bin": {
         "parser": "bin/babel-parser.js"
@@ -1816,6 +1827,14 @@
         "node": ">= 6"
       }
     },
+    "node_modules/@jridgewell/sourcemap-codec": {
+      "version": "1.4.15",
+      "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
     "node_modules/@mrmlnc/readdir-enhanced": {
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
@@ -3066,6 +3085,80 @@
         "node": ">=8"
       }
     },
+    "node_modules/@vue/compiler-core": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
+      "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "@babel/parser": "^7.21.3",
+        "@vue/shared": "3.3.4",
+        "estree-walker": "^2.0.2",
+        "source-map-js": "^1.0.2"
+      }
+    },
+    "node_modules/@vue/compiler-dom": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
+      "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "@vue/compiler-core": "3.3.4",
+        "@vue/shared": "3.3.4"
+      }
+    },
+    "node_modules/@vue/compiler-sfc": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
+      "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "@babel/parser": "^7.20.15",
+        "@vue/compiler-core": "3.3.4",
+        "@vue/compiler-dom": "3.3.4",
+        "@vue/compiler-ssr": "3.3.4",
+        "@vue/reactivity-transform": "3.3.4",
+        "@vue/shared": "3.3.4",
+        "estree-walker": "^2.0.2",
+        "magic-string": "^0.30.0",
+        "postcss": "^8.1.10",
+        "source-map-js": "^1.0.2"
+      }
+    },
+    "node_modules/@vue/compiler-sfc/node_modules/postcss": {
+      "version": "8.4.27",
+      "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.27.tgz",
+      "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "nanoid": "^3.3.6",
+        "picocolors": "^1.0.0",
+        "source-map-js": "^1.0.2"
+      },
+      "engines": {
+        "node": "^10 || ^12 || >=14"
+      }
+    },
+    "node_modules/@vue/compiler-ssr": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
+      "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "@vue/compiler-dom": "3.3.4",
+        "@vue/shared": "3.3.4"
+      }
+    },
     "node_modules/@vue/component-compiler-utils": {
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz",
@@ -3128,6 +3221,29 @@
         "html-webpack-plugin": ">=2.26.0",
         "webpack": ">=4.0.0"
       }
+    },
+    "node_modules/@vue/reactivity-transform": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
+      "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "@babel/parser": "^7.20.15",
+        "@vue/compiler-core": "3.3.4",
+        "@vue/shared": "3.3.4",
+        "estree-walker": "^2.0.2",
+        "magic-string": "^0.30.0"
+      }
+    },
+    "node_modules/@vue/shared": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.4.tgz",
+      "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true
     },
     "node_modules/@vue/test-utils": {
       "version": "1.2.0",
@@ -7555,6 +7671,14 @@
       "engines": {
         "node": ">=4.0"
       }
+    },
+    "node_modules/estree-walker": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
+      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+      "dev": true,
+      "optional": true,
+      "peer": true
     },
     "node_modules/esutils": {
       "version": "2.0.3",
@@ -12105,6 +12229,20 @@
         "yallist": "^3.0.2"
       }
     },
+    "node_modules/magic-string": {
+      "version": "0.30.2",
+      "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.2.tgz",
+      "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "dependencies": {
+        "@jridgewell/sourcemap-codec": "^1.4.15"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
     "node_modules/make-dir": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
@@ -12658,6 +12796,20 @@
       "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==",
       "dev": true,
       "optional": true
+    },
+    "node_modules/nanoid": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz",
+      "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
+      },
+      "engines": {
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+      }
     },
     "node_modules/nanomatch": {
       "version": "1.2.13",
@@ -13710,6 +13862,14 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
       "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+    },
+    "node_modules/picocolors": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
+      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true
     },
     "node_modules/picomatch": {
       "version": "2.3.0",
@@ -16101,6 +16261,17 @@
         "node": ">=0.10.0"
       }
     },
+    "node_modules/source-map-js": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
+      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/source-map-resolve": {
       "version": "0.5.3",
       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
@@ -17598,6 +17769,22 @@
       "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
       "dev": true
     },
+    "node_modules/uppercamelcase": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmmirror.com/uppercamelcase/-/uppercamelcase-1.1.0.tgz",
+      "integrity": "sha512-C7YEMvhgrvTEKEEVqA7LXNID/1TvvIwYZqNIKLquS6y/MGSkRQAav9LnTTILlC1RqUM8eTVBOe1U/fnB652PRA==",
+      "dependencies": {
+        "camelcase": "^1.2.1"
+      }
+    },
+    "node_modules/uppercamelcase/node_modules/camelcase": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-1.2.1.tgz",
+      "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
     "node_modules/uri-js": {
       "version": "4.4.1",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -17810,6 +17997,19 @@
       "version": "2.6.13",
       "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.13.tgz",
       "integrity": "sha512-O+pAdJkce1ooYS1XyoQtpBQr9An+Oys3w39rkqxukVO3ZD1ilYJkWBGoRuadiQEm2LLJnCL2utV4TMSf52ubjw=="
+    },
+    "node_modules/vue-amap": {
+      "version": "0.5.10",
+      "resolved": "https://registry.npmmirror.com/vue-amap/-/vue-amap-0.5.10.tgz",
+      "integrity": "sha512-9ViNCev1vx32+zZ5RvF/TmUZNbwL9QrdA2/OnD2GlXMfQBkJy7D08Vb7379t6guqnopDPtWJ8K6gg72h9+4GUg==",
+      "dependencies": {
+        "uppercamelcase": "^1.1.0"
+      },
+      "engines": {
+        "core-js": "^2.5.0",
+        "node": ">= 4.0.0",
+        "npm": ">= 3.0.0"
+      }
     },
     "node_modules/vue-baidu-map": {
       "version": "0.21.22",
@@ -19695,6 +19895,12 @@
     }
   },
   "dependencies": {
+    "@amap/amap-vue": {
+      "version": "2.0.13",
+      "resolved": "https://registry.npmmirror.com/@amap/amap-vue/-/amap-vue-2.0.13.tgz",
+      "integrity": "sha512-aFIehFi01acAcDMvGUsAC9HxIhDNNOnBxb25dHdO/CbFGEegaOfCxDo6l9adkn4mVW5SgD6nPhkT4R+xVWhc7w==",
+      "requires": {}
+    },
     "@ant-design/colors": {
       "version": "3.2.2",
       "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-3.2.2.tgz",
@@ -20022,9 +20228,9 @@
       }
     },
     "@babel/parser": {
-      "version": "7.14.4",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.4.tgz",
-      "integrity": "sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA==",
+      "version": "7.22.10",
+      "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.22.10.tgz",
+      "integrity": "sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==",
       "dev": true
     },
     "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
@@ -21156,6 +21362,14 @@
         "@types/yargs": "^13.0.0"
       }
     },
+    "@jridgewell/sourcemap-codec": {
+      "version": "1.4.15",
+      "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
     "@mrmlnc/readdir-enhanced": {
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
@@ -22214,6 +22428,79 @@
         }
       }
     },
+    "@vue/compiler-core": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
+      "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "@babel/parser": "^7.21.3",
+        "@vue/shared": "3.3.4",
+        "estree-walker": "^2.0.2",
+        "source-map-js": "^1.0.2"
+      }
+    },
+    "@vue/compiler-dom": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
+      "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "@vue/compiler-core": "3.3.4",
+        "@vue/shared": "3.3.4"
+      }
+    },
+    "@vue/compiler-sfc": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
+      "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "@babel/parser": "^7.20.15",
+        "@vue/compiler-core": "3.3.4",
+        "@vue/compiler-dom": "3.3.4",
+        "@vue/compiler-ssr": "3.3.4",
+        "@vue/reactivity-transform": "3.3.4",
+        "@vue/shared": "3.3.4",
+        "estree-walker": "^2.0.2",
+        "magic-string": "^0.30.0",
+        "postcss": "^8.1.10",
+        "source-map-js": "^1.0.2"
+      },
+      "dependencies": {
+        "postcss": {
+          "version": "8.4.27",
+          "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.27.tgz",
+          "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==",
+          "dev": true,
+          "optional": true,
+          "peer": true,
+          "requires": {
+            "nanoid": "^3.3.6",
+            "picocolors": "^1.0.0",
+            "source-map-js": "^1.0.2"
+          }
+        }
+      }
+    },
+    "@vue/compiler-ssr": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
+      "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "@vue/compiler-dom": "3.3.4",
+        "@vue/shared": "3.3.4"
+      }
+    },
     "@vue/component-compiler-utils": {
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz",
@@ -22267,6 +22554,29 @@
       "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==",
       "dev": true,
       "requires": {}
+    },
+    "@vue/reactivity-transform": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
+      "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "@babel/parser": "^7.20.15",
+        "@vue/compiler-core": "3.3.4",
+        "@vue/shared": "3.3.4",
+        "estree-walker": "^2.0.2",
+        "magic-string": "^0.30.0"
+      }
+    },
+    "@vue/shared": {
+      "version": "3.3.4",
+      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.4.tgz",
+      "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true
     },
     "@vue/test-utils": {
       "version": "1.2.0",
@@ -26041,6 +26351,14 @@
       "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
       "dev": true
     },
+    "estree-walker": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
+      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
     "esutils": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
@@ -29765,6 +30083,17 @@
         "yallist": "^3.0.2"
       }
     },
+    "magic-string": {
+      "version": "0.30.2",
+      "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.2.tgz",
+      "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==",
+      "dev": true,
+      "optional": true,
+      "peer": true,
+      "requires": {
+        "@jridgewell/sourcemap-codec": "^1.4.15"
+      }
+    },
     "make-dir": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
@@ -30232,6 +30561,14 @@
       "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==",
       "dev": true,
       "optional": true
+    },
+    "nanoid": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz",
+      "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
+      "dev": true,
+      "optional": true,
+      "peer": true
     },
     "nanomatch": {
       "version": "1.2.13",
@@ -31101,6 +31438,14 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
       "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+    },
+    "picocolors": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
+      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+      "dev": true,
+      "optional": true,
+      "peer": true
     },
     "picomatch": {
       "version": "2.3.0",
@@ -33157,6 +33502,14 @@
       "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
       "dev": true
     },
+    "source-map-js": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
+      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+      "dev": true,
+      "optional": true,
+      "peer": true
+    },
     "source-map-resolve": {
       "version": "0.5.3",
       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
@@ -34371,6 +34724,21 @@
       "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=",
       "dev": true
     },
+    "uppercamelcase": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmmirror.com/uppercamelcase/-/uppercamelcase-1.1.0.tgz",
+      "integrity": "sha512-C7YEMvhgrvTEKEEVqA7LXNID/1TvvIwYZqNIKLquS6y/MGSkRQAav9LnTTILlC1RqUM8eTVBOe1U/fnB652PRA==",
+      "requires": {
+        "camelcase": "^1.2.1"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-1.2.1.tgz",
+          "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g=="
+        }
+      }
+    },
     "uri-js": {
       "version": "4.4.1",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -34551,6 +34919,14 @@
       "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.13.tgz",
       "integrity": "sha512-O+pAdJkce1ooYS1XyoQtpBQr9An+Oys3w39rkqxukVO3ZD1ilYJkWBGoRuadiQEm2LLJnCL2utV4TMSf52ubjw=="
     },
+    "vue-amap": {
+      "version": "0.5.10",
+      "resolved": "https://registry.npmmirror.com/vue-amap/-/vue-amap-0.5.10.tgz",
+      "integrity": "sha512-9ViNCev1vx32+zZ5RvF/TmUZNbwL9QrdA2/OnD2GlXMfQBkJy7D08Vb7379t6guqnopDPtWJ8K6gg72h9+4GUg==",
+      "requires": {
+        "uppercamelcase": "^1.1.0"
+      }
+    },
     "vue-baidu-map": {
       "version": "0.21.22",
       "resolved": "https://registry.npmjs.org/vue-baidu-map/-/vue-baidu-map-0.21.22.tgz",
diff --git a/package.json b/package.json
index ae50939..bcfb9e5 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,7 @@
     "test:e2e": "vue-cli-service test:e2e"
   },
   "dependencies": {
+    "@amap/amap-vue": "^2.0.13",
     "@types/lodash": "^4.14.149",
     "@types/mockjs": "^1.0.1",
     "@types/numeral": "^0.0.26",
@@ -30,6 +31,7 @@
     "rxjs-compat": "^6.5.3",
     "v-charts": "^1.18.0",
     "vue": "^2.6.10",
+    "vue-amap": "^0.5.10",
     "vue-baidu-map": "^0.21.22",
     "vue-class-component": "^7.1.0",
     "vue-i18n": "^8.15.1",
diff --git a/public/index.html b/public/index.html
index 9e7b33d..be543a4 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,118 +1,143 @@
 <!DOCTYPE html>
 <html lang="en">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width,initial-scale=1.0">
-    <script src="//api.map.baidu.com/api?type=webgl&v=2.0&ak=9FrZ6v3P8xS290ygi40M5Ik3Fgwes4KY"></script>
-    <link rel="icon" href="<%= BASE_URL %>logo.ico">
-    <link/>
-    <title>������������������������</title>
-    <style type="text/css">
-      .preloader{
-        position:fixed;
-        top:0;
-        left:0;
-        width:100%;
-        height:100%;
-        overflow:hidden;
-        background:#49a9ee;
-        z-index:9999;
-        transition:opacity .65s
+
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width,initial-scale=1.0">
+  <script type="text/javascript"
+    src="//api.map.baidu.com/api?type=webgl&v=2.0&ak=9FrZ6v3P8xS290ygi40M5Ik3Fgwes4KY"></script>
+  <script
+    src="https://webapi.amap.com/loca?v=1.3.2&key=be57d4add7dc10fb7f7924763a2179ae&plugin=AMap.MarkerClusterer"></script>
+  <link rel="icon" href="<%= BASE_URL %>logo.ico">
+  <link />
+  <title>������������������������</title>
+
+  <style type="text/css">
+    .preloader {
+      position: fixed;
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: 100%;
+      overflow: hidden;
+      background: #49a9ee;
+      z-index: 9999;
+      transition: opacity .65s
+    }
+
+    .preloader-hidden-add {
+      opacity: 1;
+      display: block
+    }
+
+    .preloader-hidden-add-active {
+      opacity: 0
+    }
+
+    .preloader-hidden {
+      display: none
+    }
+
+    .cs-loader {
+      position: absolute;
+      top: 0;
+      left: 0;
+      height: 100%;
+      width: 100%
+    }
+
+    .cs-loader-inner {
+      transform: translateY(-50%);
+      top: 50%;
+      position: absolute;
+      width: 100%;
+      color: #fff;
+      text-align: center
+    }
+
+    .cs-loader-inner label {
+      font-size: 20px;
+      opacity: 0;
+      display: inline-block
+    }
+
+    @keyframes lol {
+      0% {
+        opacity: 0;
+        transform: translateX(-300px)
       }
 
-      .preloader-hidden-add{
-        opacity:1;
-        display:block
+      33% {
+        opacity: 1;
+        transform: translateX(0)
       }
 
-      .preloader-hidden-add-active{
-        opacity:0
+      66% {
+        opacity: 1;
+        transform: translateX(0)
       }
 
-      .preloader-hidden{
-        display:none
+      100% {
+        opacity: 0;
+        transform: translateX(300px)
       }
+    }
 
-      .cs-loader{
-        position:absolute;
-        top:0;
-        left:0;
-        height:100%;
-        width:100%
-      }
+    .cs-loader-inner label:nth-child(6) {
+      animation: lol 3s infinite ease-in-out
+    }
 
-      .cs-loader-inner{
-        transform:translateY(-50%);
-        top:50%;
-        position:absolute;
-        width:100%;
-        color:#fff;
-        text-align:center
-      }
+    .cs-loader-inner label:nth-child(5) {
+      animation: lol 3s .1s infinite ease-in-out
+    }
 
-      .cs-loader-inner label{
-        font-size:20px;
-        opacity:0;
-        display:inline-block
-      }
+    .cs-loader-inner label:nth-child(4) {
+      animation: lol 3s .2s infinite ease-in-out
+    }
 
-      @keyframes lol{
-        0%{
-          opacity:0;
-          transform:translateX(-300px)
-        }
-        33%{
-          opacity:1;
-          transform:translateX(0)
-        }
-        66%{
-          opacity:1;
-          transform:translateX(0)
-        }
-        100%{
-          opacity:0;
-          transform:translateX(300px)
-        }
-      }
-      .cs-loader-inner label:nth-child(6){
-        animation:lol 3s infinite ease-in-out
-      }
-      .cs-loader-inner label:nth-child(5){
-        animation:lol 3s .1s infinite ease-in-out
-      }
-      .cs-loader-inner label:nth-child(4){
-        animation:lol 3s .2s infinite ease-in-out
-      }
-      .cs-loader-inner label:nth-child(3){
-        animation:lol 3s .3s infinite ease-in-out
-      }
-      .cs-loader-inner label:nth-child(2){
-        animation:lol 3s .4s infinite ease-in-out
-      }
-      .cs-loader-inner label:nth-child(1){
-        animation:lol 3s .5s infinite ease-in-out
-      }
-    </style>
-  </head>
-  <body class="has-ad-rt">
-    <noscript>
-      <strong>We're sorry but vue-alain doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
-    </noscript>
+    .cs-loader-inner label:nth-child(3) {
+      animation: lol 3s .3s infinite ease-in-out
+    }
 
-    <div id="app"></div>
-    <div class="preloader">
-      <div class="cs-loader">
-        <div class="cs-loader-inner">
-          <label> ���</label>
-          <label> ���</label>
-          <label> ���</label>
-          <label> ���</label>
-          <label> ���</label>
-          <label> ���</label>
-        </div>
+    .cs-loader-inner label:nth-child(2) {
+      animation: lol 3s .4s infinite ease-in-out
+    }
+
+    .cs-loader-inner label:nth-child(1) {
+      animation: lol 3s .5s infinite ease-in-out
+    }
+  </style>
+</head>
+
+<body class="has-ad-rt">
+  <noscript>
+    <strong>We're sorry but vue-alain doesn't work properly without JavaScript enabled. Please enable it to
+      continue.</strong>
+  </noscript>
+
+  <div id="app"></div>
+  <div class="preloader">
+    <div class="cs-loader">
+      <div class="cs-loader-inner">
+        <label> ���</label>
+        <label> ���</label>
+        <label> ���</label>
+        <label> ���</label>
+        <label> ���</label>
+        <label> ���</label>
       </div>
     </div>
-    <!-- built files will be auto injected -->
-  </body>
-</html>
+  </div>
+  <!-- built files will be auto injected -->
+
+</body>
+
+<script type="text/javascript">
+  window._AMapSecurityConfig = {
+    securityJsCode: '20fcbbc1782d2853f433831e61fab769',
+  }
+  
+</script>
+
+</html>
\ No newline at end of file
diff --git a/src/components/map/pickCoordinate1.vue b/src/components/map/pickCoordinate1.vue
index 4b75cec..8016aba 100644
--- a/src/components/map/pickCoordinate1.vue
+++ b/src/components/map/pickCoordinate1.vue
@@ -9,25 +9,67 @@
     class="modalStyle"
   >
     <div>
-      <p>
-        <span>���������</span
-        ><a-input
-          v-model="keyword"
-          style="display: inline; width: 160px; height: 26px"
-        />
-        <span style="margin-left: 25px">���������</span
-        ><a-input
-          v-model="clickPoint.lng"
-          style="display: inline; width: 160px; height: 26px"
-        />
-        <span style="margin-left: 25px">���������</span
-        ><a-input
-          v-model="clickPoint.lat"
-          style="display: inline; width: 160px; height: 26px"
-        />
-      </p>
+      <div style="display: flex">
+        <div style="display: flex; width: 300px">
+          <div>���������</div>
+            <a-input
+            placeholder="���������������"
+            id="tipinput"
+            style="width: 160px; height: 26px"
+          ></a-input>
+          <!-- <a-input
+            v-model="input"
+            placeholder="���������������"
+            id="tipinput"
+            style="width: 160px; height: 26px"
+            @change="searchMap"
+          ></a-input> -->
+          <!-- <a-button
+            size="small"
+            type="primary"
+            @click="searchMap"
+            style="margin-left: 10px"
+            >������</a-button
+          > -->
+
+          <!-- <el-amap-search-box
+            :search-option="searchOption"
+            :on-search-result="selectPoi"
+            style="width: 200px; height: 26px; margin-left: 10px;border;"
+          /> -->
+          <!-- <a-input style="width: 160px; height: 26px" @focus="selectPoi" /> -->
+        </div>
+        <div>
+          <span style="margin-left: 25px">���������</span
+          ><a-input
+            v-model="clickPoint[0]"
+            style="display: inline; width: 160px; height: 26px"
+          />
+        </div>
+        <div>
+          <span style="margin-left: 25px">���������</span
+          ><a-input
+            v-model="clickPoint[1]"
+            style="display: inline; width: 160px; height: 26px"
+          />
+        </div>
+      </div>
+      <el-amap
+        ref="map"
+        :center="clickPoint"
+        :events="{ click: mapClick }"
+        :zoom="zoom"
+        :scroll-wheel-zoom="true"
+        style="height: 400px; width: 100%; margin-top: 20px"
+      >
+        <el-amap-marker
+          :position="clickPoint"
+          animation="AMAP_ANIMATION_BOUNCE"
+          :dragging="true"
+        ></el-amap-marker>
+      </el-amap>
       <!--      :scroll-wheel-zoom="true"-->
-      <baidu-map
+      <!-- <baidu-map
         :center="center"
         :zoom="zoom"
         @ready="handler"
@@ -48,7 +90,7 @@
           >
           </bm-marker>
         </bm-control>
-      </baidu-map>
+      </baidu-map> -->
     </div>
   </a-modal>
 </template>
@@ -67,10 +109,10 @@
 @Component({
 })
 export default class PickCoordinate extends Vue {
-  private center: any = {
-    lng: 120.726838,
-    lat: 31.3421
-  }
+  private center: any = [
+     120.726838,
+     31.3421
+  ]
   @Prop({
     type: String,
     default: ''
@@ -84,13 +126,17 @@
   private typeOperation!: string
 
   private keyword: string = ''
-  private zoom = 3
-
-  @Watch('clickPoint', {deep: true})
-  private monitorMapFlag(newVal: any, oldVal: any) {
-    this.center.lng = newVal.lng
-    this.center.lat = newVal.lat
+  private zoom = 19
+  private searchOption:any={
+      city: '������',
+      citylimit: false
   }
+  @Watch('clickPoint', {deep: true, immediate: true},)
+  private monitorMapFlag(newVal: any, oldVal: any) {
+    console.log(newVal,'newVal');
+    this.center= [newVal.lng,newVal.lat]
+  }
+  private num1:any=1
 
   @Watch('lnglat', {deep: true, immediate: true})
   private lnglatWatch(newVal: any, oldVal: any) {
@@ -100,32 +146,68 @@
     // this.center.lat = newVal.lat
   }
   private created() {
-
+    console.log(this.clickPoint,'clickPoint');
   }
 
-
-
-
   // ���������������
-  private handler({BMap, map}) {
-    this.center.lng =  this.typeOperation === 'add' ? '120.726838' : this.lnglat.split(',')[1]
-    this.center.lat =  this.typeOperation === 'add' ? '31.3421' : this.lnglat.split(',')[0]
-    this.zoom = 19
+  // private handler({BMap, map}) {
+  //   this.center.lng =  this.typeOperation === 'add' ? '120.726838' : this.lnglat.split(',')[1]
+  //   this.center.lat =  this.typeOperation === 'add' ? '31.3421' : this.lnglat.split(',')[0]
+  //   this.zoom = 19
+
+  // }
+  private selectPoi(e){
+    console.log(e);
+    let poi = e
+      if (poi.length > 0) {
+         this.clickPoint = [poi[0].lng, poi[0].lat]
+         }
+  }
+  private input:any=''
+  private mark:any=''
+  private searchMap(){
+     var autoOptions = {
+        input: "tipinput"
+    };
+    var auto = new AMap.AutoComplete(autoOptions);
+    const placeSearch = new AMap.PlaceSearch(this.input);
+    console.log(window);
+     auto.on("select", select);//������������������������������������������������
+        function select(e) {
+          console.log(e.poi.adcode);
+            placeSearch.setCity(e.poi.adcode);
+            placeSearch.search(e.poi.name);  //���������������������
+        }
+  
+  // ���������������
+  // console.log(this.input);
+  //  placeSearch.search(this.input, (status, result) => {
+  //   // ������������������result������������������POI������
+   
+  //   console.log(result);//���������������������������������������������������������������������������
+  // });
+  // // ������������������������
+  // AMap.event.addListener(placeSearch, "selectChanged", (SelectChangeEvent) => {
+  //   // ������������������������������������������
+  //   this.mark = SelectChangeEvent.selected.data;
+  //   console.log(SelectChangeEvent.selected.data,'������');
+  // }); 
 
   }
   // ���������������������������
-  private clickPoint: any = this.lnglat === '' ?  {
-        lng: ' 120.726838',
-        lat: ' 31.3421'
-      } : {
-    lng: this.lnglat.split(',')[1],
-    lat: this.lnglat.split(',')[0]
-  }
+  private clickPoint: any = this.lnglat === '' ?  [
+          120.720262,
+         31.335757
+      ] : [
+     this.lnglat.split(',')[1],
+     this.lnglat.split(',')[0]
+  ]
 
   private mapClick(e: any) {
-    const { lng, lat } = e.point
-    this.clickPoint.lng = lng
-    this.clickPoint.lat = lat
+    const { lng, lat } = e.lnglat 
+    this.clickPoint=[ lng, lat]
+    this.$forceUpdate()
+    // console.log(this.clickPoint);
   }
 
   private handleMapCancel() {
@@ -135,11 +217,12 @@
 
   private addLonAndLat() {
     if (this.typeOperation === 'add') {
+      console.log('add');
       this.sendLonLat(this.clickPoint)
     } else {
+      console.log('upa');
       this.editLonLat(this.clickPoint)
     }
-
     this.flagSend(false)
   }
 
@@ -150,17 +233,19 @@
 
   @Emit('sendLonLat')
   private sendLonLat(lonLat: any) {
+    console.log(lonLat,'jia');
     return lonLat;
   }
 
   @Emit('editLonLat')
   private editLonLat(lonLat: any) {
+    console.log(lonLat,'gai');
     return lonLat;
   }
 }
 </script>
 
-<style  lang="less">
+<style  lang="less" scoped>
 .modalStyle {
   .ant-modal {
     margin-left: 25%;
@@ -173,4 +258,19 @@
 .anchorBL {
   display: none;
 }
+/* ���������������������logo */
+/deep/.amap-logo {
+  display: none;
+  opacity: 0 !important;
+}
+/deep/.amap-copyright {
+  opacity: 0;
+}
+.amap-sug-result {
+  position: absolute;
+  z-index: 9999 !important;;
+  background-color: #fefefe;
+  border: 1px solid #d1d1d1;
+  bottom: auto;
+}
 </style>
diff --git a/src/main.ts b/src/main.ts
index 083fd56..ad8ffc2 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,6 +1,6 @@
 import Vue from 'vue';
 import axios from 'axios'
-import {i18n} from './app/index';
+import { i18n } from './app/index';
 
 import App from './App.vue';
 import router from '@/route/router';
@@ -11,11 +11,22 @@
 //������������
 import BaiduMap from 'vue-baidu-map'
 Vue.use(BaiduMap, {
-   ak: '9FrZ6v3P8xS290ygi40M5Ik3Fgwes4KY'//������������key
+  ak: '9FrZ6v3P8xS290ygi40M5Ik3Fgwes4KY'//������������key
+})
+
+import AMap from 'vue-amap'
+Vue.use(AMap)
+AMap.initAMapApiLoader({
+  key: 'c4e73f2c6972766d6a54dffd2f501cac',
+  plugin: ['AMap.moveAnimation', 'AMap.PlaceSearch', 'AMap.Scale',
+    'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor',
+    'AMap.DistrictSearch', 'AMap.Geocoder', 'AMap.AutoComplete'],
+  // ������������ sdk ��������� 1.4.4
+  v: '1.4.4'
 })
 
 // ������������������
-import {preloaderFinished} from './util/preloader';
+import { preloaderFinished } from './util/preloader';
 preloaderFinished();
 
 import Startup from '@/core/Startup';
@@ -38,17 +49,17 @@
     app.$mount('#app');
 
     // app������
-    ( window as any ).appBootstrap();
+    (window as any).appBootstrap();
 
     // ������app������
     store.commit('app/appName', res.data.app);
 
     // ���storage������������token������������������������token������
     const initToken = app.$ss.get('token');
-    if ( initToken != null) {
-      store.commit('user/loginSuccess', {token: initToken});
+    if (initToken != null) {
+      store.commit('user/loginSuccess', { token: initToken });
       // ������acl������
-      store.dispatch('acl/login', {username: initToken});
+      store.dispatch('acl/login', { username: initToken });
     }
   },
 );
diff --git a/src/views/list/devicesBasic.vue b/src/views/list/devicesBasic.vue
index 62b48f1..d29b5c6 100644
--- a/src/views/list/devicesBasic.vue
+++ b/src/views/list/devicesBasic.vue
@@ -1089,7 +1089,6 @@
 import { jsonp }  from 'vue-jsonp'
 import any = jasmine.any;
 
-
 const statusMap = ["default", "processing", "success", "error"];
 const status = ["������", "���������", "���������", "������"];
 
@@ -1291,13 +1290,16 @@
     if(this.changesen===1){
       this.handleChange2(this.reskey);
     }
-    this.changesen=1;
   }
   private AQIhandleChange(value: string){
-       this.handleChange2(this.reskey);
+       if(this.changesen===1){
+      this.handleChange2(this.reskey);
+    }
   }
   private ceAQIhandleChange(value: string){
-    this.handleChange2(this.reskey);
+    if(this.changesen===1){
+      this.handleChange2(this.reskey);
+    }
   }
   private tablecolumns:TableColumnType<datatable>=[
     {
@@ -1344,7 +1346,7 @@
   ]
  
   private rowSelectionChange(selectedRowKeys: string[], selectedRows: DataType[]){
-     console.log(selectedRows);
+    //  console.log(selectedRows);
      this.selectedtable=selectedRows
   }
   private selectedtable:any[]=[]
@@ -1506,6 +1508,7 @@
     this.addMapFlag = true
   }
   private showMap2() {
+    this.typeOperation = 'upa'
     this.editMapFlag = true
   }
   // ������������������
@@ -1654,7 +1657,6 @@
 
   //���������������������
   private handleChange1(selectedItems:any) {
-
     if (selectedItems === undefined) {
       this.selectMt = null
     }else {
@@ -1696,25 +1698,25 @@
         //   this.datatable[i].cel=parseFloat(this.datatable[i].cel+this.ceAQIvaluein).toFixed(2)
         //   this.datatable[i].agehou='aqi*'+this.datatable[i].aqi+'+'+'ce1*'+this.datatable[i].cel
             if(this.AQIvalue1==='+'){
-              // console.log(this,'+++');
-              this.datatable[i].aqi=Number((this.datatable[i].aqi + this.AQIvalue).toFixed(2))
+              this.datatable[i].aqi=((this.datatable[i].aqi-0) + (this.AQIvalue-0)).toFixed(2) 
             }else if(this.AQIvalue1==='-'){
-              this.datatable[i].aqi=Number((this.datatable[i].aqi - this.AQIvalue).toFixed(2))
+              this.datatable[i].aqi=Number((this.datatable[i].aqi - this.AQIvalue)).toFixed(2)
             } else if(this.AQIvalue1==='*'){
-              this.datatable[i].aqi=Number((this.datatable[i].aqi * this.AQIvalue).toFixed(2))
+              this.datatable[i].aqi=Number((this.datatable[i].aqi * this.AQIvalue)).toFixed(2)
             }else if(this.AQIvalue1==='/'){
-              this.datatable[i].aqi=Number((this.datatable[i].aqi / this.AQIvalue).toFixed(2))
+              this.datatable[i].aqi=Number((this.datatable[i].aqi / this.AQIvalue).toFixed(3))
             } 
             if(this.ceAQIvalue==='+'){
-             this.datatable[i].cel=Number((this.datatable[i].cel + this.ceAQIvaluein).toFixed(2))
+             this.datatable[i].cel=((this.datatable[i].cel-0) + (this.ceAQIvaluein-0)).toFixed(2) 
             }else if(this.ceAQIvalue==='-'){
-              this.datatable[i].cel=Number((this.datatable[i].cel - this.ceAQIvaluein).toFixed(2))
+              this.datatable[i].cel=Number((this.datatable[i].cel - this.ceAQIvaluein)).toFixed(2)
             }else if(this.ceAQIvalue==='*'){
-              this.datatable[i].cel=Number((this.datatable[i].cel * this.ceAQIvaluein).toFixed(2))
+              this.datatable[i].cel=Number((this.datatable[i].cel * this.ceAQIvaluein)).toFixed(2)
             }else if(this.ceAQIvalue==='/'){
               this.datatable[i].cel=Number((this.datatable[i].cel / this.ceAQIvaluein).toFixed(3))
             }
             this.datatable[i].agehou='aqi*'+this.datatable[i].aqi+'+'+'ce1*'+this.datatable[i].cel
+            this.changesen=1;
         }
       }
       
@@ -2190,48 +2192,95 @@
   }
 
   private receiveFlag2(flag: boolean){
+    console.log('receiveFlag2');
     this.editMapFlag = flag
   }
   // ������������������������
   private receiveLomLat(lonLat: any) {
+   
     this.addLL = lonLat
     this.getTownData(lonLat)
   }
-
+  
   private getTownData(lonLat: any) {
-    // jsonp('/proxy/reverse_geocoding/v3/', {
-    jsonp('https://api.map.baidu.com/reverse_geocoding/v3/', {
-        ak: 'e5ig9Z7AKFjv8wbkqDbuLkUMzBev0tgT',
-        output: 'json',
-        coordtype: 'wgs8411',
-        extensions_town: true,
-        location: lonLat.lat+ ',' + lonLat.lng
-    }).then((res: any) => {
-      if(this.typeOperation === 'add') {
-        this.town_code = res.result.addressComponent.town_code
-        this.form.setFieldsValue({
-          jingdu: this.addLL.lng,
-          weidu: this.addLL.lat,
-          town: res.result.addressComponent.town
-        })
-      } else {
-        console.log(res);
-        if (!(res.result.addressComponent.town === '' && res.result.addressComponent.town_code === '')){
-          this.editBeforeData.town.townName = res.result.addressComponent.town
-          this.editBeforeData.town.townCode = res.result.addressComponent.town_code
-        } else {
-          this.editBeforeData.town.townName = res.result.addressComponent.town
-          this.editBeforeData.town.townCode = res.result.addressComponent.town_code
-          this.$message.warning('������������������������')
-        }
+    console.log(lonLat,'dsasa');  
+			let self=this
+					var geocoder = new AMap.Geocoder({
+						// city ������������������������������������������������������������adcode ��� citycode
+						city: '010'
+					})
+					geocoder.getAddress(lonLat, function(status, result) {
+            console.log(result,'result');
+						if (status === 'complete' && result.info === 'OK') {
+							// self.formattedAddress=result.regeocode.formattedAddress
+              // console.log(result,'321312');
+              if(self.typeOperation === 'add') {
+                if(result.regeocode.addressComponent.towncode.length>9){
+                  self.town_code=result.regeocode.addressComponent.towncode.slice(0,9)
+                }else{
+                  self.town_code = result.regeocode.addressComponent.towncode
+                }
+                self.form.setFieldsValue({
+                  jingdu: self.addLL[0],
+                  weidu: self.addLL[1],
+                  town: result.regeocode.addressComponent.township
+                })
+                console.log(self.town_code);
+              } else {
+                if (!(result.regeocode.addressComponent.township === '' && result.regeocode.addressComponent.towncode === '')){
+                  self.editBeforeData.town.townName = result.regeocode.addressComponent.township
+                  if(result.regeocode.addressComponent.towncode.length>9){
+                    self.editBeforeData.town.townCode = result.regeocode.addressComponent.towncode.slice(0,9)
+                  }else{
+                    self.editBeforeData.town.townCode = result.regeocode.addressComponent.towncode
+                  }
+                  // console.log(self.editBeforeData.town.townName,self.editBeforeData.town.townCode,'222');
+                } else {
+                  self.editBeforeData.town.townName = result.regeocode.addressComponent.town
+                  self.editBeforeData.town.townCode = result.regeocode.addressComponent.towncode
+                  self.$message.warning('������������������������')
+                }
 
-      }
-    })
+              }
+							// result������������������������������������
+						}
+					})
+				
+    // jsonp('/proxy/reverse_geocoding/v3/', {
+    // jsonp('https://api.map.baidu.com/reverse_geocoding/v3/', {
+    //     ak: 'e5ig9Z7AKFjv8wbkqDbuLkUMzBev0tgT',
+    //     output: 'json',
+    //     coordtype: 'wgs8411',
+    //     extensions_town: true,
+    //     location: lonLat.lat+ ',' + lonLat.lng
+    // }).then((res: any) => {
+    //   console.log(res,'res');
+    //   if(this.typeOperation === 'add') {
+    //     this.town_code = res.result.addressComponent.town_code
+    //     this.form.setFieldsValue({
+    //       jingdu: this.addLL.lng,
+    //       weidu: this.addLL.lat,
+    //       town: res.result.addressComponent.town
+    //     })
+    //   } else {
+    //     console.log(res,'555');
+    //     if (!(res.result.addressComponent.town === '' && res.result.addressComponent.town_code === '')){
+    //       this.editBeforeData.town.townName = res.result.addressComponent.town
+    //       this.editBeforeData.town.townCode = res.result.addressComponent.town_code
+    //     } else {
+    //       this.editBeforeData.town.townName = res.result.addressComponent.town
+    //       this.editBeforeData.town.townCode = res.result.addressComponent.town_code
+    //       this.$message.warning('������������������������')
+    //     }
+
+    //   }
+    // })
   }
   // ������������������������
   private receiveLomLat1(lonLat: any) {
-    this.editBeforeData.longitude = lonLat.lng
-    this.editBeforeData.latitude = lonLat.lat
+    console.log(lonLat,'lonLat');
+    this.editBeforeData.longitude = lonLat[0]
+    this.editBeforeData.latitude = lonLat[1]
     this.getTownData(lonLat)
   }
 

--
Gitblit v1.8.0