From d8f87fdf887a318fd92498003e1e5e09eb752531 Mon Sep 17 00:00:00 2001 From: zengmingjie Date: Sat, 21 Jun 2025 20:00:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A0=E4=BA=BA=E6=9C=BA=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E8=B0=83=E8=AF=95=EF=BC=8C=E5=A3=B0=E9=9F=B3=E6=89=93=E5=BC=80?= =?UTF-8?q?=EF=BC=8C=E5=8F=B3=E4=B8=8B=E8=A7=92=E8=B5=8B=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 +- package-lock.json | 212 +++++++- package.json | 6 +- src/api/home.js | 9 + src/api/login.js | 9 + src/assets/css/index.scss | 16 +- src/assets/img/icon_uav.png | Bin 0 -> 1184 bytes src/assets/img/icon_user.png | Bin 0 -> 4189 bytes src/main.js | 4 +- src/router/index.js | 3 + src/store/getters.js | 4 +- src/store/modules/chart.js | 11 +- src/utils/request.js | 3 + src/views/contentData/LeftSidebar/index.vue | 537 +++++++++++++------- src/views/contentData/headerTop/index.vue | 168 +++++- src/views/contentData/index.js | 292 ++++++----- src/views/index.vue | 26 +- src/views/login/index.vue | 16 +- src/views/mapControl/index.vue | 68 ++- vue.config.js | 2 +- 20 files changed, 1025 insertions(+), 363 deletions(-) create mode 100644 src/assets/img/icon_uav.png create mode 100644 src/assets/img/icon_user.png diff --git a/.env.development b/.env.development index 11ba95f..b6c7e6a 100644 --- a/.env.development +++ b/.env.development @@ -1,3 +1,3 @@ NODE_ENV = 'development' -VUE_APP_API_URL = 'http://114.66.57.139:8088' +VUE_APP_API_URL = 'http://114.66.57.139:5002' VUE_APP_MESSAGE_SDK_DEBUG = true \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 7ffee65..0cb2224 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,8 @@ "": { "version": "0.1.0", "dependencies": { + "@amap/amap-jsapi-loader": "^1.0.1", + "@fit-screen/vue": "^1.0.2", "@microsoft/signalr": "^8.0.7", "@vue-office/docx": "^1.6.2", "@vue-office/excel": "^1.7.11", @@ -18,8 +20,10 @@ "echarts-liquidfill": "^3.1.0", "element-ui": "^2.15.10", "file-saver": "^2.0.5", + "lodash": "^4.17.21", "moment": "^2.30.1", "ol": "^10.5.0", + "qrcode": "^1.5.4", "vue": "^2.7.16", "vue-router": "^3.5.1", "vueshowpdf": "^1.1.2", @@ -79,6 +83,11 @@ "node": "8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18" } }, + "node_modules/@amap/amap-jsapi-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/@amap/amap-jsapi-loader/-/amap-jsapi-loader-1.0.1.tgz", + "integrity": "sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw==" + }, "node_modules/@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -1933,6 +1942,47 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@fit-screen/vue": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/@fit-screen/vue/-/vue-1.0.2.tgz", + "integrity": "sha512-Byd+yyZhMw4x7kSfbCNG212EZxrGRi6L+dsAZi+JsbIUm6Wb+/xd6d5cfhtPJ/eubLbcKLVOstlRjQaj2NPJdQ==", + "dependencies": { + "vue-demi": "^0.13.11" + }, + "peerDependencies": { + "vue": "^2.6.14 || ^3.2.39" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/@fit-screen/vue/node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmmirror.com/@gar/promisify/-/promisify-1.1.3.tgz", @@ -4560,7 +4610,6 @@ "version": "5.0.1", "resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, "engines": { "node": ">=8" } @@ -7380,7 +7429,6 @@ "version": "1.2.0", "resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -7869,6 +7917,11 @@ "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, + "node_modules/dijkstrajs": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz", + "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==" + }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz", @@ -8308,8 +8361,7 @@ "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, "node_modules/emojis-list": { "version": "3.0.0", @@ -9946,7 +9998,6 @@ "version": "4.1.0", "resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -10280,7 +10331,6 @@ "version": "2.0.5", "resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -12829,7 +12879,6 @@ "version": "3.0.0", "resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, "engines": { "node": ">=8" } @@ -16303,7 +16352,6 @@ "version": "5.0.0", "resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, "dependencies": { "p-locate": "^4.1.0" }, @@ -16314,8 +16362,7 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash.debounce": { "version": "4.0.8", @@ -18014,7 +18061,6 @@ "version": "2.3.0", "resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, "dependencies": { "p-try": "^2.0.0" }, @@ -18029,7 +18075,6 @@ "version": "4.1.0", "resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, "dependencies": { "p-limit": "^2.2.0" }, @@ -18114,7 +18159,6 @@ "version": "2.2.0", "resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, "engines": { "node": ">=6" } @@ -18222,7 +18266,6 @@ "version": "4.0.0", "resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, "engines": { "node": ">=8" } @@ -18360,6 +18403,14 @@ "semver-compare": "^1.0.0" } }, + "node_modules/pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/pngquant-bin": { "version": "9.0.0", "resolved": "https://registry.npmmirror.com/pngquant-bin/-/pngquant-bin-9.0.0.tgz", @@ -19574,6 +19625,121 @@ "node": ">=6" } }, + "node_modules/qrcode": { + "version": "1.5.4", + "resolved": "https://registry.npmmirror.com/qrcode/-/qrcode-1.5.4.tgz", + "integrity": "sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==", + "dependencies": { + "dijkstrajs": "^1.0.1", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/qrcode/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/qrcode/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/qrcode/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/qrcode/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/qrcode/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "node_modules/qrcode/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/qrcode/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/qs": { "version": "6.11.0", "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz", @@ -19998,7 +20164,6 @@ "version": "2.1.1", "resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -20012,6 +20177,11 @@ "node": ">=0.10.0" } }, + "node_modules/require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz", @@ -20599,6 +20769,11 @@ "node": ">= 0.8.0" } }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==" + }, "node_modules/set-cookie-parser": { "version": "2.7.0", "resolved": "https://registry.npmmirror.com/set-cookie-parser/-/set-cookie-parser-2.7.0.tgz", @@ -21301,7 +21476,6 @@ "version": "4.2.3", "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -21378,7 +21552,6 @@ "version": "6.0.1", "resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -24057,6 +24230,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/which-module": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz", + "integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==" + }, "node_modules/which-typed-array": { "version": "1.1.15", "resolved": "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.15.tgz", diff --git a/package.json b/package.json index 0ecc3f3..350badf 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,8 @@ "start:vite": "vite" }, "dependencies": { + "@amap/amap-jsapi-loader": "^1.0.1", + "@fit-screen/vue": "^1.0.2", "@microsoft/signalr": "^8.0.7", "@vue-office/docx": "^1.6.2", "@vue-office/excel": "^1.7.11", @@ -23,8 +25,10 @@ "echarts-liquidfill": "^3.1.0", "element-ui": "^2.15.10", "file-saver": "^2.0.5", + "lodash": "^4.17.21", "moment": "^2.30.1", "ol": "^10.5.0", + "qrcode": "^1.5.4", "vue": "^2.7.16", "vue-router": "^3.5.1", "vueshowpdf": "^1.1.2", @@ -72,4 +76,4 @@ "gitHooks": { "pre-commit": "lint-staged" } -} \ No newline at end of file +} diff --git a/src/api/home.js b/src/api/home.js index ceb1a29..3927b1e 100644 --- a/src/api/home.js +++ b/src/api/home.js @@ -8,3 +8,12 @@ export function Homeview(data) { params: data }); } +// 实时位置信息 +export function HomeSyncLocation(data) { + let url = "/api/Home/syncLocation"; + return request({ + url: url, + method: "post", + data + }); +} diff --git a/src/api/login.js b/src/api/login.js index af77895..8831d15 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,3 +8,12 @@ export function login(data) { data }); } + +// 登录后 获取当前防区 +export function loginPosition(data) { + return request({ + url: "/api/Position/Details", + method: "post", + data + }); +} diff --git a/src/assets/css/index.scss b/src/assets/css/index.scss index 7965235..5b35cca 100644 --- a/src/assets/css/index.scss +++ b/src/assets/css/index.scss @@ -84,6 +84,7 @@ body { background-position: center; padding: 0; margin: 0; + pointer-events: none; .header-left { width: 20%; height: 35px; @@ -228,6 +229,8 @@ body { font-weight: 400; text-align: left; line-height: 35px; + overflow: hidden; + text-overflow: ellipsis; } } .main { @@ -246,6 +249,8 @@ body { .color-ef { color: #0144ef; font-size: 1.09vw; + overflow: hidden; + text-overflow: ellipsis; } .text-fff { color: #000; @@ -292,6 +297,8 @@ body { font-weight: 400; text-align: left; line-height: 35px; + overflow: hidden; + text-overflow: ellipsis; } } .content-main { @@ -301,6 +308,8 @@ body { .color-ef { color: #0144ef; font-size: 1.09vw; + overflow: hidden; + text-overflow: ellipsis; } .text-fff { color: #000; @@ -328,6 +337,8 @@ body { width: 100%; height: 7%; text-align: left; + display: flex; + align-items: center; .text-fff { // 超出隐藏 overflow: hidden; @@ -468,10 +479,13 @@ body { .navigation-content-qrcode { width: 80px; height: 80px; - background-color: red; margin: 0 auto; margin-top: 5px; margin-bottom: 5px; + img { + width: 100%; + height: 100%; + } } } .navigation-content-btn { diff --git a/src/assets/img/icon_uav.png b/src/assets/img/icon_uav.png new file mode 100644 index 0000000000000000000000000000000000000000..fe9fcaf334496122939c661eb26922a6b5d4126a GIT binary patch literal 1184 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 state.map.map, adsbisFlag: (state) => state.map.adsbisFlag, //是否显示adsb targetCode: (state) => state.chart.targetCode, //防护目标单一点击更改两侧数据 - airspaceCode: (state) => state.chart.airspaceCode //低空空域单一点击更改两侧数据 + airspaceCode: (state) => state.chart.airspaceCode, //低空空域单一点击更改两侧数据 + positionPoint: (state) => state.chart.positionPoint, //实时位置更新 + isZoomedIn: (state) => state.chart.isZoomedIn //音频是否打开 }; export default getters; diff --git a/src/store/modules/chart.js b/src/store/modules/chart.js index 68c48e3..b1a70da 100644 --- a/src/store/modules/chart.js +++ b/src/store/modules/chart.js @@ -8,7 +8,10 @@ const user = { endTime: "" }, targetCode: {}, - airspaceCode: {} + airspaceCode: {}, + + positionPoint: false, // 位置上报 + isZoomedIn: true // 音频是否打开 }, mutations: { @@ -29,6 +32,12 @@ const user = { }, SET_AIRSPACECODE: (state, value) => { state.airspaceCode = value; + }, + SET_POSITIONPOINT: (state, value) => { + state.positionPoint = value; + }, + SET_ISZOOMEDIN: (state, value) => { + state.isZoomedIn = value; } }, diff --git a/src/utils/request.js b/src/utils/request.js index cc0e19c..d087f73 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -33,6 +33,9 @@ service.interceptors.response.use( // 登录已过期,执行自动退出操作 localStorage.removeItem("setToken"); localStorage.removeItem("expires"); + localStorage.removeItem("userId"); + localStorage.removeItem("isAdmin"); + localStorage.removeItem("PositionIds"); router.push("/login"); } const res = response.data; diff --git a/src/views/contentData/LeftSidebar/index.vue b/src/views/contentData/LeftSidebar/index.vue index 6db3fba..5bfc3da 100644 --- a/src/views/contentData/LeftSidebar/index.vue +++ b/src/views/contentData/LeftSidebar/index.vue @@ -13,13 +13,16 @@
  • -
    +
    {{ index < 9 ? "0" + (index + 1) : index + 1 }} @@ -33,7 +36,7 @@
    距离: - {{ drone.currTime || 0 }}米 + {{ drone.distance || 0 }}米
    高度: @@ -42,7 +45,7 @@
    -
    +
    {{ index < 9 ? "0" + (index + 1) : index + 1 }} @@ -56,29 +59,29 @@
    距离: - {{ drone.currTime || 0 }}米 + {{ drone.distance || 0 }}米
    高度: {{ drone.height || 0 }}米
    -
    +
    型号: - DJI Air 2S + {{ drone.device_type }}
    更新时间: - 2025.6.15 21:12:43 + {{ drone.times }}
    无人机方位
    -
    +

    经纬度:

    @@ -91,62 +94,90 @@

    高度:

    {{ drone.height || 0 }}M

    -
    -

    速度:

    -

    {{ drone.height }}M/h

    -
    +
    +
    +

    速度:

    +

    + E:{{ drone.speed_E }} N:{{ drone.speed_N }} U:{{ + drone.speed_U + }} +

    - 飞手方位 + 飞手位置
    -
    +

    经纬度

    - {{ drone.drone_lon }}, {{ drone.drone_lat }} + {{ drone.app_lon }}, {{ drone.app_lat }}

    -
    -

    高度:

    -

    {{ drone.height || 0 }}m

    -
    - 信任 + + 信任 +
    - 导航 + + 导航 +
    -