Commit 59fd57592d4cc5c696b733ee493ef0c58b30805c
1 parent
8a1d70bb
feat(map): 替换腾讯地图为高德地图并优化检查点功能
- 将腾讯地图API替换为高德地图API - 移除检查点经纬度输入框的禁用状态 - 重构地图组件中的标记点和路径绘制逻辑 - 添加地图覆盖物清理功能 - 更新登录页面UI设计 - 修改系统标题和公司名称显示 - 添加property路由模块 - 修复API请求参数中的硬编码值
Showing
25 changed files
with
768 additions
and
1128 deletions
install.md
| 1 | -# HC 小区管理系统前段安装教程 | 1 | +# 西荣物业 小区管理系统前段安装教程 |
| 2 | ## 一、项目构建 | 2 | ## 一、项目构建 |
| 3 | ### 1. 安装依赖 | 3 | ### 1. 安装依赖 |
| 4 | ```bash | 4 | ```bash |
| @@ -37,4 +37,4 @@ server { | @@ -37,4 +37,4 @@ server { | ||
| 37 | proxy_pass http://192.168.1.109:8008; | 37 | proxy_pass http://192.168.1.109:8008; |
| 38 | } | 38 | } |
| 39 | } | 39 | } |
| 40 | -``` | ||
| 41 | \ No newline at end of file | 40 | \ No newline at end of file |
| 41 | +``` |
package-lock.json
| 1 | { | 1 | { |
| 2 | - "name": "micro-community-web", | 2 | + "name": "xirong_property", |
| 3 | "version": "1.0.0", | 3 | "version": "1.0.0", |
| 4 | "lockfileVersion": 3, | 4 | "lockfileVersion": 3, |
| 5 | "requires": true, | 5 | "requires": true, |
| 6 | "packages": { | 6 | "packages": { |
| 7 | "": { | 7 | "": { |
| 8 | - "name": "micro-community-web", | 8 | + "name": "xirong_property", |
| 9 | "version": "1.0.0", | 9 | "version": "1.0.0", |
| 10 | "dependencies": { | 10 | "dependencies": { |
| 11 | "@tinymce/tinymce-vue": "^3.2.8", | 11 | "@tinymce/tinymce-vue": "^3.2.8", |
| 12 | "axios": "^0.21.1", | 12 | "axios": "^0.21.1", |
| 13 | "echarts": "^5.6.0", | 13 | "echarts": "^5.6.0", |
| 14 | "element-ui": "^2.15.6", | 14 | "element-ui": "^2.15.6", |
| 15 | - "formiojs": "^4.21.7", | ||
| 16 | "qrcodejs2": "^0.0.2", | 15 | "qrcodejs2": "^0.0.2", |
| 17 | "tinymce": "^5.10.7", | 16 | "tinymce": "^5.10.7", |
| 18 | "vue": "^2.6.14", | 17 | "vue": "^2.6.14", |
| @@ -1572,47 +1571,6 @@ | @@ -1572,47 +1571,6 @@ | ||
| 1572 | "node": ">=6.9.0" | 1571 | "node": ">=6.9.0" |
| 1573 | } | 1572 | } |
| 1574 | }, | 1573 | }, |
| 1575 | - "node_modules/@formio/bootstrap3": { | ||
| 1576 | - "version": "2.12.4-rc.1", | ||
| 1577 | - "resolved": "https://registry.npmjs.org/@formio/bootstrap3/-/bootstrap3-2.12.4-rc.1.tgz", | ||
| 1578 | - "integrity": "sha512-4B5rs+w9tAk5i+wbdw2/NrTxPqnDX7/W19tiTd9lfXnIGQmaj0ecMEVqDmOJg8pIlyU02g3c4ih6JnA/JVmUbA==", | ||
| 1579 | - "dependencies": { | ||
| 1580 | - "resize-observer-polyfill": "^1.5.1" | ||
| 1581 | - } | ||
| 1582 | - }, | ||
| 1583 | - "node_modules/@formio/choices.js": { | ||
| 1584 | - "version": "10.2.1", | ||
| 1585 | - "resolved": "https://registry.npmjs.org/@formio/choices.js/-/choices.js-10.2.1.tgz", | ||
| 1586 | - "integrity": "sha512-NCE5u7jG3XGokJP16MyAbVSUptKu/mpJYAxd4PPIoLiO/l9Do5uoOQ0MgNb9qG9qABJiOX+qNRE8q8RybY/SwQ==", | ||
| 1587 | - "dependencies": { | ||
| 1588 | - "deepmerge": "^4.2.2", | ||
| 1589 | - "fuse.js": "^6.6.2", | ||
| 1590 | - "redux": "^4.2.0" | ||
| 1591 | - } | ||
| 1592 | - }, | ||
| 1593 | - "node_modules/@formio/choices.js/node_modules/deepmerge": { | ||
| 1594 | - "version": "4.3.1", | ||
| 1595 | - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", | ||
| 1596 | - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", | ||
| 1597 | - "engines": { | ||
| 1598 | - "node": ">=0.10.0" | ||
| 1599 | - } | ||
| 1600 | - }, | ||
| 1601 | - "node_modules/@formio/semantic": { | ||
| 1602 | - "version": "2.6.1", | ||
| 1603 | - "resolved": "https://registry.npmjs.org/@formio/semantic/-/semantic-2.6.1.tgz", | ||
| 1604 | - "integrity": "sha512-obp1BT5UnzD+uYBbqmnsTfO2hGxI2A2iR/cj3P5JUFLYSBpnr3TS2ShQ7Ee5GCRRtJPu0JnljuJj+YSKLCMuhg==" | ||
| 1605 | - }, | ||
| 1606 | - "node_modules/@formio/text-mask-addons": { | ||
| 1607 | - "version": "3.8.0-formio.4", | ||
| 1608 | - "resolved": "https://registry.npmjs.org/@formio/text-mask-addons/-/text-mask-addons-3.8.0-formio.4.tgz", | ||
| 1609 | - "integrity": "sha512-vhkeIyuL+1rtC9S4IW8O3JCwroPtvJrkrcMO4wyELNqMIgQRKbiyBAitZfUP4tY04xdB5lxAinbzdwb+NMdX6w==" | ||
| 1610 | - }, | ||
| 1611 | - "node_modules/@formio/vanilla-text-mask": { | ||
| 1612 | - "version": "5.1.1-formio.1", | ||
| 1613 | - "resolved": "https://registry.npmjs.org/@formio/vanilla-text-mask/-/vanilla-text-mask-5.1.1-formio.1.tgz", | ||
| 1614 | - "integrity": "sha512-rYBlvIPMNUd6sAaduOaiIwI4vfTAjHDRonko2qJn2RP1O//TQ7rcFIPYVYePJZ4OtOpwHiHAvAIh79McphZotQ==" | ||
| 1615 | - }, | ||
| 1616 | "node_modules/@hapi/address": { | 1574 | "node_modules/@hapi/address": { |
| 1617 | "version": "2.1.4", | 1575 | "version": "2.1.4", |
| 1618 | "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", | 1576 | "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", |
| @@ -2111,15 +2069,6 @@ | @@ -2111,15 +2069,6 @@ | ||
| 2111 | "node": ">=8.0" | 2069 | "node": ">=8.0" |
| 2112 | } | 2070 | } |
| 2113 | }, | 2071 | }, |
| 2114 | - "node_modules/@popperjs/core": { | ||
| 2115 | - "version": "2.11.8", | ||
| 2116 | - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", | ||
| 2117 | - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", | ||
| 2118 | - "funding": { | ||
| 2119 | - "type": "opencollective", | ||
| 2120 | - "url": "https://opencollective.com/popperjs" | ||
| 2121 | - } | ||
| 2122 | - }, | ||
| 2123 | "node_modules/@soda/friendly-errors-webpack-plugin": { | 2072 | "node_modules/@soda/friendly-errors-webpack-plugin": { |
| 2124 | "version": "1.8.1", | 2073 | "version": "1.8.1", |
| 2125 | "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", | 2074 | "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", |
| @@ -2144,11 +2093,6 @@ | @@ -2144,11 +2093,6 @@ | ||
| 2144 | "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", | 2093 | "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", |
| 2145 | "dev": true | 2094 | "dev": true |
| 2146 | }, | 2095 | }, |
| 2147 | - "node_modules/@sphinxxxx/color-conversion": { | ||
| 2148 | - "version": "2.2.2", | ||
| 2149 | - "resolved": "https://registry.npmjs.org/@sphinxxxx/color-conversion/-/color-conversion-2.2.2.tgz", | ||
| 2150 | - "integrity": "sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==" | ||
| 2151 | - }, | ||
| 2152 | "node_modules/@tinymce/tinymce-vue": { | 2096 | "node_modules/@tinymce/tinymce-vue": { |
| 2153 | "version": "3.2.8", | 2097 | "version": "3.2.8", |
| 2154 | "resolved": "https://registry.npmjs.org/@tinymce/tinymce-vue/-/tinymce-vue-3.2.8.tgz", | 2098 | "resolved": "https://registry.npmjs.org/@tinymce/tinymce-vue/-/tinymce-vue-3.2.8.tgz", |
| @@ -2324,12 +2268,6 @@ | @@ -2324,12 +2268,6 @@ | ||
| 2324 | "integrity": "sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==", | 2268 | "integrity": "sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==", |
| 2325 | "dev": true | 2269 | "dev": true |
| 2326 | }, | 2270 | }, |
| 2327 | - "node_modules/@types/trusted-types": { | ||
| 2328 | - "version": "2.0.7", | ||
| 2329 | - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", | ||
| 2330 | - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", | ||
| 2331 | - "optional": true | ||
| 2332 | - }, | ||
| 2333 | "node_modules/@types/uglify-js": { | 2271 | "node_modules/@types/uglify-js": { |
| 2334 | "version": "3.17.5", | 2272 | "version": "3.17.5", |
| 2335 | "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.5.tgz", | 2273 | "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.17.5.tgz", |
| @@ -3197,11 +3135,6 @@ | @@ -3197,11 +3135,6 @@ | ||
| 3197 | "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", | 3135 | "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", |
| 3198 | "dev": true | 3136 | "dev": true |
| 3199 | }, | 3137 | }, |
| 3200 | - "node_modules/abortcontroller-polyfill": { | ||
| 3201 | - "version": "1.7.8", | ||
| 3202 | - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.8.tgz", | ||
| 3203 | - "integrity": "sha512-9f1iZ2uWh92VcrU9Y8x+LdM4DLj75VE0MJB8zuF1iUnroEptStw+DQ8EQPMUdfe5k+PkB1uUfDQfWbhstH8LrQ==" | ||
| 3204 | - }, | ||
| 3205 | "node_modules/accepts": { | 3138 | "node_modules/accepts": { |
| 3206 | "version": "1.3.8", | 3139 | "version": "1.3.8", |
| 3207 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", | 3140 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", |
| @@ -3294,11 +3227,6 @@ | @@ -3294,11 +3227,6 @@ | ||
| 3294 | "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==", | 3227 | "integrity": "sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==", |
| 3295 | "dev": true | 3228 | "dev": true |
| 3296 | }, | 3229 | }, |
| 3297 | - "node_modules/animation-frame-polyfill": { | ||
| 3298 | - "version": "1.0.2", | ||
| 3299 | - "resolved": "https://registry.npmjs.org/animation-frame-polyfill/-/animation-frame-polyfill-1.0.2.tgz", | ||
| 3300 | - "integrity": "sha512-PvO5poSMoHhaoNNgHPo+oqs/0L9UqjsUbqv0iOXVqLh6HX85fsOVQTUrzSBvjdZz7hydARlgLELyzJJKIrPJAQ==" | ||
| 3301 | - }, | ||
| 3302 | "node_modules/ansi-colors": { | 3230 | "node_modules/ansi-colors": { |
| 3303 | "version": "3.2.4", | 3231 | "version": "3.2.4", |
| 3304 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", | 3232 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", |
| @@ -3462,11 +3390,6 @@ | @@ -3462,11 +3390,6 @@ | ||
| 3462 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", | 3390 | "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", |
| 3463 | "dev": true | 3391 | "dev": true |
| 3464 | }, | 3392 | }, |
| 3465 | - "node_modules/array-from": { | ||
| 3466 | - "version": "2.1.1", | ||
| 3467 | - "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz", | ||
| 3468 | - "integrity": "sha512-GQTc6Uupx1FCavi5mPzBvVT7nEOeWMmUA9P95wpfpW1XwMSKs+KaymD5C2Up7KAUKg/mYwbsUYzdZWcoajlNZg==" | ||
| 3469 | - }, | ||
| 3470 | "node_modules/array-union": { | 3393 | "node_modules/array-union": { |
| 3471 | "version": "1.0.2", | 3394 | "version": "1.0.2", |
| 3472 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", | 3395 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", |
| @@ -3665,11 +3588,6 @@ | @@ -3665,11 +3588,6 @@ | ||
| 3665 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", | 3588 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", |
| 3666 | "dev": true | 3589 | "dev": true |
| 3667 | }, | 3590 | }, |
| 3668 | - "node_modules/atoa": { | ||
| 3669 | - "version": "1.0.0", | ||
| 3670 | - "resolved": "https://registry.npmjs.org/atoa/-/atoa-1.0.0.tgz", | ||
| 3671 | - "integrity": "sha512-VVE1H6cc4ai+ZXo/CRWoJiHXrA1qfA31DPnx6D20+kSI547hQN5Greh51LQ1baMRMfxO5K5M4ImMtZbZt2DODQ==" | ||
| 3672 | - }, | ||
| 3673 | "node_modules/atob": { | 3591 | "node_modules/atob": { |
| 3674 | "version": "2.1.2", | 3592 | "version": "2.1.2", |
| 3675 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", | 3593 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", |
| @@ -3682,11 +3600,6 @@ | @@ -3682,11 +3600,6 @@ | ||
| 3682 | "node": ">= 4.5.0" | 3600 | "node": ">= 4.5.0" |
| 3683 | } | 3601 | } |
| 3684 | }, | 3602 | }, |
| 3685 | - "node_modules/autocompleter": { | ||
| 3686 | - "version": "7.1.0", | ||
| 3687 | - "resolved": "https://registry.npmjs.org/autocompleter/-/autocompleter-7.1.0.tgz", | ||
| 3688 | - "integrity": "sha512-uCToOnq7eAD/GJAteDbYuQ7ksDtrYWOy5CIAq43wh0dT+5frMpPlyD9tp+y5fz8KIcsP+zR2MjzoTAdW5aJESw==" | ||
| 3689 | - }, | ||
| 3690 | "node_modules/autoprefixer": { | 3603 | "node_modules/autoprefixer": { |
| 3691 | "version": "9.8.8", | 3604 | "version": "9.8.8", |
| 3692 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", | 3605 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", |
| @@ -4135,19 +4048,6 @@ | @@ -4135,19 +4048,6 @@ | ||
| 4135 | "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", | 4048 | "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", |
| 4136 | "dev": true | 4049 | "dev": true |
| 4137 | }, | 4050 | }, |
| 4138 | - "node_modules/browser-cookies": { | ||
| 4139 | - "version": "1.2.0", | ||
| 4140 | - "resolved": "https://registry.npmjs.org/browser-cookies/-/browser-cookies-1.2.0.tgz", | ||
| 4141 | - "integrity": "sha512-cg2WuoOJo+F+g2XjEaP8nmeRp1vDHjt7sqpKJMsTNXKrpyIBNVslYJeehvs6FEddj8usV2+qyRSBEX244yN5/g==" | ||
| 4142 | - }, | ||
| 4143 | - "node_modules/browser-md5-file": { | ||
| 4144 | - "version": "1.1.1", | ||
| 4145 | - "resolved": "https://registry.npmjs.org/browser-md5-file/-/browser-md5-file-1.1.1.tgz", | ||
| 4146 | - "integrity": "sha512-9h2UViTtZPhBa7oHvp5mb7MvJaX5OKEPUsplDwJ800OIV+In7BOR3RXOMB78obn2iQVIiS3WkVLhG7Zu1EMwbw==", | ||
| 4147 | - "dependencies": { | ||
| 4148 | - "spark-md5": "^2.0.2" | ||
| 4149 | - } | ||
| 4150 | - }, | ||
| 4151 | "node_modules/browserify-aes": { | 4051 | "node_modules/browserify-aes": { |
| 4152 | "version": "1.2.0", | 4052 | "version": "1.2.0", |
| 4153 | "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", | 4053 | "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", |
| @@ -5087,11 +4987,6 @@ | @@ -5087,11 +4987,6 @@ | ||
| 5087 | "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", | 4987 | "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", |
| 5088 | "dev": true | 4988 | "dev": true |
| 5089 | }, | 4989 | }, |
| 5090 | - "node_modules/compare-versions": { | ||
| 5091 | - "version": "5.0.3", | ||
| 5092 | - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.3.tgz", | ||
| 5093 | - "integrity": "sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==" | ||
| 5094 | - }, | ||
| 5095 | "node_modules/component-emitter": { | 4990 | "node_modules/component-emitter": { |
| 5096 | "version": "1.3.1", | 4991 | "version": "1.3.1", |
| 5097 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", | 4992 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", |
| @@ -5271,15 +5166,6 @@ | @@ -5271,15 +5166,6 @@ | ||
| 5271 | "node": ">= 0.6" | 5166 | "node": ">= 0.6" |
| 5272 | } | 5167 | } |
| 5273 | }, | 5168 | }, |
| 5274 | - "node_modules/contra": { | ||
| 5275 | - "version": "1.9.4", | ||
| 5276 | - "resolved": "https://registry.npmjs.org/contra/-/contra-1.9.4.tgz", | ||
| 5277 | - "integrity": "sha512-N9ArHAqwR/lhPq4OdIAwH4e1btn6EIZMAz4TazjnzCiVECcWUPTma+dRAM38ERImEJBh8NiCCpjoQruSZ+agYg==", | ||
| 5278 | - "dependencies": { | ||
| 5279 | - "atoa": "1.0.0", | ||
| 5280 | - "ticky": "1.0.1" | ||
| 5281 | - } | ||
| 5282 | - }, | ||
| 5283 | "node_modules/convert-source-map": { | 5169 | "node_modules/convert-source-map": { |
| 5284 | "version": "2.0.0", | 5170 | "version": "2.0.0", |
| 5285 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", | 5171 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", |
| @@ -5627,14 +5513,6 @@ | @@ -5627,14 +5513,6 @@ | ||
| 5627 | "sha.js": "^2.4.8" | 5513 | "sha.js": "^2.4.8" |
| 5628 | } | 5514 | } |
| 5629 | }, | 5515 | }, |
| 5630 | - "node_modules/create-point-cb": { | ||
| 5631 | - "version": "1.2.0", | ||
| 5632 | - "resolved": "https://registry.npmjs.org/create-point-cb/-/create-point-cb-1.2.0.tgz", | ||
| 5633 | - "integrity": "sha512-r4l6IO/YGI7hIZRMLggOzwM6XO80+Fdcv4hx1fXCEdU+hKd7zZki6i+cbYfK9OliMwMYx1wPfQLU/snvS+Dygw==", | ||
| 5634 | - "dependencies": { | ||
| 5635 | - "type-func": "^1.0.1" | ||
| 5636 | - } | ||
| 5637 | - }, | ||
| 5638 | "node_modules/cross-spawn": { | 5516 | "node_modules/cross-spawn": { |
| 5639 | "version": "6.0.6", | 5517 | "version": "6.0.6", |
| 5640 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", | 5518 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", |
| @@ -5660,14 +5538,6 @@ | @@ -5660,14 +5538,6 @@ | ||
| 5660 | "semver": "bin/semver" | 5538 | "semver": "bin/semver" |
| 5661 | } | 5539 | } |
| 5662 | }, | 5540 | }, |
| 5663 | - "node_modules/crossvent": { | ||
| 5664 | - "version": "1.5.5", | ||
| 5665 | - "resolved": "https://registry.npmjs.org/crossvent/-/crossvent-1.5.5.tgz", | ||
| 5666 | - "integrity": "sha512-MY4xhBYEnVi+pmTpHCOCsCLYczc0PVtGdPBz6NXNXxikLaUZo4HdAeUb1UqAo3t3yXAloSelTmfxJ+/oUqkW5w==", | ||
| 5667 | - "dependencies": { | ||
| 5668 | - "custom-event": "^1.0.0" | ||
| 5669 | - } | ||
| 5670 | - }, | ||
| 5671 | "node_modules/crypto-browserify": { | 5541 | "node_modules/crypto-browserify": { |
| 5672 | "version": "3.12.1", | 5542 | "version": "3.12.1", |
| 5673 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz", | 5543 | "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.1.tgz", |
| @@ -5963,16 +5833,6 @@ | @@ -5963,16 +5833,6 @@ | ||
| 5963 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", | 5833 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", |
| 5964 | "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" | 5834 | "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" |
| 5965 | }, | 5835 | }, |
| 5966 | - "node_modules/custom-event": { | ||
| 5967 | - "version": "1.0.1", | ||
| 5968 | - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", | ||
| 5969 | - "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==" | ||
| 5970 | - }, | ||
| 5971 | - "node_modules/custom-event-polyfill": { | ||
| 5972 | - "version": "1.0.7", | ||
| 5973 | - "resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz", | ||
| 5974 | - "integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w==" | ||
| 5975 | - }, | ||
| 5976 | "node_modules/cyclist": { | 5836 | "node_modules/cyclist": { |
| 5977 | "version": "1.0.2", | 5837 | "version": "1.0.2", |
| 5978 | "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", | 5838 | "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.2.tgz", |
| @@ -6416,11 +6276,6 @@ | @@ -6416,11 +6276,6 @@ | ||
| 6416 | "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", | 6276 | "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", |
| 6417 | "dev": true | 6277 | "dev": true |
| 6418 | }, | 6278 | }, |
| 6419 | - "node_modules/dialog-polyfill": { | ||
| 6420 | - "version": "0.5.6", | ||
| 6421 | - "resolved": "https://registry.npmjs.org/dialog-polyfill/-/dialog-polyfill-0.5.6.tgz", | ||
| 6422 | - "integrity": "sha512-ZbVDJI9uvxPAKze6z146rmfUZjBqNEwcnFTVamQzXH+svluiV7swmVIGr7miwADgfgt1G2JQIytypM9fbyhX4w==" | ||
| 6423 | - }, | ||
| 6424 | "node_modules/diffie-hellman": { | 6279 | "node_modules/diffie-hellman": { |
| 6425 | "version": "5.0.3", | 6280 | "version": "5.0.3", |
| 6426 | "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", | 6281 | "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", |
| @@ -6487,19 +6342,6 @@ | @@ -6487,19 +6342,6 @@ | ||
| 6487 | "node": ">=6.0.0" | 6342 | "node": ">=6.0.0" |
| 6488 | } | 6343 | } |
| 6489 | }, | 6344 | }, |
| 6490 | - "node_modules/dom-autoscroller": { | ||
| 6491 | - "version": "2.3.4", | ||
| 6492 | - "resolved": "https://registry.npmjs.org/dom-autoscroller/-/dom-autoscroller-2.3.4.tgz", | ||
| 6493 | - "integrity": "sha512-HcAdt/2Dq9x4CG6LWXc2x9Iq0MJPAu8fuzHncclq7byufqYEYVtx9sZ/dyzR+gdj4qwEC9p27Lw1G2HRRYX6jQ==", | ||
| 6494 | - "dependencies": { | ||
| 6495 | - "animation-frame-polyfill": "^1.0.0", | ||
| 6496 | - "create-point-cb": "^1.0.0", | ||
| 6497 | - "dom-mousemove-dispatcher": "^1.0.1", | ||
| 6498 | - "dom-plane": "^1.0.1", | ||
| 6499 | - "dom-set": "^1.0.1", | ||
| 6500 | - "type-func": "^1.0.1" | ||
| 6501 | - } | ||
| 6502 | - }, | ||
| 6503 | "node_modules/dom-converter": { | 6345 | "node_modules/dom-converter": { |
| 6504 | "version": "0.2.0", | 6346 | "version": "0.2.0", |
| 6505 | "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", | 6347 | "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", |
| @@ -6509,19 +6351,6 @@ | @@ -6509,19 +6351,6 @@ | ||
| 6509 | "utila": "~0.4" | 6351 | "utila": "~0.4" |
| 6510 | } | 6352 | } |
| 6511 | }, | 6353 | }, |
| 6512 | - "node_modules/dom-mousemove-dispatcher": { | ||
| 6513 | - "version": "1.0.1", | ||
| 6514 | - "resolved": "https://registry.npmjs.org/dom-mousemove-dispatcher/-/dom-mousemove-dispatcher-1.0.1.tgz", | ||
| 6515 | - "integrity": "sha512-NMdqqMbgW8kqOdmod2hkS+9hD/v7h4XoSvwU9qqe+wAA/O+ba0jhpbfW0Kb/fCyR0RX9jf4dwfQrl04LQX4FzQ==" | ||
| 6516 | - }, | ||
| 6517 | - "node_modules/dom-plane": { | ||
| 6518 | - "version": "1.0.2", | ||
| 6519 | - "resolved": "https://registry.npmjs.org/dom-plane/-/dom-plane-1.0.2.tgz", | ||
| 6520 | - "integrity": "sha512-/tR67G6ZGSciXoZLsD706yLxEXvX3mG/OWE8YNYj3A1yU/RAimtPXzklVTu5Y5xoeMoloA/Y+MaNjQm9apgAww==", | ||
| 6521 | - "dependencies": { | ||
| 6522 | - "create-point-cb": "^1.0.0" | ||
| 6523 | - } | ||
| 6524 | - }, | ||
| 6525 | "node_modules/dom-serializer": { | 6354 | "node_modules/dom-serializer": { |
| 6526 | "version": "1.4.1", | 6355 | "version": "1.4.1", |
| 6527 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", | 6356 | "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", |
| @@ -6545,16 +6374,6 @@ | @@ -6545,16 +6374,6 @@ | ||
| 6545 | "url": "https://github.com/fb55/entities?sponsor=1" | 6374 | "url": "https://github.com/fb55/entities?sponsor=1" |
| 6546 | } | 6375 | } |
| 6547 | }, | 6376 | }, |
| 6548 | - "node_modules/dom-set": { | ||
| 6549 | - "version": "1.1.1", | ||
| 6550 | - "resolved": "https://registry.npmjs.org/dom-set/-/dom-set-1.1.1.tgz", | ||
| 6551 | - "integrity": "sha512-sUi2aSvRsK3Ixx++gwX9cnaWk9ZxGVFry8+HnTRVmDimybU5PaiI4wX0o00mVtjFKlQNZLmtGoPTLorYbN0+Rw==", | ||
| 6552 | - "dependencies": { | ||
| 6553 | - "array-from": "^2.1.1", | ||
| 6554 | - "is-array": "^1.0.1", | ||
| 6555 | - "iselement": "^1.1.4" | ||
| 6556 | - } | ||
| 6557 | - }, | ||
| 6558 | "node_modules/domain-browser": { | 6377 | "node_modules/domain-browser": { |
| 6559 | "version": "1.2.0", | 6378 | "version": "1.2.0", |
| 6560 | "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", | 6379 | "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", |
| @@ -6592,14 +6411,6 @@ | @@ -6592,14 +6411,6 @@ | ||
| 6592 | "url": "https://github.com/fb55/domhandler?sponsor=1" | 6411 | "url": "https://github.com/fb55/domhandler?sponsor=1" |
| 6593 | } | 6412 | } |
| 6594 | }, | 6413 | }, |
| 6595 | - "node_modules/dompurify": { | ||
| 6596 | - "version": "3.2.6", | ||
| 6597 | - "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.2.6.tgz", | ||
| 6598 | - "integrity": "sha512-/2GogDQlohXPZe6D6NOgQvXLPSYBqIWMnZ8zzOhn09REE4eyAzb+Hed3jhoM9OkuaJ8P6ZGTTVWQKAi8ieIzfQ==", | ||
| 6599 | - "optionalDependencies": { | ||
| 6600 | - "@types/trusted-types": "^2.0.7" | ||
| 6601 | - } | ||
| 6602 | - }, | ||
| 6603 | "node_modules/domutils": { | 6414 | "node_modules/domutils": { |
| 6604 | "version": "2.8.0", | 6415 | "version": "2.8.0", |
| 6605 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", | 6416 | "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", |
| @@ -6641,20 +6452,6 @@ | @@ -6641,20 +6452,6 @@ | ||
| 6641 | "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", | 6452 | "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", |
| 6642 | "dev": true | 6453 | "dev": true |
| 6643 | }, | 6454 | }, |
| 6644 | - "node_modules/downloadjs": { | ||
| 6645 | - "version": "1.4.7", | ||
| 6646 | - "resolved": "https://registry.npmjs.org/downloadjs/-/downloadjs-1.4.7.tgz", | ||
| 6647 | - "integrity": "sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q==" | ||
| 6648 | - }, | ||
| 6649 | - "node_modules/dragula": { | ||
| 6650 | - "version": "3.7.3", | ||
| 6651 | - "resolved": "https://registry.npmjs.org/dragula/-/dragula-3.7.3.tgz", | ||
| 6652 | - "integrity": "sha512-/rRg4zRhcpf81TyDhaHLtXt6sEywdfpv1cRUMeFFy7DuypH2U0WUL0GTdyAQvXegviT4PJK4KuMmOaIDpICseQ==", | ||
| 6653 | - "dependencies": { | ||
| 6654 | - "contra": "1.9.4", | ||
| 6655 | - "crossvent": "1.5.5" | ||
| 6656 | - } | ||
| 6657 | - }, | ||
| 6658 | "node_modules/dunder-proto": { | 6455 | "node_modules/dunder-proto": { |
| 6659 | "version": "1.0.1", | 6456 | "version": "1.0.1", |
| 6660 | "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", | 6457 | "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", |
| @@ -7449,7 +7246,8 @@ | @@ -7449,7 +7246,8 @@ | ||
| 7449 | "node_modules/eventemitter3": { | 7246 | "node_modules/eventemitter3": { |
| 7450 | "version": "4.0.7", | 7247 | "version": "4.0.7", |
| 7451 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", | 7248 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", |
| 7452 | - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" | 7249 | + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", |
| 7250 | + "dev": true | ||
| 7453 | }, | 7251 | }, |
| 7454 | "node_modules/events": { | 7252 | "node_modules/events": { |
| 7455 | "version": "3.3.0", | 7253 | "version": "3.3.0", |
| @@ -7769,12 +7567,8 @@ | @@ -7769,12 +7567,8 @@ | ||
| 7769 | "node_modules/fast-deep-equal": { | 7567 | "node_modules/fast-deep-equal": { |
| 7770 | "version": "3.1.3", | 7568 | "version": "3.1.3", |
| 7771 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", | 7569 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", |
| 7772 | - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" | ||
| 7773 | - }, | ||
| 7774 | - "node_modules/fast-diff": { | ||
| 7775 | - "version": "1.3.0", | ||
| 7776 | - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", | ||
| 7777 | - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==" | 7570 | + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", |
| 7571 | + "dev": true | ||
| 7778 | }, | 7572 | }, |
| 7779 | "node_modules/fast-glob": { | 7573 | "node_modules/fast-glob": { |
| 7780 | "version": "2.2.7", | 7574 | "version": "2.2.7", |
| @@ -7793,11 +7587,6 @@ | @@ -7793,11 +7587,6 @@ | ||
| 7793 | "node": ">=4.0.0" | 7587 | "node": ">=4.0.0" |
| 7794 | } | 7588 | } |
| 7795 | }, | 7589 | }, |
| 7796 | - "node_modules/fast-json-patch": { | ||
| 7797 | - "version": "3.1.1", | ||
| 7798 | - "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-3.1.1.tgz", | ||
| 7799 | - "integrity": "sha512-vf6IHUX2SBcA+5/+4883dsIjpBTqmfBjmYiWK1savxQmFk4JfBMLa7ynTYOs1Rolp/T1betJxHiGD3g1Mn8lUQ==" | ||
| 7800 | - }, | ||
| 7801 | "node_modules/fast-json-stable-stringify": { | 7590 | "node_modules/fast-json-stable-stringify": { |
| 7802 | "version": "2.1.0", | 7591 | "version": "2.1.0", |
| 7803 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", | 7592 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", |
| @@ -7822,14 +7611,6 @@ | @@ -7822,14 +7611,6 @@ | ||
| 7822 | "node": ">=0.8.0" | 7611 | "node": ">=0.8.0" |
| 7823 | } | 7612 | } |
| 7824 | }, | 7613 | }, |
| 7825 | - "node_modules/fetch-ponyfill": { | ||
| 7826 | - "version": "7.1.0", | ||
| 7827 | - "resolved": "https://registry.npmjs.org/fetch-ponyfill/-/fetch-ponyfill-7.1.0.tgz", | ||
| 7828 | - "integrity": "sha512-FhbbL55dj/qdVO3YNK7ZEkshvj3eQ7EuIGV2I6ic/2YiocvyWv+7jg2s4AyS0wdRU75s3tA8ZxI/xPigb0v5Aw==", | ||
| 7829 | - "dependencies": { | ||
| 7830 | - "node-fetch": "~2.6.1" | ||
| 7831 | - } | ||
| 7832 | - }, | ||
| 7833 | "node_modules/figgy-pudding": { | 7614 | "node_modules/figgy-pudding": { |
| 7834 | "version": "3.5.2", | 7615 | "version": "3.5.2", |
| 7835 | "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", | 7616 | "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", |
| @@ -8130,63 +7911,6 @@ | @@ -8130,63 +7911,6 @@ | ||
| 8130 | "node": ">= 0.12" | 7911 | "node": ">= 0.12" |
| 8131 | } | 7912 | } |
| 8132 | }, | 7913 | }, |
| 8133 | - "node_modules/formiojs": { | ||
| 8134 | - "version": "4.21.7", | ||
| 8135 | - "resolved": "https://registry.npmjs.org/formiojs/-/formiojs-4.21.7.tgz", | ||
| 8136 | - "integrity": "sha512-DDXPhXABxdEbpyfv0C8SAS6zt92luGFXqe0usPHxSHvlP960GQkhS//WV7TAMrRsjj1WTIqqv3XZha8qTknG3Q==", | ||
| 8137 | - "dependencies": { | ||
| 8138 | - "@formio/bootstrap3": "2.12.4-rc.1", | ||
| 8139 | - "@formio/choices.js": "10.2.1", | ||
| 8140 | - "@formio/semantic": "2.6.1", | ||
| 8141 | - "@formio/text-mask-addons": "^3.8.0-formio.4", | ||
| 8142 | - "@formio/vanilla-text-mask": "^5.1.1-formio.1", | ||
| 8143 | - "abortcontroller-polyfill": "^1.7.5", | ||
| 8144 | - "autocompleter": "^7.0.1", | ||
| 8145 | - "browser-cookies": "^1.2.0", | ||
| 8146 | - "browser-md5-file": "^1.1.1", | ||
| 8147 | - "compare-versions": "^5.0.1", | ||
| 8148 | - "core-js": "^3.26.1", | ||
| 8149 | - "custom-event-polyfill": "^1.0.7", | ||
| 8150 | - "dialog-polyfill": "^0.5.6", | ||
| 8151 | - "dom-autoscroller": "^2.3.4", | ||
| 8152 | - "dompurify": "^3.0.5", | ||
| 8153 | - "downloadjs": "^1.4.7", | ||
| 8154 | - "dragula": "^3.7.3", | ||
| 8155 | - "eventemitter3": "^4.0.7", | ||
| 8156 | - "fast-deep-equal": "^3.1.3", | ||
| 8157 | - "fast-json-patch": "^3.1.1", | ||
| 8158 | - "fetch-ponyfill": "^7.1.0", | ||
| 8159 | - "i18next": "22.4.12", | ||
| 8160 | - "idb": "^7.1.1", | ||
| 8161 | - "inputmask": "^5.0.9", | ||
| 8162 | - "ismobilejs": "^1.1.1", | ||
| 8163 | - "json-logic-js": "^2.0.2", | ||
| 8164 | - "jstimezonedetect": "^1.0.7", | ||
| 8165 | - "jwt-decode": "^3.1.2", | ||
| 8166 | - "lodash": "^4.17.21", | ||
| 8167 | - "moment": "^2.29.4", | ||
| 8168 | - "moment-timezone": "^0.5.40", | ||
| 8169 | - "native-promise-only": "^0.8.1", | ||
| 8170 | - "quill": "^2.0.0-dev.3", | ||
| 8171 | - "signature_pad": "^4.1.4", | ||
| 8172 | - "string-hash": "^1.1.3", | ||
| 8173 | - "tippy.js": "^6.3.7", | ||
| 8174 | - "uuid": "^9.0.0", | ||
| 8175 | - "vanilla-picker": "^2.12.1" | ||
| 8176 | - } | ||
| 8177 | - }, | ||
| 8178 | - "node_modules/formiojs/node_modules/uuid": { | ||
| 8179 | - "version": "9.0.1", | ||
| 8180 | - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", | ||
| 8181 | - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", | ||
| 8182 | - "funding": [ | ||
| 8183 | - "https://github.com/sponsors/broofa", | ||
| 8184 | - "https://github.com/sponsors/ctavan" | ||
| 8185 | - ], | ||
| 8186 | - "bin": { | ||
| 8187 | - "uuid": "dist/bin/uuid" | ||
| 8188 | - } | ||
| 8189 | - }, | ||
| 8190 | "node_modules/forwarded": { | 7914 | "node_modules/forwarded": { |
| 8191 | "version": "0.2.0", | 7915 | "version": "0.2.0", |
| 8192 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", | 7916 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", |
| @@ -8317,14 +8041,6 @@ | @@ -8317,14 +8041,6 @@ | ||
| 8317 | "url": "https://github.com/sponsors/ljharb" | 8041 | "url": "https://github.com/sponsors/ljharb" |
| 8318 | } | 8042 | } |
| 8319 | }, | 8043 | }, |
| 8320 | - "node_modules/fuse.js": { | ||
| 8321 | - "version": "6.6.2", | ||
| 8322 | - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.6.2.tgz", | ||
| 8323 | - "integrity": "sha512-cJaJkxCCxC8qIIcPBF9yGxY0W/tVZS3uEISDxhYIdtk8OL93pe+6Zj7LjCqVV4dzbqcriOZ+kQ/NE4RXZHsIGA==", | ||
| 8324 | - "engines": { | ||
| 8325 | - "node": ">=10" | ||
| 8326 | - } | ||
| 8327 | - }, | ||
| 8328 | "node_modules/gensync": { | 8044 | "node_modules/gensync": { |
| 8329 | "version": "1.0.0-beta.2", | 8045 | "version": "1.0.0-beta.2", |
| 8330 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", | 8046 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", |
| @@ -9104,28 +8820,6 @@ | @@ -9104,28 +8820,6 @@ | ||
| 9104 | "node": ">=8.12.0" | 8820 | "node": ">=8.12.0" |
| 9105 | } | 8821 | } |
| 9106 | }, | 8822 | }, |
| 9107 | - "node_modules/i18next": { | ||
| 9108 | - "version": "22.4.12", | ||
| 9109 | - "resolved": "https://registry.npmjs.org/i18next/-/i18next-22.4.12.tgz", | ||
| 9110 | - "integrity": "sha512-2lE+vRXxQ3lGLub1CVbwgO0IfkLHmUSDVOAVdPh22CsxttMXi+35n2qgxh2wZIkKl6t/NMzPfgFPRDiFQOmiCg==", | ||
| 9111 | - "funding": [ | ||
| 9112 | - { | ||
| 9113 | - "type": "individual", | ||
| 9114 | - "url": "https://locize.com" | ||
| 9115 | - }, | ||
| 9116 | - { | ||
| 9117 | - "type": "individual", | ||
| 9118 | - "url": "https://locize.com/i18next.html" | ||
| 9119 | - }, | ||
| 9120 | - { | ||
| 9121 | - "type": "individual", | ||
| 9122 | - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" | ||
| 9123 | - } | ||
| 9124 | - ], | ||
| 9125 | - "dependencies": { | ||
| 9126 | - "@babel/runtime": "^7.20.6" | ||
| 9127 | - } | ||
| 9128 | - }, | ||
| 9129 | "node_modules/iconv-lite": { | 8823 | "node_modules/iconv-lite": { |
| 9130 | "version": "0.4.24", | 8824 | "version": "0.4.24", |
| 9131 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | 8825 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", |
| @@ -9150,11 +8844,6 @@ | @@ -9150,11 +8844,6 @@ | ||
| 9150 | "node": ">= 6" | 8844 | "node": ">= 6" |
| 9151 | } | 8845 | } |
| 9152 | }, | 8846 | }, |
| 9153 | - "node_modules/idb": { | ||
| 9154 | - "version": "7.1.1", | ||
| 9155 | - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", | ||
| 9156 | - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" | ||
| 9157 | - }, | ||
| 9158 | "node_modules/ieee754": { | 8847 | "node_modules/ieee754": { |
| 9159 | "version": "1.2.1", | 8848 | "version": "1.2.1", |
| 9160 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", | 8849 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", |
| @@ -9345,11 +9034,6 @@ | @@ -9345,11 +9034,6 @@ | ||
| 9345 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", | 9034 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", |
| 9346 | "dev": true | 9035 | "dev": true |
| 9347 | }, | 9036 | }, |
| 9348 | - "node_modules/inputmask": { | ||
| 9349 | - "version": "5.0.9", | ||
| 9350 | - "resolved": "https://registry.npmjs.org/inputmask/-/inputmask-5.0.9.tgz", | ||
| 9351 | - "integrity": "sha512-s0lUfqcEbel+EQXtehXqwCJGShutgieOaIImFKC/r4reYNvX3foyrChl6LOEvaEgxEbesePIrw1Zi2jhZaDZbQ==" | ||
| 9352 | - }, | ||
| 9353 | "node_modules/inquirer": { | 9037 | "node_modules/inquirer": { |
| 9354 | "version": "7.3.3", | 9038 | "version": "7.3.3", |
| 9355 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", | 9039 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", |
| @@ -9491,11 +9175,6 @@ | @@ -9491,11 +9175,6 @@ | ||
| 9491 | "url": "https://github.com/sponsors/ljharb" | 9175 | "url": "https://github.com/sponsors/ljharb" |
| 9492 | } | 9176 | } |
| 9493 | }, | 9177 | }, |
| 9494 | - "node_modules/is-array": { | ||
| 9495 | - "version": "1.0.1", | ||
| 9496 | - "resolved": "https://registry.npmjs.org/is-array/-/is-array-1.0.1.tgz", | ||
| 9497 | - "integrity": "sha512-gxiZ+y/u67AzpeFmAmo4CbtME/bs7J2C++su5zQzvQyaxUqVzkh69DI+jN+KZuSO6JaH6TIIU6M6LhqxMjxEpw==" | ||
| 9498 | - }, | ||
| 9499 | "node_modules/is-array-buffer": { | 9178 | "node_modules/is-array-buffer": { |
| 9500 | "version": "3.0.5", | 9179 | "version": "3.0.5", |
| 9501 | "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", | 9180 | "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", |
| @@ -10100,22 +9779,12 @@ | @@ -10100,22 +9779,12 @@ | ||
| 10100 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", | 9779 | "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", |
| 10101 | "dev": true | 9780 | "dev": true |
| 10102 | }, | 9781 | }, |
| 10103 | - "node_modules/iselement": { | ||
| 10104 | - "version": "1.1.4", | ||
| 10105 | - "resolved": "https://registry.npmjs.org/iselement/-/iselement-1.1.4.tgz", | ||
| 10106 | - "integrity": "sha512-4Q519eWmbHO1pbimiz7H1iJRUHVmAmfh0viSsUD+oAwVO4ntZt7gpf8i8AShVBTyOvRTZNYNBpUxOIvwZR+ffw==" | ||
| 10107 | - }, | ||
| 10108 | "node_modules/isexe": { | 9782 | "node_modules/isexe": { |
| 10109 | "version": "2.0.0", | 9783 | "version": "2.0.0", |
| 10110 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", | 9784 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", |
| 10111 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", | 9785 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", |
| 10112 | "dev": true | 9786 | "dev": true |
| 10113 | }, | 9787 | }, |
| 10114 | - "node_modules/ismobilejs": { | ||
| 10115 | - "version": "1.1.1", | ||
| 10116 | - "resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz", | ||
| 10117 | - "integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==" | ||
| 10118 | - }, | ||
| 10119 | "node_modules/isobject": { | 9788 | "node_modules/isobject": { |
| 10120 | "version": "3.0.1", | 9789 | "version": "3.0.1", |
| 10121 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", | 9790 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", |
| @@ -10183,11 +9852,6 @@ | @@ -10183,11 +9852,6 @@ | ||
| 10183 | "node": ">=6" | 9852 | "node": ">=6" |
| 10184 | } | 9853 | } |
| 10185 | }, | 9854 | }, |
| 10186 | - "node_modules/json-logic-js": { | ||
| 10187 | - "version": "2.0.5", | ||
| 10188 | - "resolved": "https://registry.npmjs.org/json-logic-js/-/json-logic-js-2.0.5.tgz", | ||
| 10189 | - "integrity": "sha512-rTT2+lqcuUmj4DgWfmzupZqQDA64AdmYqizzMPWj3DxGdfFNsxPpcNVSaTj4l8W2tG/+hg7/mQhxjU3aPacO6g==" | ||
| 10190 | - }, | ||
| 10191 | "node_modules/json-parse-better-errors": { | 9855 | "node_modules/json-parse-better-errors": { |
| 10192 | "version": "1.0.2", | 9856 | "version": "1.0.2", |
| 10193 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", | 9857 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", |
| @@ -10260,16 +9924,6 @@ | @@ -10260,16 +9924,6 @@ | ||
| 10260 | "node": ">=0.6.0" | 9924 | "node": ">=0.6.0" |
| 10261 | } | 9925 | } |
| 10262 | }, | 9926 | }, |
| 10263 | - "node_modules/jstimezonedetect": { | ||
| 10264 | - "version": "1.0.7", | ||
| 10265 | - "resolved": "https://registry.npmjs.org/jstimezonedetect/-/jstimezonedetect-1.0.7.tgz", | ||
| 10266 | - "integrity": "sha512-ARADHortktl9IZ1tr4GHwGPIAzgz3mLNCbR/YjWtRtc/O0o634O3NeFlpLjv95EvuDA5dc8z6yfgbS8nUc4zcQ==" | ||
| 10267 | - }, | ||
| 10268 | - "node_modules/jwt-decode": { | ||
| 10269 | - "version": "3.1.2", | ||
| 10270 | - "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-3.1.2.tgz", | ||
| 10271 | - "integrity": "sha512-UfpWE/VZn0iP50d8cz9NrZLM9lSWhcJ+0Gt/nm4by88UL+J1SiKN8/5dkjMmbEzwL2CAe+67GsegCbIKtbp75A==" | ||
| 10272 | - }, | ||
| 10273 | "node_modules/killable": { | 9927 | "node_modules/killable": { |
| 10274 | "version": "1.0.1", | 9928 | "version": "1.0.1", |
| 10275 | "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", | 9929 | "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", |
| @@ -10431,18 +10085,14 @@ | @@ -10431,18 +10085,14 @@ | ||
| 10431 | "node_modules/lodash": { | 10085 | "node_modules/lodash": { |
| 10432 | "version": "4.17.21", | 10086 | "version": "4.17.21", |
| 10433 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", | 10087 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", |
| 10434 | - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" | 10088 | + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", |
| 10089 | + "dev": true | ||
| 10435 | }, | 10090 | }, |
| 10436 | "node_modules/lodash-es": { | 10091 | "node_modules/lodash-es": { |
| 10437 | "version": "4.17.21", | 10092 | "version": "4.17.21", |
| 10438 | "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", | 10093 | "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", |
| 10439 | "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" | 10094 | "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" |
| 10440 | }, | 10095 | }, |
| 10441 | - "node_modules/lodash.clonedeep": { | ||
| 10442 | - "version": "4.5.0", | ||
| 10443 | - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", | ||
| 10444 | - "integrity": "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==" | ||
| 10445 | - }, | ||
| 10446 | "node_modules/lodash.debounce": { | 10096 | "node_modules/lodash.debounce": { |
| 10447 | "version": "4.0.8", | 10097 | "version": "4.0.8", |
| 10448 | "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", | 10098 | "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", |
| @@ -10455,12 +10105,6 @@ | @@ -10455,12 +10105,6 @@ | ||
| 10455 | "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", | 10105 | "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", |
| 10456 | "dev": true | 10106 | "dev": true |
| 10457 | }, | 10107 | }, |
| 10458 | - "node_modules/lodash.isequal": { | ||
| 10459 | - "version": "4.5.0", | ||
| 10460 | - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", | ||
| 10461 | - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", | ||
| 10462 | - "deprecated": "This package is deprecated. Use require('node:util').isDeepStrictEqual instead." | ||
| 10463 | - }, | ||
| 10464 | "node_modules/lodash.kebabcase": { | 10108 | "node_modules/lodash.kebabcase": { |
| 10465 | "version": "4.1.1", | 10109 | "version": "4.1.1", |
| 10466 | "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", | 10110 | "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", |
| @@ -10963,25 +10607,6 @@ | @@ -10963,25 +10607,6 @@ | ||
| 10963 | "mkdirp": "bin/cmd.js" | 10607 | "mkdirp": "bin/cmd.js" |
| 10964 | } | 10608 | } |
| 10965 | }, | 10609 | }, |
| 10966 | - "node_modules/moment": { | ||
| 10967 | - "version": "2.30.1", | ||
| 10968 | - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", | ||
| 10969 | - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", | ||
| 10970 | - "engines": { | ||
| 10971 | - "node": "*" | ||
| 10972 | - } | ||
| 10973 | - }, | ||
| 10974 | - "node_modules/moment-timezone": { | ||
| 10975 | - "version": "0.5.48", | ||
| 10976 | - "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.48.tgz", | ||
| 10977 | - "integrity": "sha512-f22b8LV1gbTO2ms2j2z13MuPogNoh5UzxL3nzNAYKGraILnbGc9NEE6dyiiiLv46DGRb8A4kg8UKWLjPthxBHw==", | ||
| 10978 | - "dependencies": { | ||
| 10979 | - "moment": "^2.29.4" | ||
| 10980 | - }, | ||
| 10981 | - "engines": { | ||
| 10982 | - "node": "*" | ||
| 10983 | - } | ||
| 10984 | - }, | ||
| 10985 | "node_modules/move-concurrently": { | 10610 | "node_modules/move-concurrently": { |
| 10986 | "version": "1.0.1", | 10611 | "version": "1.0.1", |
| 10987 | "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", | 10612 | "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", |
| @@ -11085,11 +10710,6 @@ | @@ -11085,11 +10710,6 @@ | ||
| 11085 | "node": ">=0.10.0" | 10710 | "node": ">=0.10.0" |
| 11086 | } | 10711 | } |
| 11087 | }, | 10712 | }, |
| 11088 | - "node_modules/native-promise-only": { | ||
| 11089 | - "version": "0.8.1", | ||
| 11090 | - "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", | ||
| 11091 | - "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==" | ||
| 11092 | - }, | ||
| 11093 | "node_modules/natural-compare": { | 10713 | "node_modules/natural-compare": { |
| 11094 | "version": "1.4.0", | 10714 | "version": "1.4.0", |
| 11095 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", | 10715 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", |
| @@ -11133,25 +10753,6 @@ | @@ -11133,25 +10753,6 @@ | ||
| 11133 | "dev": true, | 10753 | "dev": true, |
| 11134 | "optional": true | 10754 | "optional": true |
| 11135 | }, | 10755 | }, |
| 11136 | - "node_modules/node-fetch": { | ||
| 11137 | - "version": "2.6.13", | ||
| 11138 | - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.13.tgz", | ||
| 11139 | - "integrity": "sha512-StxNAxh15zr77QvvkmveSQ8uCQ4+v5FkvNTj0OESmiHu+VRi/gXArXtkWMElOsOUNLtUEvI4yS+rdtOHZTwlQA==", | ||
| 11140 | - "dependencies": { | ||
| 11141 | - "whatwg-url": "^5.0.0" | ||
| 11142 | - }, | ||
| 11143 | - "engines": { | ||
| 11144 | - "node": "4.x || >=6.0.0" | ||
| 11145 | - }, | ||
| 11146 | - "peerDependencies": { | ||
| 11147 | - "encoding": "^0.1.0" | ||
| 11148 | - }, | ||
| 11149 | - "peerDependenciesMeta": { | ||
| 11150 | - "encoding": { | ||
| 11151 | - "optional": true | ||
| 11152 | - } | ||
| 11153 | - } | ||
| 11154 | - }, | ||
| 11155 | "node_modules/node-forge": { | 10756 | "node_modules/node-forge": { |
| 11156 | "version": "0.10.0", | 10757 | "version": "0.10.0", |
| 11157 | "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", | 10758 | "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", |
| @@ -11879,11 +11480,6 @@ | @@ -11879,11 +11480,6 @@ | ||
| 11879 | "no-case": "^2.2.0" | 11480 | "no-case": "^2.2.0" |
| 11880 | } | 11481 | } |
| 11881 | }, | 11482 | }, |
| 11882 | - "node_modules/parchment": { | ||
| 11883 | - "version": "3.0.0", | ||
| 11884 | - "resolved": "https://registry.npmjs.org/parchment/-/parchment-3.0.0.tgz", | ||
| 11885 | - "integrity": "sha512-HUrJFQ/StvgmXRcQ1ftY6VEZUq3jA2t9ncFN4F84J/vN0/FPpQF+8FKXb3l6fLces6q0uOHj6NJn+2xvZnxO6A==" | ||
| 11886 | - }, | ||
| 11887 | "node_modules/parent-module": { | 11483 | "node_modules/parent-module": { |
| 11888 | "version": "1.0.1", | 11484 | "version": "1.0.1", |
| 11889 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", | 11485 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", |
| @@ -13100,38 +12696,6 @@ | @@ -13100,38 +12696,6 @@ | ||
| 13100 | "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", | 12696 | "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", |
| 13101 | "dev": true | 12697 | "dev": true |
| 13102 | }, | 12698 | }, |
| 13103 | - "node_modules/quill": { | ||
| 13104 | - "version": "2.0.3", | ||
| 13105 | - "resolved": "https://registry.npmjs.org/quill/-/quill-2.0.3.tgz", | ||
| 13106 | - "integrity": "sha512-xEYQBqfYx/sfb33VJiKnSJp8ehloavImQ2A6564GAbqG55PGw1dAWUn1MUbQB62t0azawUS2CZZhWCjO8gRvTw==", | ||
| 13107 | - "dependencies": { | ||
| 13108 | - "eventemitter3": "^5.0.1", | ||
| 13109 | - "lodash-es": "^4.17.21", | ||
| 13110 | - "parchment": "^3.0.0", | ||
| 13111 | - "quill-delta": "^5.1.0" | ||
| 13112 | - }, | ||
| 13113 | - "engines": { | ||
| 13114 | - "npm": ">=8.2.3" | ||
| 13115 | - } | ||
| 13116 | - }, | ||
| 13117 | - "node_modules/quill-delta": { | ||
| 13118 | - "version": "5.1.0", | ||
| 13119 | - "resolved": "https://registry.npmjs.org/quill-delta/-/quill-delta-5.1.0.tgz", | ||
| 13120 | - "integrity": "sha512-X74oCeRI4/p0ucjb5Ma8adTXd9Scumz367kkMK5V/IatcX6A0vlgLgKbzXWy5nZmCGeNJm2oQX0d2Eqj+ZIlCA==", | ||
| 13121 | - "dependencies": { | ||
| 13122 | - "fast-diff": "^1.3.0", | ||
| 13123 | - "lodash.clonedeep": "^4.5.0", | ||
| 13124 | - "lodash.isequal": "^4.5.0" | ||
| 13125 | - }, | ||
| 13126 | - "engines": { | ||
| 13127 | - "node": ">= 12.0.0" | ||
| 13128 | - } | ||
| 13129 | - }, | ||
| 13130 | - "node_modules/quill/node_modules/eventemitter3": { | ||
| 13131 | - "version": "5.0.1", | ||
| 13132 | - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", | ||
| 13133 | - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" | ||
| 13134 | - }, | ||
| 13135 | "node_modules/randombytes": { | 12699 | "node_modules/randombytes": { |
| 13136 | "version": "2.1.0", | 12700 | "version": "2.1.0", |
| 13137 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", | 12701 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", |
| @@ -13245,14 +12809,6 @@ | @@ -13245,14 +12809,6 @@ | ||
| 13245 | "node": ">=8.10.0" | 12809 | "node": ">=8.10.0" |
| 13246 | } | 12810 | } |
| 13247 | }, | 12811 | }, |
| 13248 | - "node_modules/redux": { | ||
| 13249 | - "version": "4.2.1", | ||
| 13250 | - "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", | ||
| 13251 | - "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", | ||
| 13252 | - "dependencies": { | ||
| 13253 | - "@babel/runtime": "^7.9.2" | ||
| 13254 | - } | ||
| 13255 | - }, | ||
| 13256 | "node_modules/reflect.getprototypeof": { | 12812 | "node_modules/reflect.getprototypeof": { |
| 13257 | "version": "1.0.10", | 12813 | "version": "1.0.10", |
| 13258 | "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", | 12814 | "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", |
| @@ -14295,11 +13851,6 @@ | @@ -14295,11 +13851,6 @@ | ||
| 14295 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", | 13851 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", |
| 14296 | "dev": true | 13852 | "dev": true |
| 14297 | }, | 13853 | }, |
| 14298 | - "node_modules/signature_pad": { | ||
| 14299 | - "version": "4.2.0", | ||
| 14300 | - "resolved": "https://registry.npmjs.org/signature_pad/-/signature_pad-4.2.0.tgz", | ||
| 14301 | - "integrity": "sha512-YLWysmaUBaC5wosAKkgbX7XI+LBv2w5L0QUcI6Jc4moHYzv9BUBJtAyNLpWzHjtjKTeWOH6bfP4a4pzf0UinfQ==" | ||
| 14302 | - }, | ||
| 14303 | "node_modules/simple-swizzle": { | 13854 | "node_modules/simple-swizzle": { |
| 14304 | "version": "0.2.2", | 13855 | "version": "0.2.2", |
| 14305 | "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", | 13856 | "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", |
| @@ -14635,11 +14186,6 @@ | @@ -14635,11 +14186,6 @@ | ||
| 14635 | "deprecated": "See https://github.com/lydell/source-map-url#deprecated", | 14186 | "deprecated": "See https://github.com/lydell/source-map-url#deprecated", |
| 14636 | "dev": true | 14187 | "dev": true |
| 14637 | }, | 14188 | }, |
| 14638 | - "node_modules/spark-md5": { | ||
| 14639 | - "version": "2.0.2", | ||
| 14640 | - "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-2.0.2.tgz", | ||
| 14641 | - "integrity": "sha512-9WfT+FYBEvlrOOBEs484/zmbtSX4BlGjzXih1qIEWA1yhHbcqgcMHkiwXoWk2Sq1aJjLpcs6ZKV7JxrDNjIlNg==" | ||
| 14642 | - }, | ||
| 14643 | "node_modules/spdx-correct": { | 14189 | "node_modules/spdx-correct": { |
| 14644 | "version": "3.2.0", | 14190 | "version": "3.2.0", |
| 14645 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", | 14191 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", |
| @@ -14888,11 +14434,6 @@ | @@ -14888,11 +14434,6 @@ | ||
| 14888 | "safe-buffer": "~5.1.0" | 14434 | "safe-buffer": "~5.1.0" |
| 14889 | } | 14435 | } |
| 14890 | }, | 14436 | }, |
| 14891 | - "node_modules/string-hash": { | ||
| 14892 | - "version": "1.1.3", | ||
| 14893 | - "resolved": "https://registry.npmjs.org/string-hash/-/string-hash-1.1.3.tgz", | ||
| 14894 | - "integrity": "sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==" | ||
| 14895 | - }, | ||
| 14896 | "node_modules/string-width": { | 14437 | "node_modules/string-width": { |
| 14897 | "version": "4.2.3", | 14438 | "version": "4.2.3", |
| 14898 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", | 14439 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", |
| @@ -15567,11 +15108,6 @@ | @@ -15567,11 +15108,6 @@ | ||
| 15567 | "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", | 15108 | "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", |
| 15568 | "dev": true | 15109 | "dev": true |
| 15569 | }, | 15110 | }, |
| 15570 | - "node_modules/ticky": { | ||
| 15571 | - "version": "1.0.1", | ||
| 15572 | - "resolved": "https://registry.npmjs.org/ticky/-/ticky-1.0.1.tgz", | ||
| 15573 | - "integrity": "sha512-RX35iq/D+lrsqhcPWIazM9ELkjOe30MSeoBHQHSsRwd1YuhJO5ui1K1/R0r7N3mFvbLBs33idw+eR6j+w6i/DA==" | ||
| 15574 | - }, | ||
| 15575 | "node_modules/timers-browserify": { | 15111 | "node_modules/timers-browserify": { |
| 15576 | "version": "2.0.12", | 15112 | "version": "2.0.12", |
| 15577 | "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", | 15113 | "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", |
| @@ -15595,14 +15131,6 @@ | @@ -15595,14 +15131,6 @@ | ||
| 15595 | "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-5.10.7.tgz", | 15131 | "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-5.10.7.tgz", |
| 15596 | "integrity": "sha512-9UUjaO0R7FxcFo0oxnd1lMs7H+D0Eh+dDVo5hKbVe1a+VB0nit97vOqlinj+YwgoBDt6/DSCUoWqAYlLI8BLYA==" | 15132 | "integrity": "sha512-9UUjaO0R7FxcFo0oxnd1lMs7H+D0Eh+dDVo5hKbVe1a+VB0nit97vOqlinj+YwgoBDt6/DSCUoWqAYlLI8BLYA==" |
| 15597 | }, | 15133 | }, |
| 15598 | - "node_modules/tippy.js": { | ||
| 15599 | - "version": "6.3.7", | ||
| 15600 | - "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz", | ||
| 15601 | - "integrity": "sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==", | ||
| 15602 | - "dependencies": { | ||
| 15603 | - "@popperjs/core": "^2.9.0" | ||
| 15604 | - } | ||
| 15605 | - }, | ||
| 15606 | "node_modules/tmp": { | 15134 | "node_modules/tmp": { |
| 15607 | "version": "0.0.33", | 15135 | "version": "0.0.33", |
| 15608 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", | 15136 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", |
| @@ -15701,11 +15229,6 @@ | @@ -15701,11 +15229,6 @@ | ||
| 15701 | "node": ">=0.8" | 15229 | "node": ">=0.8" |
| 15702 | } | 15230 | } |
| 15703 | }, | 15231 | }, |
| 15704 | - "node_modules/tr46": { | ||
| 15705 | - "version": "0.0.3", | ||
| 15706 | - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", | ||
| 15707 | - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" | ||
| 15708 | - }, | ||
| 15709 | "node_modules/tryer": { | 15232 | "node_modules/tryer": { |
| 15710 | "version": "1.0.1", | 15233 | "version": "1.0.1", |
| 15711 | "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", | 15234 | "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", |
| @@ -15780,11 +15303,6 @@ | @@ -15780,11 +15303,6 @@ | ||
| 15780 | "url": "https://github.com/sponsors/sindresorhus" | 15303 | "url": "https://github.com/sponsors/sindresorhus" |
| 15781 | } | 15304 | } |
| 15782 | }, | 15305 | }, |
| 15783 | - "node_modules/type-func": { | ||
| 15784 | - "version": "1.0.3", | ||
| 15785 | - "resolved": "https://registry.npmjs.org/type-func/-/type-func-1.0.3.tgz", | ||
| 15786 | - "integrity": "sha512-YA90CUk+i00tWESPNRMahywXhAz+12NLJLKlOWrgHIbqaFXjdZrWstRghaibOW/IxhPjui4SmXxO/03XSGRIjA==" | ||
| 15787 | - }, | ||
| 15788 | "node_modules/type-is": { | 15306 | "node_modules/type-is": { |
| 15789 | "version": "1.6.18", | 15307 | "version": "1.6.18", |
| 15790 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", | 15308 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", |
| @@ -16338,14 +15856,6 @@ | @@ -16338,14 +15856,6 @@ | ||
| 16338 | "spdx-expression-parse": "^3.0.0" | 15856 | "spdx-expression-parse": "^3.0.0" |
| 16339 | } | 15857 | } |
| 16340 | }, | 15858 | }, |
| 16341 | - "node_modules/vanilla-picker": { | ||
| 16342 | - "version": "2.12.3", | ||
| 16343 | - "resolved": "https://registry.npmjs.org/vanilla-picker/-/vanilla-picker-2.12.3.tgz", | ||
| 16344 | - "integrity": "sha512-qVkT1E7yMbUsB2mmJNFmaXMWE2hF8ffqzMMwe9zdAikd8u2VfnsVY2HQcOUi2F38bgbxzlJBEdS1UUhOXdF9GQ==", | ||
| 16345 | - "dependencies": { | ||
| 16346 | - "@sphinxxxx/color-conversion": "^2.2.2" | ||
| 16347 | - } | ||
| 16348 | - }, | ||
| 16349 | "node_modules/vary": { | 15859 | "node_modules/vary": { |
| 16350 | "version": "1.1.2", | 15860 | "version": "1.1.2", |
| 16351 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | 15861 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |
| @@ -16903,11 +16413,6 @@ | @@ -16903,11 +16413,6 @@ | ||
| 16903 | "defaults": "^1.0.3" | 16413 | "defaults": "^1.0.3" |
| 16904 | } | 16414 | } |
| 16905 | }, | 16415 | }, |
| 16906 | - "node_modules/webidl-conversions": { | ||
| 16907 | - "version": "3.0.1", | ||
| 16908 | - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", | ||
| 16909 | - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" | ||
| 16910 | - }, | ||
| 16911 | "node_modules/webpack": { | 16416 | "node_modules/webpack": { |
| 16912 | "version": "4.47.0", | 16417 | "version": "4.47.0", |
| 16913 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", | 16418 | "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.47.0.tgz", |
| @@ -17656,15 +17161,6 @@ | @@ -17656,15 +17161,6 @@ | ||
| 17656 | "node": ">=0.8.0" | 17161 | "node": ">=0.8.0" |
| 17657 | } | 17162 | } |
| 17658 | }, | 17163 | }, |
| 17659 | - "node_modules/whatwg-url": { | ||
| 17660 | - "version": "5.0.0", | ||
| 17661 | - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", | ||
| 17662 | - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", | ||
| 17663 | - "dependencies": { | ||
| 17664 | - "tr46": "~0.0.3", | ||
| 17665 | - "webidl-conversions": "^3.0.0" | ||
| 17666 | - } | ||
| 17667 | - }, | ||
| 17668 | "node_modules/which": { | 17164 | "node_modules/which": { |
| 17669 | "version": "1.3.1", | 17165 | "version": "1.3.1", |
| 17670 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", | 17166 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", |
package.json
public/img/logo.png deleted
2.36 KB
public/index.html
| @@ -19,21 +19,19 @@ | @@ -19,21 +19,19 @@ | ||
| 19 | window.scriptLoadErrors.push({ name: scriptName, error: error.message }); | 19 | window.scriptLoadErrors.push({ name: scriptName, error: error.message }); |
| 20 | } | 20 | } |
| 21 | </script> | 21 | </script> |
| 22 | - <script src="https://map.qq.com/api/gljs?v=1.exp&key="></script> | 22 | + |
| 23 | 23 | ||
| 24 | <!-- Qs 库 - 主 CDN --> | 24 | <!-- Qs 库 - 主 CDN --> |
| 25 | <script src="/js/jessibuca/jessibuca.js"></script> | 25 | <script src="/js/jessibuca/jessibuca.js"></script> |
| 26 | <script src="/formjs/js/form-viewer.umd.js"></script> | 26 | <script src="/formjs/js/form-viewer.umd.js"></script> |
| 27 | - | ||
| 28 | - | ||
| 29 | - | ||
| 30 | - <!-- 可以在这里添加更多全局脚本 --> | ||
| 31 | </head> | 27 | </head> |
| 32 | <body> | 28 | <body> |
| 33 | <noscript> | 29 | <noscript> |
| 34 | <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> | 30 | <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> |
| 35 | </noscript> | 31 | </noscript> |
| 36 | <div id="app"></div> | 32 | <div id="app"></div> |
| 33 | + <!-- 高德地图 JS API --> | ||
| 34 | + <script src="https://webapi.amap.com/maps?v=1.4.15&key=3239bc04f77a5c89b2b5e628da96b6ed"></script> | ||
| 37 | <!-- built files will be auto injected --> | 35 | <!-- built files will be auto injected --> |
| 38 | </body> | 36 | </body> |
| 39 | 37 |
public/js/vcCore/vc-cn.js
| @@ -3,17 +3,17 @@ | @@ -3,17 +3,17 @@ | ||
| 3 | */ | 3 | */ |
| 4 | (function(window) { | 4 | (function(window) { |
| 5 | window.lang = { | 5 | window.lang = { |
| 6 | - "systemName": "HC小區管理系統", | ||
| 7 | - "systemSimpleName": "HC", | 6 | + "systemName": "西荣物业小區管理系統", |
| 7 | + "systemSimpleName": "西荣物业", | ||
| 8 | "subSystemName": "小區管理系統", | 8 | "subSystemName": "小區管理系統", |
| 9 | "companyTeam": "java110團隊", | 9 | "companyTeam": "java110團隊", |
| 10 | - "welcome": "歡迎訪問HC小區管理系統", | 10 | + "welcome": "歡迎訪問西荣物业小區管理系統", |
| 11 | "signOut": "退出", | 11 | "signOut": "退出", |
| 12 | "signIn": "登錄", | 12 | "signIn": "登錄", |
| 13 | "register": "註冊", | 13 | "register": "註冊", |
| 14 | "moreCommunity": "更多小區", | 14 | "moreCommunity": "更多小區", |
| 15 | "moreMsg": "查看全部消息", | 15 | "moreMsg": "查看全部消息", |
| 16 | - "title": "HC小區管理系統", | 16 | + "title": "西荣物业小區管理系統", |
| 17 | "noAccount": "還沒有賬號?", | 17 | "noAccount": "還沒有賬號?", |
| 18 | "areyouhasaccount": "已經有賬戶了?", | 18 | "areyouhasaccount": "已經有賬戶了?", |
| 19 | "indexContext": { | 19 | "indexContext": { |
| @@ -1265,4 +1265,4 @@ | @@ -1265,4 +1265,4 @@ | ||
| 1265 | "chooseQuestionAnswer": { "查询": "查詢", "选择": "選擇", "操作": "操作", "输入问卷信息名称": "輸入問卷資訊名稱", "开始时间": "開始時間", "选择问卷信息": "選擇問卷資訊", "问卷名称": "問卷名稱", "问卷类型": "問卷類型", "备注": "備註", "问卷": "問卷", "结束时间": "結束時間" }, | 1265 | "chooseQuestionAnswer": { "查询": "查詢", "选择": "選擇", "操作": "操作", "输入问卷信息名称": "輸入問卷資訊名稱", "开始时间": "開始時間", "选择问卷信息": "選擇問卷資訊", "问卷名称": "問卷名稱", "问卷类型": "問卷類型", "备注": "備註", "问卷": "問卷", "结束时间": "結束時間" }, |
| 1266 | "addAttrSpec": { "字符串": "字串", "否": "否", "小区属性": "社區屬性", "规格名称": "規格名稱", "说明": "說明", "必填": "必填", "设备属性": "設備屬性", "查询显示": "查詢顯示", "展示": "展示", "是": "是", "值类型": "數值型別", "整数": "整数", "停车场属性": "停車場屬性", "添加属性配置": "新增屬性配置", "属性表": "屬性表", "房屋属性": "房屋屬性", "业主属性": "屋主屬性", "车辆属性": "車輛屬性", "金额": "金額", "规格类型": "規格類型" } | 1266 | "addAttrSpec": { "字符串": "字串", "否": "否", "小区属性": "社區屬性", "规格名称": "規格名稱", "说明": "說明", "必填": "必填", "设备属性": "設備屬性", "查询显示": "查詢顯示", "展示": "展示", "是": "是", "值类型": "數值型別", "整数": "整数", "停车场属性": "停車場屬性", "添加属性配置": "新增屬性配置", "属性表": "屬性表", "房屋属性": "房屋屬性", "业主属性": "屋主屬性", "车辆属性": "車輛屬性", "金额": "金額", "规格类型": "規格類型" } |
| 1267 | } | 1267 | } |
| 1268 | -})(window) | ||
| 1269 | \ No newline at end of file | 1268 | \ No newline at end of file |
| 1269 | +})(window) |
public/js/vcCore/vc-en.js
| @@ -3,8 +3,8 @@ | @@ -3,8 +3,8 @@ | ||
| 3 | */ | 3 | */ |
| 4 | (function(window) { | 4 | (function(window) { |
| 5 | window.lang = { | 5 | window.lang = { |
| 6 | - "systemName": "HC Community System", | ||
| 7 | - "systemSimpleName": "HC", | 6 | + "systemName": "西荣物业 Community System", |
| 7 | + "systemSimpleName": "西荣物业", | ||
| 8 | "subSystemName": "CommunityManagement", | 8 | "subSystemName": "CommunityManagement", |
| 9 | "companyTeam": "java110 Round data team", | 9 | "companyTeam": "java110 Round data team", |
| 10 | "welcome": "welcome community management", | 10 | "welcome": "welcome community management", |
| @@ -1193,4 +1193,4 @@ | @@ -1193,4 +1193,4 @@ | ||
| 1193 | "addAttrSpec": { "必填,请填写说明": "required,please fill in the description", "字符串": " String", "否": "No", "小区属性": "Community Attribute", "规格名称": "Specification Name", "说明": "Description", "必填": "Required", "设备属性": "Equipment attribute", "查询显示": "query display", "展示": "display", "是": "yes", "值类型": "value type", "整数": "Integer", "必填,请填写规格名称": "required,please fill in the specification name", "停车场属性": "parking lot attribute", "添加属性配置": "add attribute configuration", "属性表": "Attribute table", "房屋属性": "House attribute", "业主属性": "Owner attribute", "车辆属性": "Vehicle attribute", "金额": "Amount", "规格类型": "Spec Type" } | 1193 | "addAttrSpec": { "必填,请填写说明": "required,please fill in the description", "字符串": " String", "否": "No", "小区属性": "Community Attribute", "规格名称": "Specification Name", "说明": "Description", "必填": "Required", "设备属性": "Equipment attribute", "查询显示": "query display", "展示": "display", "是": "yes", "值类型": "value type", "整数": "Integer", "必填,请填写规格名称": "required,please fill in the specification name", "停车场属性": "parking lot attribute", "添加属性配置": "add attribute configuration", "属性表": "Attribute table", "房屋属性": "House attribute", "业主属性": "Owner attribute", "车辆属性": "Vehicle attribute", "金额": "Amount", "规格类型": "Spec Type" } |
| 1194 | } | 1194 | } |
| 1195 | 1195 | ||
| 1196 | -})(window) | ||
| 1197 | \ No newline at end of file | 1196 | \ No newline at end of file |
| 1197 | +})(window) |
public/js/vcCore/vc-tibetan.js
| @@ -3,18 +3,18 @@ | @@ -3,18 +3,18 @@ | ||
| 3 | */ | 3 | */ |
| 4 | (function(window) { | 4 | (function(window) { |
| 5 | window.lang = { | 5 | window.lang = { |
| 6 | - "systemName": "HCགཞིས་ཁུལ་དོ་དམ་མ་ལག", | ||
| 7 | - "systemSimpleName": "HC", | 6 | + "systemName": "西荣物业གཞིས་ཁུལ་དོ་དམ་མ་ལག", |
| 7 | + "systemSimpleName": "西荣物业", | ||
| 8 | "subSystemName": "གཞིས་ཁུལ་དོ་དམ་མ་ལག", | 8 | "subSystemName": "གཞིས་ཁུལ་དོ་དམ་མ་ལག", |
| 9 | "companyTeam": "java110ཚོགས་པ།", | 9 | "companyTeam": "java110ཚོགས་པ།", |
| 10 | - "welcome": "འཚམས་འདྲིར་ཕེབས་པར་དགའ་བསུ་ཞུ། HCགཞིས་ཁུལ་དོ་དམ་མ་ལག", | 10 | + "welcome": "འཚམས་འདྲིར་ཕེབས་པར་དགའ་བསུ་ཞུ། 西荣物业གཞིས་ཁུལ་དོ་དམ་མ་ལག", |
| 11 | "signOut": "ཕྱིར་འཐེན།", | 11 | "signOut": "ཕྱིར་འཐེན།", |
| 12 | "signIn": "ཐོ་འགོད།", | 12 | "signIn": "ཐོ་འགོད།", |
| 13 | "register": "ཐོ་འགོད།", | 13 | "register": "ཐོ་འགོད།", |
| 14 | "moreCommunity": "སྡེ་ཁུལ་དེ་བས་མང་བ།", | 14 | "moreCommunity": "སྡེ་ཁུལ་དེ་བས་མང་བ།", |
| 15 | "moreMsg": "གནས་ཚུལ་ཚང་མར་གཟིགས་པ།", | 15 | "moreMsg": "གནས་ཚུལ་ཚང་མར་གཟིགས་པ།", |
| 16 | - "title": "HCགཞིས་ཁུལ་དོ་དམ་མ་ལག", | 16 | + "title": "西荣物业གཞིས་ཁུལ་དོ་དམ་མ་ལག", |
| 17 | "noAccount": "ད་དུང་རྩིས་ཨང་མེད་དམ།", | 17 | "noAccount": "ད་དུང་རྩིས་ཨང་མེད་དམ།", |
| 18 | "areyouhasaccount": "རྩིས་ཐོ་ཡོད་སོང་ངམ།" | 18 | "areyouhasaccount": "རྩིས་ཐོ་ཡོད་སོང་ངམ།" |
| 19 | } | 19 | } |
| 20 | -})(window) | ||
| 21 | \ No newline at end of file | 20 | \ No newline at end of file |
| 21 | +})(window) |
public/js/vcCore/vc-zh-cn.js
| @@ -3,17 +3,17 @@ | @@ -3,17 +3,17 @@ | ||
| 3 | */ | 3 | */ |
| 4 | (function(window) { | 4 | (function(window) { |
| 5 | window.lang = { | 5 | window.lang = { |
| 6 | - "systemName": "HC", | ||
| 7 | - "systemSimpleName": "HC", | 6 | + "systemName": "西荣物业", |
| 7 | + "systemSimpleName": "西荣物业", | ||
| 8 | "subSystemName": "小区管理系统", | 8 | "subSystemName": "小区管理系统", |
| 9 | "companyTeam": "java110团队", | 9 | "companyTeam": "java110团队", |
| 10 | - "welcome": "欢迎访问HC小区管理系统", | 10 | + "welcome": "欢迎访问西荣物业小区管理系统", |
| 11 | "signOut": "退出", | 11 | "signOut": "退出", |
| 12 | "signIn": "登录", | 12 | "signIn": "登录", |
| 13 | "register": "注册", | 13 | "register": "注册", |
| 14 | "moreCommunity": "更多小区", | 14 | "moreCommunity": "更多小区", |
| 15 | "moreMsg": "查看全部消息", | 15 | "moreMsg": "查看全部消息", |
| 16 | - "title": "HC小区管理系统", | 16 | + "title": "西荣物业小区管理系统", |
| 17 | "noAccount": "还没有账号? ", | 17 | "noAccount": "还没有账号? ", |
| 18 | "areyouhasaccount": "已经有账户了?", | 18 | "areyouhasaccount": "已经有账户了?", |
| 19 | "保存": "保存", | 19 | "保存": "保存", |
| @@ -1211,4 +1211,4 @@ | @@ -1211,4 +1211,4 @@ | ||
| 1211 | "addAttrSpec": { "字符串": "字符串", "否": "否", "小区属性": "小区属性", "规格名称": "规格名称", "说明": "说明", "必填": "必填", "设备属性": "设备属性", "查询显示": "查询显示", "展示": "展示", "是": "是", "值类型": "值类型", "整数": "整数", "停车场属性": "停车场属性", "添加属性配置": "添加属性配置", "属性表": "属性表", "房屋属性": "房屋属性", "业主属性": "业主属性", "车辆属性": "车辆属性", "金额": "金额", "规格类型": "规格类型" } | 1211 | "addAttrSpec": { "字符串": "字符串", "否": "否", "小区属性": "小区属性", "规格名称": "规格名称", "说明": "说明", "必填": "必填", "设备属性": "设备属性", "查询显示": "查询显示", "展示": "展示", "是": "是", "值类型": "值类型", "整数": "整数", "停车场属性": "停车场属性", "添加属性配置": "添加属性配置", "属性表": "属性表", "房屋属性": "房屋属性", "业主属性": "业主属性", "车辆属性": "车辆属性", "金额": "金额", "规格类型": "规格类型" } |
| 1212 | 1212 | ||
| 1213 | } | 1213 | } |
| 1214 | -})(window) | ||
| 1215 | \ No newline at end of file | 1214 | \ No newline at end of file |
| 1215 | +})(window) |
readme.md
| 1 | -# HC物业管理系统pcweb端(vue2+elementui) | 1 | +# 西荣物业物业管理系统pcweb端(vue2+elementui) |
| 2 | 2 | ||
| 3 | ## 说明 | 3 | ## 说明 |
| 4 | - HC小区管理系统是一套saas物业管理的系统,包括 房产、业主、 费用 (可以线上缴费)、报修(可以线上报修)、投诉建议、采购、巡检、停车、门径、道闸、监控、工作流、问卷和公告等功能。 | 4 | + 西荣物业小区管理系统是一套saas物业管理的系统,包括 房产、业主、 费用 (可以线上缴费)、报修(可以线上报修)、投诉建议、采购、巡检、停车、门径、道闸、监控、工作流、问卷和公告等功能。 |
| 5 | 5 | ||
| 6 | 相关代码:<br/><br/> | 6 | 相关代码:<br/><br/> |
| 7 | 1、[物业系统前端](https://gitee.com/java110/MicroCommunityWeb) : 物业员工使用电脑端<br/> | 7 | 1、[物业系统前端](https://gitee.com/java110/MicroCommunityWeb) : 物业员工使用电脑端<br/> |
| @@ -11,7 +11,7 @@ | @@ -11,7 +11,7 @@ | ||
| 11 | 11 | ||
| 12 | ## 如何使用 | 12 | ## 如何使用 |
| 13 | 13 | ||
| 14 | -[操作手册](http://www.homecommunity.cn/pages/hc/addCommunity_cn.html) | 14 | +[操作手册](http://www.homecommunity.cn/pages/西荣物业/addCommunity_cn.html) |
| 15 | 15 | ||
| 16 | ## 产品 | 16 | ## 产品 |
| 17 | 17 | ||
| @@ -92,4 +92,4 @@ npm install . | @@ -92,4 +92,4 @@ npm install . | ||
| 92 | 92 | ||
| 93 | 您可以fork 代码后,commit后 pull request合并代码 | 93 | 您可以fork 代码后,commit后 pull request合并代码 |
| 94 | 94 | ||
| 95 | -联系作者:17797173942(微信号) | ||
| 96 | \ No newline at end of file | 95 | \ No newline at end of file |
| 96 | +联系作者:17797173942(微信号) |
src/api/community/cityAreaApi.js
| @@ -6,7 +6,7 @@ export function getAreaTree() { | @@ -6,7 +6,7 @@ export function getAreaTree() { | ||
| 6 | request({ | 6 | request({ |
| 7 | url: '/area.queryAreaTree', | 7 | url: '/area.queryAreaTree', |
| 8 | method: 'get', | 8 | method: 'get', |
| 9 | - params: { hc: 1.8 } | 9 | + params: { 西荣物业: 1.8 } |
| 10 | }).then(response => { | 10 | }).then(response => { |
| 11 | const res = response.data | 11 | const res = response.data |
| 12 | 12 | ||
| @@ -29,7 +29,7 @@ export function getAreaDetail(params) { | @@ -29,7 +29,7 @@ export function getAreaDetail(params) { | ||
| 29 | const res = response.data | 29 | const res = response.data |
| 30 | 30 | ||
| 31 | resolve(res) | 31 | resolve(res) |
| 32 | - | 32 | + |
| 33 | }).catch(error => { | 33 | }).catch(error => { |
| 34 | reject(error) | 34 | reject(error) |
| 35 | }) | 35 | }) |
| @@ -97,4 +97,4 @@ export function deleteArea(data) { | @@ -97,4 +97,4 @@ export function deleteArea(data) { | ||
| 97 | reject(error) | 97 | reject(error) |
| 98 | }) | 98 | }) |
| 99 | }) | 99 | }) |
| 100 | -} | ||
| 101 | \ No newline at end of file | 100 | \ No newline at end of file |
| 101 | +} |
src/components/inspection/AInspectionRouteMap.vue
| 1 | -<template> | 1 | +<template> |
| 2 | <div id="aInspectionRouteMap" class="map-container"></div> | 2 | <div id="aInspectionRouteMap" class="map-container"></div> |
| 3 | </template> | 3 | </template> |
| 4 | 4 | ||
| @@ -10,26 +10,12 @@ export default { | @@ -10,26 +10,12 @@ export default { | ||
| 10 | data() { | 10 | data() { |
| 11 | return { | 11 | return { |
| 12 | map: null, | 12 | map: null, |
| 13 | - points: [] | 13 | + points: [], |
| 14 | + markers: [], | ||
| 15 | + polyline: null | ||
| 14 | } | 16 | } |
| 15 | }, | 17 | }, |
| 16 | - async created() { | ||
| 17 | - await this.loadQQMapScript() | ||
| 18 | - }, | ||
| 19 | methods: { | 18 | methods: { |
| 20 | - loadQQMapScript() { | ||
| 21 | - if (window.TMap) { | ||
| 22 | - return Promise.resolve(); | ||
| 23 | - } | ||
| 24 | - | ||
| 25 | - return new Promise((resolve, reject) => { | ||
| 26 | - const script = document.createElement('script'); | ||
| 27 | - script.src = `https://map.qq.com/api/gljs?v=1.exp&key=您的腾讯地图KEY`; | ||
| 28 | - script.onload = resolve; | ||
| 29 | - script.onerror = reject; | ||
| 30 | - document.head.appendChild(script); | ||
| 31 | - }); | ||
| 32 | - }, | ||
| 33 | async initMap(params) { | 19 | async initMap(params) { |
| 34 | try { | 20 | try { |
| 35 | const { data } = await listAdminInspectionRoutePoints({ | 21 | const { data } = await listAdminInspectionRoutePoints({ |
| @@ -46,32 +32,53 @@ export default { | @@ -46,32 +32,53 @@ export default { | ||
| 46 | initMapView() { | 32 | initMapView() { |
| 47 | if (!this.points || this.points.length === 0) return | 33 | if (!this.points || this.points.length === 0) return |
| 48 | 34 | ||
| 49 | - // 这里需要根据实际地图API实现地图初始化 | ||
| 50 | - // 示例代码,需要替换为实际地图API调用 | ||
| 51 | - console.log('Initialize map with points:', this.points) | 35 | + this.clearMap() |
| 52 | 36 | ||
| 53 | - // 示例:使用腾讯地图API | ||
| 54 | - if (window.TMap) { | ||
| 55 | - const center = new window.TMap.LatLng(this.points[0].lat, this.points[0].lng) | ||
| 56 | - this.map = new window.TMap.Map(document.getElementById('aInspectionRouteMap'), { | ||
| 57 | - center: center, | ||
| 58 | - zoom: 17 | ||
| 59 | - }) | 37 | + const center = [this.points[0].lng, this.points[0].lat] |
| 38 | + this.map = new window.AMap.Map(document.getElementById('aInspectionRouteMap'), { | ||
| 39 | + center: center, | ||
| 40 | + zoom: 17, | ||
| 41 | + resizeEnable: true | ||
| 42 | + }) | ||
| 60 | 43 | ||
| 61 | - // 添加标记点 | ||
| 62 | - const markers = this.points.map(point => ({ | ||
| 63 | - position: new window.TMap.LatLng(point.lat, point.lng), | ||
| 64 | - properties: { | ||
| 65 | - title: point.inspectionName | ||
| 66 | - } | ||
| 67 | - })) | 44 | + const path = [] |
| 45 | + this.points.forEach(point => { | ||
| 46 | + const marker = new window.AMap.Marker({ | ||
| 47 | + map: this.map, | ||
| 48 | + position: [point.lng, point.lat], | ||
| 49 | + title: point.inspectionName, | ||
| 50 | + icon: new window.AMap.Icon({ | ||
| 51 | + size: new window.AMap.Size(25, 35), | ||
| 52 | + imageSize: new window.AMap.Size(25, 35), | ||
| 53 | + image: '/img/maper.png' | ||
| 54 | + }) | ||
| 55 | + }) | ||
| 56 | + this.markers.push(marker) | ||
| 57 | + path.push([point.lng, point.lat]) | ||
| 58 | + }) | ||
| 68 | 59 | ||
| 69 | - new window.TMap.MultiMarker({ | 60 | + if (path.length > 1) { |
| 61 | + this.polyline = new window.AMap.Polyline({ | ||
| 70 | map: this.map, | 62 | map: this.map, |
| 71 | - geometries: markers | 63 | + path: path, |
| 64 | + strokeColor: '#3777FF', | ||
| 65 | + strokeWeight: 6, | ||
| 66 | + strokeOpacity: 0.8 | ||
| 72 | }) | 67 | }) |
| 73 | } | 68 | } |
| 69 | + }, | ||
| 70 | + clearMap() { | ||
| 71 | + this.markers.forEach(m => m.setMap(null)) | ||
| 72 | + this.markers = [] | ||
| 73 | + if (this.polyline) { this.polyline.setMap(null); this.polyline = null } | ||
| 74 | + if (this.map) { | ||
| 75 | + this.map.destroy() | ||
| 76 | + this.map = null | ||
| 77 | + } | ||
| 74 | } | 78 | } |
| 79 | + }, | ||
| 80 | + beforeDestroy() { | ||
| 81 | + this.clearMap() | ||
| 75 | } | 82 | } |
| 76 | } | 83 | } |
| 77 | </script> | 84 | </script> |
| @@ -81,4 +88,4 @@ export default { | @@ -81,4 +88,4 @@ export default { | ||
| 81 | height: 600px; | 88 | height: 600px; |
| 82 | width: 100%; | 89 | width: 100%; |
| 83 | } | 90 | } |
| 84 | -</style> | ||
| 85 | \ No newline at end of file | 91 | \ No newline at end of file |
| 92 | +</style> |
src/components/inspection/AInspectionTaskMap.vue
| 1 | -<template> | 1 | +<template> |
| 2 | <div id="aInspectionTaskMap" class="map-container"></div> | 2 | <div id="aInspectionTaskMap" class="map-container"></div> |
| 3 | </template> | 3 | </template> |
| 4 | 4 | ||
| @@ -10,13 +10,13 @@ export default { | @@ -10,13 +10,13 @@ export default { | ||
| 10 | data() { | 10 | data() { |
| 11 | return { | 11 | return { |
| 12 | map: null, | 12 | map: null, |
| 13 | - points: [] | 13 | + points: [], |
| 14 | + markers: [] | ||
| 14 | } | 15 | } |
| 15 | }, | 16 | }, |
| 16 | methods: { | 17 | methods: { |
| 17 | loadData(params) { | 18 | loadData(params) { |
| 18 | console.log(params) | 19 | console.log(params) |
| 19 | - //this.initMap(params) | ||
| 20 | }, | 20 | }, |
| 21 | async initMap(params) { | 21 | async initMap(params) { |
| 22 | try { | 22 | try { |
| @@ -35,50 +35,43 @@ export default { | @@ -35,50 +35,43 @@ export default { | ||
| 35 | initMapView() { | 35 | initMapView() { |
| 36 | if (!this.points || this.points.length === 0) return | 36 | if (!this.points || this.points.length === 0) return |
| 37 | 37 | ||
| 38 | - // 这里需要根据实际地图API实现地图初始化 | ||
| 39 | - // 示例代码,需要替换为实际地图API调用 | ||
| 40 | - console.log('Initialize task map with points:', this.points) | ||
| 41 | - | ||
| 42 | - // 示例:使用腾讯地图API | ||
| 43 | - if (window.TMap) { | ||
| 44 | - const center = new window.TMap.LatLng(this.points[0].lat, this.points[0].lng) | ||
| 45 | - this.map = new window.TMap.Map(document.getElementById('aInspectionTaskMap'), { | ||
| 46 | - center: center, | ||
| 47 | - zoom: 17 | 38 | + this.clearMap() |
| 39 | + | ||
| 40 | + const center = [this.points[0].lng, this.points[0].lat] | ||
| 41 | + this.map = new window.AMap.Map(document.getElementById('aInspectionTaskMap'), { | ||
| 42 | + center: center, | ||
| 43 | + zoom: 17, | ||
| 44 | + resizeEnable: true | ||
| 45 | + }) | ||
| 46 | + | ||
| 47 | + this.points.forEach(point => { | ||
| 48 | + const isDone = point.state === '20200405' | ||
| 49 | + const icon = new window.AMap.Icon({ | ||
| 50 | + size: new window.AMap.Size(25, 35), | ||
| 51 | + imageSize: new window.AMap.Size(25, 35), | ||
| 52 | + image: isDone ? '/img/inspection_done.png' : '/img/inspection.png' | ||
| 48 | }) | 53 | }) |
| 49 | - | ||
| 50 | - // 添加标记点 | ||
| 51 | - const markers = this.points.map(point => ({ | ||
| 52 | - position: new window.TMap.LatLng(point.lat, point.lng), | ||
| 53 | - properties: { | ||
| 54 | - title: point.inspectionName, | ||
| 55 | - status: point.state | ||
| 56 | - } | ||
| 57 | - })) | ||
| 58 | - | ||
| 59 | - new window.TMap.MultiMarker({ | 54 | + |
| 55 | + const marker = new window.AMap.Marker({ | ||
| 60 | map: this.map, | 56 | map: this.map, |
| 61 | - styles: { | ||
| 62 | - normal: new window.TMap.MarkerStyle({ | ||
| 63 | - width: 25, | ||
| 64 | - height: 35, | ||
| 65 | - src: '/img/inspection.png', | ||
| 66 | - anchor: { x: 16, y: 32 } | ||
| 67 | - }), | ||
| 68 | - done: new window.TMap.MarkerStyle({ | ||
| 69 | - width: 25, | ||
| 70 | - height: 35, | ||
| 71 | - src: '/img/inspection_done.png', | ||
| 72 | - anchor: { x: 16, y: 32 } | ||
| 73 | - }) | ||
| 74 | - }, | ||
| 75 | - geometries: markers.map(marker => ({ | ||
| 76 | - ...marker, | ||
| 77 | - styleId: marker.properties.status === '20200405' ? 'done' : 'normal' | ||
| 78 | - })) | 57 | + position: [point.lng, point.lat], |
| 58 | + title: point.inspectionName, | ||
| 59 | + icon: icon | ||
| 79 | }) | 60 | }) |
| 61 | + this.markers.push(marker) | ||
| 62 | + }) | ||
| 63 | + }, | ||
| 64 | + clearMap() { | ||
| 65 | + this.markers.forEach(m => m.setMap(null)) | ||
| 66 | + this.markers = [] | ||
| 67 | + if (this.map) { | ||
| 68 | + this.map.destroy() | ||
| 69 | + this.map = null | ||
| 80 | } | 70 | } |
| 81 | } | 71 | } |
| 72 | + }, | ||
| 73 | + beforeDestroy() { | ||
| 74 | + this.clearMap() | ||
| 82 | } | 75 | } |
| 83 | } | 76 | } |
| 84 | </script> | 77 | </script> |
| @@ -88,4 +81,4 @@ export default { | @@ -88,4 +81,4 @@ export default { | ||
| 88 | height: 600px; | 81 | height: 600px; |
| 89 | width: 100%; | 82 | width: 100%; |
| 90 | } | 83 | } |
| 91 | -</style> | ||
| 92 | \ No newline at end of file | 84 | \ No newline at end of file |
| 85 | +</style> |
src/components/inspection/addInspectionPoint.vue
| @@ -61,13 +61,13 @@ | @@ -61,13 +61,13 @@ | ||
| 61 | <el-col :span="12"> | 61 | <el-col :span="12"> |
| 62 | <el-form-item :label="$t('addInspectionPoint.lng')"> | 62 | <el-form-item :label="$t('addInspectionPoint.lng')"> |
| 63 | <el-input v-model="addInspectionPointInfo.lng" :placeholder="$t('addInspectionPoint.placeholder.lng')" | 63 | <el-input v-model="addInspectionPointInfo.lng" :placeholder="$t('addInspectionPoint.placeholder.lng')" |
| 64 | - disabled /> | 64 | + /> |
| 65 | </el-form-item> | 65 | </el-form-item> |
| 66 | </el-col> | 66 | </el-col> |
| 67 | <el-col :span="12"> | 67 | <el-col :span="12"> |
| 68 | <el-form-item :label="$t('addInspectionPoint.lat')"> | 68 | <el-form-item :label="$t('addInspectionPoint.lat')"> |
| 69 | <el-input v-model="addInspectionPointInfo.lat" :placeholder="$t('addInspectionPoint.placeholder.lat')" | 69 | <el-input v-model="addInspectionPointInfo.lat" :placeholder="$t('addInspectionPoint.placeholder.lat')" |
| 70 | - disabled /> | 70 | + /> |
| 71 | </el-form-item> | 71 | </el-form-item> |
| 72 | </el-col> | 72 | </el-col> |
| 73 | </el-row> | 73 | </el-row> |
src/components/inspection/editInspectionPoint.vue
| @@ -60,13 +60,13 @@ | @@ -60,13 +60,13 @@ | ||
| 60 | <el-col :span="12"> | 60 | <el-col :span="12"> |
| 61 | <el-form-item :label="$t('editInspectionPoint.lng')"> | 61 | <el-form-item :label="$t('editInspectionPoint.lng')"> |
| 62 | <el-input v-model="editInspectionPointInfo.lng" :placeholder="$t('editInspectionPoint.placeholder.lng')" | 62 | <el-input v-model="editInspectionPointInfo.lng" :placeholder="$t('editInspectionPoint.placeholder.lng')" |
| 63 | - disabled /> | 63 | + /> |
| 64 | </el-form-item> | 64 | </el-form-item> |
| 65 | </el-col> | 65 | </el-col> |
| 66 | <el-col :span="12"> | 66 | <el-col :span="12"> |
| 67 | <el-form-item :label="$t('editInspectionPoint.lat')"> | 67 | <el-form-item :label="$t('editInspectionPoint.lat')"> |
| 68 | <el-input v-model="editInspectionPointInfo.lat" :placeholder="$t('editInspectionPoint.placeholder.lat')" | 68 | <el-input v-model="editInspectionPointInfo.lat" :placeholder="$t('editInspectionPoint.placeholder.lat')" |
| 69 | - disabled /> | 69 | + /> |
| 70 | </el-form-item> | 70 | </el-form-item> |
| 71 | </el-col> | 71 | </el-col> |
| 72 | </el-row> | 72 | </el-row> |
src/components/inspection/inspectionRouteMap.vue
| 1 | -<template> | 1 | +<template> |
| 2 | <div class="inspection-route-map-container"> | 2 | <div class="inspection-route-map-container"> |
| 3 | <div id="inspectionRouteMap" style="width: 100%; height: 600px;"></div> | 3 | <div id="inspectionRouteMap" style="width: 100%; height: 600px;"></div> |
| 4 | </div> | 4 | </div> |
| @@ -14,50 +14,32 @@ export default { | @@ -14,50 +14,32 @@ export default { | ||
| 14 | return { | 14 | return { |
| 15 | map: null, | 15 | map: null, |
| 16 | communityId: '', | 16 | communityId: '', |
| 17 | - routePoints: [] | 17 | + routePoints: [], |
| 18 | + markers: [], | ||
| 19 | + texts: [], | ||
| 20 | + polylines: [] | ||
| 18 | } | 21 | } |
| 19 | }, | 22 | }, |
| 20 | async mounted() { | 23 | async mounted() { |
| 21 | this.communityId = getCommunityId() | 24 | this.communityId = getCommunityId() |
| 22 | - // 延迟初始化地图,确保DOM已经渲染 | ||
| 23 | }, | 25 | }, |
| 24 | methods: { | 26 | methods: { |
| 25 | loadData(route) { | 27 | loadData(route) { |
| 26 | this.initMap() | 28 | this.initMap() |
| 27 | - | ||
| 28 | this.loadRoute(route) | 29 | this.loadRoute(route) |
| 29 | }, | 30 | }, |
| 30 | 31 | ||
| 31 | initMap() { | 32 | initMap() { |
| 32 | - // 若已有地图或图层,先清理避免重复初始化 | ||
| 33 | - if (this.markerLayer) { | ||
| 34 | - this.markerLayer.setMap(null) | ||
| 35 | - this.markerLayer = null | ||
| 36 | - } | ||
| 37 | - if (this.labelLayer) { | ||
| 38 | - this.labelLayer.setMap(null) | ||
| 39 | - this.labelLayer = null | ||
| 40 | - } | ||
| 41 | - if (this.polylineLayer) { | ||
| 42 | - this.polylineLayer.setMap(null) | ||
| 43 | - this.polylineLayer = null | ||
| 44 | - } | ||
| 45 | - if (this.map) { | ||
| 46 | - this.map.destroy() | ||
| 47 | - this.map = null | ||
| 48 | - } | 33 | + this.clearAll() |
| 49 | 34 | ||
| 50 | - // 默认中心点(北京) | ||
| 51 | - const center = new window.TMap.LatLng(39.916527, 116.397128) | 35 | + const center = [116.397128, 39.916527] |
| 36 | + const container = document.getElementById('inspectionRouteMap') | ||
| 37 | + if (!container) return | ||
| 52 | 38 | ||
| 53 | - // 创建地图实例 | ||
| 54 | - this.map = new window.TMap.Map(document.getElementById('inspectionRouteMap'), { | 39 | + this.map = new window.AMap.Map(container, { |
| 55 | center: center, | 40 | center: center, |
| 56 | zoom: 13, | 41 | zoom: 13, |
| 57 | - baseMap: { | ||
| 58 | - type: 'vector', | ||
| 59 | - features: ['base', 'building2d', 'point'] | ||
| 60 | - } | 42 | + resizeEnable: true |
| 61 | }) | 43 | }) |
| 62 | }, | 44 | }, |
| 63 | 45 | ||
| @@ -84,101 +66,92 @@ export default { | @@ -84,101 +66,92 @@ export default { | ||
| 84 | addPointsToMap(points) { | 66 | addPointsToMap(points) { |
| 85 | if (!this.map || !points || points.length === 0) return | 67 | if (!this.map || !points || points.length === 0) return |
| 86 | 68 | ||
| 87 | - // 清除之前的标记 | ||
| 88 | - if (this.markerLayer) this.markerLayer.setMap(null) | ||
| 89 | - if (this.labelLayer) this.labelLayer.setMap(null) | ||
| 90 | - if (this.polylineLayer) this.polylineLayer.setMap(null) | 69 | + this.clearOverlays() |
| 91 | 70 | ||
| 92 | - const geometriesMarker = [] | ||
| 93 | - const geometriesLabel = [] | ||
| 94 | const path = [] | 71 | const path = [] |
| 95 | 72 | ||
| 96 | points.forEach(point => { | 73 | points.forEach(point => { |
| 97 | if (!point.lat || !point.lng) return | 74 | if (!point.lat || !point.lng) return |
| 98 | 75 | ||
| 99 | - const position = new window.TMap.LatLng(point.lat, point.lng) | 76 | + const position = [point.lng, point.lat] |
| 100 | 77 | ||
| 101 | - // 添加标记 | ||
| 102 | - geometriesMarker.push({ | ||
| 103 | - id: point.inspectionId, | ||
| 104 | - styleId: 'myStyle', | ||
| 105 | - position: position | 78 | + const marker = new window.AMap.Marker({ |
| 79 | + map: this.map, | ||
| 80 | + position: position, | ||
| 81 | + icon: new window.AMap.Icon({ | ||
| 82 | + size: new window.AMap.Size(25, 35), | ||
| 83 | + imageSize: new window.AMap.Size(25, 35), | ||
| 84 | + image: '/img/maper.png' | ||
| 85 | + }) | ||
| 106 | }) | 86 | }) |
| 87 | + this.markers.push(marker) | ||
| 107 | 88 | ||
| 108 | - // 添加标签 | ||
| 109 | - geometriesLabel.push({ | ||
| 110 | - id: `label_${point.inspectionId}`, | ||
| 111 | - styleId: 'label', | 89 | + const text = new window.AMap.Text({ |
| 90 | + map: this.map, | ||
| 91 | + text: point.inspectionName, | ||
| 112 | position: position, | 92 | position: position, |
| 113 | - content: point.inspectionName | 93 | + offset: new window.AMap.Pixel(0, 15), |
| 94 | + style: { | ||
| 95 | + color: '#3777FF', | ||
| 96 | + 'font-size': '12px', | ||
| 97 | + 'background-color': 'rgba(255,255,255,0.8)', | ||
| 98 | + 'padding': '2px 4px', | ||
| 99 | + 'border-radius': '2px' | ||
| 100 | + } | ||
| 114 | }) | 101 | }) |
| 102 | + this.texts.push(text) | ||
| 115 | 103 | ||
| 116 | - // 添加路径点 | ||
| 117 | path.push(position) | 104 | path.push(position) |
| 118 | }) | 105 | }) |
| 119 | 106 | ||
| 120 | - // 创建标记图层 | ||
| 121 | - this.markerLayer = new window.TMap.MultiMarker({ | ||
| 122 | - map: this.map, | ||
| 123 | - styles: { | ||
| 124 | - "myStyle": new window.TMap.MarkerStyle({ | ||
| 125 | - width: 25, | ||
| 126 | - height: 35, | ||
| 127 | - src: '/img/maper.png', | ||
| 128 | - anchor: { x: 32, y: 32 } | ||
| 129 | - }) | ||
| 130 | - }, | ||
| 131 | - geometries: geometriesMarker | ||
| 132 | - }) | ||
| 133 | - | ||
| 134 | - // 创建标签图层 | ||
| 135 | - this.labelLayer = new window.TMap.MultiLabel({ | ||
| 136 | - map: this.map, | ||
| 137 | - styles: { | ||
| 138 | - 'label': new window.TMap.LabelStyle({ | ||
| 139 | - color: '#3777FF', | ||
| 140 | - size: 20, | ||
| 141 | - offset: { x: 0, y: 15 }, | ||
| 142 | - angle: 0, | ||
| 143 | - alignment: 'center', | ||
| 144 | - verticalAlignment: 'middle' | ||
| 145 | - }) | ||
| 146 | - }, | ||
| 147 | - geometries: geometriesLabel | ||
| 148 | - }) | ||
| 149 | - | ||
| 150 | - // 创建路径图层 | ||
| 151 | - this.polylineLayer = new window.TMap.MultiPolyline({ | ||
| 152 | - map: this.map, | ||
| 153 | - styles: { | ||
| 154 | - 'style_blue': new window.TMap.PolylineStyle({ | ||
| 155 | - color: '#3777FF', | ||
| 156 | - width: 6, | ||
| 157 | - borderWidth: 5, | ||
| 158 | - borderColor: '#FFF', | ||
| 159 | - lineCap: 'butt' | ||
| 160 | - }) | ||
| 161 | - }, | ||
| 162 | - geometries: [{ | ||
| 163 | - id: 'pl_1', | ||
| 164 | - styleId: 'style_blue', | ||
| 165 | - paths: path | ||
| 166 | - }] | ||
| 167 | - }) | 107 | + if (path.length > 1) { |
| 108 | + // 外层(描边) | ||
| 109 | + const outerPolyline = new window.AMap.Polyline({ | ||
| 110 | + map: this.map, | ||
| 111 | + path: path, | ||
| 112 | + strokeColor: '#FFF', | ||
| 113 | + strokeWeight: 10, | ||
| 114 | + strokeOpacity: 1, | ||
| 115 | + lineJoin: 'round' | ||
| 116 | + }) | ||
| 117 | + this.polylines.push(outerPolyline) | ||
| 118 | + | ||
| 119 | + // 内层(主线) | ||
| 120 | + this.polylines.push(new window.AMap.Polyline({ | ||
| 121 | + map: this.map, | ||
| 122 | + path: path, | ||
| 123 | + strokeColor: '#3777FF', | ||
| 124 | + strokeWeight: 6, | ||
| 125 | + strokeOpacity: 0.9, | ||
| 126 | + lineJoin: 'round' | ||
| 127 | + })) | ||
| 128 | + } | ||
| 168 | 129 | ||
| 169 | - // 如果有路径点,调整地图中心点和缩放级别 | ||
| 170 | if (path.length > 0) { | 130 | if (path.length > 0) { |
| 171 | this.map.setCenter(path[0]) | 131 | this.map.setCenter(path[0]) |
| 172 | this.map.setZoom(16) | 132 | this.map.setZoom(16) |
| 173 | } | 133 | } |
| 134 | + }, | ||
| 135 | + | ||
| 136 | + clearAll() { | ||
| 137 | + this.clearOverlays() | ||
| 138 | + if (this.map) { | ||
| 139 | + this.map.destroy() | ||
| 140 | + this.map = null | ||
| 141 | + } | ||
| 142 | + }, | ||
| 143 | + | ||
| 144 | + clearOverlays() { | ||
| 145 | + this.markers.forEach(m => m.setMap(null)) | ||
| 146 | + this.markers = [] | ||
| 147 | + this.texts.forEach(t => t.setMap(null)) | ||
| 148 | + this.texts = [] | ||
| 149 | + this.polylines.forEach(p => p.setMap(null)) | ||
| 150 | + this.polylines = [] | ||
| 174 | } | 151 | } |
| 175 | }, | 152 | }, |
| 176 | beforeDestroy() { | 153 | beforeDestroy() { |
| 177 | - // 组件销毁时清除地图实例 | ||
| 178 | - if (this.map) { | ||
| 179 | - this.map.destroy() | ||
| 180 | - this.map = null | ||
| 181 | - } | 154 | + this.clearAll() |
| 182 | } | 155 | } |
| 183 | } | 156 | } |
| 184 | </script> | 157 | </script> |
| @@ -188,4 +161,4 @@ export default { | @@ -188,4 +161,4 @@ export default { | ||
| 188 | width: 100%; | 161 | width: 100%; |
| 189 | height: 100%; | 162 | height: 100%; |
| 190 | } | 163 | } |
| 191 | -</style> | ||
| 192 | \ No newline at end of file | 164 | \ No newline at end of file |
| 165 | +</style> |
src/components/inspection/inspectionTaskMap.vue
| 1 | -<template> | 1 | +<template> |
| 2 | <div class="inspection-task-map-container"> | 2 | <div class="inspection-task-map-container"> |
| 3 | <div id="inspectionTaskMap" style="width: 100%; height: 600px;"></div> | 3 | <div id="inspectionTaskMap" style="width: 100%; height: 600px;"></div> |
| 4 | </div> | 4 | </div> |
| @@ -15,53 +15,31 @@ export default { | @@ -15,53 +15,31 @@ export default { | ||
| 15 | map: null, | 15 | map: null, |
| 16 | communityId: '', | 16 | communityId: '', |
| 17 | taskPoints: [], | 17 | taskPoints: [], |
| 18 | - markerLayer: null, | ||
| 19 | - labelLayer: null, | ||
| 20 | - polylineLayer: null | 18 | + markers: [], |
| 19 | + texts: [], | ||
| 20 | + polylines: [] | ||
| 21 | } | 21 | } |
| 22 | }, | 22 | }, |
| 23 | mounted() { | 23 | mounted() { |
| 24 | this.communityId = getCommunityId() | 24 | this.communityId = getCommunityId() |
| 25 | - // 延迟初始化地图,确保DOM已经渲染 | ||
| 26 | }, | 25 | }, |
| 27 | methods: { | 26 | methods: { |
| 28 | loadData(task) { | 27 | loadData(task) { |
| 29 | - console.log('loadData',task) | 28 | + console.log('loadData', task) |
| 30 | this.initMap() | 29 | this.initMap() |
| 31 | this.loadTask(task) | 30 | this.loadTask(task) |
| 32 | }, | 31 | }, |
| 33 | initMap() { | 32 | initMap() { |
| 34 | - // 若已有地图或图层,先清理避免重复初始化 | ||
| 35 | - if (this.markerLayer) { | ||
| 36 | - this.markerLayer.setMap(null) | ||
| 37 | - this.markerLayer = null | ||
| 38 | - } | ||
| 39 | - if (this.labelLayer) { | ||
| 40 | - this.labelLayer.setMap(null) | ||
| 41 | - this.labelLayer = null | ||
| 42 | - } | ||
| 43 | - if (this.polylineLayer) { | ||
| 44 | - this.polylineLayer.setMap(null) | ||
| 45 | - this.polylineLayer = null | ||
| 46 | - } | ||
| 47 | - if (this.map) { | ||
| 48 | - this.map.destroy() | ||
| 49 | - this.map = null | ||
| 50 | - } | ||
| 51 | - console.log('initMap',this.map) | 33 | + this.clearAll() |
| 52 | 34 | ||
| 53 | - // 默认中心点(北京) | ||
| 54 | - const center = new window.TMap.LatLng(39.916527, 116.397128) | ||
| 55 | - console.log('center',center) | 35 | + const center = [116.397128, 39.916527] |
| 36 | + const container = document.getElementById('inspectionTaskMap') | ||
| 37 | + if (!container) return | ||
| 56 | 38 | ||
| 57 | - // 创建地图实例 | ||
| 58 | - this.map = new window.TMap.Map(document.getElementById('inspectionTaskMap'), { | 39 | + this.map = new window.AMap.Map(container, { |
| 59 | center: center, | 40 | center: center, |
| 60 | zoom: 13, | 41 | zoom: 13, |
| 61 | - baseMap: { | ||
| 62 | - type: 'vector', | ||
| 63 | - features: ['base', 'building2d', 'point'] | ||
| 64 | - } | 42 | + resizeEnable: true |
| 65 | }) | 43 | }) |
| 66 | }, | 44 | }, |
| 67 | 45 | ||
| @@ -88,133 +66,98 @@ export default { | @@ -88,133 +66,98 @@ export default { | ||
| 88 | addPointsToMap(points) { | 66 | addPointsToMap(points) { |
| 89 | if (!this.map || !points || points.length === 0) return | 67 | if (!this.map || !points || points.length === 0) return |
| 90 | 68 | ||
| 91 | - // 清除之前的标记 | ||
| 92 | - if (this.markerLayer) this.markerLayer.setMap(null) | ||
| 93 | - if (this.labelLayer) this.labelLayer.setMap(null) | ||
| 94 | - if (this.polylineLayer) this.polylineLayer.setMap(null) | 69 | + this.clearOverlays() |
| 95 | 70 | ||
| 96 | - const geometriesMarker = [] | ||
| 97 | - const geometriesLabel = [] | ||
| 98 | const path = [] | 71 | const path = [] |
| 99 | 72 | ||
| 100 | points.forEach(point => { | 73 | points.forEach(point => { |
| 101 | if (!point.lat || !point.lng) return | 74 | if (!point.lat || !point.lng) return |
| 102 | 75 | ||
| 103 | - const position = new window.TMap.LatLng(point.lat, point.lng) | 76 | + const position = [point.lng, point.lat] |
| 77 | + const isDone = point.state === '20200405' | ||
| 104 | 78 | ||
| 105 | - // 确定状态对应的样式 | ||
| 106 | - const markerStyle = point.state === '20200405' ? 'myStyle_red' : 'myStyle' | ||
| 107 | - const labelStyle = point.state === '20200405' ? 'label_red' : 'label' | ||
| 108 | - | ||
| 109 | - // 添加标记 | ||
| 110 | - geometriesMarker.push({ | ||
| 111 | - id: point.inspectionId, | ||
| 112 | - styleId: markerStyle, | ||
| 113 | - position: position | 79 | + // 标记 |
| 80 | + const markerIcon = new window.AMap.Icon({ | ||
| 81 | + size: new window.AMap.Size(25, 35), | ||
| 82 | + imageSize: new window.AMap.Size(25, 35), | ||
| 83 | + image: isDone ? '/img/inspection_do.png' : '/img/inspection.png' | ||
| 84 | + }) | ||
| 85 | + const marker = new window.AMap.Marker({ | ||
| 86 | + map: this.map, | ||
| 87 | + position: position, | ||
| 88 | + icon: markerIcon | ||
| 114 | }) | 89 | }) |
| 90 | + this.markers.push(marker) | ||
| 115 | 91 | ||
| 116 | - // 添加标签 | ||
| 117 | - geometriesLabel.push({ | ||
| 118 | - id: `label_${point.inspectionId}`, | ||
| 119 | - styleId: labelStyle, | 92 | + // 标签 |
| 93 | + const text = new window.AMap.Text({ | ||
| 94 | + map: this.map, | ||
| 95 | + text: point.inspectionName, | ||
| 120 | position: position, | 96 | position: position, |
| 121 | - content: point.inspectionName | 97 | + offset: new window.AMap.Pixel(0, 15), |
| 98 | + style: { | ||
| 99 | + color: isDone ? '#CC0000' : '#3777FF', | ||
| 100 | + 'font-size': '12px', | ||
| 101 | + 'background-color': 'rgba(255,255,255,0.8)', | ||
| 102 | + 'padding': '2px 4px', | ||
| 103 | + 'border-radius': '2px' | ||
| 104 | + } | ||
| 122 | }) | 105 | }) |
| 106 | + this.texts.push(text) | ||
| 123 | 107 | ||
| 124 | - // 添加路径点 | ||
| 125 | path.push(position) | 108 | path.push(position) |
| 126 | }) | 109 | }) |
| 127 | 110 | ||
| 128 | - // 创建标记图层 | ||
| 129 | - this.markerLayer = new window.TMap.MultiMarker({ | ||
| 130 | - map: this.map, | ||
| 131 | - styles: { | ||
| 132 | - "myStyle": new window.TMap.MarkerStyle({ | ||
| 133 | - width: 25, | ||
| 134 | - height: 35, | ||
| 135 | - src: '/img/inspection.png', | ||
| 136 | - anchor: { x: 32, y: 32 } | ||
| 137 | - }), | ||
| 138 | - "myStyle_red": new window.TMap.MarkerStyle({ | ||
| 139 | - width: 25, | ||
| 140 | - height: 35, | ||
| 141 | - src: '/img/inspection_do.png', | ||
| 142 | - anchor: { x: 32, y: 32 } | ||
| 143 | - }) | ||
| 144 | - }, | ||
| 145 | - geometries: geometriesMarker | ||
| 146 | - }) | ||
| 147 | - | ||
| 148 | - // 创建标签图层 | ||
| 149 | - this.labelLayer = new window.TMap.MultiLabel({ | ||
| 150 | - map: this.map, | ||
| 151 | - styles: { | ||
| 152 | - 'label': new window.TMap.LabelStyle({ | ||
| 153 | - color: '#3777FF', | ||
| 154 | - size: 20, | ||
| 155 | - offset: { x: 0, y: 15 }, | ||
| 156 | - angle: 0, | ||
| 157 | - alignment: 'center', | ||
| 158 | - verticalAlignment: 'middle' | ||
| 159 | - }), | ||
| 160 | - 'label_red': new window.TMap.LabelStyle({ | ||
| 161 | - color: '#CC0000', | ||
| 162 | - size: 20, | ||
| 163 | - offset: { x: 0, y: 15 }, | ||
| 164 | - angle: 0, | ||
| 165 | - alignment: 'center', | ||
| 166 | - verticalAlignment: 'middle' | ||
| 167 | - }) | ||
| 168 | - }, | ||
| 169 | - geometries: geometriesLabel | ||
| 170 | - }) | ||
| 171 | - | ||
| 172 | - // 创建路径图层 | ||
| 173 | - this.polylineLayer = new window.TMap.MultiPolyline({ | ||
| 174 | - map: this.map, | ||
| 175 | - styles: { | ||
| 176 | - 'style_blue': new window.TMap.PolylineStyle({ | ||
| 177 | - color: '#3777FF', | ||
| 178 | - width: 6, | ||
| 179 | - borderWidth: 5, | ||
| 180 | - borderColor: '#FFF', | ||
| 181 | - lineCap: 'butt' | ||
| 182 | - }), | ||
| 183 | - 'style_red': new window.TMap.PolylineStyle({ | ||
| 184 | - color: '#CC0000', | ||
| 185 | - width: 6, | ||
| 186 | - borderWidth: 5, | ||
| 187 | - borderColor: '#FFF', | ||
| 188 | - lineCap: 'butt' | ||
| 189 | - }) | ||
| 190 | - }, | ||
| 191 | - geometries: [ | ||
| 192 | - { | ||
| 193 | - id: 'pl_1', | ||
| 194 | - styleId: 'style_blue', | ||
| 195 | - paths: path | ||
| 196 | - }, | ||
| 197 | - { | ||
| 198 | - id: 'pl_2', | ||
| 199 | - styleId: 'style_red', | ||
| 200 | - paths: path | ||
| 201 | - } | ||
| 202 | - ] | ||
| 203 | - }) | 111 | + // 路径 - 双色双层折线模拟描边效果 |
| 112 | + if (path.length > 1) { | ||
| 113 | + // 外层(描边) | ||
| 114 | + const outerPolyline = new window.AMap.Polyline({ | ||
| 115 | + map: this.map, | ||
| 116 | + path: path, | ||
| 117 | + strokeColor: '#FFF', | ||
| 118 | + strokeWeight: 10, | ||
| 119 | + strokeOpacity: 1, | ||
| 120 | + lineJoin: 'round' | ||
| 121 | + }) | ||
| 122 | + this.polylines.push(outerPolyline) | ||
| 123 | + | ||
| 124 | + // 内层(主线) | ||
| 125 | + const innerPolyline = new window.AMap.Polyline({ | ||
| 126 | + map: this.map, | ||
| 127 | + path: path, | ||
| 128 | + strokeColor: '#3777FF', | ||
| 129 | + strokeWeight: 6, | ||
| 130 | + strokeOpacity: 0.9, | ||
| 131 | + lineJoin: 'round' | ||
| 132 | + }) | ||
| 133 | + this.polylines.push(innerPolyline) | ||
| 134 | + } | ||
| 204 | 135 | ||
| 205 | - // 如果有路径点,调整地图中心点和缩放级别 | ||
| 206 | if (path.length > 0) { | 136 | if (path.length > 0) { |
| 207 | this.map.setCenter(path[0]) | 137 | this.map.setCenter(path[0]) |
| 208 | this.map.setZoom(16) | 138 | this.map.setZoom(16) |
| 209 | } | 139 | } |
| 140 | + }, | ||
| 141 | + | ||
| 142 | + clearAll() { | ||
| 143 | + this.clearOverlays() | ||
| 144 | + if (this.map) { | ||
| 145 | + this.map.destroy() | ||
| 146 | + this.map = null | ||
| 147 | + } | ||
| 148 | + }, | ||
| 149 | + | ||
| 150 | + clearOverlays() { | ||
| 151 | + this.markers.forEach(m => m.setMap(null)) | ||
| 152 | + this.markers = [] | ||
| 153 | + this.texts.forEach(t => t.setMap(null)) | ||
| 154 | + this.texts = [] | ||
| 155 | + this.polylines.forEach(p => p.setMap(null)) | ||
| 156 | + this.polylines = [] | ||
| 210 | } | 157 | } |
| 211 | }, | 158 | }, |
| 212 | beforeDestroy() { | 159 | beforeDestroy() { |
| 213 | - // 组件销毁时清除地图实例 | ||
| 214 | - if (this.map) { | ||
| 215 | - this.map.destroy() | ||
| 216 | - this.map = null | ||
| 217 | - } | 160 | + this.clearAll() |
| 218 | } | 161 | } |
| 219 | } | 162 | } |
| 220 | </script> | 163 | </script> |
| @@ -224,4 +167,4 @@ export default { | @@ -224,4 +167,4 @@ export default { | ||
| 224 | width: 100%; | 167 | width: 100%; |
| 225 | height: 100%; | 168 | height: 100%; |
| 226 | } | 169 | } |
| 227 | -</style> | ||
| 228 | \ No newline at end of file | 170 | \ No newline at end of file |
| 171 | +</style> |
src/components/inspection/selectMapPos.vue
| 1 | -<template> | 1 | +<template> |
| 2 | <div class="select-map-pos-container"> | 2 | <div class="select-map-pos-container"> |
| 3 | - <div id="selectMap" style="width: 100%; height: 100%;"></div> | 3 | + <div id="selectMap" class="map-view"></div> |
| 4 | + <div class="map-hint">点击地图选择位置,经纬度将自动填充</div> | ||
| 4 | </div> | 5 | </div> |
| 5 | </template> | 6 | </template> |
| 6 | 7 | ||
| @@ -24,118 +25,97 @@ export default { | @@ -24,118 +25,97 @@ export default { | ||
| 24 | return { | 25 | return { |
| 25 | map: null, | 26 | map: null, |
| 26 | marker: null, | 27 | marker: null, |
| 27 | - communityId: '', | ||
| 28 | - mapData: { | ||
| 29 | - lat: 0, | ||
| 30 | - lng: 0 | ||
| 31 | - } | 28 | + communityId: '' |
| 32 | } | 29 | } |
| 33 | }, | 30 | }, |
| 34 | mounted() { | 31 | mounted() { |
| 35 | this.communityId = getCommunityId() | 32 | this.communityId = getCommunityId() |
| 36 | - | ||
| 37 | }, | 33 | }, |
| 38 | methods: { | 34 | methods: { |
| 39 | initMap(_data) { | 35 | initMap(_data) { |
| 40 | - // 清除现有地图 | ||
| 41 | - let _lng = 116.397128; | ||
| 42 | - let _lat = 39.916527; | 36 | + let _lng = 116.397128 |
| 37 | + let _lat = 39.916527 | ||
| 43 | 38 | ||
| 44 | - if (_data.lng) { | ||
| 45 | - _lng = _data.lng; | ||
| 46 | - } | 39 | + if (_data.lng) _lng = _data.lng |
| 40 | + if (_data.lat) _lat = _data.lat | ||
| 47 | 41 | ||
| 48 | - if (_data.lat) { | ||
| 49 | - _lat = _data.lat; | ||
| 50 | - } | ||
| 51 | - try { | ||
| 52 | - if (this.map) { | ||
| 53 | - this.map.destroy(); | ||
| 54 | - } | ||
| 55 | - } catch (e) { | ||
| 56 | - console.log(e) | 42 | + if (this.map) { |
| 43 | + this.map.destroy() | ||
| 44 | + this.map = null | ||
| 57 | } | 45 | } |
| 46 | + this.marker = null | ||
| 47 | + | ||
| 48 | + const map = new window.AMap.Map('selectMap', { | ||
| 49 | + center: [_lng, _lat], | ||
| 50 | + zoom: 13, | ||
| 51 | + resizeEnable: true | ||
| 52 | + }) | ||
| 53 | + | ||
| 54 | + const _this = this | ||
| 55 | + | ||
| 56 | + map.on('click', function (ev) { | ||
| 57 | + const lng = ev.lnglat.getLng() | ||
| 58 | + const lat = ev.lnglat.getLat() | ||
| 58 | 59 | ||
| 60 | + _this.$emit('position-change', { lat, lng }) | ||
| 59 | 61 | ||
| 60 | - let addMap = new window.TMap.Map('selectMap', { | ||
| 61 | - center: new window.TMap.LatLng(_lat, _lng), | ||
| 62 | - zoom: 13 | ||
| 63 | - }); | ||
| 64 | - // $that.addMapInfo.addMap = addMap; | ||
| 65 | - let marker; | ||
| 66 | - //添加监听事件 获取鼠标点击事件 | ||
| 67 | - let _this = this | ||
| 68 | - addMap.on('click', function (event) { | ||
| 69 | - console.log(event) | ||
| 70 | - if (!marker) { | ||
| 71 | - marker = new window.TMap.MultiMarker({ | ||
| 72 | - styleId: "marker", | ||
| 73 | - position: event.latLng, | ||
| 74 | - map: addMap, | ||
| 75 | - id: "1", | ||
| 76 | - }); | 62 | + if (!_this.marker) { |
| 63 | + _this.marker = new window.AMap.Marker({ | ||
| 64 | + position: [lng, lat], | ||
| 65 | + map: map, | ||
| 66 | + icon: new window.AMap.Icon({ | ||
| 67 | + size: new window.AMap.Size(25, 35), | ||
| 68 | + imageSize: new window.AMap.Size(25, 35), | ||
| 69 | + image: '/img/maper.png' | ||
| 70 | + }) | ||
| 71 | + }) | ||
| 72 | + } else { | ||
| 73 | + _this.marker.setPosition([lng, lat]) | ||
| 77 | } | 74 | } |
| 78 | - console.log(event) | ||
| 79 | - //marker.setPosition(event.latLng); | ||
| 80 | - _this.$emit('position-change', { | ||
| 81 | - lat: event.latLng.lat, | ||
| 82 | - lng: event.latLng.lng | ||
| 83 | - }) | 75 | + }) |
| 84 | 76 | ||
| 85 | - marker.updateGeometries([ | ||
| 86 | - { | ||
| 87 | - "styleId": "marker", | ||
| 88 | - "id": "1", | ||
| 89 | - "position": event.latLng, | ||
| 90 | - } | ||
| 91 | - ]) | ||
| 92 | - }); | ||
| 93 | - //为地图注册click事件获取鼠标点击出的经纬度坐标 | ||
| 94 | - | ||
| 95 | - this.map = addMap; | 77 | + this.map = map |
| 78 | + | ||
| 79 | + // 如果传入了已有坐标,在地图上显示标记 | ||
| 80 | + if (_data.lng && _data.lat) { | ||
| 81 | + this.marker = new window.AMap.Marker({ | ||
| 82 | + map: this.map, | ||
| 83 | + position: [_lng, _lat], | ||
| 84 | + icon: new window.AMap.Icon({ | ||
| 85 | + size: new window.AMap.Size(25, 35), | ||
| 86 | + imageSize: new window.AMap.Size(25, 35), | ||
| 87 | + image: '/img/maper.png' | ||
| 88 | + }) | ||
| 89 | + }) | ||
| 90 | + } | ||
| 96 | }, | 91 | }, |
| 97 | 92 | ||
| 98 | - | ||
| 99 | addMarker(position) { | 93 | addMarker(position) { |
| 100 | - // 清除现有标记 | ||
| 101 | if (this.marker) { | 94 | if (this.marker) { |
| 102 | this.marker.setMap(null) | 95 | this.marker.setMap(null) |
| 96 | + this.marker = null | ||
| 103 | } | 97 | } |
| 104 | 98 | ||
| 105 | - // 创建新标记 | ||
| 106 | - let TMap = window.TMap | ||
| 107 | - | ||
| 108 | - this.marker = new TMap.MultiMarker({ | 99 | + this.marker = new window.AMap.Marker({ |
| 109 | map: this.map, | 100 | map: this.map, |
| 110 | - styles: { | ||
| 111 | - "marker": new TMap.MarkerStyle({ | ||
| 112 | - width: 25, | ||
| 113 | - height: 35, | ||
| 114 | - src: '/img/maper.png', | ||
| 115 | - anchor: { x: 32, y: 32 } | ||
| 116 | - }) | ||
| 117 | - }, | ||
| 118 | - geometries: [{ | ||
| 119 | - id: '1', | ||
| 120 | - styleId: 'marker', | ||
| 121 | - position: position | ||
| 122 | - }] | 101 | + position: position, |
| 102 | + icon: new window.AMap.Icon({ | ||
| 103 | + size: new window.AMap.Size(25, 35), | ||
| 104 | + imageSize: new window.AMap.Size(25, 35), | ||
| 105 | + image: '/img/maper.png' | ||
| 106 | + }) | ||
| 123 | }) | 107 | }) |
| 124 | 108 | ||
| 125 | - // 移动地图中心到标记位置 | ||
| 126 | this.map.setCenter(position) | 109 | this.map.setCenter(position) |
| 127 | this.map.setZoom(16) | 110 | this.map.setZoom(16) |
| 128 | }, | 111 | }, |
| 129 | 112 | ||
| 130 | updatePosition(lat, lng) { | 113 | updatePosition(lat, lng) { |
| 131 | if (!this.map) return | 114 | if (!this.map) return |
| 132 | - | ||
| 133 | - const position = new window.TMap.LatLng(lat, lng) | ||
| 134 | - this.addMarker(position) | 115 | + this.addMarker([lng, lat]) |
| 135 | } | 116 | } |
| 136 | }, | 117 | }, |
| 137 | beforeDestroy() { | 118 | beforeDestroy() { |
| 138 | - // 组件销毁时清除地图实例 | ||
| 139 | if (this.map) { | 119 | if (this.map) { |
| 140 | this.map.destroy() | 120 | this.map.destroy() |
| 141 | this.map = null | 121 | this.map = null |
| @@ -147,6 +127,16 @@ export default { | @@ -147,6 +127,16 @@ export default { | ||
| 147 | <style scoped> | 127 | <style scoped> |
| 148 | .select-map-pos-container { | 128 | .select-map-pos-container { |
| 149 | width: 100%; | 129 | width: 100%; |
| 150 | - height: 100%; | ||
| 151 | } | 130 | } |
| 152 | -</style> | ||
| 153 | \ No newline at end of file | 131 | \ No newline at end of file |
| 132 | +.map-view { | ||
| 133 | + width: 100%; | ||
| 134 | + height: 400px; | ||
| 135 | + border: 1px solid #dcdfe6; | ||
| 136 | + border-radius: 4px; | ||
| 137 | +} | ||
| 138 | +.map-hint { | ||
| 139 | + font-size: 12px; | ||
| 140 | + color: #909399; | ||
| 141 | + margin-top: 6px; | ||
| 142 | +} | ||
| 143 | +</style> |
src/components/store/InitData.vue
| @@ -68,22 +68,22 @@ export default { | @@ -68,22 +68,22 @@ export default { | ||
| 68 | try { | 68 | try { |
| 69 | // 保存token | 69 | // 保存token |
| 70 | this.$store.dispatch('user/setToken', user.token) | 70 | this.$store.dispatch('user/setToken', user.token) |
| 71 | - | 71 | + |
| 72 | // 验证是否有店铺 | 72 | // 验证是否有店铺 |
| 73 | await queryStoreByUser({ _uId: 'ccdd00opikookjuhyyttvhnnjuuu' }) | 73 | await queryStoreByUser({ _uId: 'ccdd00opikookjuhyyttvhnnjuuu' }) |
| 74 | - | 74 | + |
| 75 | // 加载权限 | 75 | // 加载权限 |
| 76 | - const { datas } = await queryUserPrivilege({ a: 'HC' }) | 76 | + const { datas } = await queryUserPrivilege({ a: '西荣物业' }) |
| 77 | const privileges = datas.map(item => item.pId) | 77 | const privileges = datas.map(item => item.pId) |
| 78 | this.$store.dispatch('user/setPrivileges', privileges) | 78 | this.$store.dispatch('user/setPrivileges', privileges) |
| 79 | - | 79 | + |
| 80 | // 加载小区信息 | 80 | // 加载小区信息 |
| 81 | const { communitys } = await listMyEnteredCommunitys({ | 81 | const { communitys } = await listMyEnteredCommunitys({ |
| 82 | _uId: 'ccdd00opikookjuhyyttvhnnjuuu', | 82 | _uId: 'ccdd00opikookjuhyyttvhnnjuuu', |
| 83 | page: 1, | 83 | page: 1, |
| 84 | row: 3 | 84 | row: 3 |
| 85 | }) | 85 | }) |
| 86 | - | 86 | + |
| 87 | if (communitys && communitys.length > 0) { | 87 | if (communitys && communitys.length > 0) { |
| 88 | this.$store.dispatch('community/setCurrentCommunity', communitys[0]) | 88 | this.$store.dispatch('community/setCurrentCommunity', communitys[0]) |
| 89 | this.$store.dispatch('community/setCommunitys', communitys) | 89 | this.$store.dispatch('community/setCommunitys', communitys) |
| @@ -100,4 +100,4 @@ export default { | @@ -100,4 +100,4 @@ export default { | ||
| 100 | this.initData() | 100 | this.initData() |
| 101 | } | 101 | } |
| 102 | } | 102 | } |
| 103 | -</script> | ||
| 104 | \ No newline at end of file | 103 | \ No newline at end of file |
| 104 | +</script> |
src/components/system/ViewMap.vue
| 1 | -<template> | 1 | +<template> |
| 2 | <el-dialog | 2 | <el-dialog |
| 3 | :title="$t('common.map')" | 3 | :title="$t('common.map')" |
| 4 | :visible.sync="viewMapInfo.showMap" | 4 | :visible.sync="viewMapInfo.showMap" |
| @@ -8,7 +8,7 @@ | @@ -8,7 +8,7 @@ | ||
| 8 | :close-on-press-escape="true" | 8 | :close-on-press-escape="true" |
| 9 | > | 9 | > |
| 10 | <div class="map-container"> | 10 | <div class="map-container"> |
| 11 | - <div id="qqmapcontainer" style="width: 100%; height: 500px; background-color: antiquewhite;"></div> | 11 | + <div id="qqmapcontainer" style="width: 100%; height: 500px;"></div> |
| 12 | </div> | 12 | </div> |
| 13 | </el-dialog> | 13 | </el-dialog> |
| 14 | </template> | 14 | </template> |
| @@ -42,30 +42,23 @@ export default { | @@ -42,30 +42,23 @@ export default { | ||
| 42 | this.$nextTick(() => this.initMap()) | 42 | this.$nextTick(() => this.initMap()) |
| 43 | }, | 43 | }, |
| 44 | initMap() { | 44 | initMap() { |
| 45 | - const center = new window.TMap.LatLng(this.viewMapInfo.lat, this.viewMapInfo.lng) | ||
| 46 | const container = document.getElementById('qqmapcontainer') | 45 | const container = document.getElementById('qqmapcontainer') |
| 47 | - this.viewMapInfo.map = new window.TMap.Map(container, { | ||
| 48 | - center, | 46 | + if (!container) return |
| 47 | + | ||
| 48 | + this.viewMapInfo.map = new window.AMap.Map(container, { | ||
| 49 | + center: [this.viewMapInfo.lng, this.viewMapInfo.lat], | ||
| 49 | zoom: 17.2, | 50 | zoom: 17.2, |
| 50 | - viewMode: '2D' | 51 | + resizeEnable: true |
| 51 | }) | 52 | }) |
| 52 | - new window.TMap.MultiMarker({ | ||
| 53 | - id: 'marker-layer', | 53 | + |
| 54 | + new window.AMap.Marker({ | ||
| 55 | + position: [this.viewMapInfo.lng, this.viewMapInfo.lat], | ||
| 54 | map: this.viewMapInfo.map, | 56 | map: this.viewMapInfo.map, |
| 55 | - styles: { | ||
| 56 | - marker: new window.TMap.MarkerStyle({ | ||
| 57 | - width: 25, | ||
| 58 | - height: 35, | ||
| 59 | - anchor: { x: 16, y: 32 }, | ||
| 60 | - src: 'https://mapapi.qq.com/web/lbs/javascriptGL/demo/img/markerDefault.png' | ||
| 61 | - }) | ||
| 62 | - }, | ||
| 63 | - geometries: [{ | ||
| 64 | - id: 'demo', | ||
| 65 | - styleId: 'marker', | ||
| 66 | - position: new window.TMap.LatLng(this.viewMapInfo.lat, this.viewMapInfo.lng), | ||
| 67 | - properties: { title: 'marker' } | ||
| 68 | - }] | 57 | + icon: new window.AMap.Icon({ |
| 58 | + size: new window.AMap.Size(25, 35), | ||
| 59 | + imageSize: new window.AMap.Size(25, 35), | ||
| 60 | + image: 'https://webapi.amap.com/theme/v1.3/markers/n/mark_r.png' | ||
| 61 | + }) | ||
| 69 | }) | 62 | }) |
| 70 | }, | 63 | }, |
| 71 | closeMap() { | 64 | closeMap() { |
| @@ -76,7 +69,6 @@ export default { | @@ -76,7 +69,6 @@ export default { | ||
| 76 | } | 69 | } |
| 77 | }, | 70 | }, |
| 78 | wgs84togcj02(lng, lat) { | 71 | wgs84togcj02(lng, lat) { |
| 79 | - // Placeholder for coordinate conversion | ||
| 80 | return { lon: lng, lat } | 72 | return { lon: lng, lat } |
| 81 | } | 73 | } |
| 82 | } | 74 | } |
| @@ -88,4 +80,4 @@ export default { | @@ -88,4 +80,4 @@ export default { | ||
| 88 | width: 100%; | 80 | width: 100%; |
| 89 | height: 500px; | 81 | height: 500px; |
| 90 | } | 82 | } |
| 91 | -</style> | ||
| 92 | \ No newline at end of file | 83 | \ No newline at end of file |
| 84 | +</style> |
src/router/index.js
| @@ -17,6 +17,7 @@ import systemRouter from './systemRouter' | @@ -17,6 +17,7 @@ import systemRouter from './systemRouter' | ||
| 17 | import communityRouter from './communityRouter' | 17 | import communityRouter from './communityRouter' |
| 18 | import workRouter from './workRouter' | 18 | import workRouter from './workRouter' |
| 19 | import feeRouter from './feeRouter' | 19 | import feeRouter from './feeRouter' |
| 20 | +import propertyRouter from './propertyRouter' | ||
| 20 | 21 | ||
| 21 | Vue.use(VueRouter) | 22 | Vue.use(VueRouter) |
| 22 | 23 | ||
| @@ -724,6 +725,7 @@ const routes = [ | @@ -724,6 +725,7 @@ const routes = [ | ||
| 724 | ...communityRouter, | 725 | ...communityRouter, |
| 725 | ...workRouter, | 726 | ...workRouter, |
| 726 | ...feeRouter, | 727 | ...feeRouter, |
| 728 | + ...propertyRouter, | ||
| 727 | // 其他子路由可以在这里添加 | 729 | // 其他子路由可以在这里添加 |
| 728 | ] | 730 | ] |
| 729 | }, | 731 | }, |
src/views/layout/layout.vue
| @@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
| 3 | <!-- 顶部导航 --> | 3 | <!-- 顶部导航 --> |
| 4 | <el-header height="60px" class="app-header"> | 4 | <el-header height="60px" class="app-header"> |
| 5 | <div class="header-left"> | 5 | <div class="header-left"> |
| 6 | - <div class="logo" @click="_toIndex">{{ systemInfo.systemSimpleTitle }}</div> | 6 | + <div @click="_toIndex">{{ systemInfo.systemSimpleTitle }}</div> |
| 7 | <el-menu mode="horizontal" :default-active="activeMenu" class="header-menu" background-color="#1e2132" | 7 | <el-menu mode="horizontal" :default-active="activeMenu" class="header-menu" background-color="#1e2132" |
| 8 | text-color="#fff" active-text-color="#409EFF"> | 8 | text-color="#fff" active-text-color="#409EFF"> |
| 9 | <template v-for="(item, index) in catalogs"> | 9 | <template v-for="(item, index) in catalogs"> |
| @@ -685,4 +685,4 @@ export default { | @@ -685,4 +685,4 @@ export default { | ||
| 685 | bottom: 0; | 685 | bottom: 0; |
| 686 | width: 100px; | 686 | width: 100px; |
| 687 | } | 687 | } |
| 688 | -</style> | ||
| 689 | \ No newline at end of file | 688 | \ No newline at end of file |
| 689 | +</style> |
src/views/user/login/Login.vue
| 1 | -<template> | ||
| 2 | - <div class="login-container"> | ||
| 3 | - <div class="login-card"> | ||
| 4 | - <div class="login-title" v-if="logo"> | ||
| 5 | - <img :src="logo" alt="logo"> | ||
| 6 | - </div> | ||
| 7 | - <el-form :model="loginForm" :rules="rules" ref="loginForm"> | ||
| 8 | - <el-form-item prop="username"> | ||
| 9 | - <el-input v-model="loginForm.username" :placeholder="$t('login.usernamePlaceholder')"></el-input> | ||
| 10 | - </el-form-item> | ||
| 11 | - <el-form-item prop="passwd"> | ||
| 12 | - <el-input v-model="loginForm.passwd" type="password" :placeholder="$t('login.passwordPlaceholder')"></el-input> | ||
| 13 | - </el-form-item> | ||
| 14 | - <el-form-item prop="validateCode" class="captcha-item"> | ||
| 15 | - <div class="captcha-container"> | ||
| 16 | - <el-input v-model="loginForm.validateCode" :placeholder="$t('login.captchaPlaceholder')"></el-input> | ||
| 17 | - <img :src="captchaUrl" @click="refreshCaptcha" class="captcha-img" alt="验证码"> | 1 | +<template> |
| 2 | + <div class="login-wrapper"> | ||
| 3 | + <!-- 左侧品牌面板 --> | ||
| 4 | + <div class="login-brand"> | ||
| 5 | + <div class="brand-overlay"></div> | ||
| 6 | + <div class="brand-content"> | ||
| 7 | + <h1 class="brand-title">西荣物业</h1> | ||
| 8 | + <p class="brand-subtitle">智慧社区管理平台</p> | ||
| 9 | + <div class="brand-features"> | ||
| 10 | + <div class="feature-item"> | ||
| 11 | + <i class="el-icon-s-home"></i> | ||
| 12 | + <span>智能物业管理</span> | ||
| 13 | + </div> | ||
| 14 | + <div class="feature-item"> | ||
| 15 | + <i class="el-icon-s-data"></i> | ||
| 16 | + <span>数据驱动决策</span> | ||
| 18 | </div> | 17 | </div> |
| 19 | - </el-form-item> | ||
| 20 | - <el-form-item> | ||
| 21 | - <el-button type="primary" @click="submitForm('loginForm')" :loading="loading">{{ $t('login.login') | ||
| 22 | - }}</el-button> | ||
| 23 | - </el-form-item> | ||
| 24 | - </el-form> | ||
| 25 | - <!-- Add a white line and copyright info below the form --> | ||
| 26 | - <div class="divider"></div> | ||
| 27 | - <div class="copyright">©2020-2026 <span v-html="companyName"></span></div> | 18 | + <div class="feature-item"> |
| 19 | + <i class="el-icon-s-custom"></i> | ||
| 20 | + <span>高效社区服务</span> | ||
| 21 | + </div> | ||
| 22 | + </div> | ||
| 23 | + </div> | ||
| 24 | + <div class="brand-footer">©2020-2026 <span v-html="companyName"></span></div> | ||
| 28 | </div> | 25 | </div> |
| 29 | - <select-login-user ref="selectLoginUserRef" @select="handleSelect"></select-login-user> | 26 | + |
| 27 | + <!-- 右侧登录面板 --> | ||
| 28 | + <div class="login-form-panel"> | ||
| 29 | + <div class="form-card"> | ||
| 30 | + <h2 class="form-title">欢迎登录</h2> | ||
| 31 | + <p class="form-desc">请输入您的账号信息</p> | ||
| 32 | + | ||
| 33 | + <el-form | ||
| 34 | + :model="loginForm" | ||
| 35 | + :rules="rules" | ||
| 36 | + ref="loginForm" | ||
| 37 | + class="login-form" | ||
| 38 | + @submit.native.prevent | ||
| 39 | + > | ||
| 40 | + <el-form-item prop="username"> | ||
| 41 | + <el-input | ||
| 42 | + v-model="loginForm.username" | ||
| 43 | + :placeholder="$t('login.usernamePlaceholder')" | ||
| 44 | + prefix-icon="el-icon-user" | ||
| 45 | + size="medium" | ||
| 46 | + /> | ||
| 47 | + </el-form-item> | ||
| 48 | + | ||
| 49 | + <el-form-item prop="passwd"> | ||
| 50 | + <el-input | ||
| 51 | + v-model="loginForm.passwd" | ||
| 52 | + type="password" | ||
| 53 | + :placeholder="$t('login.passwordPlaceholder')" | ||
| 54 | + prefix-icon="el-icon-lock" | ||
| 55 | + size="medium" | ||
| 56 | + @keyup.enter.native="submitForm('loginForm')" | ||
| 57 | + /> | ||
| 58 | + </el-form-item> | ||
| 59 | + | ||
| 60 | + <el-form-item prop="validateCode"> | ||
| 61 | + <div class="captcha-row"> | ||
| 62 | + <el-input | ||
| 63 | + v-model="loginForm.validateCode" | ||
| 64 | + :placeholder="$t('login.captchaPlaceholder')" | ||
| 65 | + prefix-icon="el-icon-picture-outline" | ||
| 66 | + size="medium" | ||
| 67 | + class="captcha-input" | ||
| 68 | + @keyup.enter.native="submitForm('loginForm')" | ||
| 69 | + /> | ||
| 70 | + <img | ||
| 71 | + :src="captchaUrl" | ||
| 72 | + @click="refreshCaptcha" | ||
| 73 | + class="captcha-img" | ||
| 74 | + title="点击刷新验证码" | ||
| 75 | + alt="验证码" | ||
| 76 | + /> | ||
| 77 | + </div> | ||
| 78 | + </el-form-item> | ||
| 79 | + | ||
| 80 | + <el-form-item> | ||
| 81 | + <el-button | ||
| 82 | + type="primary" | ||
| 83 | + @click="submitForm('loginForm')" | ||
| 84 | + :loading="loading" | ||
| 85 | + class="login-btn" | ||
| 86 | + size="medium" | ||
| 87 | + > | ||
| 88 | + {{ loading ? '登录中...' : $t('login.login') }} | ||
| 89 | + </el-button> | ||
| 90 | + </el-form-item> | ||
| 91 | + </el-form> | ||
| 92 | + </div> | ||
| 93 | + </div> | ||
| 94 | + | ||
| 95 | + <select-login-user ref="selectLoginUserRef" @select="handleSelect" /> | ||
| 30 | </div> | 96 | </div> |
| 31 | </template> | 97 | </template> |
| 32 | 98 | ||
| 33 | <script> | 99 | <script> |
| 34 | import { login, getCaptcha, _loadStaffPrivileges } from '@/api/user/loginApi'; | 100 | import { login, getCaptcha, _loadStaffPrivileges } from '@/api/user/loginApi'; |
| 35 | import { _loadCommunityInfo } from '@/api/community/communityApi'; | 101 | import { _loadCommunityInfo } from '@/api/community/communityApi'; |
| 36 | -import {listSystemInfo} from '@/api/system/systemInfoManageApi' | 102 | +import { listSystemInfo } from '@/api/system/systemInfoManageApi'; |
| 37 | import selectLoginUser from '@/components/user/selectLoginUser.vue'; | 103 | import selectLoginUser from '@/components/user/selectLoginUser.vue'; |
| 38 | 104 | ||
| 39 | - | ||
| 40 | export default { | 105 | export default { |
| 41 | name: 'Login', | 106 | name: 'Login', |
| 107 | + components: { selectLoginUser }, | ||
| 42 | data() { | 108 | data() { |
| 43 | return { | 109 | return { |
| 44 | - logo: '', | ||
| 45 | - companyName:'', | 110 | + companyName: '', |
| 46 | loginForm: { | 111 | loginForm: { |
| 47 | username: '', | 112 | username: '', |
| 48 | passwd: '', | 113 | passwd: '', |
| @@ -65,58 +130,54 @@ export default { | @@ -65,58 +130,54 @@ export default { | ||
| 65 | }, | 130 | }, |
| 66 | created() { | 131 | created() { |
| 67 | localStorage.clear(); | 132 | localStorage.clear(); |
| 68 | - this.getSystemInfo() | 133 | + this.getSystemInfo(); |
| 69 | setTimeout(() => { | 134 | setTimeout(() => { |
| 70 | this.refreshCaptcha(); | 135 | this.refreshCaptcha(); |
| 71 | }, 1000); | 136 | }, 1000); |
| 72 | - | ||
| 73 | - }, | ||
| 74 | - components: { | ||
| 75 | - selectLoginUser | ||
| 76 | }, | 137 | }, |
| 77 | methods: { | 138 | methods: { |
| 78 | async getSystemInfo() { | 139 | async getSystemInfo() { |
| 79 | - const { data } = await listSystemInfo({ page: 1, row: 1 }); | ||
| 80 | - this.logo = data[0].logoUrl | ||
| 81 | - this.companyName = data[0].companyName | 140 | + try { |
| 141 | + const { data } = await listSystemInfo({ page: 1, row: 1 }); | ||
| 142 | + this.companyName = data[0].companyName; | ||
| 143 | + } catch (e) { | ||
| 144 | + console.error('获取系统信息失败', e); | ||
| 145 | + } | ||
| 82 | }, | 146 | }, |
| 83 | async submitForm(formName) { | 147 | async submitForm(formName) { |
| 84 | this.$refs[formName].validate(async (valid) => { | 148 | this.$refs[formName].validate(async (valid) => { |
| 85 | - if (valid) { | ||
| 86 | - this.loading = true; | ||
| 87 | - try { | ||
| 88 | - const { data } = await login(this.loginForm).catch(error => { | ||
| 89 | - this.$message.error(error); | ||
| 90 | - this.refreshCaptcha(); | ||
| 91 | - return { data: [] }; | ||
| 92 | - }); | ||
| 93 | - if (!data || data.length == 0) { | ||
| 94 | - return; | ||
| 95 | - } | ||
| 96 | - | ||
| 97 | - if (data && data.length > 1) { | ||
| 98 | - this.$refs.selectLoginUserRef.openDialog(data); | ||
| 99 | - return; | ||
| 100 | - } | ||
| 101 | - this.handleSelect(data[0]); | ||
| 102 | - } catch (error) { | ||
| 103 | - console.error('登录失败:', error); | 149 | + if (!valid) return false; |
| 150 | + this.loading = true; | ||
| 151 | + try { | ||
| 152 | + const { data } = await login(this.loginForm).catch((error) => { | ||
| 153 | + this.$message.error(error); | ||
| 104 | this.refreshCaptcha(); | 154 | this.refreshCaptcha(); |
| 105 | - } finally { | 155 | + return { data: [] }; |
| 156 | + }); | ||
| 157 | + if (!data || data.length === 0) { | ||
| 106 | this.loading = false; | 158 | this.loading = false; |
| 159 | + return; | ||
| 107 | } | 160 | } |
| 108 | - } else { | ||
| 109 | - return false; | 161 | + if (data.length > 1) { |
| 162 | + this.$refs.selectLoginUserRef.openDialog(data); | ||
| 163 | + this.loading = false; | ||
| 164 | + return; | ||
| 165 | + } | ||
| 166 | + this.handleSelect(data[0]); | ||
| 167 | + } catch (error) { | ||
| 168 | + console.error('登录失败:', error); | ||
| 169 | + this.refreshCaptcha(); | ||
| 170 | + this.loading = false; | ||
| 110 | } | 171 | } |
| 111 | }); | 172 | }); |
| 112 | }, | 173 | }, |
| 113 | async handleSelect(_userData) { | 174 | async handleSelect(_userData) { |
| 114 | localStorage.setItem('token', _userData.token); | 175 | localStorage.setItem('token', _userData.token); |
| 115 | - let _user = { | 176 | + const _user = { |
| 116 | userId: _userData.userId, | 177 | userId: _userData.userId, |
| 117 | name: _userData.name, | 178 | name: _userData.name, |
| 118 | tel: _userData.tel | 179 | tel: _userData.tel |
| 119 | - } | 180 | + }; |
| 120 | localStorage.setItem('user', JSON.stringify(_user)); | 181 | localStorage.setItem('user', JSON.stringify(_user)); |
| 121 | await _loadStaffPrivileges(); | 182 | await _loadStaffPrivileges(); |
| 122 | await _loadCommunityInfo(); | 183 | await _loadCommunityInfo(); |
| @@ -125,7 +186,6 @@ export default { | @@ -125,7 +186,6 @@ export default { | ||
| 125 | async refreshCaptcha() { | 186 | async refreshCaptcha() { |
| 126 | try { | 187 | try { |
| 127 | const res = await getCaptcha(); | 188 | const res = await getCaptcha(); |
| 128 | - console.log(res); | ||
| 129 | this.captchaUrl = res; | 189 | this.captchaUrl = res; |
| 130 | } catch (error) { | 190 | } catch (error) { |
| 131 | console.error('获取验证码失败:', error); | 191 | console.error('获取验证码失败:', error); |
| @@ -137,99 +197,279 @@ export default { | @@ -137,99 +197,279 @@ export default { | ||
| 137 | </script> | 197 | </script> |
| 138 | 198 | ||
| 139 | <style scoped> | 199 | <style scoped> |
| 140 | -.login-container { | 200 | +.login-wrapper { |
| 141 | display: flex; | 201 | display: flex; |
| 142 | - justify-content: center; | ||
| 143 | - align-items: center; | ||
| 144 | height: 100vh; | 202 | height: 100vh; |
| 145 | - background: url('/img/login-bg_x.png') no-repeat center center; | ||
| 146 | - background-size: cover; | 203 | + overflow: hidden; |
| 204 | + font-family: 'Helvetica Neue', 'PingFang SC', 'Microsoft YaHei', sans-serif; | ||
| 205 | +} | ||
| 206 | + | ||
| 207 | +/* ===== 左侧品牌面板 ===== */ | ||
| 208 | +.login-brand { | ||
| 209 | + width: 42%; | ||
| 147 | position: relative; | 210 | position: relative; |
| 211 | + background: linear-gradient(135deg, #0c2646 0%, #1a4a7a 40%, #1e6eb8 100%); | ||
| 212 | + display: flex; | ||
| 213 | + flex-direction: column; | ||
| 214 | + justify-content: center; | ||
| 215 | + align-items: center; | ||
| 148 | overflow: hidden; | 216 | overflow: hidden; |
| 149 | } | 217 | } |
| 150 | 218 | ||
| 151 | -.login-card { | ||
| 152 | - width: 300px; | ||
| 153 | - padding: 20px; | ||
| 154 | - background-color: rgba(0, 0, 0, 0.5); | ||
| 155 | - border-radius: 4px; | 219 | +.brand-overlay { |
| 156 | position: absolute; | 220 | position: absolute; |
| 157 | - left: 50%; | ||
| 158 | - top: 35%; | ||
| 159 | - margin: -150px 0 0 -150px; | ||
| 160 | - z-index: 99; | ||
| 161 | - text-align: center; | ||
| 162 | - padding: 30px; | ||
| 163 | - box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); | 221 | + inset: 0; |
| 222 | + background: | ||
| 223 | + radial-gradient(ellipse at 20% 50%, rgba(255, 255, 255, 0.06) 0%, transparent 60%), | ||
| 224 | + radial-gradient(ellipse at 80% 80%, rgba(30, 159, 255, 0.15) 0%, transparent 50%); | ||
| 164 | } | 225 | } |
| 165 | 226 | ||
| 166 | -.login-card .login-title { | 227 | +/* 装饰圆环 */ |
| 228 | +.login-brand::before { | ||
| 229 | + content: ''; | ||
| 230 | + position: absolute; | ||
| 231 | + width: 600px; | ||
| 232 | + height: 600px; | ||
| 233 | + border-radius: 50%; | ||
| 234 | + border: 1px solid rgba(255, 255, 255, 0.06); | ||
| 235 | + top: -200px; | ||
| 236 | + right: -200px; | ||
| 237 | +} | ||
| 238 | + | ||
| 239 | +.login-brand::after { | ||
| 240 | + content: ''; | ||
| 241 | + position: absolute; | ||
| 242 | + width: 400px; | ||
| 243 | + height: 400px; | ||
| 244 | + border-radius: 50%; | ||
| 245 | + border: 1px solid rgba(255, 255, 255, 0.04); | ||
| 246 | + bottom: -100px; | ||
| 247 | + left: -100px; | ||
| 248 | +} | ||
| 249 | + | ||
| 250 | +.brand-content { | ||
| 251 | + position: relative; | ||
| 252 | + z-index: 2; | ||
| 253 | + text-align: center; | ||
| 167 | color: #fff; | 254 | color: #fff; |
| 255 | + padding: 0 60px; | ||
| 256 | +} | ||
| 257 | + | ||
| 258 | +.brand-title { | ||
| 259 | + font-size: 42px; | ||
| 260 | + font-weight: 700; | ||
| 261 | + letter-spacing: 8px; | ||
| 262 | + margin: 0 0 12px 0; | ||
| 263 | + text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3); | ||
| 264 | +} | ||
| 265 | + | ||
| 266 | +.brand-subtitle { | ||
| 267 | + font-size: 16px; | ||
| 268 | + font-weight: 300; | ||
| 269 | + letter-spacing: 4px; | ||
| 270 | + opacity: 0.8; | ||
| 271 | + margin: 0 0 48px 0; | ||
| 272 | +} | ||
| 273 | + | ||
| 274 | +.brand-features { | ||
| 275 | + display: flex; | ||
| 276 | + flex-direction: column; | ||
| 277 | + gap: 20px; | ||
| 278 | + text-align: left; | ||
| 279 | +} | ||
| 280 | + | ||
| 281 | +.feature-item { | ||
| 282 | + display: flex; | ||
| 283 | + align-items: center; | ||
| 284 | + gap: 14px; | ||
| 285 | + font-size: 14px; | ||
| 286 | + font-weight: 300; | ||
| 287 | + opacity: 0.75; | ||
| 288 | + letter-spacing: 1px; | ||
| 289 | + transition: opacity 0.3s; | ||
| 290 | +} | ||
| 291 | + | ||
| 292 | +.feature-item:hover { | ||
| 293 | + opacity: 1; | ||
| 294 | +} | ||
| 295 | + | ||
| 296 | +.feature-item i { | ||
| 297 | + font-size: 20px; | ||
| 298 | + width: 36px; | ||
| 299 | + height: 36px; | ||
| 300 | + line-height: 36px; | ||
| 168 | text-align: center; | 301 | text-align: center; |
| 169 | - font-size: 48px; | 302 | + background: rgba(255, 255, 255, 0.1); |
| 303 | + border-radius: 8px; | ||
| 304 | + backdrop-filter: blur(4px); | ||
| 170 | } | 305 | } |
| 171 | 306 | ||
| 172 | -.el-form-item { | ||
| 173 | - margin-bottom: 20px; | 307 | +.brand-footer { |
| 308 | + position: absolute; | ||
| 309 | + bottom: 32px; | ||
| 310 | + z-index: 2; | ||
| 311 | + color: rgba(255, 255, 255, 0.45); | ||
| 312 | + font-size: 12px; | ||
| 313 | + letter-spacing: 1px; | ||
| 174 | } | 314 | } |
| 175 | 315 | ||
| 176 | -.el-input__inner { | 316 | +/* ===== 右侧登录面板 ===== */ |
| 317 | +.login-form-panel { | ||
| 318 | + flex: 1; | ||
| 319 | + display: flex; | ||
| 320 | + justify-content: center; | ||
| 321 | + align-items: center; | ||
| 322 | + background: #f5f7fa; | ||
| 323 | + position: relative; | ||
| 324 | +} | ||
| 325 | + | ||
| 326 | +/* 面板装饰 */ | ||
| 327 | +.login-form-panel::before { | ||
| 328 | + content: ''; | ||
| 329 | + position: absolute; | ||
| 330 | + top: 60px; | ||
| 331 | + right: 80px; | ||
| 332 | + width: 120px; | ||
| 333 | + height: 120px; | ||
| 334 | + background: linear-gradient(135deg, rgba(30, 110, 184, 0.04) 0%, rgba(30, 110, 184, 0.01) 100%); | ||
| 335 | + border-radius: 24px; | ||
| 336 | + transform: rotate(12deg); | ||
| 337 | +} | ||
| 338 | + | ||
| 339 | +.login-form-panel::after { | ||
| 340 | + content: ''; | ||
| 341 | + position: absolute; | ||
| 342 | + bottom: 80px; | ||
| 343 | + left: 60px; | ||
| 344 | + width: 80px; | ||
| 345 | + height: 80px; | ||
| 346 | + background: linear-gradient(135deg, rgba(30, 110, 184, 0.03) 0%, rgba(30, 110, 184, 0.01) 100%); | ||
| 347 | + border-radius: 16px; | ||
| 348 | + transform: rotate(-8deg); | ||
| 349 | +} | ||
| 350 | + | ||
| 351 | +.form-card { | ||
| 352 | + position: relative; | ||
| 353 | + z-index: 1; | ||
| 354 | + width: 400px; | ||
| 355 | + padding: 48px 44px 40px; | ||
| 177 | background: #fff; | 356 | background: #fff; |
| 178 | - border: none; | ||
| 179 | - border-radius: 5px; | ||
| 180 | - color: #333; | ||
| 181 | - height: 40px; | 357 | + border-radius: 16px; |
| 358 | + box-shadow: | ||
| 359 | + 0 4px 24px rgba(0, 0, 0, 0.04), | ||
| 360 | + 0 16px 48px rgba(0, 0, 0, 0.04); | ||
| 361 | +} | ||
| 362 | + | ||
| 363 | +.form-title { | ||
| 364 | + font-size: 26px; | ||
| 365 | + font-weight: 600; | ||
| 366 | + color: #1a1a2e; | ||
| 367 | + margin: 0 0 8px 0; | ||
| 368 | + letter-spacing: 1px; | ||
| 369 | +} | ||
| 370 | + | ||
| 371 | +.form-desc { | ||
| 372 | + font-size: 14px; | ||
| 373 | + color: #999; | ||
| 374 | + margin: 0 0 36px 0; | ||
| 375 | +} | ||
| 376 | + | ||
| 377 | +.login-form .el-form-item { | ||
| 378 | + margin-bottom: 22px; | ||
| 379 | +} | ||
| 380 | + | ||
| 381 | +.login-form >>> .el-input__inner { | ||
| 382 | + border: 1px solid #e4e7ed; | ||
| 383 | + border-radius: 8px; | ||
| 384 | + height: 44px; | ||
| 385 | + line-height: 44px; | ||
| 386 | + background: #fafbfc; | ||
| 387 | + transition: all 0.3s; | ||
| 388 | + font-size: 14px; | ||
| 389 | +} | ||
| 390 | + | ||
| 391 | +.login-form >>> .el-input__inner:focus, | ||
| 392 | +.login-form >>> .el-input__inner:hover { | ||
| 393 | + border-color: #1e6eb8; | ||
| 394 | + background: #fff; | ||
| 395 | + box-shadow: 0 0 0 3px rgba(30, 110, 184, 0.06); | ||
| 396 | +} | ||
| 397 | + | ||
| 398 | +.login-form >>> .el-input__prefix { | ||
| 399 | + color: #b0b8c4; | ||
| 400 | + line-height: 44px; | ||
| 182 | } | 401 | } |
| 183 | 402 | ||
| 184 | -.captcha-container { | 403 | +.login-form >>> .el-input--prefix .el-input__inner { |
| 404 | + padding-left: 38px; | ||
| 405 | +} | ||
| 406 | + | ||
| 407 | +.captcha-row { | ||
| 185 | display: flex; | 408 | display: flex; |
| 409 | + gap: 12px; | ||
| 186 | align-items: center; | 410 | align-items: center; |
| 187 | - gap: 10px; | ||
| 188 | } | 411 | } |
| 189 | 412 | ||
| 190 | -.captcha-item .el-input { | ||
| 191 | - width: 70%; | ||
| 192 | - height: 38px; | ||
| 193 | - line-height: 1.3; | ||
| 194 | - border-width: 1px; | ||
| 195 | - border-style: solid; | ||
| 196 | - background-color: #fff; | ||
| 197 | - border-radius: 2px; | 413 | +.captcha-input { |
| 414 | + flex: 1; | ||
| 198 | } | 415 | } |
| 199 | 416 | ||
| 200 | .captcha-img { | 417 | .captcha-img { |
| 201 | - height: 40px; | 418 | + height: 44px; |
| 419 | + width: 120px; | ||
| 420 | + border-radius: 8px; | ||
| 202 | cursor: pointer; | 421 | cursor: pointer; |
| 203 | - border-radius: 5px; | 422 | + border: 1px solid #e4e7ed; |
| 423 | + transition: all 0.3s; | ||
| 424 | + object-fit: cover; | ||
| 425 | +} | ||
| 426 | + | ||
| 427 | +.captcha-img:hover { | ||
| 428 | + border-color: #1e6eb8; | ||
| 429 | + box-shadow: 0 0 0 3px rgba(30, 110, 184, 0.08); | ||
| 204 | } | 430 | } |
| 205 | 431 | ||
| 206 | -.el-button--primary { | 432 | +.login-btn { |
| 207 | width: 100%; | 433 | width: 100%; |
| 208 | - background: #1E9FFF; | 434 | + height: 46px; |
| 435 | + border-radius: 8px; | ||
| 436 | + font-size: 16px; | ||
| 437 | + letter-spacing: 4px; | ||
| 209 | border: none; | 438 | border: none; |
| 210 | - border-radius: 100px; | ||
| 211 | - font-size: 14px; | ||
| 212 | - height: 38px; | 439 | + background: linear-gradient(135deg, #1e6eb8 0%, #155d9e 100%); |
| 440 | + transition: all 0.3s; | ||
| 441 | + margin-top: 4px; | ||
| 213 | } | 442 | } |
| 214 | 443 | ||
| 215 | -.el-button--primary:hover { | ||
| 216 | - opacity: 0.8; | ||
| 217 | - color: #fff; | 444 | +.login-btn:hover { |
| 445 | + background: linear-gradient(135deg, #2580cc 0%, #1a6aaf 100%); | ||
| 446 | + box-shadow: 0 6px 20px rgba(30, 110, 184, 0.35); | ||
| 447 | + transform: translateY(-1px); | ||
| 218 | } | 448 | } |
| 219 | 449 | ||
| 220 | -/* Style for the white line */ | ||
| 221 | -.divider { | ||
| 222 | - width: 100%; | ||
| 223 | - height: 1px; | ||
| 224 | - background-color: #fff; | ||
| 225 | - margin: 10px 0; | 450 | +.login-btn:active { |
| 451 | + transform: translateY(0); | ||
| 226 | } | 452 | } |
| 227 | 453 | ||
| 228 | -/* Style for the copyright text */ | ||
| 229 | -.copyright { | ||
| 230 | - color: #fff; | ||
| 231 | - font-size: 14px; | ||
| 232 | - text-align: center; | ||
| 233 | - margin-top: 10px; | 454 | +.login-btn.is-loading { |
| 455 | + background: linear-gradient(135deg, #1e6eb8 0%, #155d9e 100%); | ||
| 456 | +} | ||
| 457 | + | ||
| 458 | +/* ===== 响应式 ===== */ | ||
| 459 | +@media (max-width: 768px) { | ||
| 460 | + .login-brand { | ||
| 461 | + display: none; | ||
| 462 | + } | ||
| 463 | + | ||
| 464 | + .form-card { | ||
| 465 | + width: 90%; | ||
| 466 | + max-width: 400px; | ||
| 467 | + padding: 36px 28px 30px; | ||
| 468 | + } | ||
| 469 | + | ||
| 470 | + .login-form-panel::before, | ||
| 471 | + .login-form-panel::after { | ||
| 472 | + display: none; | ||
| 473 | + } | ||
| 234 | } | 474 | } |
| 235 | -</style> | ||
| 236 | \ No newline at end of file | 475 | \ No newline at end of file |
| 476 | +</style> |
src/views/user/login/LoginLang.js
| @@ -5,7 +5,7 @@ export const messages = { | @@ -5,7 +5,7 @@ export const messages = { | ||
| 5 | en: { | 5 | en: { |
| 6 | ...enLocale, | 6 | ...enLocale, |
| 7 | login: { | 7 | login: { |
| 8 | - title: 'HC Smart Community', | 8 | + title: '西荣物业 Smart Community', |
| 9 | username: 'Username', | 9 | username: 'Username', |
| 10 | password: 'Password', | 10 | password: 'Password', |
| 11 | captcha: 'Verification Code', | 11 | captcha: 'Verification Code', |
| @@ -23,7 +23,7 @@ export const messages = { | @@ -23,7 +23,7 @@ export const messages = { | ||
| 23 | zh: { | 23 | zh: { |
| 24 | ...zhLocale, | 24 | ...zhLocale, |
| 25 | login: { | 25 | login: { |
| 26 | - title: 'HC智慧社区', | 26 | + title: '西荣物业智慧社区', |
| 27 | username: '用户名', | 27 | username: '用户名', |
| 28 | password: '密码', | 28 | password: '密码', |
| 29 | captcha: '验证码', | 29 | captcha: '验证码', |
| @@ -38,4 +38,4 @@ export const messages = { | @@ -38,4 +38,4 @@ export const messages = { | ||
| 38 | relCdName:'角色' | 38 | relCdName:'角色' |
| 39 | } | 39 | } |
| 40 | } | 40 | } |
| 41 | -} | ||
| 42 | \ No newline at end of file | 41 | \ No newline at end of file |
| 42 | +} |
vue.config.js
| 1 | module.exports = { | 1 | module.exports = { |
| 2 | + chainWebpack: config => { | ||
| 3 | + config.plugin('html').tap(args => { | ||
| 4 | + args[0].title = '西荣物业' | ||
| 5 | + return args | ||
| 6 | + }) | ||
| 7 | + }, | ||
| 2 | devServer: { | 8 | devServer: { |
| 3 | port: 3000, // 设置开发服务器端口 | 9 | port: 3000, // 设置开发服务器端口 |
| 4 | open: true, // 自动打开浏览器 | 10 | open: true, // 自动打开浏览器 |
| 5 | proxy: { | 11 | proxy: { |
| 6 | - '/app': { | ||
| 7 | - target: 'https://demo.homecommunity.cn/app', // 后端API地址 | ||
| 8 | - changeOrigin: true, | ||
| 9 | - pathRewrite: { | ||
| 10 | - '^/app': '' | ||
| 11 | - } | ||
| 12 | - }, | ||
| 13 | - '/callComponent': { | ||
| 14 | - target: 'https://demo.homecommunity.cn/callComponent', // 后端API地址 | ||
| 15 | - changeOrigin: true, | ||
| 16 | - pathRewrite: { | ||
| 17 | - '^/callComponent': '' | ||
| 18 | - } | ||
| 19 | - } | ||
| 20 | // '/app': { | 12 | // '/app': { |
| 21 | - // target: 'http://localhost:8008/app', // 后端API地址 | 13 | + // target: 'https://demo.homecommunity.cn/app', // 后端API地址 |
| 22 | // changeOrigin: true, | 14 | // changeOrigin: true, |
| 23 | // pathRewrite: { | 15 | // pathRewrite: { |
| 24 | // '^/app': '' | 16 | // '^/app': '' |
| 25 | // } | 17 | // } |
| 26 | // }, | 18 | // }, |
| 27 | // '/callComponent': { | 19 | // '/callComponent': { |
| 28 | - // target: 'http://localhost:8008/callComponent', // 后端API地址 | 20 | + // target: 'https://demo.homecommunity.cn/callComponent', // 后端API地址 |
| 29 | // changeOrigin: true, | 21 | // changeOrigin: true, |
| 30 | // pathRewrite: { | 22 | // pathRewrite: { |
| 31 | // '^/callComponent': '' | 23 | // '^/callComponent': '' |
| 32 | // } | 24 | // } |
| 33 | // } | 25 | // } |
| 26 | + '/app': { | ||
| 27 | + target: 'http://localhost:8008/app', // 后端API地址 | ||
| 28 | + changeOrigin: true, | ||
| 29 | + pathRewrite: { | ||
| 30 | + '^/app': '' | ||
| 31 | + } | ||
| 32 | + }, | ||
| 33 | + '/callComponent': { | ||
| 34 | + target: 'http://localhost:8008/callComponent', // 后端API地址 | ||
| 35 | + changeOrigin: true, | ||
| 36 | + pathRewrite: { | ||
| 37 | + '^/callComponent': '' | ||
| 38 | + } | ||
| 39 | + } | ||
| 34 | }, | 40 | }, |
| 35 | // 关键:禁止开发服务器对静态资源添加 hash | 41 | // 关键:禁止开发服务器对静态资源添加 hash |
| 36 | historyApiFallback: { | 42 | historyApiFallback: { |
| @@ -41,4 +47,4 @@ module.exports = { | @@ -41,4 +47,4 @@ module.exports = { | ||
| 41 | ] | 47 | ] |
| 42 | } | 48 | } |
| 43 | } | 49 | } |
| 44 | -} | ||
| 45 | \ No newline at end of file | 50 | \ No newline at end of file |
| 51 | +} |