Browse Source

火灾数据分析(100%) 火灾趋势图:修改tooltip展示内容,背景色等 火灾原因占比:删除未VS对比时顶部padding和底部错位问题 详细火灾情况:将row行变色替换为cell字体变色 消防执法动态(100%) 举报投诉情况:修改柱状图提示框背景和字体颜色等 行政许可情况:修改展示边框,合格率暂时不进行更换 城市消防体征:整体布局调整,模块基本全部替换(100%) 风险等级对比图:将饼图替换为进度条类型,样式修改等 投诉举报情况:增加投诉举报模块,使用云词组件 火灾趋势图:样式调整,增加搜索比对,修改tooltip 闵行区消防情况:修改雷达图颜色,修改展示内容,修改界限颜色 各街镇单位情况:柱状图,修改底色背景色柱体框和tooltip 挂牌督改情况:修改背景,显示标题 消防救援站点(60%) 支队值班情况:月份弹框或换种展示类型(0%) 历史警情:修改弹窗展示位置 消防科普教育基地:增加当前模块,数据还未填充(50%) 消防水源情况(70%) 支队值班情况:月份弹框或换种展示类型(0%) 消防水源数量:删除右侧展示背景图,增加边框圆角 警情综合处置(80%) 警情时段分布:还需增加平均值(平均值形式还未和产品确定)(30%) 历史警情趋势图:增加各类型折线图,增加点击隐藏相应图形功能 警情处置情况:修改模块展示方式,修改展示次数为同比,增加同比值和上升下降图表等 实时警情处理:增加表格弹窗中实时视频按钮(点击后展示形式还未确定)(40%) 修改表格背景色和tr td下边框,文字行高,表头换行等优化

夜仔 3 years ago
parent
commit
be820c404f

+ 244 - 273
package-lock.json

@@ -20,23 +20,23 @@
             }
         },
         "@babel/compat-data": {
-            "version": "7.14.5",
-            "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.5.tgz",
-            "integrity": "sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w==",
+            "version": "7.14.7",
+            "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.7.tgz",
+            "integrity": "sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw==",
             "dev": true
         },
         "@babel/core": {
-            "version": "7.14.5",
-            "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.5.tgz",
-            "integrity": "sha512-RN/AwP2DJmQTZSfiDaD+JQQ/J99KsIpOCfBE5pL+5jJSt7nI3nYGoAXZu+ffYSQ029NLs2DstZb+eR81uuARgg==",
+            "version": "7.14.6",
+            "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.6.tgz",
+            "integrity": "sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA==",
             "dev": true,
             "requires": {
                 "@babel/code-frame": "^7.14.5",
                 "@babel/generator": "^7.14.5",
                 "@babel/helper-compilation-targets": "^7.14.5",
                 "@babel/helper-module-transforms": "^7.14.5",
-                "@babel/helpers": "^7.14.5",
-                "@babel/parser": "^7.14.5",
+                "@babel/helpers": "^7.14.6",
+                "@babel/parser": "^7.14.6",
                 "@babel/template": "^7.14.5",
                 "@babel/traverse": "^7.14.5",
                 "@babel/types": "^7.14.5",
@@ -107,9 +107,9 @@
             }
         },
         "@babel/helper-create-class-features-plugin": {
-            "version": "7.14.5",
-            "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.5.tgz",
-            "integrity": "sha512-Uq9z2e7ZtcnDMirRqAGLRaLwJn+Lrh388v5ETrR3pALJnElVh2zqQmdbz4W2RUJYohAPh2mtyPUgyMHMzXMncQ==",
+            "version": "7.14.6",
+            "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz",
+            "integrity": "sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg==",
             "dev": true,
             "requires": {
                 "@babel/helper-annotate-as-pure": "^7.14.5",
@@ -185,9 +185,9 @@
             }
         },
         "@babel/helper-member-expression-to-functions": {
-            "version": "7.14.5",
-            "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz",
-            "integrity": "sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ==",
+            "version": "7.14.7",
+            "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz",
+            "integrity": "sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA==",
             "dev": true,
             "requires": {
                 "@babel/types": "^7.14.5"
@@ -307,9 +307,9 @@
             }
         },
         "@babel/helpers": {
-            "version": "7.14.5",
-            "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.5.tgz",
-            "integrity": "sha512-xtcWOuN9VL6nApgVHtq3PPcQv5qFBJzoSZzJ/2c0QK/IP/gxVcoWSNQwFEGvmbQsuS9rhYqjILDGGXcTkA705Q==",
+            "version": "7.14.6",
+            "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.6.tgz",
+            "integrity": "sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA==",
             "dev": true,
             "requires": {
                 "@babel/template": "^7.14.5",
@@ -329,9 +329,9 @@
             }
         },
         "@babel/parser": {
-            "version": "7.14.5",
-            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.5.tgz",
-            "integrity": "sha512-TM8C+xtH/9n1qzX+JNHi7AN2zHMTiPUtspO0ZdHflW8KaskkALhMmuMHb4bCmNdv9VAPzJX3/bXqkVLnAvsPfg=="
+            "version": "7.14.7",
+            "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.7.tgz",
+            "integrity": "sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA=="
         },
         "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
             "version": "7.14.5",
@@ -345,9 +345,9 @@
             }
         },
         "@babel/plugin-proposal-async-generator-functions": {
-            "version": "7.14.5",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.5.tgz",
-            "integrity": "sha512-tbD/CG3l43FIXxmu4a7RBe4zH7MLJ+S/lFowPFO7HetS2hyOZ/0nnnznegDuzFzfkyQYTxqdTH/hKmuBngaDAA==",
+            "version": "7.14.7",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.7.tgz",
+            "integrity": "sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q==",
             "dev": true,
             "requires": {
                 "@babel/helper-plugin-utils": "^7.14.5",
@@ -448,12 +448,12 @@
             }
         },
         "@babel/plugin-proposal-object-rest-spread": {
-            "version": "7.14.5",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.5.tgz",
-            "integrity": "sha512-VzMyY6PWNPPT3pxc5hi9LloKNr4SSrVCg7Yr6aZpW4Ym07r7KqSU/QXYwjXLVxqwSv0t/XSXkFoKBPUkZ8vb2A==",
+            "version": "7.14.7",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.7.tgz",
+            "integrity": "sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g==",
             "dev": true,
             "requires": {
-                "@babel/compat-data": "^7.14.5",
+                "@babel/compat-data": "^7.14.7",
                 "@babel/helper-compilation-targets": "^7.14.5",
                 "@babel/helper-plugin-utils": "^7.14.5",
                 "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
@@ -720,9 +720,9 @@
             }
         },
         "@babel/plugin-transform-destructuring": {
-            "version": "7.14.5",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.5.tgz",
-            "integrity": "sha512-wU9tYisEbRMxqDezKUqC9GleLycCRoUsai9ddlsq54r8QRLaeEhc+d+9DqCG+kV9W2GgQjTZESPTpn5bAFMDww==",
+            "version": "7.14.7",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz",
+            "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==",
             "dev": true,
             "requires": {
                 "@babel/helper-plugin-utils": "^7.14.5"
@@ -841,9 +841,9 @@
             }
         },
         "@babel/plugin-transform-named-capturing-groups-regex": {
-            "version": "7.14.5",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.5.tgz",
-            "integrity": "sha512-+Xe5+6MWFo311U8SchgeX5c1+lJM+eZDBZgD+tvXu9VVQPXwwVzeManMMjYX6xw2HczngfOSZjoFYKwdeB/Jvw==",
+            "version": "7.14.7",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.7.tgz",
+            "integrity": "sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg==",
             "dev": true,
             "requires": {
                 "@babel/helper-create-regexp-features-plugin": "^7.14.5"
@@ -928,9 +928,9 @@
             }
         },
         "@babel/plugin-transform-spread": {
-            "version": "7.14.5",
-            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.5.tgz",
-            "integrity": "sha512-/3iqoQdiWergnShZYl0xACb4ADeYCJ7X/RgmwtXshn6cIvautRPAFzhd58frQlokLO6Jb4/3JXvmm6WNTPtiTw==",
+            "version": "7.14.6",
+            "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz",
+            "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==",
             "dev": true,
             "requires": {
                 "@babel/helper-plugin-utils": "^7.14.5",
@@ -984,17 +984,17 @@
             }
         },
         "@babel/preset-env": {
-            "version": "7.14.5",
-            "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.5.tgz",
-            "integrity": "sha512-ci6TsS0bjrdPpWGnQ+m4f+JSSzDKlckqKIJJt9UZ/+g7Zz9k0N8lYU8IeLg/01o2h8LyNZDMLGgRLDTxpudLsA==",
+            "version": "7.14.7",
+            "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.7.tgz",
+            "integrity": "sha512-itOGqCKLsSUl0Y+1nSfhbuuOlTs0MJk2Iv7iSH+XT/mR8U1zRLO7NjWlYXB47yhK4J/7j+HYty/EhFZDYKa/VA==",
             "dev": true,
             "requires": {
-                "@babel/compat-data": "^7.14.5",
+                "@babel/compat-data": "^7.14.7",
                 "@babel/helper-compilation-targets": "^7.14.5",
                 "@babel/helper-plugin-utils": "^7.14.5",
                 "@babel/helper-validator-option": "^7.14.5",
                 "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.14.5",
-                "@babel/plugin-proposal-async-generator-functions": "^7.14.5",
+                "@babel/plugin-proposal-async-generator-functions": "^7.14.7",
                 "@babel/plugin-proposal-class-properties": "^7.14.5",
                 "@babel/plugin-proposal-class-static-block": "^7.14.5",
                 "@babel/plugin-proposal-dynamic-import": "^7.14.5",
@@ -1003,7 +1003,7 @@
                 "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5",
                 "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5",
                 "@babel/plugin-proposal-numeric-separator": "^7.14.5",
-                "@babel/plugin-proposal-object-rest-spread": "^7.14.5",
+                "@babel/plugin-proposal-object-rest-spread": "^7.14.7",
                 "@babel/plugin-proposal-optional-catch-binding": "^7.14.5",
                 "@babel/plugin-proposal-optional-chaining": "^7.14.5",
                 "@babel/plugin-proposal-private-methods": "^7.14.5",
@@ -1029,7 +1029,7 @@
                 "@babel/plugin-transform-block-scoping": "^7.14.5",
                 "@babel/plugin-transform-classes": "^7.14.5",
                 "@babel/plugin-transform-computed-properties": "^7.14.5",
-                "@babel/plugin-transform-destructuring": "^7.14.5",
+                "@babel/plugin-transform-destructuring": "^7.14.7",
                 "@babel/plugin-transform-dotall-regex": "^7.14.5",
                 "@babel/plugin-transform-duplicate-keys": "^7.14.5",
                 "@babel/plugin-transform-exponentiation-operator": "^7.14.5",
@@ -1041,7 +1041,7 @@
                 "@babel/plugin-transform-modules-commonjs": "^7.14.5",
                 "@babel/plugin-transform-modules-systemjs": "^7.14.5",
                 "@babel/plugin-transform-modules-umd": "^7.14.5",
-                "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.5",
+                "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.7",
                 "@babel/plugin-transform-new-target": "^7.14.5",
                 "@babel/plugin-transform-object-super": "^7.14.5",
                 "@babel/plugin-transform-parameters": "^7.14.5",
@@ -1049,7 +1049,7 @@
                 "@babel/plugin-transform-regenerator": "^7.14.5",
                 "@babel/plugin-transform-reserved-words": "^7.14.5",
                 "@babel/plugin-transform-shorthand-properties": "^7.14.5",
-                "@babel/plugin-transform-spread": "^7.14.5",
+                "@babel/plugin-transform-spread": "^7.14.6",
                 "@babel/plugin-transform-sticky-regex": "^7.14.5",
                 "@babel/plugin-transform-template-literals": "^7.14.5",
                 "@babel/plugin-transform-typeof-symbol": "^7.14.5",
@@ -1060,7 +1060,7 @@
                 "babel-plugin-polyfill-corejs2": "^0.2.2",
                 "babel-plugin-polyfill-corejs3": "^0.2.2",
                 "babel-plugin-polyfill-regenerator": "^0.2.2",
-                "core-js-compat": "^3.14.0",
+                "core-js-compat": "^3.15.0",
                 "semver": "^6.3.0"
             }
         },
@@ -1078,9 +1078,9 @@
             }
         },
         "@babel/runtime": {
-            "version": "7.14.5",
-            "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.5.tgz",
-            "integrity": "sha512-121rumjddw9c3NCQ55KGkyE1h/nzWhU/owjhw0l4mQrkzz4x9SGS1X8gFLraHwX7td3Yo4QTL+qj0NcIzN87BA==",
+            "version": "7.14.6",
+            "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.6.tgz",
+            "integrity": "sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg==",
             "dev": true,
             "requires": {
                 "regenerator-runtime": "^0.13.4"
@@ -1098,9 +1098,9 @@
             }
         },
         "@babel/traverse": {
-            "version": "7.14.5",
-            "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.5.tgz",
-            "integrity": "sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg==",
+            "version": "7.14.7",
+            "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.7.tgz",
+            "integrity": "sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ==",
             "dev": true,
             "requires": {
                 "@babel/code-frame": "^7.14.5",
@@ -1108,7 +1108,7 @@
                 "@babel/helper-function-name": "^7.14.5",
                 "@babel/helper-hoist-variables": "^7.14.5",
                 "@babel/helper-split-export-declaration": "^7.14.5",
-                "@babel/parser": "^7.14.5",
+                "@babel/parser": "^7.14.7",
                 "@babel/types": "^7.14.5",
                 "debug": "^4.1.0",
                 "globals": "^11.1.0"
@@ -1365,9 +1365,9 @@
             "dev": true
         },
         "@types/node": {
-            "version": "15.12.2",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.2.tgz",
-            "integrity": "sha512-zjQ69G564OCIWIOHSXyQEEDpdpGl+G348RAKY0XXy9Z5kU9Vzv1GMNnkar/ZJ8dzXB3COzD9Mo9NtRZ4xfgUww==",
+            "version": "15.12.4",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.4.tgz",
+            "integrity": "sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA==",
             "dev": true
         },
         "@types/normalize-package-data": {
@@ -1773,44 +1773,6 @@
                     "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
                     "dev": true
                 },
-                "ansi-styles": {
-                    "version": "4.3.0",
-                    "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
-                    "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
-                    "dev": true,
-                    "optional": true,
-                    "requires": {
-                        "color-convert": "^2.0.1"
-                    }
-                },
-                "chalk": {
-                    "version": "4.1.1",
-                    "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
-                    "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
-                    "dev": true,
-                    "optional": true,
-                    "requires": {
-                        "ansi-styles": "^4.1.0",
-                        "supports-color": "^7.1.0"
-                    }
-                },
-                "color-convert": {
-                    "version": "2.0.1",
-                    "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-                    "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-                    "dev": true,
-                    "optional": true,
-                    "requires": {
-                        "color-name": "~1.1.4"
-                    }
-                },
-                "color-name": {
-                    "version": "1.1.4",
-                    "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
-                    "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
-                    "dev": true,
-                    "optional": true
-                },
                 "find-cache-dir": {
                     "version": "2.1.0",
                     "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
@@ -1831,25 +1793,6 @@
                         "locate-path": "^3.0.0"
                     }
                 },
-                "has-flag": {
-                    "version": "4.0.0",
-                    "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-                    "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-                    "dev": true,
-                    "optional": true
-                },
-                "loader-utils": {
-                    "version": "2.0.0",
-                    "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
-                    "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
-                    "dev": true,
-                    "optional": true,
-                    "requires": {
-                        "big.js": "^5.2.2",
-                        "emojis-list": "^3.0.0",
-                        "json5": "^2.1.2"
-                    }
-                },
                 "locate-path": {
                     "version": "3.0.0",
                     "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
@@ -1920,16 +1863,6 @@
                         "minipass": "^3.1.1"
                     }
                 },
-                "supports-color": {
-                    "version": "7.2.0",
-                    "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
-                    "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
-                    "dev": true,
-                    "optional": true,
-                    "requires": {
-                        "has-flag": "^4.0.0"
-                    }
-                },
                 "terser-webpack-plugin": {
                     "version": "1.4.5",
                     "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
@@ -1946,18 +1879,6 @@
                         "webpack-sources": "^1.4.0",
                         "worker-farm": "^1.7.0"
                     }
-                },
-                "vue-loader-v16": {
-                    "version": "npm:vue-loader@16.2.0",
-                    "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz",
-                    "integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==",
-                    "dev": true,
-                    "optional": true,
-                    "requires": {
-                        "chalk": "^4.1.0",
-                        "hash-sum": "^2.0.0",
-                        "loader-utils": "^2.0.0"
-                    }
                 }
             }
         },
@@ -1985,7 +1906,6 @@
             "version": "3.1.1",
             "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.1.1.tgz",
             "integrity": "sha512-Z1RO3T6AEtAUFf2EqqovFm3ohAeTvFzRtB0qUENW2nEerJfdlk13/LS1a0EgsqlzxmYfR/S/S/gW9PLbFZZxkA==",
-            "dev": true,
             "requires": {
                 "@babel/parser": "^7.12.0",
                 "@babel/types": "^7.12.0",
@@ -1998,7 +1918,6 @@
             "version": "3.1.1",
             "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.1.1.tgz",
             "integrity": "sha512-nobRIo0t5ibzg+q8nC31m+aJhbq8FbWUoKvk6h3Vs1EqTDJaj6lBTcVTq5or8AYht7FbSpdAJ81isbJ1rWNX7A==",
-            "dev": true,
             "requires": {
                 "@vue/compiler-core": "3.1.1",
                 "@vue/shared": "3.1.1"
@@ -2038,9 +1957,9 @@
                     }
                 },
                 "postcss": {
-                    "version": "8.3.1",
-                    "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.1.tgz",
-                    "integrity": "sha512-9qH0MGjsSm+fjxOi3GnwViL1otfi7qkj+l/WX5gcRGmZNGsIcqc+A5fBkE6PUobEQK4APqYVaES+B3Uti98TCw==",
+                    "version": "8.3.5",
+                    "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.5.tgz",
+                    "integrity": "sha512-NxTuJocUhYGsMiMFHDUkmjSKT3EdH4/WbGF6GCi1NDGk+vbcUTun4fpbOqaPtD8IIsztA2ilZm2DhYCuyN58gA==",
                     "dev": true,
                     "requires": {
                         "colorette": "^1.2.2",
@@ -2061,15 +1980,16 @@
             }
         },
         "@vue/component-compiler-utils": {
-            "version": "3.2.1",
-            "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.1.tgz",
-            "integrity": "sha512-Mci9WJYLRjyJEBkGHMPxZ1ihJ9l6gOy2Gr6hpYZUNpQoe5+nbpeb3w00aP+PSHJygCF+fxJsqp7Af1zGDITzuw==",
+            "version": "3.2.2",
+            "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.2.tgz",
+            "integrity": "sha512-rAYMLmgMuqJFWAOb3Awjqqv5X3Q3hVr4jH/kgrFJpiU0j3a90tnNBplqbj+snzrgZhC9W128z+dtgMifOiMfJg==",
             "dev": true,
             "requires": {
                 "consolidate": "^0.15.1",
                 "hash-sum": "^1.0.2",
                 "lru-cache": "^4.1.2",
                 "merge-source-map": "^1.1.0",
+                "postcss": "^7.0.36",
                 "postcss-selector-parser": "^6.0.2",
                 "prettier": "^1.18.2",
                 "source-map": "~0.6.1",
@@ -2112,58 +2032,36 @@
             "dev": true
         },
         "@vue/reactivity": {
-            "version": "3.0.11",
-            "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.0.11.tgz",
-            "integrity": "sha512-SKM3YKxtXHBPMf7yufXeBhCZ4XZDKP9/iXeQSC8bBO3ivBuzAi4aZi0bNoeE2IF2iGfP/AHEt1OU4ARj4ao/Xw==",
+            "version": "3.1.1",
+            "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.1.tgz",
+            "integrity": "sha512-DsH5woNVCcPK1M0RRYVgJEU1GJDU2ASOKpAqW3ppHk+XjoFLCbqc/26RTCgTpJYd9z8VN+79Q1u7/QqgQPbuLQ==",
             "requires": {
-                "@vue/shared": "3.0.11"
-            },
-            "dependencies": {
-                "@vue/shared": {
-                    "version": "3.0.11",
-                    "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.11.tgz",
-                    "integrity": "sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA=="
-                }
+                "@vue/shared": "3.1.1"
             }
         },
         "@vue/runtime-core": {
-            "version": "3.0.11",
-            "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.0.11.tgz",
-            "integrity": "sha512-87XPNwHfz9JkmOlayBeCCfMh9PT2NBnv795DSbi//C/RaAnc/bGZgECjmkD7oXJ526BZbgk9QZBPdFT8KMxkAg==",
+            "version": "3.1.1",
+            "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.1.1.tgz",
+            "integrity": "sha512-GboqR02txOtkd9F3Ysd8ltPL68vTCqIx2p/J52/gFtpgb5FG9hvOAPEwFUqxeEJRu7ResvQnmdOHiEycGPCLhQ==",
             "requires": {
-                "@vue/reactivity": "3.0.11",
-                "@vue/shared": "3.0.11"
-            },
-            "dependencies": {
-                "@vue/shared": {
-                    "version": "3.0.11",
-                    "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.11.tgz",
-                    "integrity": "sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA=="
-                }
+                "@vue/reactivity": "3.1.1",
+                "@vue/shared": "3.1.1"
             }
         },
         "@vue/runtime-dom": {
-            "version": "3.0.11",
-            "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.0.11.tgz",
-            "integrity": "sha512-jm3FVQESY3y2hKZ2wlkcmFDDyqaPyU3p1IdAX92zTNeCH7I8zZ37PtlE1b9NlCtzV53WjB4TZAYh9yDCMIEumA==",
+            "version": "3.1.1",
+            "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.1.1.tgz",
+            "integrity": "sha512-o57n/199e/BBAmLRMSXmD2r12Old/h/gf6BgL0RON1NT2pwm6MWaMY4Ul55eyq+FsDILz4jR/UgoPQ9vYB8xcw==",
             "requires": {
-                "@vue/runtime-core": "3.0.11",
-                "@vue/shared": "3.0.11",
+                "@vue/runtime-core": "3.1.1",
+                "@vue/shared": "3.1.1",
                 "csstype": "^2.6.8"
-            },
-            "dependencies": {
-                "@vue/shared": {
-                    "version": "3.0.11",
-                    "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.11.tgz",
-                    "integrity": "sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA=="
-                }
             }
         },
         "@vue/shared": {
             "version": "3.1.1",
             "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.1.tgz",
-            "integrity": "sha512-g+4pzAw7PYSjARtLBoDq6DmcblX8i9KJHSCnyM5VDDFFifUaUT9iHbFpOF/KOizQ9f7QAqU2JH3Y6aXjzUMhVA==",
-            "dev": true
+            "integrity": "sha512-g+4pzAw7PYSjARtLBoDq6DmcblX8i9KJHSCnyM5VDDFFifUaUT9iHbFpOF/KOizQ9f7QAqU2JH3Y6aXjzUMhVA=="
         },
         "@vue/web-component-wrapper": {
             "version": "1.3.0",
@@ -2776,13 +2674,13 @@
             }
         },
         "babel-plugin-polyfill-corejs3": {
-            "version": "0.2.2",
-            "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.2.tgz",
-            "integrity": "sha512-l1Cf8PKk12eEk5QP/NQ6TH8A1pee6wWDJ96WjxrMXFLHLOBFzYM4moG80HFgduVhTqAFez4alnZKEhP/bYHg0A==",
+            "version": "0.2.3",
+            "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.3.tgz",
+            "integrity": "sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g==",
             "dev": true,
             "requires": {
                 "@babel/helper-define-polyfill-provider": "^0.2.2",
-                "core-js-compat": "^3.9.1"
+                "core-js-compat": "^3.14.0"
             }
         },
         "babel-plugin-polyfill-regenerator": {
@@ -3328,9 +3226,9 @@
             }
         },
         "caniuse-lite": {
-            "version": "1.0.30001236",
-            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001236.tgz",
-            "integrity": "sha512-o0PRQSrSCGJKCPZcgMzl5fUaj5xHe8qA2m4QRvnyY4e1lITqoNkr7q/Oh1NcpGSy0Th97UZ35yoKcINPoq7YOQ==",
+            "version": "1.0.30001239",
+            "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz",
+            "integrity": "sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ==",
             "dev": true
         },
         "case-sensitive-paths-webpack-plugin": {
@@ -3369,20 +3267,20 @@
             "dev": true
         },
         "chokidar": {
-            "version": "3.5.1",
-            "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
-            "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
+            "version": "3.5.2",
+            "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
+            "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
             "dev": true,
             "optional": true,
             "requires": {
-                "anymatch": "~3.1.1",
+                "anymatch": "~3.1.2",
                 "braces": "~3.0.2",
-                "fsevents": "~2.3.1",
-                "glob-parent": "~5.1.0",
+                "fsevents": "~2.3.2",
+                "glob-parent": "~5.1.2",
                 "is-binary-path": "~2.1.0",
                 "is-glob": "~4.0.1",
                 "normalize-path": "~3.0.0",
-                "readdirp": "~3.5.0"
+                "readdirp": "~3.6.0"
             },
             "dependencies": {
                 "braces": {
@@ -3871,9 +3769,9 @@
             "dev": true
         },
         "convert-source-map": {
-            "version": "1.7.0",
-            "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
-            "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+            "version": "1.8.0",
+            "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz",
+            "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==",
             "dev": true,
             "requires": {
                 "safe-buffer": "~5.1.1"
@@ -4070,14 +3968,14 @@
             }
         },
         "core-js": {
-            "version": "3.14.0",
-            "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.14.0.tgz",
-            "integrity": "sha512-3s+ed8er9ahK+zJpp9ZtuVcDoFzHNiZsPbNAAE4KXgrRHbjSqqNN6xGSXq6bq7TZIbKj4NLrLb6bJ5i+vSVjHA=="
+            "version": "3.15.0",
+            "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.15.0.tgz",
+            "integrity": "sha512-GUbtPllXMYRzIgHNZ4dTYTcUemls2cni83Q4Q/TrFONHfhcg9oEGOtaGHfb0cpzec60P96UKPvMkjX1jET8rUw=="
         },
         "core-js-compat": {
-            "version": "3.14.0",
-            "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.14.0.tgz",
-            "integrity": "sha512-R4NS2eupxtiJU+VwgkF9WTpnSfZW4pogwKHd8bclWU2sp93Pr5S1uYJI84cMOubJRou7bcfL0vmwtLslWN5p3A==",
+            "version": "3.15.0",
+            "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.15.0.tgz",
+            "integrity": "sha512-8X6lWsG+s7IfOKzV93a7fRYfWRZobOfjw5V5rrq43Vh/W+V6qYxl7Akalsvgab4PFT/4L/pjQbdBUEM36NXKrw==",
             "dev": true,
             "requires": {
                 "browserslist": "^4.16.6",
@@ -4922,14 +4820,19 @@
             }
         },
         "echarts-gl": {
-            "version": "2.0.4",
-            "resolved": "https://registry.npmjs.org/echarts-gl/-/echarts-gl-2.0.4.tgz",
-            "integrity": "sha512-QTMFOFE7N1wxjRIiwjq4m1gFa5KBZT9V0MKkT8gJyTj/kzyCCReRW8n6hjG7+QtfZ5DtPao98vPIFDFWEMlRGA==",
+            "version": "2.0.5",
+            "resolved": "https://registry.npmjs.org/echarts-gl/-/echarts-gl-2.0.5.tgz",
+            "integrity": "sha512-0DxmG1dqRutU9v9wIq4t9JWLXwTImJX5VB7k09aO5FLUGlfLMNpsGgoLbFZ5d9EKvkNIQABDL+woblwW7mxHSg==",
             "requires": {
                 "claygl": "^1.2.1",
-                "zrender": "^5.0.3"
+                "zrender": "^5.1.1"
             }
         },
+        "echarts-wordcloud": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/echarts-wordcloud/-/echarts-wordcloud-2.0.0.tgz",
+            "integrity": "sha512-K7l6pTklqdW7ZWzT/1CS0KhBSINr/cd7c5N1fVMzZMwLQHEwT7x+nivK7g5hkVh7WNcAv4Dn6/ZS5zMKRozC1g=="
+        },
         "ee-first": {
             "version": "1.1.1",
             "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
@@ -4943,15 +4846,15 @@
             "dev": true
         },
         "electron-to-chromium": {
-            "version": "1.3.752",
-            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz",
-            "integrity": "sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A==",
+            "version": "1.3.754",
+            "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.754.tgz",
+            "integrity": "sha512-Q50dJbfYYRtwK3G9mFP/EsJVzlgcYwKxFjbXmvVa1lDAbdviPcT9QOpFoufDApub4j0hBfDRL6v3lWNLEdEDXQ==",
             "dev": true
         },
         "element-plus": {
-            "version": "1.0.2-beta.46",
-            "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-1.0.2-beta.46.tgz",
-            "integrity": "sha512-GevU3xNiIp+p9ZGnGRtFaJPnofsMXKwqV+cTXC266vUWw08Hbt1ronTsss/eJJ1OIHLoaFq4febv1MMTBSSjlQ==",
+            "version": "1.0.2-beta.48",
+            "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-1.0.2-beta.48.tgz",
+            "integrity": "sha512-BKLjkZqZCJIYxUgwEj4ojaU0iEXHf6LPma100rMQPXZ/AUEVx3yjuo3fmTV54CTsIG+V2W1VCEnD7jF2iw+qrQ==",
             "requires": {
                 "@popperjs/core": "^2.4.4",
                 "@types/lodash": "^4.14.161",
@@ -5233,9 +5136,9 @@
             }
         },
         "eslint-plugin-vue": {
-            "version": "7.10.0",
-            "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.10.0.tgz",
-            "integrity": "sha512-xdr6e4t/L2moRAeEQ9HKgge/hFq+w9v5Dj+BA54nTAzSFdUyKLiSOdZaRQjCHMY0Pk2WaQBFH9QiWG60xiC+6A==",
+            "version": "7.11.1",
+            "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.11.1.tgz",
+            "integrity": "sha512-lbw3vkEAGqYjqd1HpPFWHXtYaS8mILTJ5KOpJfRxO3Fo7o0wCf1zD7vSOasbm6nTA9xIgvZQ4VcyGIzQXxznHw==",
             "dev": true,
             "requires": {
                 "eslint-utils": "^2.1.0",
@@ -9051,9 +8954,9 @@
             "dev": true
         },
         "postcss": {
-            "version": "7.0.35",
-            "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
-            "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+            "version": "7.0.36",
+            "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
+            "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
             "dev": true,
             "requires": {
                 "chalk": "^2.4.2",
@@ -9991,9 +9894,9 @@
             }
         },
         "readdirp": {
-            "version": "3.5.0",
-            "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
-            "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
+            "version": "3.6.0",
+            "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+            "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
             "dev": true,
             "optional": true,
             "requires": {
@@ -10127,18 +10030,24 @@
             "dev": true
         },
         "renderkid": {
-            "version": "2.0.6",
-            "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.6.tgz",
-            "integrity": "sha512-GIis2GBr/ho0pFNf57D4XM4+PgnQuTii0WCPjEZmZfKivzUfGuRdjN2aQYtYMiNggHmNyBve+thFnNR1iBRcKg==",
+            "version": "2.0.7",
+            "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.7.tgz",
+            "integrity": "sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==",
             "dev": true,
             "requires": {
                 "css-select": "^4.1.3",
                 "dom-converter": "^0.2.0",
                 "htmlparser2": "^6.1.0",
                 "lodash": "^4.17.21",
-                "strip-ansi": "^6.0.0"
+                "strip-ansi": "^3.0.1"
             },
             "dependencies": {
+                "ansi-regex": {
+                    "version": "2.1.1",
+                    "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+                    "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+                    "dev": true
+                },
                 "css-select": {
                     "version": "4.1.3",
                     "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz",
@@ -10194,6 +10103,15 @@
                     "requires": {
                         "boolbase": "^1.0.0"
                     }
+                },
+                "strip-ansi": {
+                    "version": "3.0.1",
+                    "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+                    "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-regex": "^2.0.0"
+                    }
                 }
             }
         },
@@ -10556,9 +10474,9 @@
             }
         },
         "sass-resources-loader": {
-            "version": "2.2.1",
-            "resolved": "https://registry.npmjs.org/sass-resources-loader/-/sass-resources-loader-2.2.1.tgz",
-            "integrity": "sha512-WlofxbWOVnxad874IHZdWbP9eW1pbyqsTJKBsMbeB+YELvLSrZQNDTpH70s6F19BwtanR3NEFnyGwJ9WyotJTQ==",
+            "version": "2.2.2",
+            "resolved": "https://registry.npmjs.org/sass-resources-loader/-/sass-resources-loader-2.2.2.tgz",
+            "integrity": "sha512-D+BxTcWouyp0ZLN1D5QUbdvJIVgq3eBHrgsLudsO8dD0JaUG6PgoEzu3Hi3A1jVMBUoxd4gF44/h90Zy1guPbA==",
             "dev": true,
             "requires": {
                 "async": "^3.2.0",
@@ -12262,41 +12180,13 @@
             "dev": true
         },
         "vue": {
-            "version": "3.0.11",
-            "resolved": "https://registry.npmjs.org/vue/-/vue-3.0.11.tgz",
-            "integrity": "sha512-3/eUi4InQz8MPzruHYSTQPxtM3LdZ1/S/BvaU021zBnZi0laRUyH6pfuE4wtUeLvI8wmUNwj5wrZFvbHUXL9dw==",
+            "version": "3.1.1",
+            "resolved": "https://registry.npmjs.org/vue/-/vue-3.1.1.tgz",
+            "integrity": "sha512-j9fj3PNPMxo2eqOKYjMuss9XBS8ZtmczLY3kPvjcp9d3DbhyNqLYbaMQH18+1pDIzzVvQCQBvIf774LsjjqSKA==",
             "requires": {
-                "@vue/compiler-dom": "3.0.11",
-                "@vue/runtime-dom": "3.0.11",
-                "@vue/shared": "3.0.11"
-            },
-            "dependencies": {
-                "@vue/compiler-core": {
-                    "version": "3.0.11",
-                    "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.0.11.tgz",
-                    "integrity": "sha512-6sFj6TBac1y2cWCvYCA8YzHJEbsVkX7zdRs/3yK/n1ilvRqcn983XvpBbnN3v4mZ1UiQycTvOiajJmOgN9EVgw==",
-                    "requires": {
-                        "@babel/parser": "^7.12.0",
-                        "@babel/types": "^7.12.0",
-                        "@vue/shared": "3.0.11",
-                        "estree-walker": "^2.0.1",
-                        "source-map": "^0.6.1"
-                    }
-                },
-                "@vue/compiler-dom": {
-                    "version": "3.0.11",
-                    "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.0.11.tgz",
-                    "integrity": "sha512-+3xB50uGeY5Fv9eMKVJs2WSRULfgwaTJsy23OIltKgMrynnIj8hTYY2UL97HCoz78aDw1VDXdrBQ4qepWjnQcw==",
-                    "requires": {
-                        "@vue/compiler-core": "3.0.11",
-                        "@vue/shared": "3.0.11"
-                    }
-                },
-                "@vue/shared": {
-                    "version": "3.0.11",
-                    "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.0.11.tgz",
-                    "integrity": "sha512-b+zB8A2so8eCE0JsxjL24J7vdGl8rzPQ09hZNhystm+KqSbKcAej1A+Hbva1rCMmTTqA+hFnUSDc5kouEo0JzA=="
-                }
+                "@vue/compiler-dom": "3.1.1",
+                "@vue/runtime-dom": "3.1.1",
+                "@vue/shared": "3.1.1"
             }
         },
         "vue-amap": {
@@ -12366,12 +12256,93 @@
                 }
             }
         },
+        "vue-loader-v16": {
+            "version": "npm:vue-loader@16.2.0",
+            "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.2.0.tgz",
+            "integrity": "sha512-TitGhqSQ61RJljMmhIGvfWzJ2zk9m1Qug049Ugml6QP3t0e95o0XJjk29roNEiPKJQBEi8Ord5hFuSuELzSp8Q==",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "chalk": "^4.1.0",
+                "hash-sum": "^2.0.0",
+                "loader-utils": "^2.0.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "4.3.0",
+                    "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+                    "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "color-convert": "^2.0.1"
+                    }
+                },
+                "chalk": {
+                    "version": "4.1.1",
+                    "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+                    "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "ansi-styles": "^4.1.0",
+                        "supports-color": "^7.1.0"
+                    }
+                },
+                "color-convert": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+                    "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "color-name": "~1.1.4"
+                    }
+                },
+                "color-name": {
+                    "version": "1.1.4",
+                    "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+                    "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+                    "dev": true,
+                    "optional": true
+                },
+                "has-flag": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+                    "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+                    "dev": true,
+                    "optional": true
+                },
+                "loader-utils": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+                    "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "big.js": "^5.2.2",
+                        "emojis-list": "^3.0.0",
+                        "json5": "^2.1.2"
+                    }
+                },
+                "supports-color": {
+                    "version": "7.2.0",
+                    "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+                    "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "has-flag": "^4.0.0"
+                    }
+                }
+            }
+        },
         "vue-router": {
-            "version": "4.0.8",
-            "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.8.tgz",
-            "integrity": "sha512-42mWSQaH7CCBQDspQTHv63f34VEnZC20g9QNK4WJ/zW8SdIUeT6TQ2i/78fjF/pVBUPLBWrGhvB7uDnaz7O/pA==",
+            "version": "4.0.10",
+            "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.10.tgz",
+            "integrity": "sha512-YbPf6QnZpyyWfnk7CUt2Bme+vo7TLfg1nGZNkvYqKYh4vLaFw6Gn8bPGdmt5m4qrGnKoXLqc4htAsd3dIukICA==",
             "requires": {
-                "@vue/devtools-api": "^6.0.0-beta.10"
+                "@vue/devtools-api": "^6.0.0-beta.14"
             }
         },
         "vue-style-loader": {
@@ -12399,9 +12370,9 @@
             "dev": true
         },
         "vuex": {
-            "version": "4.0.1",
-            "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.0.1.tgz",
-            "integrity": "sha512-MddakQTAnImDkK1YhEESowKSU5KcjqHH3L1ScPx1lj6NzDDX0FuRBZqJoME5O7/nvj9puudDf6xnWU2w/cqI7g==",
+            "version": "4.0.2",
+            "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.0.2.tgz",
+            "integrity": "sha512-M6r8uxELjZIK8kTKDGgZTYX/ahzblnzC4isU1tpmEuOIIKmV+TRdc+H4s8ds2NuZ7wpUTdGRzJRtoj+lI+pc0Q==",
             "requires": {
                 "@vue/devtools-api": "^6.0.0-beta.11"
             }
@@ -13340,9 +13311,9 @@
             }
         },
         "yargs-parser": {
-            "version": "20.2.7",
-            "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz",
-            "integrity": "sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw==",
+            "version": "20.2.9",
+            "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz",
+            "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
             "dev": true
         },
         "yocto-queue": {

+ 3 - 2
package.json

@@ -15,7 +15,8 @@
         "core-js": "^3.6.5",
         "echarts": "^5.1.1",
         "echarts-gl": "^2.0.4",
-        "element-plus": "^1.0.2-beta.46",
+        "echarts-wordcloud": "^2.0.0",
+        "element-plus": "^1.0.2-beta.48",
         "vue": "^3.0.11",
         "vue-amap": "^0.5.10",
         "vue-router": "^4.0.0-0",
@@ -38,4 +39,4 @@
         "terser-webpack-plugin": "^5.1.3",
         "vue-cli-plugin-element-plus": "0.0.13"
     }
-}
+}

BIN
src/assets/img/home/bg1.png


BIN
src/assets/img/home/bg2.png


BIN
src/assets/img/home/cir.png


BIN
src/assets/img/home/cir1.png


BIN
src/assets/img/home/home_center.png


BIN
src/assets/img/test/bg.png


+ 8 - 2
src/assets/scss/element-ui.scss

@@ -13,15 +13,20 @@
         tr,
         td {
             padding: 0;
-            background: transparent !important;
+            background: rgba(0, 251, 251, .051) !important;
             color: #FFF;
+            border-color: rgba(0, 250, 251, 0.20);
         }
         .death {
-            background: #962b2b !important;
+            color: #962b2b !important;
+        }
+        tr {
+            margin-bottom: 1px;
         }
         th {
             color: #FFF;
             background: rgba(0, 250, 251, 0.20);
+            border-color: transparent;
             .cell {
                 // line-height: .425rem;
                 padding: 0;
@@ -31,6 +36,7 @@
             th {
                 padding: 0;
                 height: .425rem;
+                border-color: rgba(0, 250, 251, 0.20) !important;
             }
         }
     }

+ 21 - 3
src/components/bar/index.vue

@@ -92,7 +92,7 @@ export default {
           {
             name: "社会救助",
             type: "bar",
-            stack: "total",
+            stack: "totalBar",
             emphasis: {
               focus: "series",
             },
@@ -102,7 +102,7 @@ export default {
           {
             name: "火灾",
             type: "bar",
-            stack: "total",
+            stack: "totalBar",
             emphasis: {
               focus: "series",
             },
@@ -112,13 +112,31 @@ export default {
           {
             name: "抢险救援",
             type: "bar",
-            stack: "total",
+            stack: "totalBar",
             emphasis: {
               focus: "series",
             },
             barWidth: "50%",
             data: dataMap[2],
           },
+        {
+            name: '社会救助',
+            type: 'line',
+            stack: 'totalLine',
+            data: dataMap[0].map(val=> val+40)
+        },
+        {
+            name: '火灾',
+            type: 'line',
+            stack: 'totalLine',
+            data: dataMap[1].map(val=> val+40)
+        },
+        {
+            name: '抢险救援',
+            type: 'line',
+            stack: 'totalLine',
+            data: dataMap[2].map(val=> val+40)
+        },
         ],
       });
     },

+ 10 - 6
src/components/category-line/index.vue

@@ -7,6 +7,8 @@ import * as echarts from "echarts";
 export default {
   props: {
     dataMap: { type: Array, default: () => [] },
+    color: { type: String, default: () => 'rgb(0,254,160)'},
+    borderRadius: { type: Array, default: () => [0, 0, 0, 0]},
   },
   data() {
     return {};
@@ -50,10 +52,12 @@ export default {
         },
         tooltip: {
           trigger: "axis",
-          // axisPointer: {
-          //   // 坐标轴指示器,坐标轴触发有效
-          //   type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
-          // },
+          textStyle: {
+            color: "#FFF",
+          },
+          backgroundColor: "rgba(11, 12, 72, 0.8)",
+          borderColor: "rgba(11, 12, 72, 0.4)",
+          position: "bottom",
         },
         yAxis: {
           type: "value",
@@ -72,8 +76,8 @@ export default {
             type: "bar",
             barWidth: 15,
             itemStyle: {
-              color: "rgb(0,254,160)",
-              borderRadius: [15, 15, 12, 15],
+              color: this.color,
+              borderRadius: this.borderRadius,
             },
             data: val[0],
           },{

+ 10 - 20
src/components/category/index.vue

@@ -8,7 +8,8 @@ export default {
   props: {
     dataMap: { type: Array, default: () => [] },
     color: { type: String, default: () => 'rgb(0,254,160)'},
-    borderRadius: { type: Array, default: () => [15, 15, 12, 15]},
+    borderRadius: { type: Array, default: () => [0, 0, 0, 0]},
+    xData: { type: Array, default: () => [ "1月", "2月", "3月", "4月", "5月", "6月", "7月",  "8月",  "9月", "10月", "11月", "12月" ]},
   },
   data() {
     return {};
@@ -26,36 +27,25 @@ export default {
       echarts.init(this.$refs.echartD).setOption({
         grid: {
           top: 30,
-          left: 30,
+          left: 40,
           right: 30,
           bottom: 30,
         },
         xAxis: {
           type: "category",
-          data: [
-            "1月",
-            "2月",
-            "3月",
-            "4月",
-            "5月",
-            "6月",
-            "7月",
-            "8月",
-            "9月",
-            "10月",
-            "11月",
-            "12月",
-          ],
+          data:this.xData,
           axisLabel: {
             color: "#FFFFFF",
           },
         },
         tooltip: {
           trigger: "axis",
-          // axisPointer: {
-          //   // 坐标轴指示器,坐标轴触发有效
-          //   type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
-          // },
+          textStyle: {
+            color: "#FFF",
+          },
+          backgroundColor: "rgba(11, 12, 72, 0.8)",
+          borderColor: "rgba(11, 12, 72, 0.4)",
+          position: "bottom",
         },
         yAxis: {
           type: "value",

+ 9 - 6
src/components/gauge/index.vue

@@ -10,17 +10,20 @@ import * as echarts from "echarts";
 export default {
   props: {
     dataMap: { type: Number, default: () => 0 },
+    dataNumber: { type: Number, default: () => 0 },
     color: { type: String, default: () => "#468EFD" },
-    size: { type: Number, default: () => 28 },
+    size: { type: Number, default: () => 40 },
     tick: { type: Boolean, default: () => true },
-    with: { type: Number, default: () => 15 },
+    with: { type: Number, default: () => 20 },
   },
   data() {
     return {};
   },
   watch: {
     dataMap(val) {
-      console.log(val)
+      this.getData(val);
+    },
+    dataNumber(val) {
       this.getData(val);
     },
   },
@@ -69,9 +72,9 @@ export default {
               show: false,
             },
             detail: {
-              formatter: function (value) {
+              formatter:  (value) => {
                 console.log( `${value}%`)
-                return `${(value * 100).toFixed(0)}%`;
+                return this.dataNumber ? this.dataNumber :`${(value * 100).toFixed(0)}%`;
               },
               offsetCenter: [0, "0%"],
               textStyle: {
@@ -88,7 +91,7 @@ export default {
               show: false,
             },
             data: [
-                this.dataMap,
+                (this.dataNumber || this.dataMap),
             ],
           },
           // 刻度

+ 16 - 8
src/components/radar/index.vue

@@ -23,16 +23,16 @@ export default {
   methods: {
     getData() {
       // let max = this.dataMap.reduce((a, b) => {return a + b.value}, 0)
-      // let totle = this.dataMap.slice().sort((n, m) => {return m.value - n.value})[0].value
+      let totle = this.dataMap.slice().sort((n, m) => {return m.value - n.value})[0].value
       let indicator = this.dataMap.map((val) => {
         return {
           name: val.name,
           value: val.value,
-          // max: totle + +(totle * 0.1).toFixed(0),
+          max: totle + +(totle * 0.1).toFixed(0),
         };
       });
       echarts.init(this.$refs.echartD).setOption({
-        color: ["red"],
+        color: ["#00FFFC"],
         title: {
           show: false,
           text: "基础雷达图",
@@ -59,6 +59,16 @@ export default {
         radar: {
           shape: "circle",
           radius: ["0%", "65%"],
+          axisLine: {
+            lineStyle:{
+              color:'#12789C',
+            }
+          },
+          splitLine: {
+            lineStyle:{
+              color:'#12789C',
+            }
+          },
           name: {
             color: "#FFFFFF",
           },
@@ -70,11 +80,9 @@ export default {
               // show: true,
               // color: "#FFFFFF",
             },
-            // 鼠标滑过阴影
-            emphasis: {
-              areaStyle: {
-                color: "rgba(0,250,0,0.3)",
-              },
+            // 阴影
+            areaStyle: {
+              color: "#00FFFC",
             },
             type: "radar",
             data: [

+ 3 - 3
src/components/se-table/index.vue

@@ -6,7 +6,7 @@
     :row-style="{ height: '.425rem' }"
     cell-style="height:.425rem;box-sizing: border-box;"
     style="width: 100%; margin: 0 auto"
-    :row-class-name="tableRowClassName"
+    :cell-class-name="tableRowClassName"
   >
     <el-table-column
       show-overflow-tooltip
@@ -31,8 +31,8 @@ export default {
   },
   mounted() {},
   methods: {
-    tableRowClassName({ row,  }) {
-      if (row.deathToll && row.deathToll > 0) {
+    tableRowClassName({row, column, rowIndex, columnIndex}) {
+      if (column.property === 'deathToll' && row.deathToll > 0) {
         return "death";
       }
     },

File diff suppressed because it is too large
+ 6 - 1
src/components/wordCloud/index.vue


+ 1 - 1
src/views/Home.vue

@@ -322,7 +322,7 @@ $centerCirWidth: 3.375rem;
     .centerTop {
       width: 100%;
       z-index: 9;
-      margin-bottom: -0.5625rem;
+      margin-bottom: -70px;
     }
     .centerBot {
       height: 1.875rem;

+ 14 - 13
src/views/comprehensive-disposal.vue

@@ -60,23 +60,23 @@
             <el-row>
               <el-row class="rightTopTitle"><span>火灾</span></el-row>
               <el-row class="rightTopChart">
-                <gauge ref="gauge1" :dataMap="0.2" color="#468EFD"></gauge>
+                <gauge ref="gauge1" :dataMap="0.2" :dataNumber="20" color="#468EFD"></gauge>
               </el-row>
-              <el-row class="rightTopNumber"><span>14次</span></el-row>
+              <el-row class="rightTopNumber"><span>同比:14% <span style="color:green;font-wight:800">↓</span></span></el-row>
             </el-row>
             <el-row>
               <el-row class="rightTopTitle"><span>社会救助</span></el-row>
               <el-row class="rightTopChart">
-                <gauge ref="gauge2" :dataMap="0.3" color="#06B1B9"></gauge>
+                <gauge ref="gauge2" :dataMap="0.3" :dataNumber="30" color="#06B1B9"></gauge>
               </el-row>
-              <el-row class="rightTopNumber"><span>25次</span></el-row>
+              <el-row class="rightTopNumber"><span>同比:14% <span style="color:green">↓</span></span></el-row>
             </el-row>
             <el-row>
               <el-row class="rightTopTitle"><span>抢险救援</span></el-row>
               <el-row class="rightTopChart">
-                <gauge ref="gauge3" :dataMap="0.4" color="#E4951E"></gauge>
+                <gauge ref="gauge3" :dataMap="0.5"  :dataNumber="50" color="#E4951E"></gauge>
               </el-row>
-              <el-row class="rightTopNumber"><span>36次</span></el-row>
+              <el-row class="rightTopNumber"><span>同比:14% <span style="color:red">↑</span></span></el-row>
             </el-row>
           </div>
         </el-col>
@@ -111,7 +111,8 @@
                         <el-col :span="12">装备名称:{{scope.row.equipName}}</el-col>
                         <el-col :span="12">车牌号:{{scope.row.carNumber}}</el-col>
                         <el-col :span="12">车辆状态:{{scope.row.carStatus}}</el-col>
-                        <el-col :span="24">警情处置时长:{{scope.row.disposeTime}}</el-col>
+                        <el-col :span="14">警情处置时长:{{scope.row.disposeTime}}</el-col>
+                        <el-col :span="10" style="color:#0ADAFF;text-decoration: underline;cursor: pointer;">实时视频</el-col>
                       </el-row>
                       <el-row class="tablePersonnel">
                         <el-col :span="7">
@@ -177,7 +178,7 @@ export default {
           equipName: "一七",
           carNumber: "沪X5477应急",
           carStatus: "出动",
-          disposeTime: "1:0000",
+          disposeTime: "1:00:00",
           correspondent: "张三",
           commander: "李四",
           firemen: "王五",
@@ -196,7 +197,7 @@ export default {
           equipName: "一七",
           carNumber: "沪X5477应急",
           carStatus: "出动",
-          disposeTime: "1:0000",
+          disposeTime: "1:00:00",
           correspondent: "张三",
           commander: "李四",
           firemen: "王五",
@@ -215,7 +216,7 @@ export default {
           equipName: "一七",
           carNumber: "沪X5477应急",
           carStatus: "出动",
-          disposeTime: "1:0000",
+          disposeTime: "1:00:00",
           correspondent: "张三",
           commander: "李四",
           firemen: "王五",
@@ -234,7 +235,7 @@ export default {
           equipName: "一七",
           carNumber: "沪X5477应急",
           carStatus: "出动",
-          disposeTime: "1:0000",
+          disposeTime: "1:00:00",
           correspondent: "张三",
           commander: "李四",
           firemen: "王五",
@@ -471,9 +472,9 @@ export default {
         }
         .rightTopNumber {
           justify-content: center;
-          span {
+          &>span {
             margin: 0 auto;
-            padding: 0.1rem 0.4rem;
+            padding: 0.1rem 0.2rem;
             font-size: 0.2125rem;
             border-radius: 0.1875rem;
             box-shadow: inset 0 0 0.2rem 0.0125rem #30cfff;

+ 51 - 39
src/views/enforcement-dynamic.vue

@@ -11,23 +11,26 @@
               <el-col class="leftTopBot">
                 <el-col
                   ><el-col>环比</el-col
-                  ><el-col>{{ (item.linkRelativeRatio *100).toFixed(0) }}%</el-col></el-col
+                  ><el-col
+                    >{{ (item.linkRelativeRatio * 100).toFixed(0) }}%</el-col
+                  ></el-col
                 >
                 <el-col
                   ><el-col>同比</el-col
-                  ><el-col>{{ (item.sameRatio *100).toFixed(0) }}%</el-col></el-col
+                  ><el-col
+                    >{{ (item.sameRatio * 100).toFixed(0) }}%</el-col
+                  ></el-col
                 >
               </el-col>
             </el-col>
-            <el-col :span="7">
-            </el-col>
+            <el-col :span="7"> </el-col>
           </el-row>
         </el-col>
         <el-col class="leftBot">
           <h4>行政许可情况</h4>
           <el-row class="leftBotTop">
             <el-row>
-              <el-col>{{ (alFsdAllNumber.qualifiedRadio * 100) || 0 }}%</el-col>
+              <el-col>{{ alFsdAllNumber.qualifiedRadio * 100 || 0 }}%</el-col>
               <el-col>合格率</el-col>
             </el-row>
           </el-row>
@@ -49,13 +52,29 @@
       </el-col>
     </transition>
     <transition name="el-fade-in-linear">
-      <el-col class="centerBox" :style="{'max-width':leftBtn && rightBtn ? '8rem' :!leftBtn &&  !rightBtn ? '100%' : leftBtn ||  rightBtn ? '16rem' : '8rem'}">
+      <el-col
+        class="centerBox"
+        :style="{
+          'max-width':
+            leftBtn && rightBtn
+              ? '8rem'
+              : !leftBtn && !rightBtn
+              ? '100%'
+              : leftBtn || rightBtn
+              ? '16rem'
+              : '8rem',
+        }"
+      >
         <el-row class="leftBtn btnW" @click="leftBtnClick()">
-          <i :class="leftBtn ? 'el-icon-arrow-left' : 'el-icon-arrow-right'"></i>
+          <i
+            :class="leftBtn ? 'el-icon-arrow-left' : 'el-icon-arrow-right'"
+          ></i>
         </el-row>
         <el-row class="centerContent" id="mapF"></el-row>
         <el-row class="rightBtn btnW" @click="rightBtnClick()">
-          <i :class="rightBtn ? 'el-icon-arrow-right' : 'el-icon-arrow-left'"></i>
+          <i
+            :class="rightBtn ? 'el-icon-arrow-right' : 'el-icon-arrow-left'"
+          ></i>
         </el-row>
         <el-row class="mapTips">
           <el-col class="greenImage">执法单位</el-col>
@@ -69,29 +88,28 @@
         <el-row class="rightContent">
           <h4>投诉举报情况</h4>
           <el-row class="rightTop">
-            <!-- <img src="~@a/img/enforce/bg6.png" alt="" /> -->
+            <!-- <img src="~@a/img/test/bg.png" alt="" /> -->
             <el-row class="graphChart">
-              <!-- <graph-chart
-                :dataMap="reportComplaintList"
-                ref="graphChart"
-                v-if="false && reportComplaintList.length > 0"
-              ></graph-chart>
-              <radar-chart
-                v-if="reportComplaintList.length > 0"
+              <word-cloud
+                ref="wordCloud"
                 :dataMap="reportComplaintList"
-                name="投诉举报情况"
-                ref="radarChart"
-              ></radar-chart> -->
-              <word-cloud ref="wordCloud"></word-cloud>
+              ></word-cloud>
             </el-row>
           </el-row>
           <el-row class="treeMap">
-            <tree-map
+            <!-- <tree-map
               :dataMap="reportComplaintList"
               ref="treeMap"
               v-if="reportComplaintList.length > 0"
               style="heighr:calc((100% - 0.2125rem)"
-            ></tree-map>
+            ></tree-map> -->
+            <category
+              ref="category"
+              v-if="reportComplaintList.length > 0"
+              :dataMap="reportComplaintList.slice(0,10).map((val) => val.value)"
+              :xData="reportComplaintList.slice(0,10).map((val) => val.name)"
+              color="#33BBFA"
+            ></category>
             <img src="~@a/img/enforce/bg7.png" alt="" />
           </el-row>
           <el-row class="rightBot">
@@ -141,10 +159,10 @@
 </template>
 
 <script>
-import treeMap from "@c/treemap";
 import wordCloud from "@c/wordCloud";
 import linstener from "@c/mixins/linstener";
 import map from "@c/mixins/map";
+import category from "@c/category";
 export default {
   data() {
     return {
@@ -154,7 +172,7 @@ export default {
         acceptNumber: 0,
         articleNumber: 0,
         checkNumber: 0,
-        qualifiedRadio:0,
+        qualifiedRadio: 0,
       },
       reportStatisticsObj: {
         complaintNumber: 0,
@@ -164,23 +182,18 @@ export default {
       },
     };
   },
-  components: { treeMap, wordCloud},
-  mixins: [linstener,map],
+  components: { category, wordCloud },
+  mixins: [linstener, map],
   created() {
     this.getData();
   },
   mounted() {
     window.addEventListener(
       "resize",
-      () =>
-        this.resizeTimeActions([
-          this.$refs.treeMap,
-          this.$refs.graphChart,
-          this.$refs.radarChart,
-        ]),
+      () => this.resizeTimeActions([this.$refs.category, this.$refs.wordCloud]),
       true
     );
-    this.initMap()
+    this.initMap();
   },
   methods: {
     async getData() {
@@ -341,7 +354,7 @@ export default {
         align-items: center;
         text-align: center;
         & > .el-row .el-col:first-child {
-          font-size: 0.675rem;
+          font-size: .5625rem;
           line-height: 0.75rem;
           color: #f4f70d;
         }
@@ -359,8 +372,8 @@ export default {
         & > .el-col {
           width: 100%;
           height: 0.7125rem;
-          background: url(~@a/img/enforce/bg5.png) no-repeat;
-          border-radius: .125rem;
+          // background: url(~@a/img/enforce/bg5.png) no-repeat;
+          border-radius: 0.125rem;
           background-size: 100% 100%;
           padding: 0 0.3rem;
           display: flex;
@@ -419,11 +432,10 @@ export default {
         position: relative;
         img {
           position: absolute;
-          bottom: 0;
+          height: 100%;
           left: 0;
           right: 0;
-          margin: 0 auto;
-          width: 95%;
+          margin: auto;
         }
         .graphChart {
           height: 100%;

+ 1 - 1
src/views/fire-data-analysis.vue

@@ -33,7 +33,7 @@
           <h4>火灾原因占比</h4>
           <el-row class="threeBox">
             <!-- :style="isVs3D?'padding-top:0.75rem':'padding-top:0'" -->
-            <div class="flexBoxE">
+            <div class="flexBoxE" :style="{'padding-top': isVsFirePie ? '0.75rem' : 0 }">
               <el-form v-show="isVsFirePie" :inline="true" size="mini" :model="fireCauseRatioObj">
                 <el-form-item label="街道:">
                   <el-select @change="getFireCause(1)" v-model="fireCauseRatioObj.address" placeholder="选择街道" filterable clearable >

+ 113 - 25
src/views/fire-signs.vue

@@ -6,10 +6,46 @@
           <h4>风险等级对比图</h4>
           <el-row class="threeBox">
             <div class="flexBoxE">
-              <fire-pie ref="firePie" :dataMap="fireCauseRatioList" :distance="200"></fire-pie>
+              <el-row>
+                <el-col>
+                  <span>挂牌督办</span>
+                  <el-progress  :text-inside="true" :percentage="20"  :stroke-width="25" color="#eb6262">
+                    <span>40家</span>
+                    <div class="totle"> 20%</div>
+                  </el-progress>
+                </el-col>
+                <el-col>
+                  <span>存在隐患</span>
+                  <el-progress :text-inside="true" :percentage="40"  :stroke-width="25" color="#eecd2d">
+                     <span>40家</span>
+                    <div class="totle"> 40%</div>
+                  </el-progress>
+                </el-col>
+                <el-col>
+                  <span>加强管理</span>
+                  <el-progress :text-inside="true" :percentage="80"  :stroke-width="25" color="#7689d6">
+                    <span>40家</span>
+                    <div class="totle"> 80%</div>
+                  </el-progress>
+                </el-col>
+                <el-col>
+                  <span>相对安全</span>
+                  <el-progress  :text-inside="true" :percentage="60"  :stroke-width="25" color="#20c098">
+                     <span>40家</span>
+                    <div class="totle"> 60%</div>
+                  </el-progress>
+                </el-col>
+              </el-row>
             </div>
           </el-row>
         </el-col>
+        <el-col class="leftBot">
+          <h4>举报投诉情况</h4>
+          <word-cloud
+            ref="wordCloud"
+            :dataMap="reportComplaintList"
+          ></word-cloud>
+        </el-col>
         <el-col class="leftBot">
           <h4>火灾趋势图</h4>
           <el-row class="leftBotContent">
@@ -33,7 +69,7 @@
               </el-form>
             </el-row>
             <el-row class="fireBar">
-              <category-line ref="categoryLine" :dataMap="timeData"></category-line>
+              <category-line ref="categoryLine" :dataMap="timeData" color="#FADC33" :borderRadius="[0,0,0,0]"></category-line>
             </el-row>
           </el-row>
         </el-col>
@@ -56,15 +92,15 @@
           <el-col class="rightTop">
             <h4>闵行区消防情况</h4>
               <radar-chart
-                v-if="reportComplaintList.length > 0"
-                :dataMap="reportComplaintList"
+                v-if="complaintList.length > 0"
+                :dataMap="complaintList"
                 name="闵行区消防情况"
                 ref="radarChart"
               ></radar-chart>
           </el-col>
           <el-col class="rightTop">
             <h4>各街镇单位情况</h4>
-             <category ref="category" :dataMap="timeData" color="red" :borderRadius="[0,0,0,0]"></category>
+             <category ref="category" :dataMap="[223,3323,4213,31341,21312,3123,123,123,123,1212]" color="#33BBFA" :borderRadius="[0,0,0,0]"></category>
           </el-col>
           <el-col class="rightBot">
             <h4>挂牌督改情况</h4>
@@ -85,13 +121,13 @@
 import linstener from "@c/mixins/linstener";
 import categoryLine from "@c/category-line";
 import category from "@c/category";
-import firePie from "@c/fire-pie";
 import seTable from "@c/se-table";
 import AMap from 'AMap'
 import map from "@c/mixins/map";
 import radarChart from "@c/radar";
+import wordCloud from "@c/wordCloud";
 export default {
-  components: { categoryLine, firePie, seTable, radarChart, category },
+  components: { categoryLine, wordCloud, seTable, radarChart, category },
   mixins: [linstener,map],
   data() {
     return {
@@ -106,16 +142,15 @@ export default {
       ],
       fireAddressList: [],
       fireTypeList: [],
-      reportComplaintList: [
-           {name: "查封情况",value: 34},
-           {name: "整改情况",value: 55},
-           {name: "消防隐患",value: 56},
-           {name: "设备设施",value: 58},
-           {name: "处罚情况",value: 12},
-           {name: "检查数量",value: 86},
-           {name: "接警处",value: 78},
-           {name: "出文情况",value: 41},
+      complaintList: [
+           {name: "设备状况",value: 341},
+           {name: "历史火灾",value: 155},
+           {name: "隐患状态",value: 156},
+           {name: "建筑整体",value: 118},
+           {name: "执法监管",value: 322},
+           {name: "场所行业等指数",value: 156},
       ],
+      reportComplaintList:[],
       fireCauseRatioList: [
         {name: "挂牌督办",value: 34,itemStyle: {opacity: 0.9,}},
         {name: "存在隐患",value: 22,itemStyle: {opacity: 0.9,}},
@@ -144,7 +179,7 @@ export default {
           this.$refs.categoryLine,
           this.$refs.category,
           this.$refs.radarChart,
-          this.$refs.firePie,
+          this.$refs.wordCloud,
         ]),
       true
     );
@@ -193,8 +228,20 @@ export default {
       this.getTrend();
       // this.getFireCause();
       this.getFireStatis();
+      this.getReportComplaint();
       // this.getPage();
     },
+    // 投诉举报情况 Top
+    async getReportComplaint() {
+      let res = await this.$axios.get(this.$api.siaeall.reportComplaint);
+      if (res)
+        this.reportComplaintList = res.data.map((val) => {
+          return {
+            name: val.type,
+            value: val.number,
+          };
+        });
+    },
     // 火灾趋势图 柱状图
     async getTrend() {
       let res = await this.$axios.get(
@@ -275,23 +322,22 @@ export default {
   background: #000;
 }
 .contentBox {
-  font-family: "DS", "DS-B", "DS-BB", "DS-BS";
+  // font-family: "DS", "DS-B", "DS-BB", "DS-BS";
   & > .el-col {
     flex: 1;
     height: 100%;
     max-width: 8rem;
   }
   .leftBox {
-    display: flex;
-    justify-content: space-between;
-    flex-direction: column;
     box-sizing: border-box;
     & > .el-col {
-      flex: 1;
-      background: url(~@a/img/enforce/bg1.png) no-repeat;
+      flex: none;
+      width: 100%;
+      height: calc(37.5% - 10px);
+      margin-top: 10px;
+      background: url('~@a/img/home/box-bg.png') no-repeat;
       background-size: 100% 100%;
       position: relative;
-      max-height: 51%;
       h4 {
         font-size: 0.2125rem;
         position: absolute;
@@ -305,10 +351,13 @@ export default {
     }
     .leftTop {
       padding: 0.375rem 0.45rem 0.1875rem;
-      margin-bottom: 0.125rem;
+      margin-top: 0;
       display: flex;
       justify-content: center;
       align-items: center;
+      height: 25%;
+      background: url('~@a/img/home/bg1.png') no-repeat;
+      background-size: 100% 100%;
       .threeBox {
         width: 100%;
         height: 100%;
@@ -324,6 +373,43 @@ export default {
           width: 100%;
           height: 100%;
           box-sizing: border-box;
+          /deep/ .el-progress{
+              .el-progress-bar__outer{
+                background: transparent;
+                border-radius: 0;
+              }
+              .el-progress-bar__inner{
+                text-align: left;
+                border-radius: 0;
+                span{
+                  font-size: .2rem;
+                }
+                .totle{
+                  padding-left: .125rem;
+                  position: absolute;
+                  left: 100%;
+                  line-height: .3125rem;
+                  top: 0;
+                  bottom: 0;
+                  font-size: .2rem;
+                  margin: auto;
+                }
+              }
+           }
+          &>.el-row{
+            font-size: .2rem;
+            .el-col{
+              display: flex;
+              margin-top: .125rem;
+              span{
+                margin-right: .125rem;
+              }
+              .el-progress{
+                flex: 1;
+                height: 25px;
+              }
+            }
+          }
           .el-form {
             text-align: center;
             .el-form-item {
@@ -427,6 +513,8 @@ export default {
       .rightBot{
         height: 20%;
         flex: none;
+        background: url('~@a/img/home/bg2.png') no-repeat;
+        background-size: 100% 100%;
       }
     }
   }

+ 112 - 71
src/views/rescue-station.vue

@@ -36,7 +36,7 @@
               :label="item.name"
             >
               <template v-if="item.prop === 'type'" #default="scope">
-                <el-tooltip placement="left">
+                <el-tooltip placement="right">
                   <template #content>
                     <div class="tableTooltip">
                       <div class="tableTitle">
@@ -106,65 +106,89 @@
     <transition name="el-fade-in-linear">
       <el-col class="rightBox" v-show="rightBtn">
         <div class="rightContent">
-          <h4>各站点执勤实力</h4>
-          <el-table
-            :data="tableData2"
-            class="transparentTableRow"
-            height="100%"
-            row-style="height:.425rem;"
-            cell-style="height:.425rem;box-sizing: border-box;"
-            style="width: 100%; margin: 0 auto;"
-            @expand-change="getFireSiteDuty"
-          >
-            <el-table-column type="expand">
-              <template #default="props">
-                <template v-if="props.row.children">
-                  <template v-for="(item,ind) in props.row.children" :key="ind">
-                    <el-row class="tableExpendTitle"> {{item.type}}(1辆车,{{item.personNumber}}人) </el-row>
-                    <el-row class="tableExpendcontent">
-                      <el-col>
-                        <img src="~@a/img/test/bg3.png" alt="" />
-                        <div>{{ item.carNumber }}</div>
-                        <div>车牌号</div>
-                      </el-col>
-                      <el-col>
-                        <img src="~@a/img/test/bg7.png" alt="" />
-                        <div>{{ item.correspondent }}</div>
-                        <div>指挥员</div>
-                      </el-col>
-                      <el-col>
-                        <img src="~@a/img/test/bg7.png" alt="" />
-                        <div>{{ item.commander }}</div>
-                        <div>通讯员</div>
-                      </el-col>
-                      <el-col>
-                        <img src="~@a/img/test/bg7.png" alt="" />
-                        <div>{{ item.firemen }}</div>
-                        <div>消防员</div>
-                      </el-col>
-                      <el-col>
-                        <img src="~@a/img/test/bg7.png" alt="" />
-                        <div>{{ item.driver }}</div>
-                        <div>驾驶员</div>
-                      </el-col>
-                    </el-row>
+          <el-col class="rightTop">
+            <h4>各站点执勤实力</h4>
+            <el-table
+              :data="tableData2"
+              class="transparentTableRow"
+              height="100%"
+              row-style="height:.425rem;"
+              cell-style="height:.425rem;box-sizing: border-box;"
+              style="width: 100%; margin: 0 auto;"
+              @expand-change="getFireSiteDuty"
+            >
+              <el-table-column type="expand">
+                <template #default="props">
+                  <template v-if="props.row.children">
+                    <template v-for="(item,ind) in props.row.children" :key="ind">
+                      <el-row class="tableExpendTitle"> {{item.type}}(1辆车,{{item.personNumber}}人) </el-row>
+                      <el-row class="tableExpendcontent">
+                        <el-col>
+                          <img src="~@a/img/test/bg3.png" alt="" />
+                          <div>{{ item.carNumber }}</div>
+                          <div>车牌号</div>
+                        </el-col>
+                        <el-col>
+                          <img src="~@a/img/test/bg7.png" alt="" />
+                          <div>{{ item.correspondent }}</div>
+                          <div>指挥员</div>
+                        </el-col>
+                        <el-col>
+                          <img src="~@a/img/test/bg7.png" alt="" />
+                          <div>{{ item.commander }}</div>
+                          <div>通讯员</div>
+                        </el-col>
+                        <el-col>
+                          <img src="~@a/img/test/bg7.png" alt="" />
+                          <div>{{ item.firemen }}</div>
+                          <div>消防员</div>
+                        </el-col>
+                        <el-col>
+                          <img src="~@a/img/test/bg7.png" alt="" />
+                          <div>{{ item.driver }}</div>
+                          <div>驾驶员</div>
+                        </el-col>
+                      </el-row>
+                    </template>
                   </template>
                 </template>
-              </template>
-            </el-table-column>
-            <el-table-column
-              show-overflow-tooltip
-              v-for="item in headerData"
-              :key="item.prop"
-              :prop="item.prop"
-              align="center"
-              min-width="20"
-              :label="item.name"
+              </el-table-column>
+              <el-table-column
+                show-overflow-tooltip
+                v-for="item in headerData"
+                :key="item.prop"
+                :prop="item.prop"
+                align="center"
+                min-width="20"
+                :label="item.name"
+              >
+              </el-table-column>
+            </el-table>
+          </el-col>
+          <el-col class="rightBot">
+            <h4>消防科普教育基地</h4>
+            <el-table
+              :data="tableData3"
+              class="transparentTableRow"
+              height="100%"
+              row-style="height:.425rem;"
+              cell-style="height:.425rem;box-sizing: border-box;"
+              style="width: 100%; margin: 0 auto"
             >
-            </el-table-column>
-          </el-table>
+              <el-table-column
+                v-for="item in headerData3"
+                show-overflow-tooltip
+                :key="item.prop"
+                :prop="item.prop"
+                align="center"
+                min-width="20"
+                :label="item.name"
+              >
+              </el-table-column>
+            </el-table>
+          </el-col>
         </div>
-      </el-col>
+      </el-col> 
     </transition>
   </el-row>
 </template>
@@ -356,6 +380,15 @@ export default {
         { prop: "department", name: "所属中队" },
         { prop: "status", name: "状况" },
       ],
+      headerData3: [
+        { prop: "type", name: "消防站" },
+        { prop: "policeTime", name: "成立时间/联系人" },
+        { prop: "alertLevel", name: "站点地址" },
+        { prop: "address", name: "预约电话" },
+      ],
+      tableData3:[
+        {type:'闵行消防救援站',policeTime:'1995年',alertLevel:'碧江路370号',address:'021-64880119',}
+      ],
       unitBeOnDutyList: [],
     };
   },
@@ -454,12 +487,9 @@ export default {
     height: 100%;
   }
   .leftBox {
-    display: flex;
-    justify-content: space-between;
-    flex-direction: column;
     box-sizing: border-box;
     & > .el-col {
-      flex: 1;
+      height: calc(50% - 5px);
       background: url(~@a/img/enforce/bg1.png) no-repeat;
       background-size: 100% 100%;
       position: relative;
@@ -578,20 +608,31 @@ export default {
     .rightContent {
       width: 100%;
       height: 100%;
-      background: url(~@a/img/enforce/bg2.png) no-repeat;
       background-size: 100% 100%;
       box-sizing: border-box;
-      padding: 0.4375rem 0.4375rem;
       position: relative;
-      h4 {
-        font-size: 0.2125rem;
-        position: absolute;
-        left: 0;
-        right: 0;
-        top: 0;
-        margin: 0 auto;
-        text-align: center;
-        color: #00ffff;
+      & > .el-col {
+        padding: 0.5rem 0.35rem 0.25rem;
+        background: url(~@a/img/enforce/bg1.png) no-repeat;
+        background-size: 100% 100%;
+        position: relative;
+        h4 {
+          font-size: 0.2125rem;
+          position: absolute;
+          left: 0;
+          right: 0;
+          top: 0;
+          margin: 0 auto;
+          text-align: center;
+          color: #00ffff;
+        }
+      }
+      .rightTop{
+        height: 60%;
+      }
+      .rightBot{
+        margin-top: 10px;
+        height: calc(40% - 10px);
       }
       .tableExpendTitle {
         color: #00fffc;

+ 1 - 1
src/views/security-plan.vue

@@ -16,7 +16,7 @@ export default {
 .el-row {
   width: 100%;
   height: 100%;
-  background: url(~@a/img/test/bg5.png) no-repeat;
+  // background: url(~@a/img/test/bg5.png) no-repeat;
   background-size: 100% 100%;
 }
 </style>

+ 2 - 1
src/views/water-sources.vue

@@ -457,8 +457,9 @@ export default {
         & > .el-col {
           width: 100%;
           height: 0.6875rem;
-          background: url(~@a/img/enforce/bg5.png) no-repeat;
+          // background: url(~@a/img/enforce/bg5.png) no-repeat;
           background-size: 100% 100%;
+          border-radius: 0.125rem;
           padding: 0 0.3rem;
           display: flex;
           justify-content: space-between;

Some files were not shown because too many files changed in this diff