diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..064e9f6 --- /dev/null +++ b/.env.development @@ -0,0 +1,11 @@ +# 页面标题 +VUE_APP_TITLE = 北跨泾河-产发工程数字管理平台 + +# 开发环境配置 +ENV = 'development' + +# 北跨泾河-产发工程数字管理平台/开发环境 +VUE_APP_BASE_API = '/jhapi' + +# 路由懒加载 +VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..a4d6828 --- /dev/null +++ b/.env.production @@ -0,0 +1,8 @@ +# 页面标题 +VUE_APP_TITLE = 北跨泾河-产发工程数字管理平台 + +# 生产环境配置 +ENV = 'production' + +# 北跨泾河-产发工程数字管理平台/生产环境 +VUE_APP_BASE_API = '/jhapi' diff --git a/.env.staging b/.env.staging new file mode 100644 index 0000000..8c5c8b2 --- /dev/null +++ b/.env.staging @@ -0,0 +1,10 @@ +# 页面标题 +VUE_APP_TITLE = 北跨泾河-产发工程数字管理平台 + +NODE_ENV = production + +# 测试环境配置 +ENV = 'staging' + +# 北跨泾河-产发工程数字管理平台/测试环境 +VUE_APP_BASE_API = '/stage-api' diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..ab3b87d --- /dev/null +++ b/.eslintignore @@ -0,0 +1,6 @@ +/node_modules +/dist +/src/* +/package-lock.json +.DS_Store +vue.config.js \ No newline at end of file diff --git a/.gitignore b/.gitignore index a19f004..73d4419 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,23 @@ -# ---> Vue -# gitignore template for Vue.js projects -# -# Recommended template: Node.gitignore +.DS_Store +node_modules +/dist +/doc -# TODO: where does this rule come from? -docs/_book +# local env files +.env.local +.env.*.local -# TODO: where does this rule come from? -test/ +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/README.md b/README.md index 7cb4267..370dec0 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,24 @@ -# jhbigscreen +# v3 -jhbigscreen \ No newline at end of file +## Project setup +``` +yarn install +``` + +### Compiles and hot-reloads for development +``` +yarn serve +``` + +### Compiles and minifies for production +``` +yarn build +``` + +### Lints and fixes files +``` +yarn lint +``` + +### Customize configuration +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..e955840 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset' + ] +} diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000..4aafc5f --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "es5", + "module": "esnext", + "baseUrl": "./", + "moduleResolution": "node", + "paths": { + "@/*": [ + "src/*" + ] + }, + "lib": [ + "esnext", + "dom", + "dom.iterable", + "scripthost" + ] + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..dcacb0c --- /dev/null +++ b/package.json @@ -0,0 +1,51 @@ +{ + "name": "v3", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "axios": "0.24.0", + "core-js": "^3.8.3", + "dayjs": "^1.11.9", + "element-ui": "^2.15.13", + "file-saver": "2.0.5", + "js-cookie": "^3.0.5", + "less": "^4.1.3", + "less-loader": "^11.1.3", + "vue": "^2.6.14", + "vue-router": "^4.2.2" + }, + "devDependencies": { + "@babel/core": "^7.12.16", + "@babel/eslint-parser": "^7.12.16", + "@vue/cli-plugin-babel": "~5.0.0", + "@vue/cli-plugin-eslint": "~5.0.0", + "@vue/cli-service": "~5.0.0", + "eslint": "^7.32.0", + "eslint-plugin-vue": "^8.0.3", + "vue-template-compiler": "^2.6.14" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/essential", + "eslint:recommended" + ], + "parserOptions": { + "parser": "@babel/eslint-parser" + }, + "rules": {} + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead" + ] +} diff --git a/public/css/largeScreenLayout.css b/public/css/largeScreenLayout.css new file mode 100644 index 0000000..cea2b17 --- /dev/null +++ b/public/css/largeScreenLayout.css @@ -0,0 +1,148 @@ +.screen-module{ + padding: 10px; +} +.module-title{ + height: 25px; + line-height: 25px; + padding-left: 15px; + font-size: 16px; +} +.module-title-red{ + padding-left: 40px; +} + +.screen-one-1-1{ + height: 310px; + background: url("../images/one/1x1.png") no-repeat center/100% 100%; +} +.screen-one-1-2{ + height: 310px; + background: url("../images/one/1x2.png") no-repeat center/100% 100%; +} +.screen-one-1-3{ + height: 310px; + background: url("../images/one/1x3.png") no-repeat center/100% 100%; +} +.screen-one-1-4{ + height: 310px; + background: url("../images/one/1x4.png") no-repeat center/100% 100%; +} + +.screen-one-2-1{ + height: 640px; + background: url("../images/one/2x1.png") no-repeat center/100% 100%; +} +.screen-one-2-2{ + height: 640px; + background: url("../images/one/2x2.png") no-repeat center/100% 100%; +} +.screen-one-2-3{ + height: 640px; + background: url("../images/one/2x3.png") no-repeat center/100% 100%; +} +.screen-one-2-4{ + height: 640px; + background: url("../images/one/2x4.png") no-repeat center/100% 100%; +} + +.screen-one-3-1{ + height: 970px; + background: url("../images/one/3x1.png") no-repeat center/100% 100%; +} +.screen-one-3-2{ + height: 970px; + background: url("../images/one/3x2.png") no-repeat center/100% 100%; +} +.screen-one-3-3{ + height: 970px; + background: url("../images/one/3x3.png") no-repeat center/100% 100%; +} +.screen-one-3-4{ + height: 970px; + background: url("../images/one/3x4.png") no-repeat center/100% 100%; +} + + + +.screen-two-1-1{ + height: 290px; + background: url("../images/two/1x1.png") no-repeat center/100% 100%; +} +.screen-two-1-2{ + height: 290px; + background: url("../images/two/1x2.png") no-repeat center/100% 100%; +} +.screen-two-1-3{ + height: 290px; + background: url("../images/two/1x3.png") no-repeat center/100% 100%; +} +.screen-two-1-4{ + height: 290px; + background: url("../images/two/1x3.png") no-repeat center/100% 100%; +} + + +.screen-two-2-1{ + height: 600px; + background: url("../images/two/2x1.png") no-repeat center/100% 100%; +} +.screen-two-2-2{ + height: 600px; + background: url("../images/two/2x2.png") no-repeat center/100% 100%; +} +.screen-two-2-3{ + height: 600px; + background: url("../images/two/2x3.png") no-repeat center/100% 100%; +} +.screen-two-2-4{ + height: 600px; + background: url("../images/two/2x4.png") no-repeat center/100% 100%; +} + +.screen-two-3-1{ + height: 920px; + background: url("../images/two/3x1.png") no-repeat center/100% 100%; +} +.screen-two-3-2{ + height: 920px; + background: url("../images/two/3x2.png") no-repeat center/100% 100%; +} +.screen-two-3-3{ + height: 920px; + background: url("../images/two/3x3.png") no-repeat center/100% 100%; +} +.screen-two-3-4{ + height: 920px; + background: url("../images/two/3x4.png") no-repeat center/100% 100%; +} + + + + +.screen-red-1-1{ + height: 310px; + background: url("../images/red/1x1.png") no-repeat center/100% 100%; +} +.screen-red-1-2{ + height: 310px; + background: url("../images/red/1x2.png") no-repeat center/100% 100%; +} +.screen-red-2-2{ + height: 640px; + background: url("../images/red/2x2.png") no-repeat center/100% 100%; +} + + +.screen-big{ + height: 310px; + background: url("../images/red/big_bgd.png") no-repeat center/100% 100%; +} + +.screen-one-0-5{ + height: 475px; + background: url("../images/red/0x5.png") no-repeat center/100% 100%; +} +.screen-one-video{ + height: 970px; + background: url("../images/red/video.png") no-repeat center/100% 100%; +} \ No newline at end of file diff --git a/public/css/largeScreenStyle.css b/public/css/largeScreenStyle.css new file mode 100644 index 0000000..408de3d --- /dev/null +++ b/public/css/largeScreenStyle.css @@ -0,0 +1,3294 @@ +*{ + margin: 0; + padding: 0; +} +@font-face { + font-family: "title-font"; + src:url(../fonts/HYLXTJ.eot),url(../fonts/HYLXTJ.svg),url(../fonts/HYLXTJ.ttf),url(../fonts/HYLXTJ.woff),url(../fonts/HYLXTJ.woff2) +} +@font-face { + font-family: "number-font"; + src:url(../fonts/PUTHIAfont.eot),url(../fonts/PUTHIAfont.svg),url(../fonts/PUTHIAfont.ttf),url(../fonts/PUTHIAfont.woff),url(../fonts/PUTHIAfont.woff2) +} +body{ + width:1920px; + height: 1080px; + background:#010117; + color: #ffffff; + font-size: 16px; +} +body::-webkit-scrollbar{ + width: 0px; + height: 0px; +} +p,label,ul{ + margin: 0; + font-weight: 400; +} +table{ + width: 100%; +} +.anchorBL { + display:none; +} +[v-cloak] { + display: none; +} +/*背景视频*/ +.background_video video{ + width:1920px; + height: 1080px; + position: absolute; +} +.screen-content-max{ + position: absolute; + width:1920px; + height: 1080px; + top: 0; + left: 0; + background: rgba(0,0,0,0.5); +} +.screen-content{ + padding: 10px 15px; +} +/*head*/ +.head-title{ + height: 70px; + background: url("../images/head_title.png") no-repeat center/100% 65px; + display: flex; +} +.head-title-label{ + width: 22%; + font-size: 28px; + position: relative; + padding-left: 15px; + padding-top: 15px; + font-family: "title-font"; + background-image:-webkit-linear-gradient(bottom,#3da2ff,#3ea4ff,#96f3ff); + -webkit-background-clip:text; + -webkit-text-fill-color:transparent; +} +.head-title-tab{ + width: 40% ; + padding-top: 23px; + display: flex; +} +.head-title-select{ + padding-top: 23px; + width: 12% ; + position: relative; +} +.head-title-date{ + padding-top: 15px; + width: 15% ; + display: flex; + align-items: center; +} +.head-nav{ + width: 105px; + height: 35px; + line-height: 35px; + text-align: center; + color: #6383aa; + cursor: pointer; + background: url("../images/title_tab.png") no-repeat center/100% 100%; +} +.head-nav.active{ + background: url("../images/title_tab_active.png") no-repeat center/100% 100%; + color: #ffffff; +} +.head-nav:hover{ + color: #86b2e3; +} +.head-nav.active:hover{ + color: #ffffff; +} +.head-select{ + height: 35px; + padding-left: 25px; + padding-right: 30px; + background: url("../images/head_select.png") no-repeat center/100% 100%; +} +.head-select input{ + height: 100%; + width: 100%; + border: 0; + outline: 0; + background:0; + color: #1ce7ff; + cursor: pointer; + overflow: hidden; + white-space:nowrap; + text-overflow:ellipsis; +} +.head-select input::-webkit-input-placeholder{ + color: #6ca5b1; +} +.header-screen-ul{ + list-style: none; + width: 90%; + position: absolute; + max-height: 600px; + border: 1px solid #05556b; + left: 5%; + background: #00092a; + overflow: auto; + color: #02a6ff; + border-radius: 3px; + z-index: 99999; +} +.header-screen-ul::-webkit-scrollbar { + width: 10px; + height: 1px; +} +.header-screen-ul::-webkit-scrollbar-thumb { + border-radius: 10px; + background: #192c64; +} +.header-screen-ul::-webkit-scrollbar-track { + border-radius: 10px; + background: #010b2d; +} +.header-screen-ul li{ + padding: 10px; + cursor: pointer; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.header-screen-ul li:hover{ + background: #031348; + color: #1ce7ff; +} +.head-title-time{ + width: 45%; + text-align: center; +} +.head-title-weather{ + width: 55%; + display: flex; + align-items: center; +} +.head-title-weather img{ + width: 30px; + height: 30px; +} +.head-title-weather span{ + padding: 0 5px; +} +.head-title-date-con{ + font-size: 12px; + color: #63baff; +} +.head-title-time-con{ + font-size: 20px; + font-weight: bold; + color: #63baff; +} +/*红色head*/ +.head-title.red-head{ + background: url("../images/head_title_red.png") no-repeat center/100% 65px; +} +.red-head .head-title-label{ + background-image:-webkit-linear-gradient(bottom,#bc3833,#fb9e97,#ffffff); +} +.red-head .head-nav{ + color: #ff9b96; + background: url("../images/title_tab_red.png") no-repeat center/100% 100%; +} +.red-head .head-nav.active{ + background: url("../images/title_tab_active_red.png") no-repeat center/100% 100%; + color: #ffffff; +} +.red-head .head-nav:hover{ + color: #fcc0bd; +} +.red-head .head-nav.active:hover{ + color: #ffffff; +} +.red-head .head-select{ + background: url("../images/head_select_red.png") no-repeat center/100% 100%; +} +.red-head .head-select input{ + color: #ffffff; +} +.red-head .head-select input::-webkit-input-placeholder{ + color: #fd7569; +} +.red-head .header-screen-ul{ + border: 1px solid #da8f89; + background: #901c14; + color: #fbcbc9; +} +.red-head .header-screen-ul::-webkit-scrollbar { + width: 10px; + height: 1px; +} +.red-head .header-screen-ul::-webkit-scrollbar-thumb { + border-radius: 10px; + background: #c34a3f; +} +.red-head .header-screen-ul::-webkit-scrollbar-track { + border-radius: 10px; + background: #901c14; +} +.red-head .header-screen-ul li{ + padding: 10px; + cursor: pointer; +} +.red-head .header-screen-ul li:hover{ + background: #9a3b33; + color: #ffffff; +} +.red-head .head-title-date-con{ + color: #ffffff; +} +.red-head .head-title-time-con{ + color: #ffffff; +} + +/*设备概况*/ +.survey_title{ + display: flex; + justify-content: space-evenly; + align-items: center; + padding: 30px 15px; +} +.survey_title_btn{ + position: relative; + width: 33.33%; + color: #7f9ebd; +} +.survey_title_btn_min{ + width: 100px; + height: 30px; + text-align: center; + line-height: 30px; + margin: auto; + cursor: pointer; + background: url("../images/survey_btn.png") no-repeat center/100% 100%; +} +.survey_title_btn_min:hover{ + color: #ffffff; +} +.survey_title_btn_min.active{ + width: 120px; + height: 40px; + line-height: 40px; + color: #ffffff; + background: url("../images/survey_btn_active.png") no-repeat center/100% 100%; +} +.survey_content{ + display: flex; + align-items: center; + justify-content: center; +} +.survey_content_img{ + width: 90px; + height: 90px; + text-align: center; + line-height: 90px; + position: relative; + background: url("../images/survey_total_icon.png") no-repeat bottom/90px 60px; +} +@keyframes icon { + 0% { + transform: translate(0px, 0px); + } + 50% { + transform: translate(0px, 15px); /* 可配置跳动方向 */ + } + 100% { + transform: translate(0px, 0px); + } +} +.survey_content_img img,.survey_content_img svg{ + width: 40px; + height: 40px; + animation: icon 3s infinite; + -webkit-animation: icon 3s infinite; +} +.survey_content_number{ + padding-left: 15px; + color: #cbdaff; + font-size: 16px; +} +.survey_content_number p{ + padding-bottom: 15px; +} +.survey_content_value span{ + font-size: 25px; + font-style: italic; + font-weight: bold; + color: #87e3fa; + padding-right: 5px; +} +.survey_text{ + width: 120px; + height: 28px; + margin: auto; + animation:myfirst 2s; + -webkit-animation:myfirst 2s infinite; /* Safari and Chrome */ +} +@keyframes myfirst { + 0% {opacity:0.4;} + 25% {opacity:0.7;} + 50% {opacity:1;} + 75% {opacity:0.7;} + 100% {opacity:0.4;} +} +.survey_text_zy{ + background: url("../images/survey_bgd_zy.png") no-repeat center/100% 100%; +} +.survey_text_zl{ + background: url("../images/survey_bgd_zy.png") no-repeat center/100% 100%; +} +.survey_text_fb{ + background: url("../images/survey_bgd_zy.png") no-repeat center/100% 100%; +} +.survey_text_value{ + position: absolute; + top: 0; + height: 28px; + color: #cbdaff; + line-height: 28px; + padding-left: 45px; + display: flex; + align-items: center; +} +.survey_text_value span{ + color: #00aaff; + font-size: 16px; + padding-left: 10px; + font-weight: bold; +} +/*当日预警信息*/ +.warning-info{ + padding: 0 15px; +} +.warning-info-title{ + padding: 15px 0; + display: flex; +} +.warning-info-title div{ + color: #69839e; + padding: 0 20px 0 12px; + cursor: pointer; +} +.warning-info-title .active{ + color: #51b5ff; + background: url("../images/check_icon.png") no-repeat left/8px 15px; +} +.warning-info-title div:hover{ + color: #51b5ff; +} + +/*操作证情况*/ +.czz-number{ + display: flex; + align-items: center; + justify-content: space-around; + padding: 30px 10px; +} +.czz-number-content{ + display: flex; +} +.czz-number-img{ + width: 60px; + height: 60px; + text-align: center; + line-height: 80px; +} +.czz-number-img-blue{ + background: url("../images/circle_blue.gif") no-repeat center/100% 100%; +} +.czz-number-img-green{ + background: url("../images/circle_green.gif") no-repeat center/100% 100%; +} +.survey_content_value_color_green span{ + color: #5bf8b5; +} + +/*管理人员情况*/ +.glr-max{ + padding:30px 10px; +} +.glr-min{ + padding:0 10px; +} +.glr-title{ + background: url("../images/check_icon.png") no-repeat left/10px 20px; + padding-left: 15px; +} +.people-number-con{ + padding: 35px 0; + display: flex; + align-items: center; +} +.people-number-con div{ + width: 30px; + height: 45px; + background: url("../images/number_bgd.png") no-repeat center/100% 100%; + margin-right: 10px; + text-align: center; + line-height: 45px; + font-size: 30px; + font-family: 'number-font'; +} +.glr-login-rate{ + display: flex; + align-items: center; + justify-content: space-between; + padding: 8px 10px 8px 15px; + background: url("../images/title_icon.png") no-repeat left/10px 15px; + color: #cbdaff; +} +.glr-rate-value span{ + font-size: 18px; + color: #ffffff; + font-weight: bold; +} +.glr-rate-red-value span{ + color: #f23644; +} +.glr-login-number-max{ + position: relative; + padding: 22px 0; +} +.glr-login-number-bgd{ + height: 30px; + background: url("../images/text_bgd.png") no-repeat center/100% 30px; + animation:myfirst 2s; + -webkit-animation:myfirstbgd 2s infinite; +} +.glr-login-number-red-bgd{ + background: url("../images/text_red_bgd.png") no-repeat center/100% 30px; +} +@keyframes myfirstbgd { + 0% {opacity:0.4;} + 25% {opacity:0.7;} + 50% {opacity:1;} + 75% {opacity:0.7;} + 100% {opacity:0.4;} +} +.glr-login-number{ + position: absolute; + width: 95%; + top: 25px; + padding:0 5px; + display: flex; + align-items: center; + justify-content: space-between; +} +.glr-login-number img{ + margin-right: 5px; +} + +/*打卡管控提示*/ +.table-head{ + text-align: center; + color: #45e9ff; + height: 40px; + line-height: 40px; +} + +.table-body{ + height: 180px; + overflow: auto; +} +.table-body::-webkit-scrollbar{ + width: 0px; + height: 0px; +} +.table-tr{ + height: 60px; + line-height: 60px; + background: url("../images/table_tr.png") no-repeat center/100% 50px; +} +.table-td{ + padding: 0 5px; + text-align: center; + overflow: hidden; + white-space:nowrap; + text-overflow:ellipsis; + color: #cbdaff; +} + +/*中国地图*/ + +.indicators-chart{ + padding: 10px; +} +.indicators-chart-max{ + position: relative; +} +.indicators-chart-bgd{ + background: url("../images/text_bgd.png") no-repeat left/100% 100%; + height: 40px; + animation:myfirst 2s; + -webkit-animation:textbgd 2s infinite; +} +@keyframes textbgd { + 0% {opacity:0.4;} + 25% {opacity:0.7;} + 50% {opacity:1;} + 75% {opacity:0.7;} + 100% {opacity:0.4;} +} +.indicators-chart-title{ + display: flex; + align-items: center; + padding: 0 15px; + width: 100%; + position: absolute; + top: 9px; +} +.indicators-chart-title img{ + width: 10px; + height: 20px; +} +.indicators-chart-text{ + padding: 0 10px; + color: #cbdaff; +} +.indicators-chart-text span{ + font-size: 16px; + color: #ffffff; +} +.indicators-chart-content{ + display: flex; + align-items: center; +} +.indicators-chart-min{ + width: 20%; +} +/*设备运行动态*/ +.chart-gif{ + width: 110px; + height: 110px; + position: absolute; + top: 57px; + left: 172px; + background: url("../images/run_circle.png") no-repeat center/100% 100%; +} +.chart-gif{ + -webkit-transition-property: -webkit-transform; + -webkit-transition-duration: 1s; + -moz-transition-property: -moz-transform; + -moz-transition-duration: 1s; + -webkit-animation: rotate 3s linear infinite; + -moz-animation: rotate 3s linear infinite; + -o-animation: rotate 3s linear infinite; + animation: rotate 3s linear infinite; +} +@-webkit-keyframes rotate{from{-webkit-transform: rotate(360deg)} + to{-webkit-transform: rotate(0deg)} +} +@-moz-keyframes rotate{from{-moz-transform: rotate(359deg)} + to{-moz-transform: rotate(0deg)} +} +@-o-keyframes rotate{from{-o-transform: rotate(359deg)} + to{-o-transform: rotate(0deg)} +} +@keyframes rotate{from{transform: rotate(359deg)} + to{transform: rotate(0deg)} +} + + +/*打卡管控提示*/ +.warning-info-table .el-table__body-wrapper::-webkit-scrollbar { + width: 0px; + height: 0px; +} +.warning-info-table .el-table .cell{ + padding: 0 5px; +} +.warning-info-table .el-table{ + background: none; +} +.warning-info-table .el-table th, .el-table tr{ + background: none; +} +.warning-info-table .el-table th{ + height: 50px; + text-align: center; + color: #1ce7ff; +} +.warning-info-table .el-table td{ + height: 60px; + text-align: center; + padding: 0; +} +.warning-info-table .el-table td, .el-table th.is-leaf{ + border: 0; +} +.warning-info-table .el-table .el-table__row{ + background: url("../images/text_red_safe_bgd.png") no-repeat center/100% 40px; +} +.warning-info-table .el-table--enable-row-hover .el-table__body tr:hover>td{ + background: none !important; +} +.warning-info-table .el-table::before{ + background: none; +} + +/*分类及工时情况*/ +.classify-situation{ + height: 57px; +} +.classify-title{ + padding-top: 8px; + display: flex; + justify-content: space-between; + align-items: center; +} +.classify-title-text{ + color: #a2c8f9; +} +.classify-title-text span{ + background: url("../images/up.png") no-repeat left/10px 8px; + padding: 0 12px 0 15px; + color: #fcbc02; + font-style: italic; +} +.classify-value{ + display: flex; + align-items: center; +} +.classify-total{ + padding-right: 10px; + color: #a2c8f9; +} +.classify-total span{ + padding-right: 5px; + font-weight: bold; + font-size: 16px; +} +.classify-value-data{ + color: #a2c8f9; +} +.classify-value-data span{ + font-size: 16px; + font-weight: bold; + padding: 0 5px; +} +.classify-data-1{ + color: #1ce7ff; +} +.classify-data-2{ + color: #4670fa; +} +.classify-chart-max{ + padding-top: 10px; +} +.classify-chart{ + height: 6px; + background: #031f47; + display: flex; +} +.classify-chart-left{ + height: 6px; + background: #1ce7ff; +} +.classify-chart-right{ + height: 6px; + background: #3367df; +} + +/*机械项目级*/ +/*地图滚动条*/ +.china-map::-webkit-scrollbar { + width: 10px; + height: 1px; +} +.china-map::-webkit-scrollbar-thumb { + border-radius: 10px; + background: #192c64; +} +.china-map::-webkit-scrollbar-track { + border-radius: 10px; + background: #010b2d; +} + +/*设备概况*/ +.survey-oil-max{ + padding:0 20px; +} +.survey-oil-min{ + padding: 8px 0; +} +.survey-oil-title{ + position: relative; + padding: 20px 0; +} +.survey-oil-hr{ + border-bottom: 1px dashed #1d3d56; +} +.survey-oil-text{ + position: absolute; + top: 10px; + font-size: 14px; + padding: 0 15px; + color: #c0dafb; + background: #000b25 url("../images/check_icon.png") no-repeat left/8px 15px; +} +.survey-oil-data{ + padding: 10px; + color: #a2c8f9; +} +.survey-oil-hour{ + height: 30px; + line-height: 30px; +} +.survey-oil-hour span{ + font-size: 20px; + color: #52afff; + font-weight: bold; + padding-right: 5px; +} +.survey-oil-label{ + height: 30px; + line-height: 30px; + background: url("../images/right.png") no-repeat left/8px 15px; + padding-left: 15px; +} +.survey-oil-prop{ + height: 30px; + line-height: 30px; + text-align: right; +} +.survey-oil-prop span{ + font-weight: bold; + font-size: 20px; + padding-right: 5px; +} +.color-white{ + color: #ffffff; +} +.color-yellow{ + color: #fde463; +} +.color-green{ + color: #25bb4d; +} +/*利用率*/ +.rank-max{ + padding: 0 20px; +} +.rank-min{ + padding-bottom: 15px; +} +.rank-con{ + background: #01244c; + height: 40px; + display: flex; + justify-content: space-between; + align-items: center; + padding-left: 5px; +} +.rank-con-title{ + display: flex; + align-items: center; +} +.rank-con-title img{ + width: 40px; + height: 40px; + margin-right: 8px; +} +.rank-con-try{ + color: #00f1fc; +} +.rank-con-data{ + width: 100px; + height: 40px; + background: url("../images/ratio_bgd.png") no-repeat center/100% 100%; + text-align: right; + line-height: 40px; + padding-right: 10px; + color: #a2c8f9; +} +.rank-con-data span{ + color: #ffffff; + font-size: 18px; + font-weight: bold; +} +.rank-chart{ + padding: 0 15px; + color: #c0dafb; +} +.rank-chart-title{ + height: 40px; + line-height: 40px; + padding-left: 35px; + background: url("../images/utilization.png") no-repeat left/30px 40px; + font-size: 16px; + border-bottom: 1px solid #2c4e74; +} +/*平均工时*/ +.time-study-max{ + padding:0 20px; +} +.time-study-title{ + padding: 15px 0; +} +.time-study-value{ + padding:5px 10px; + text-align: center; +} +.time-study-value p{ + padding: 15px 0; + font-size: 16px; +} +.time-study-value-num{ + color: #a2c8f9; +} +.time-study-value-num span{ + font-size: 22px; + color: #59affa; + font-weight: bold; +} +/*油耗分析*/ +.average-oil label{ + color: #ffffff; +} +.average-oil span{ + font-size: 16px; + color: #59affa; + padding: 0 5px; + font-weight: bold; +} +/*闲置列表*/ +.idle-list{ + padding:20px 15px; +} +.idle-list .el-table__body-wrapper::-webkit-scrollbar { + width: 0px; + height: 0px; +} +.idle-list .el-table .cell{ + padding: 0 5px; +} +.idle-list .el-table{ + background: none; +} +.idle-list .el-table th, .el-table tr{ + background: none; +} +.idle-list .el-table th{ + height: 40px; + color: #ffffff; + background: #193854; + padding: 0; +} +.idle-list .el-table td{ + height: 40px; + padding: 0; + color: #a2c8f9; +} +.idle-list .el-table td, .el-table th.is-leaf{ + border: 0; +} +.idle-list .el-table--enable-row-hover .el-table__body tr:hover>td{ + background: none !important; +} +.idle-list .el-table::before{ + background: none; +} + +.idle-list-color{ + color: #f05e35; +} + +/*预警分析*/ +.analyse-max{ + padding: 10px; +} +.analyse-min{ + height: 260px; +} +.analyse-title{ + height: 40px; + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 20px; + background: url("../images/analyse_title.png") no-repeat left/100% 100%; +} +.analyse_title_blue{ + background: url("../images/analyse_title_blue.png") no-repeat left/100% 100%; +} +.analyse-text{ + line-height: 40px; + font-size: 16px; +} +.analyse-equipment{ + background: url("../images/analyse_icon.png") no-repeat right/15px 20px; + padding-right: 20px; + font-size: 20px; + letter-spacing: 2px; + -webkit-animation: Glow 1s ease infinite alternate; + animation: Glow 1s ease infinite alternate; +} +@-webkit-keyframes Glow { + from { + text-shadow: 0 0 10px #097fca, + 0 0 20px #097fca, + 0 0 30px #097fca, + 0 0 40px #097fca, + 0 0 70px #097fca, + 0 0 80px #097fca, + 0 0 100px #097fca, + 0 0 150px #097fca; + } + to { + text-shadow: 0 0 5px #097fca, + 0 0 10px #097fca, + 0 0 15px #097fca, + 0 0 20px #097fca, + 0 0 35px #097fca, + 0 0 40px #097fca, + 0 0 50px #097fca, + 0 0 75px #097fca; + } +} +.analyse-num{ + color: #a2c8f9; +} +.analyse-num span{ + font-size: 25px; + color: #f73647; + font-weight: bold; +} +.analyse-number-max{ + padding-right: 20px; + height: 164px; + overflow: auto; +} +.analyse-number-max::-webkit-scrollbar { + width: 0px; + height: 1px; +} +.analyse-number-max::-webkit-scrollbar-thumb { + border-radius: 10px; + background: #192c64; +} +.analyse-number-max::-webkit-scrollbar-track { + border-radius: 10px; + background: #010b2d; +} + + +.analyse-num-max{ + padding: 12px 0; +} +.analyse-login-numbe{ + top: 15px; +} +.afoot-content{ + padding: 15px 15px 0; +} +.afoot-overflow{ + height: 653px; + overflow: auto; +} +.afoot-overflow::-webkit-scrollbar { + width: 0px; + height: 1px; +} +.afoot-overflow::-webkit-scrollbar-thumb { + border-radius: 10px; + background: #192c64; +} +.afoot-overflow::-webkit-scrollbar-track { + border-radius: 10px; + background: #010b2d; +} +.afoot-con-for{ + margin-bottom: 20px; +} +.afoot-con-for.active{ + background: url("../images/zzfs_bgf.png") no-repeat center/100% 100%; +} +.afoot-machinery-nam{ + font-size: 16px; + font-weight: bold; + padding:10px 0 15px; +} +.afoot-machinery-info{ + display: flex; + margin-bottom: 10px; +} +.afoot-machinery-img{ + width: 70px; + height: 70px; + background: url("../images/logo_bgd.png") no-repeat center/100% 100%; +} +.afoot-machinery-img img{ + width: 100%; + height: 100%; +} +.afoot-machinery-data{ + padding-left: 15px; + width: calc(100% - 90px); +} +.afoot-machinery-state{ + color: #f73647; + font-size: 18px; + height: 50px; + overflow: hidden; +} +.afoot-machinery-time{ + color: #7f99ba; +} +.afoot-machinery-project{ + color: #7f99ba; + padding-top: 10px; +} +.afoot-machinery-map{ + margin-top: 15px; + height: 200px; + border: 1px solid #054e85; +} + + +/*foot*/ +.foot-max{ + position: fixed; + left: 0; + bottom: -90px; + width: 100%; + height: 115px; + z-index: 5; + background: url("../images/foot_open.png") no-repeat bottom/100% 100%; + transition: bottom 0.2s; +} +.foot-min{ + +} +.foot-content{ + width: 75%; + margin: auto; +} +.foot-mouse{ + width: 200px; + height: 40px; + margin: auto; +} +.foot-content-left{ + width: 30px; + height: 50px; + margin: auto; + cursor: pointer; + background: url("../images/foot_left.png") no-repeat center/20px 40px; +} +.foot-content-right{ + width: 30px; + height: 50px; + margin: auto; + cursor: pointer; + background: url("../images/foot_right.png") no-repeat center/20px 40px; +} +.foot-content-tabs{ + width: 1250px; + height: 50px; + overflow: auto; + margin: auto; + position: relative; +} +.foot-content-tabs::-webkit-scrollbar{ + width: 0px; + height: 0px; +} +.foot-content-tabs-min{ + display: flex; + align-items: center; + padding-top: 3px; + position: absolute; + transition: left 1s; +} +.foot-tabs{ + width: 250px; + text-align: center; +} +.foot-tabs-bgd{ + margin: auto; + width: 160px; + height: 40px; + line-height: 40px; + color:#a2c8f9; + cursor: pointer; + background:url("../images/foot_btn.png") no-repeat center/100% 100%; +} +.foot-tabs-bgd.active{ + width: 200px; + height: 45px; + line-height: 45px; + font-size: 16px; + color: #ffffff; + background:url("../images/foot_btn_active.png") no-repeat center/100% 100%; +} + +/*劳务用工 公司级*/ + +/*劳务人员概况*/ +.labour-survey_content_number{ + color: #cbdaff; + font-size: 16px; + text-align: center; + padding-top: 25px; + padding-left: 0; +} +.labour-survey_content_number p{ + padding: 15px; +} +/*工种占比*/ +.chart-work-gif{ + width: 110px; + height: 110px; + position: absolute; + top: 85px; + left: 48px; + background: url("../images/run_circle.png") no-repeat center/100% 100%; +} +.labour-education{ + display: flex; + justify-content: space-between; +} +.labour-education_bgd{ + background: url("../images/education_bgd.png") no-repeat bottom/90px 60px; +} +/*预警分析*/ +.labour-warning-title{ + padding: 15px; + display: flex; + justify-content: space-around; + align-items: center; +} +.labour-warning-img{ + height: 60px; + width: 80px; + text-align: center; + background: url("../images/labour_warning_bgd.png") no-repeat center/100% 100%; +} +.labour-warning-bgd{ + padding-top: 15px; +} +.labour-warning-bgd img{ + animation: scale 1.5s infinite cubic-bezier(0, 0, .2, .2); +} +@keyframes scale { + 0% { transform: scale(1); opacity: 0.4 } + 25%{ transform: scale(1.25);opacity: 0.7 } + 50%{transform: scale(1.5); opacity: 1 } + 75%{ transform: scale(1.25);opacity: 0.7 } + 100% {transform: scale(1);opacity: 0.4} +} +.labour-warning-data{ + text-align: center; + color: #cbdaff; + font-size: 16px; +} +.labour-warning-number{ + padding-top: 10px; +} +.labour-warning-number span{ + color: #f73647; + font-weight: bold; + font-size:25px; + font-style:italic +} + +/*劳务 预警分析*/ +.labour-warning-table{ + padding: 0 10px; +} +.labour-warning-table-color{ + color: #f73647; + font-size: 16px; + font-weight: bold; +} +.labour-warning-table .el-table__body-wrapper::-webkit-scrollbar { + width: 0px; + height: 0px; +} +.labour-warning-table .el-table .cell{ + padding: 0 5px; +} +.labour-warning-table .el-table{ + background: none; +} +.labour-warning-table .el-table th, .el-table tr{ + background: none; +} +.labour-warning-table .el-table th{ + height: 35px; + text-align: center; + color: #cbdaff; + padding: 0; +} +.labour-warning-table .el-table td{ + height: 50px; + text-align: center; + padding: 0; + color: #ffffff; +} +.labour-warning-table .el-table td, .el-table th.is-leaf{ + border: 0; +} +.labour-warning-table .el-table .el-table__row{ + background: url("../images/text_red_bgd.png") no-repeat center/100% 35px; +} +.labour-warning-table .el-table--enable-row-hover .el-table__body tr:hover>td{ + background: none !important; +} +.labour-warning-table .el-table::before{ + background: none; +} +.return-company-btn{ + position: absolute; + top: 30px; + left: 30px; + background: url("../images/return_btn_bgd.png") no-repeat center/100% 100%; + width: 120px; + height: 35px; + text-align: center; + line-height: 35px; + color: #5677a2; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + z-index: 99; +} +.return-company-btn:hover{ + color: #cbdaff; + background: url("../images/dangerous_active.png") no-repeat center/100% 100%; +} +.return-company-btn:active{ + color: #5677a2; +} +.return-company-btn span{ + padding-left: 5px; +} + +/*项目概况*/ +.project-number{ + padding:25px 15px 0; + display: flex; + align-items: center; + justify-content: space-evenly; + color: #a2c8f9; +} +.project-number span{ + font-size: 20px; + font-weight: bold; + font-style: italic; + color: #63baff; +} +.chart-overview-gif{ + width: 105px; + height: 105px; + position: absolute; + top: 63px; + left:61px; + background: url("../images/run_circle.png") no-repeat center/100% 100%; +} + +.project-map-bottom{ + height: 210px; + padding: 0 15px; +} +.project-analyse-title{ + width: 50%; +} +.project-expect-max{ + position: relative; + padding-top: 20px; +} +.project-expect-left{ + position: absolute; + width: 30px; + left: 0; + height: 60px; + top: 75px; + background: url("../images/foot_left.png") no-repeat center/20px 40px; +} +.project-expect-right{ + position: absolute; + width: 30px; + right: 0; + height: 60px; + top: 75px; + background: url("../images/foot_right.png") no-repeat center/20px 40px; +} +.project-expect-middle{ + width: 810px; + margin:auto; + overflow: auto; + position: relative; + height: 150px; +} +.project-expect-big{ + position: absolute; + top: 0; + transition: left 0.5s; +} +.project-expect-middle::-webkit-scrollbar{ + width: 0px; + height: 0px; +} +.project-expect-min{ + padding: 0 10px; + float: left; +} +.project-expect-list{ + width: 250px; + height: 150px; + background: url("../images/expect_list.png") no-repeat center/100% 100%; +} +.project-expect-list.active{ + background: url("../images/expect_list_active.png") no-repeat center/100% 100%; +} + +.project-expect-con{ + padding: 5px 15px; +} +.project-expect-title{ + display: flex; + align-items: center; + border-bottom: 1px solid #1c4489; + height: 30px; +} +.project-expect-title-No{ + width: 35px; + border-bottom: 1px solid #69b9fe; + text-align: center; + line-height: 30px; +} +.project-expect-title-text{ + color: #68afef; + line-height: 30px; + height: 30px; + overflow: hidden; + white-space:nowrap; + text-overflow:ellipsis; +} +.project-expect-info{ + padding: 8px 0; + font-size: 12px; + color: #c2d5f6; + line-height: 20px; +} +.project-expect-details{ + max-height: 40px; + overflow: hidden; +} +.project-expect-time{ + color: #6bb8ff; +} +.project-expect-state{ + width: 85px; + height: 23px; + background: url("../images/expect_list_zc.png") no-repeat center/100% 100%; + color: #76fefe; + text-align: center; + line-height: 23px; + font-size: 12px; +} + +.project-expect-state.state-2{ + color: #05fb05; +} + +.project-expect-list.active .project-expect-title{ + border-bottom: 1px solid #351e2e; +} +.project-expect-list.active .project-expect-title-No{ + border-bottom: 1px solid #cd4456; +} +.project-expect-list.active .project-expect-title-text{ + color: #ffffff; +} +.project-expect-list.active .project-expect-time{ + color: #cd4456 +} +.project-expect-list.active .project-expect-state{ + background: url("../images/expect_list_yc.png") no-repeat center/100% 100%; + color: #ffffff; +} + +/*项目概况 项目级*/ + +/*项目概况*/ +.company-name-max{ + padding:5px 10px; + position: relative; +} +.company-project-introduction{ + position: absolute; + display: flex; + align-items: center; + right: 10px; + top: -22px; + cursor: pointer; + font-size: 14px; + color: #c2d5f6; +} +.company-project-introduction img{ + width: 8px; + margin-left: 10px; +} +.company-name{ + display: flex; + padding:12px 5px; +} +.company-img{ + padding-top: 5px; +} +.company-img img{ + height: 35px; + width: 35px; +} +.company-info{ + width: calc(100% - 45px); + padding-left: 10px; +} +.company-title{ + color: #c2d5f6; + font-size: 14px; +} +.company-text{ + color: #50a2eb; + padding: 5px 0; + overflow: hidden; + white-space:nowrap; + text-overflow:ellipsis; + font-size: 14px; +} +.company-person-info{ + font-size: 14px; + color: #f79d1a; +} + +.popup-project-introduction-max{ + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + background: rgba(0,0,0,0.5); + z-index: 10; +} +.popup-project-introduction-min{ + width: 1000px; + height: 600px; + margin: auto; + background: url("../images/map_sjk_popup_bgd.png") no-repeat center/100% 100%; + transform: translateY(30%); +} +.popup-project-introduction-con{ + padding: 20px 10px; +} +.popup-project-introduction-title{ + height: 40px; + background: url("../images/map_popup_title.png") no-repeat left/100% 100%; + font-size: 18px; + display: flex; + align-items: center; + padding: 0 15px; + justify-content: space-between; +} +.popup-project-introduction-close{ + font-size: 25px; + width: 30px; + height: 30px; + text-align: center; + line-height: 28px; + border-radius: 50%; + cursor: pointer; +} +.popup-project-introduction-close:hover{ + background: #37536f; +} +.popup-project-introduction-details{ + padding: 18px; +} +.popup-project-introduction-info{ + height: 500px; + overflow: auto; +} +.popup-project-introduction-info::-webkit-scrollbar { + width: 10px; + height: 10px; +} +.popup-project-introduction-info::-webkit-scrollbar-thumb { + border-radius: 10px; + background: #192c64; +} +.popup-project-introduction-info::-webkit-scrollbar-track { + border-radius: 10px; + background: #010b2d; +} +.popup-project-introduction-info p{ + padding: 8px 5px; + line-height: 30px; + text-indent: 2em; +} + +.modify-project-amount{ + display: flex; + justify-content: space-between; +} +.modify-btn{ + width: 50px; + text-align: center; + padding-top: 45px; +} +.modify-btn img{ + cursor: pointer; +} +.modify-content{ + width: 840px; + overflow: hidden; +} +.modify-content-overflow{ + display: flex; + align-items: center; +} + + + + +.project-introduce{ + padding: 0 15px; +} +.project-introduce-text{ + padding-left: 20px; + color: #c2d5f6; + background: url(../images/check_icon.png) no-repeat left/8px 15px; +} +.project-introduce-con{ + height:80px; + overflow: hidden; + margin-top: 10px; + color: #c2d5f6; + position: relative; +} +.project-introduce-con p{ + text-indent: 2em; + padding: 5px 0; + line-height: 25px; +} +.project-introduce-con::-webkit-scrollbar{ + width: 0px; + height: 0px; +} +.project-introduce-absolute{ + position: absolute; + width: 100%; + top: 0; + left: 0; + transition: top 0.1s; +} +.project-amount{ + padding: 10px; +} +.project-amount-bgd{ + height: 110px; + width: 260px; + background: url("../images/project_amount_bgd.png") no-repeat center/100% 100%; +} +.project-amount-con{ + padding: 20px 30px; + color: #c2d5f6; +} +.project-amount-con p{ + padding-bottom: 15px; + font-size: 16px; +} +.project-amount-con span{ + font-size: 25px; + color: #64ccff; + font-weight: bold; + font-style: italic; +} +.aerial-view-max{ + padding: 10px; +} +.aerial-view-min{ + height: 510px; +} +.aerial-view-min img{ + width: 100%; + height: 100%; +} + +/*重大节点预期预警*/ +.dangerous-max{ + padding:10px 30px; +} +.dangerous-tab{ + display: flex; + justify-content: right; + align-items: center; +} +.dangerous-tab div{ + padding: 8px 20px; + background: url("../images/dangerous.png") no-repeat center/100% 100%; + margin-left: 15px; + cursor: pointer; + color: #5388b0; +} +.dangerous-tab .active{ + color: #ffffff; + background: url("../images/dangerous_active.png") no-repeat center/100% 100%; +} +.dangerous-timeline-max{ + width: 850px; + height: 230px; + overflow-y: hidden; + overflow-x: auto; + position: relative; +} +.dangerous-timeline-max::-webkit-scrollbar { + width: 10px; + height: 10px; +} +.dangerous-timeline-max::-webkit-scrollbar-thumb { + border-radius: 10px; + background: #192c64; +} +.dangerous-timeline-max::-webkit-scrollbar-track { + border-radius: 10px; + background: #010b2d; +} +.dangerous-timeline-min{ + z-index: 2; + position: absolute; +} +.dangerous-timeline-con{ + width: 200px; + padding-top: 20px; + float: left; +} +.strip-max{ + height: 6px; + background: #808992; + position: absolute; + top: 88px; + z-index: 1; +} +.strip-min{ + height: 6px; + background: #54acf4; +} +.dangerous-text{ + height: 50px; + padding: 0 20px; + text-align: center; + font-size: 16px; + line-height: 25px; + overflow: hidden; +} +.dangerous-dot{ + height: 35px; + position: relative; +} +.dangerous-dot-item{ + width: 8px; + height: 8px; + border: 3px solid #ffffff; + border-radius: 50%; + margin: auto; + position: relative; + top: 14px; +} +.dangerous-time-max{ + height: 100px; + padding: 5px 30px; + color: #b9cbe3; + position: relative; +} +.dangerous-time-min{ + padding: 5px 0; +} +.dangerous-time-nav{ + margin-top: 8px; +} +.dangerous-time-nav.active{ + color: #eeeeee; + background: url("../images/expect_list_yc.png") no-repeat center/100% 100%; +} + +/*智慧党建*/ +.carousel-padding{ + padding: 10px; +} +.carousel-max{ + position: relative; + overflow-x: hidden; + overflow-y: hidden; + margin: auto; +} +.carousel-min{ + height: 100%; + position: absolute; + transition: left 0.5s +} +.carousel-for{ + float: left; + width: 100%; + height: 100%; +} +.carousel-for > img{ + width: 100%; + height: 100%; +} +.carousel-text{ + height: 35px; + line-height: 35px; + text-align: center; + width: 100%; + position: absolute; + bottom: 0; + color: #fff; + background-color: rgba(0, 0, 0, 0.5); +} + +.carousel-left { + position: absolute; + top: 50%; + transform: translateY(-50%); + user-select: none; + cursor: pointer; + transition: left 0.1s linear; +} +.carousel-right { + position: absolute; + top: 50%; + transform: translateY(-50%); + user-select: none; + cursor: pointer; + transition: right 0.1s linear; +} + +/*党建视频*/ +.carousel-padding video{ + width: 100%; + height: 520px; +} +.video-img{ + width: 100%; + height: 520px; +} +.video-nav{ + display: flex; + padding:15px 10px; +} +.video-nav-btn{ + background: #420200; + padding: 10px 15px; + color: #e67b71; + margin-right: 15px; + cursor: pointer; + border-radius: 5px; +} +.video-nav-btn.active{ + background: #b34039; + color: #ffffff; +} +.video-nav-btn:hover{ + background: #972321; + color: #f1bdb9; +} +.video-nav-btn.active:hover{ + background: #b34039; + color: #ffffff; +} + +/*媒体聚焦*/ +.party-list{ + padding:20px 15px; +} +.party-list .el-table__body-wrapper::-webkit-scrollbar { + width: 0px; + height: 0px; +} +.party-list .el-table .cell{ + padding: 0 5px; +} +.party-list .el-table{ + background: none; +} +.party-list .el-table th, .el-table tr{ + background: none; +} +.party-list .el-table th{ + height: 50px; + color: #ffffff; + padding: 0 10px; +} +.party-list .el-table td{ + height: 50px; + color: #ffffff; + padding: 0; +} +.party-list .el-table td .cell{ + height: 35px; + line-height:35px; + padding:0 10px; + background: rgba(66,0 ,0 ,0.7); + letter-spacing: 1px; + +} +.party-list .el-table td, .el-table th.is-leaf{ + border: 0; +} +.party-list .el-table--enable-row-hover .el-table__body tr:hover>td{ + background: none !important; +} +.party-list .el-table::before{ + background: none; +} +.party-list-color{ + color:#edaa46; + overflow: hidden; + white-space:nowrap; + text-overflow:ellipsis; +} + +/*安全管理*/ +/*当日预警信息*/ +.safe-day-table .el-table__body-wrapper::-webkit-scrollbar { + width: 0px; + height: 0px; +} +.safe-day-table .el-table .cell{ + padding: 0 5px; +} +.safe-day-table .el-table{ + background: none; +} +.safe-day-table .el-table th, .el-table tr{ + background: none; +} +.safe-day-table .el-table th{ + height: 50px; + text-align: center; + color: #1ce7ff; +} +.safe-day-table .el-table td{ + height: 55px; + text-align: center; + padding: 0; +} +.safe-day-table .el-table td, .el-table th.is-leaf{ + border: 0; +} +.safe-day-table .el-table .el-table__row{ + background: url("../images/text_red_safe_bgd.png") no-repeat center/100% 40px; +} +.safe-day-table .el-table--enable-row-hover .el-table__body tr:hover>td{ + background: none !important; + color: #ffffff; +} +.safe-day-table .el-table::before{ + background: none; +} + +.map-foot-max{ + height: 150px; + display: flex; + align-items: center; + justify-content: space-evenly; +} +.map-foot-min{ + display: flex; + align-items: center; + justify-content: center; +} +.map-foot-con{ + padding-left: 10px; + color:#b9cbe3; +} +.map-foot-con p{ + padding-bottom: 10px; +} +.map-foot-num span{ + font-size: 25px; + font-weight: bold; + font-style: italic; +} +.map-icon-color-1{ + color: #71b3f0; +} +.map-icon-color-2{ + color: #c1b762 ; +} +.map-icon-color-3{ + color: #7874e3; +} +.map-foot-min img{ + width: 84px; + height: 66px; + animation: safe 3s infinite; + -webkit-animation: safe 3s infinite; +} +@keyframes safe { + 0% { + transform: translate(0px, -10px); + } + 50% { + transform: translate(0px, 10px); /* 可配置跳动方向 */ + } + 100% { + transform: translate(0px, -10px); + } +} + +/*安全管理 项目级 塔机*/ + +/*监控列表*/ +.list-max{ + padding: 10px 0; +} +.list-min{ + height: 630px; + overflow: auto; + position: relative; +} + +.list-min::-webkit-scrollbar { + width: 10px; + height: 1px; +} +.list-min::-webkit-scrollbar-thumb { + border-radius: 10px; + background: #192c64; +} +.list-min::-webkit-scrollbar-track { + border-radius: 10px; + background: #010b2d; +} +.list-for{ + padding: 15px 0; + border-bottom: 1px dashed #3da2ff; +} +.list-con{ + padding: 15px; + cursor: pointer; +} +.list-con.active{ + background: url("../images/list_bgd.png") no-repeat center/100% 100%; +} +.list-top{ + display: flex; + align-items: center; +} +.list-img{ + height: 70px; + width: 70px; + text-align: center; + line-height: 70px; + background: url("../images/list_img_icon.png") no-repeat bottom/100% 45px; +} +.list-img img{ + animation: listImg 3s infinite; + -webkit-animation: listImg 3s infinite; +} +@keyframes listImg { + 0% { + transform: translate(0px, 0px); + } + 50% { + transform: translate(0px, 15px); /* 可配置跳动方向 */ + } + 100% { + transform: translate(0px, 0px); + } +} +.list-info{ + padding-left: 15px; +} +.list-info-name{ + padding: 7px 0 ; + font-size: 16px; +} +.list-info-name span{ + color: #8accff; +} +.list-info-name .list-info-state{ + color: #f3ba4f; +} +.list-info-name .list-info-state.active{ + color: #61f1be; +} +.list-bottom{ + padding: 10px 0; + color: #a5d3eb; +} +.list-details{ + padding: 8px 0; +} +.list-time{ + color: #429fff; +} + +.sf-big-title{ + padding: 15px 20px; + display: flex; + justify-content: space-between; + align-items: center; +} + +.monitor-max{ + height: 240px; + position: relative; +} +.sf-speed-data-chart{ + width: 50px; + height: 250px; + margin: auto; +} +.sf-speed-data-chart div{ + width: 100%; + height: 10px; + margin-top: 14px; + background: #0b204f; + border-radius: 2px; +} +.sf-speed-data-chart .activation{ + background: #2e8cfe; +} +.sf-speed-data-chart .warning{ + background: #fead38; +} +.sf-speed-data-chart .police{ + background: #ff4e4e; +} +.monitor-left{ + position: absolute; + height: 240px; + width:70px; + top: -5px; + left: 5px; + color: #a1d4e7; +} +.monitor-right{ + position: absolute; + height: 250px; + top: -10px; + left: 140px; + +} +.monitor-police{ + position: absolute; + top: 0; + width: 70px; + text-align: right; +} +.monitor-warning{ + position: absolute; + top: 50px; + width: 70px; + text-align: right; +} +.monitor-zero{ + position: absolute; + bottom: 0; + width: 70px; + text-align: right; +} +.monitor-data{ + color: #88c9ff; + width: 70px; + position: absolute; + top: 100px; + text-align: center; +} +.warning-data{ + color: #fead38; +} +.police-data{ + color: #ff4e4e; +} + +.monitor-data span{ + font-weight: bold; + font-size: 18px; +} + +.safe-height{ + height:660px; +} +.safe-small{ + height: 120px; +} +.safe-small-title{ + background: url("../images/small_title.png") no-repeat center/100% 100%; + padding: 5px 0 5px 20px; +} +.safe-small-content{ + display: flex; + align-items: center; + justify-content:space-around; +} +.safe-small-details{ + padding: 10px; + font-size: 16px; +} +.safe-small-details p{ + color: #429fff; + padding: 10px 0 15px; +} +.safe-small-details span{ + color: #8bcdff; + font-size: 20px; + font-weight: bold; +} +.safe-afoot-content{ + padding:30px 20px; +} +.safe-afoot-overflow{ + height: 200px; +} +.safe-afoot-machinery-nam{ + padding:15px 0 20px; +} +/*力矩曲线*/ +.safe-moment{ + padding: 15px 0; +} + + +.safe-tower-crane-max{ + padding: 10px; +} +.safe-tower-crane-min{ + +} +.safe-tower-left{ + height: 500px; + cursor: pointer; + background:url("../images/safe_tower_left.png") no-repeat center/100% 70%; +} +.safe-tower-left:hover{ + background:url("../images/safe_tower_left_a.png") no-repeat center/100% 80%; +} +.safe-tower-left:active{ + background:url("../images/safe_tower_left_a.png") no-repeat center/100% 75%; +} +.safe-tower-right{ + height: 500px; + cursor: pointer; + background:url("../images/safe_tower_right.png") no-repeat center/100% 70%; +} +.safe-tower-right:hover{ + background:url("../images/safe_tower_right_a.png") no-repeat center/100% 80%; +} +.safe-tower-right:active{ + background:url("../images/safe_tower_right_a.png") no-repeat center/100% 75%; +} +.safe-tower-content-max{ + position: relative; + width: 770px; + height: 500px; + margin: auto; + overflow: hidden; +} +.safe-tower-content{ + position: absolute; + width: 100%; + transition: left 0.5s +} +.safe-tower-content-title{ + text-align: center; + padding-top: 20px; +} +.safe-tower-content-title span{ + padding: 10px 35px; + font-size: 16px; + background: url("../images/safe_tower_name_bgd.png") no-repeat center/100% 100%; +} +.safe-tower-content-data{ + padding: 60px 0; +} +.safe-tower-content-data-list{ + color: #b9cbe3; + font-size: 16px; + padding: 17px 5px; +} +.safe-tower-content-data-list p{ + padding-bottom: 15px; +} +.safe-tower-content-data-list span{ + color: #429fff; + font-weight: bold; + font-size: 22px; +} +.safe-tower-content-data-list-time span{ + font-size: 14px; +} +.safe-tower-icon{ + width: 577px; + position: relative; +} + +.sf-equipment-overview-bgd{ + height: 320px; + width: 500px; + background: url("../images/tower_crane.png") no-repeat center/100% 100%; + position: relative; + margin: auto; +} +.sf-legend{ + position: absolute; + padding: 10px; + top: -5px; + right: 0; + display: flex; +} +.sf-legend div{ + padding:5px 10px; +} +.sf-slider-track{ + position: absolute; + z-index: 9; +} +.sf-slider-track-min{ + position: absolute; + width: 16px; +} +.sf-slider{ + width: 16px; + height: 8px; + background:#f0b334; + position: absolute; +} +.sf-towrope{ + width: 10px; + height:200px; + border-left: 2px solid #f0b334; + border-right: 2px solid #f0b334; + margin: auto; +} +.sf-hook{ + width: 16px; + height: 30px; + background: url("../images/drag_hook.png") no-repeat center/100% 100%; +} +.circular{ + position: absolute; + width: 120px; + height: 120px; + bottom: 15px; + right: 15px; + background: url("../images/circular.png") no-repeat center/100% 100%; +} +.needle{ + width: 100%; + height: 100%; + background: url("../images/needle.png") no-repeat center/100% 100%; + transform:rotate(0deg); +} +.dot-track{ + width: 35px; + height: 12px; + right: 12px; + position: absolute; + top: 54px; +} +.dot{ + width: 12px; + height: 12px; + border-radius: 50%; + background: #f0b334; + position: absolute; +} + + + +/*深基坑*/ +.sjk-info{ + padding:20px 10px; + font-size: 14px; +} +.company-sjk-name{ + padding: 20px 0; +} +.company-sjk-name img{ + width: 40px; + height: 40px; +} +.company-sjk-text{ + color: #50a2eb; +} +.sjk-icon-max{ + padding: 5px 0 5px; + position: relative; +} +.sjk-img-min{ + text-align: center; + height: 600px; + position: relative; +} +.sjk-img img{ + +} +.sjk-icon-legend{ + position: absolute; + height: 50px; + background: rgba(0,0,0,0.7); + width: 99%; + bottom: 0; + left: 0.5%; + display: flex; + justify-content: space-between; + align-items: center; +} +.sjk-icon-legend-color{ + display: flex; + align-items: center; +} +.sjk-icon-legend-color-list{ + display: flex; + align-items: center; + padding: 0 15px; + cursor: pointer; +} +.sjk-icon-legend-color-list-box{ + width: 15px; + height: 15px; + margin-right: 10px; +} +.sjk-icon-legend-color-list-text{ + font-size: 16px; +} +.box-green{ + background: #7dc57b; +} +.box-red{ + background: #d44645; +} +.box-orange{ + background: #eeb532; +} +.box-blue{ + background: #1890ff; +} +.box-grey{ + background: #9da4b4; +} +.sjk-icon-legend-right{ + display: flex; + align-items: center; + justify-content: right; + font-size: 16px; +} +.sjk-icon-legend-right img{ + width: 25px; + height: 25px; + margin-right: 5px; +} +.sjk-icon-legend-right-icon{ + display: flex; + align-items: center; + padding:0 15px; + cursor: pointer; + color: #63c8ff; +} +.sjk-legend-filter{ + filter: grayscale(100%); +} +.sjk-icon-spot img{ + position: absolute; + width: 30px; + height: 36px; +} +.sjk-icon-spot img:hover{ + width: 40px; + height: 48px; + z-index: 1; +} + +/*点位图弹窗*/ +.sjk-popup{ + width: 400px; + background: url('../images/map_sjk_popup_bgd.png') no-repeat center/100% 100%;font-size: 14px; + position: fixed; + z-index: 100; +} +.sjk-popup-content{ + padding: 8px 3px +} +.sjk-popup-title{ + padding: 8px; + color: #ffffff; + font-size: 16px; + background: url('../images/map_popup_title.png') no-repeat left/100% 100%; +} +.sjk-popup-time{ + padding: 10px; + color: #3da2ff; +} +.sjk-popup-table{ + text-align: center; + padding: 0 8px; +} +.sjk-popup-table table{ + width: 100%; +} +.sjk-popup-table table th{ + background: #193d7d; + padding: 5px 0; +} +.sjk-popup-table table td{ + padding: 10px 0; + color: #c8dbfc; + font-size: 16px; +} +.sjk-popup-table table td:nth-child(2){ + color: #4fb5fd; +} +.sjk-popup-table table td:nth-child(3){ + color: #ff7a00 ; +} +.sjk-popup-table table td:nth-child(4){ + color: #fb3b48; +} +.sjk-off-line{ + height: 150px; + line-height: 150px; + text-align: center; + color: #999999; +} + + + + + + + + +/*近15天变化趋势*/ +.sjk-chart-line{ + position: relative; +} +.sjk-chart-line-title{ + display: flex; + padding: 15px 20px; +} +.sjk-chart-line-title div{ + padding: 5px 20px; + cursor: pointer; + margin-right: 20px; + background: url("../images/dangerous.png") no-repeat center/100% 100%; + color: #5388b0; + font-size: 16px; +} +.sjk-chart-line-title .active{ + color: #ffffff; + background: url(../images/dangerous_active.png) no-repeat center/100% 100%; +} +.sjk-afoot-overflow{ + height: 325px; +} +.sjk-chart-line-legend{ + width: 80%; + position: absolute; + top: 5px; + right: 0; + text-align: right; + z-index: 9999; +} +.sjk-chart-line-legend button{ + padding: 5px 15px; + background: none; + cursor: pointer; + border: 0; + color: #50a1db; + margin: 5px; +} +.sjk-chart-line-legend button.active{ + color: #ffffff; +} +.sjk-chart-line-legend label{ + padding:1px 8px; + border-radius: 50%; + margin-right: 10px; +} +.trend-chart-max{ + padding: 0 10px; +} + +/*环境管理*/ +.hj-afoot-overflow{ + height: 590px; +} +.equipment-list-max{ + padding: 20px; +} +.equipment-list-min{ + padding: 25px 0 25px 20px; + display: flex; + align-items: center; +} +.equipment-list-gif{ + width: 70px; + height: 70px; + background: url(../images/hj_gif.gif) no-repeat center/100% 100%; + text-align: center; +} +.equipment-list-gif img{ + width: 40px; + height: 40px; + transform: translateY(35%); + +} +.equipment-list-data{ + padding-left: 15px; + color: #c0dafb; + font-size: 16px; +} +.equipment-list-data div{ + padding-top: 10px; +} +.equipment-list-data span{ + font-size: 28px; + font-weight: bold; + padding-right: 5px; + color: #82c9ff; +} + +/*环境管理 项目页面*/ +.current-value-max{ + padding: 20px; +} +.current-value-min{ + padding: 20px; +} +.current-value-con{ + padding: 30px 40px; + background: url("../images/current_value_bgd.png") no-repeat center/100% 100%; + display: flex; + align-items: center; +} +.current-value-img{ + height: 90px; + width: 90px; + background: url("../images/education_bgd.png") no-repeat center/100% 100%; + text-align: center; +} +.current-value-img img{ + width: 50px; + height: 50px; + -webkit-animation: icon 3s infinite; + +} +.current-value-data{ + color: #c0dafb; + font-size: 18px; + padding-left: 40px; +} +.current-value-data p{ + padding-top: 15px; + font-size: 28px; + font-weight: bold; + color: #ffffff; +} +.hj-moment-max{ + padding: 15px; +} +.hj-moment-max table{ + height: 310px; +} +.hj-moment-max td{ + padding: 0 5px; + font-size: 16px; + color: #aaaaaa; +} +.hj-moment-max td:first-child{ + width: 24%; + text-align: right; + color: #c0dafb; +} +.hj-moment-choice{ + display: flex; + align-items: center; +} +.hj-moment-select{ + width: 70%; +} +.hj-moment-state{ + padding: 0 10px; +} +.state-tag{ + height: 33px; + width: 60px; + line-height: 33px; + text-align: center; +} +.state-zx{ + color: #3eb11e; + background: url("../images/state_bgd.png") no-repeat center/100% 100%; +} +.state-lx{ + color: #eeb532; + background: url("../images/state_lx_bgd.png") no-repeat center/100% 100%; +} + +.hj-moment-blue{ + color: #559adf; +} +.hj-moment-green{ + color: #41b026; +} +.hj-moment-orange{ + color: #eeb532; +} + + + + +.select-max{ + position: relative; +} +.select-input{ + height: 35px; + padding-left: 10px; + padding-right: 25px; + background: url("../images/select_bgd.png") no-repeat center/100% 100%; +} +.select-input input{ + width: 100%; + height: 35px; + background: 0; + border: 0; + outline: 0; + color: #1ce7ff; + cursor: pointer; + overflow: hidden; + white-space:nowrap; + text-overflow:ellipsis; + font-size: 16px; +} +.select-input input::-webkit-input-placeholder{ + color: #6ca5b1; +} +.select-option{ + list-style: none; + position: absolute; +} +.select-option{ + list-style: none; + width: 100%; + position: absolute; + max-height: 250px; + border: 1px solid #05556b; + background: #00092a; + overflow: auto; + color: #02a6ff; + border-radius: 3px; + z-index: 9999; +} +.select-option::-webkit-scrollbar { + width: 10px; + height: 1px; +} +.select-option::-webkit-scrollbar-thumb { + border-radius: 10px; + background: #192c64; +} +.select-option::-webkit-scrollbar-track { + border-radius: 10px; + background: #010b2d; +} +.select-option li{ + padding:12px 10px; + cursor: pointer; +} +.select-option li:hover{ + background: #031348; + color: #1ce7ff; +} + +.el-carousel__indicators--horizontal{ + top: 0; +} +.el-carousel__button{ + width: 15px; +} + +/*视频管理*/ +.video-list-max{ + padding: 10px; +} +.video-list-min{ + height: 430px; + overflow: auto; + padding-right: 5px; +} +.video-list-min::-webkit-scrollbar { + width: 5px; + height: 1px; +} +.video-list-min::-webkit-scrollbar-thumb { + border-radius: 10px; + background: #192c64; +} +.video-list-min::-webkit-scrollbar-track { + border-radius: 10px; + background: #010b2d; +} +.video-list-for{ + padding: 5px 0; +} +.video-list-title{ + height: 40px; + background: url("../images/video_list_title.png") no-repeat center/100% 100%; + line-height: 40px; + padding:0 10px; + overflow: hidden; + white-space:nowrap; + text-overflow:ellipsis; + cursor: pointer; +} +.video-list-ul{ + list-style: none; + padding: 5px 0; +} +.video-list-ul li{ + padding: 10px 0; + overflow: hidden; + white-space:nowrap; + text-overflow:ellipsis; + position: relative; + cursor: pointer; + color: #c0dafb; +} +.video-list-ul .active{ + color: #3da2ff; +} +.video-list-ul li:hover{ + color: #67afee ; +} +.video-list-ul .active:hover{ + color: #3da2ff; +} +.video-list-ul li button{ + padding: 3px; + position: relative; + top: -5px; +} +.video-state-zx{ + background: #119f1b; +} +.video-state-lx{ + background: #e70b0b; +} +.video-enlarge-max{ + padding: 15px; +} +.video-enlarge-title{ + display: flex; + align-items: center; + justify-content: space-between; + height: 30px; + padding:0 10px 0 20px; + line-height: 30px; + background: url("../images/video_title.png") no-repeat left/180px 22px; +} +.video-enlarge-content{ + margin-top: 15px; + background: rgba(0,0,0,0.5); +} +.video-enlarge-content video{ + width: 100%; + height: 890px; +} +.video-enlarge-content img{ + width: 100%; + height: 890px; +} +.video-enlarge-title-right{ + display: flex; + align-items: center; +} +.video-enlarge-title-right{ + display: flex; + justify-content: right; + align-items: center; +} +.video-enlarge-title-right div{ + padding: 2px 15px; + background: url("../images/dangerous.png") no-repeat center/100% 100%; + margin-left: 15px; + cursor: pointer; + color: #5388b0; +} +.video-enlarge-title-right .active{ + color: #ffffff; + background: url("../images/dangerous_active.png") no-repeat center/100% 100%; +} +.video-vehicle-table{ + padding: 15px 0; +} +.video-vehicle-table .el-table__body-wrapper::-webkit-scrollbar { + width: 0px; + height: 0px; +} +.video-vehicle-table .el-table .cell{ + padding: 0 5px; +} +.video-vehicle-table .el-table{ + background: none; +} +.video-vehicle-table .el-table th, .el-table tr{ + background: none; +} +.video-vehicle-table .el-table th{ + color: #67baff; + padding:10px 25px ; +} +.video-vehicle-table .el-table td{ + padding:10px 15px; + color: #a2c8f9; +} +.video-vehicle-table .el-table td, .el-table th.is-leaf{ + border: 0; +} +.video-vehicle-table .el-table--enable-row-hover .el-table__body tr:hover>td{ + background: none !important; +} +.video-vehicle-table .el-table::before{ + background: none; +} + +.vehicle-number{ + padding: 8px 15px; + background: url("../images/dangerous.png") no-repeat center/100% 100%; + width: 90%; + margin: auto; +} +.vehicle-jin-img-max{ + padding: 10px; +} +.vehicle-jin-img-bgd{ + width: 180px; + height: 180px; + background: #062247 url("../images/no_picture.png") no-repeat center/80px 80px; + border-radius: 5px; +} +.vehicle-jin-img-bgd img{ + width: 100%; + height: 100%; +} +.vehicle-time{ + height: 40px; + text-align: center; + line-height: 40px; +} +.video-vehicle-census{ + height: 60px; + display: flex; + align-items: center; + justify-content: center; +} +.video-vehicle-census div{ + padding: 0 20px; + color: #c0dafb; +} +.video-vehicle-census div span{ + font-size: 25px; + color: #67baff; + padding: 0 10px; +} + +/*劳务用工人员定位*/ +.baidu-map{ + width: 1920px; + height: 1080px; + background: #3da2ff; + position: fixed; +} +.people-head{ + position: absolute; + top: 0; + left: 0; + width: 1920px; + z-index: 111; +} +.people-left{ + position: absolute; + top: 90px; + left: 20px; + width: 400px; + background: rgba(0,0,0,0.5); + z-index: 10; + padding: 10px; + +} +.people-right{ + position: absolute; + top: 90px; + right: 20px; + width: 400px; + background: rgba(0,0,0,0.5); + z-index: 10; + padding: 10px; +} +.people-search{ + padding: 0 15px; + height: 45px; + background: url("../images/input_search.png") no-repeat center/100% 100%; +} +.people-search input{ + border: 0; + outline: 0; + background: url("../images/search.png") no-repeat right/20px 20px; + width: 100%; + height: 100%; + color: #3da2ff; + font-size: 16px; +} +.people-search input::-webkit-input-placeholder{ + color: #446079; +} +.people-list-min{ + height: 660px; +} +.people-list-con{ + cursor: pointer; + padding: 15px 5px; +} +.people-list-con.active{ + background: url("../images/list_bgd.png") no-repeat center/100% 100%; +} +.people-list-img{ + height: 70px; + width: 70px; + text-align: center; + background: url("../images/warning_renyuan.png") no-repeat bottom/100% 100%; +} + +.people-list-img img{ + width: 100% ; + height: 100%; +} +.people-list-top{ + display: flex; + align-items: center; + padding-bottom: 15px; + position: relative; + background: url("../images/Line.png") no-repeat bottom/100% 2px; +} +.people-list-state{ + padding: 0 5px; + border-radius: 10px 0 10px 0; + background: #3eb11e; + font-size: 14px; + color: #ffffff; + position: absolute; + right: 15px; +} +.baidu-people-list-state{ + right: 5px; + font-size: 12px; +} +.people-list-state.active{ + background: #888888; +} +.people-info-name{ + padding: 7px 0 ; + font-size: 16px; + display: flex; + align-items: center; +} +.list-info .people-info-work{ + color: #3da2ff; + font-size: 14px; +} +.people-info-name{ + padding: 7px 0 ; + font-size: 16px; +} +.people-info-action{ + color: #3eb11e; +} +.people-info-action.active{ + color: #d7220b; +} +.people-battery-max{ + display: flex; + align-items: center; +} +.people-battery-bgd{ + width: 30px; + height: 15px; + background: url("../images/battery.png") no-repeat center/100% 100%; +} +.people-battery-bgd.active{ + background: url("../images/battery_red.png") no-repeat center/100% 100%; +} +.people-battery-padding{ + width: 24px; + height: 11px; + padding: 2px 4px 2px 2px; +} +.people-battery{ + background: #3eb11e; + height: 100%; +} +.people-battery.active{ + background: #d7220b; +} +.people-battery-value{ + padding:0 10px; + color: #3eb11e; +} +.people-battery-value.active{ + color:#d7220b; +} +.people-info-address{ + color: #429fff; + background: url("../images/address_dw.png") no-repeat left/14px 16px; + padding-left: 18px; +} + +.people-company-btn{ + position: absolute; + top: 100px; + left: 470px; + background: url("../images/return_btn_bgd.png") no-repeat center/100% 100%; + width: 120px; + height: 35px; + text-align: center; + line-height: 35px; + color: #5677a2; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + z-index: 99; +} +.people-company-btn:hover{ + color: #cbdaff; + background: url("../images/dangerous_active.png") no-repeat center/100% 100%; +} +.people-company-btn:active{ + color: #5677a2; +} +.people-company-btn span{ + padding-left: 5px; +} + + +/*人员定位弹窗*/ +.popup-people-max{ + width: 280px; + height: 300px; + background: url('../images/map_popup_bgd.png') no-repeat center/100% 100%; + font-size: 14px; +} +.popup-people-max.active{ + background: url('../images/map_popup_red_bgd.png') no-repeat center/100% 100%; +} +.popup-people-min{ + padding:20px 15px; +} +.popup-list-details span{ + color: #027ae7; +} +.popup-list-details{ + padding: 5px 0; + font-size: 14px; +} +.popup-people-info-address{ + background: rgba(2,122,231,0.2); + padding: 10px; + font-size: 14px; +} +.popup-people-info-address.active{ + background: rgba(243, 3, 3, 0.4); +} +.popup-people-info-address.active .people-info-address{ + color: #ffffff; + background: url("../images/address_dw_red.png") no-repeat left/14px 16px; +} +.popup-people-info-name{ + color: #ffffff; +} + + +/*质量管理公司级*/ +.quality-target-max{ + padding:15px 10px; +} +.quality-target-min{ + padding:15px 10px; + display: flex; + align-items: center; +} +.quality-target-img{ + width: 50px; + height: 50px; +} +.quality-target-img img{ + width: 100%; + height: 100%; +} +.quality-target-con{ + width: calc(100% - 65px); + padding-left: 15px; +} +.quality-target-title{ + padding: 3px 0; + color: #c0dafb; +} +.quality-target-info{ + padding: 3px 0; + overflow: hidden; + white-space:nowrap; + text-overflow:ellipsis; + color: #50a2eb; +} +.quality-target-index{ + padding: 0px; +} +.quality-target-index-min{ + padding: 15px 0 15px 20px; +} + +.quality-dynamic-max{ + padding: 10px 10px 0; +} +.quality-dynamic-min{ + padding: 0 5px; + height: 655px; + overflow: auto; +} +.quality-dynamic-min::-webkit-scrollbar { + width: 0px; + height: 1px; +} +.quality-dynamic-min::-webkit-scrollbar-thumb { + border-radius: 10px; + background: #192c64; +} +.quality-dynamic-min::-webkit-scrollbar-track { + border-radius: 10px; + background: #010b2d; +} +.quality-dynamic-for{ + padding: 10px; +} +.quality-dynamic-for.active{ + background: url("../images/zzfs_bgf.png") no-repeat center/100% 100%; +} +.quality-dynamic-content{ + display: flex; + align-items: center; +} +.quality-dynamic-img{ + width: 90px; + height: 90px; + background: url("../images/logo_bgd.png") no-repeat center/100% 100%; +} +.quality-dynamic-img img{ + width: 100%; + height: 100%; + border-radius: 3px; +} +.quality-dynamic-info{ + padding-left: 20px; + width: calc(100% - 110px); +} +.quality-dynamic-top{ + display: flex; + align-items: center; + justify-content: space-between; + padding: 7px 0; +} +.quality-dynamic-item{ + overflow: hidden; + white-space:nowrap; + text-overflow:ellipsis; + padding: 7px 0; + color: #3da2ff; +} +.quality-dynamic-describe{ + margin-top: 10px; + height: 50px; + line-height: 25px; + overflow: hidden; + color: #c0dafb; +} +.quality-dynamic-time{ + color: #999999; +} +.quality-dynamic-state{ + border: 1px solid #44ad1f; + padding: 1px 10px; + background: rgba(68,173,31,0.3); + border-radius: 3px; + color: #44ad1f; +} +.quality-dynamic-state.active{ + border: 1px solid #ff9000; + padding: 1px 10px; + background: rgba(255,144,0,0.3); + border-radius: 3px; + color: #ff9000; +} +.quality-button{ + justify-content: right; +} +.quality-table{ + padding: 0 15px; +} +.quality-table .el-table__body-wrapper::-webkit-scrollbar { + width: 0px; + height: 0px; +} +.quality-table .el-table .cell{ + padding: 0 5px; +} +.quality-table .el-table{ + background: none; +} +.quality-table .el-table th, .el-table tr{ + background: none; +} +.quality-table .el-table th{ + height: 35px; + text-align: center; + color: #cbdaff; + padding: 0; +} +.quality-table .el-table td{ + height: 60px; + text-align: center; + padding: 0; + color: #ffffff; +} +.quality-table .el-table td, .el-table th.is-leaf{ + border: 0; +} +.quality-table .el-table .el-table__row:nth-child(odd){ + background: url("../images/long_tr_bgd.png") no-repeat center/100% 55px; +} +.quality-table .el-table--enable-row-hover .el-table__body tr:hover>td{ + background: none !important; +} +.quality-table .el-table::before{ + background: none; +} + +.scroll::-webkit-scrollbar { + width: 8px; + height: 8px; +} +.scroll::-webkit-scrollbar-thumb { + background-color: rgb(1, 169, 255); + border-radius: 4px; +} \ No newline at end of file diff --git a/public/css/login.css b/public/css/login.css new file mode 100644 index 0000000..4248e69 --- /dev/null +++ b/public/css/login.css @@ -0,0 +1,176 @@ +*{ + margin: 0; + padding: 0; +} +@font-face { + font-family: "title-font"; + src:url(../fonts/HYLXTJ.eot),url(../fonts/HYLXTJ.svg),url(../fonts/HYLXTJ.ttf),url(../fonts/HYLXTJ.woff),url(../fonts/HYLXTJ.woff2) +} +@font-face { + font-family: "number-font"; + src:url(../fonts/PUTHIAfont.eot),url(../fonts/PUTHIAfont.svg),url(../fonts/PUTHIAfont.ttf),url(../fonts/PUTHIAfont.woff),url(../fonts/PUTHIAfont.woff2) +} +p,label,ul{ + margin: 0; + font-weight: 400; +} +table{ + width: 100%; +} +body{ + min-width: 1500px; + min-height: 800px; +} +[v-cloak] { + display: none; +} +#app{ + height: 100vh; + min-height: 800px; + width: 100%; + position: relative; + overflow: auto; +} +.login-bgd{ + position: relative; + height: 100%; + width:1400px; + background: url("../images/login_bgd.png") no-repeat 50%; + background-size: cover; +} +.login-max{ + height: 100%; + position: relative; + display: flex; +} +.login-content{ + width: 520px; +} +.login-content-max{ + padding: 100px 50px; +} +.login-logo{ + text-align: center; +} +.login-title{ + padding: 20px; + font-weight: bold; + color: #000000; + font-size: 28px; + text-align: center; +} +.login-content-form{ + padding:30px; + position: relative; +} +.login-mode-max{ + display: flex; + border-bottom: 1px solid #aaaaaa; +} +.login-mode{ + width: 50%; + text-align: center; + padding: 15px 0; + cursor: pointer; + color: #aaaaaa; +} +.login-mode.active{ + color: #0063b1; + font-weight: bold; +} +.login-mode-hr-max{ + position: relative; + top: -2px; +} +.login-mode-hr { + border-top: 3px solid #0162b1; + width: 50%; + position: absolute; + left: 0; + transition: left 0.3s; + +} +.login-form-fill{ + padding:0 30px; +} +.login-form-text{ + padding: 15px 0 20px 5px; + color: #888888; +} +.login-form-fill-min{ + padding: 10px 0; +} +.login-form-fill-min input{ + height: 50px; + font-size: 16px; +} +.login-form-state{ + padding: 15px 0; + display: flex; + align-items: center; + justify-content: space-between; +} +.login-forgot-password{ + font-size: 14px; + color: #3da2ff; + cursor: pointer; +} +.login-form-btn{ + padding: 15px 0; +} +.login-tips{ + height: 40px; + color: #ff0000; + text-align: center; +} +.login-submit-btn{ + background: #0162b1; + text-align: center; + height: 45px; + line-height: 45px; + color: #ffffff; + cursor: pointer; +} +.login-submit-btn:hover{ + background: #0274d1; +} +.login-submit-btn:active{ + background: #0162b1; +} +.login-form-code{ + display: flex; + align-items: center; +} +.login-form-code button{ + width: 150px; + height: 50px; + border: 0; + background: #0162b1; + cursor: pointer; + color: #ffffff; +} +.login-form-code button:hover{ + background: #0274d1; + } +.login-form-code button:active{ + background: #0162b1; +} +.left-enter, +.left-leave-to { + opacity: 0; + transform: translateX(-100px); +} +.left-enter-active, +.left-leave-active{ + transition: all 0.5s ease; +} + +.right-enter, +.right-leave-to { + opacity: 0; + transform: translateX(100px); +} +.right-enter-active, +.right-leave-active{ + transition: all 0.5s ease; +} diff --git a/public/fonts/HYLXTJ.eot b/public/fonts/HYLXTJ.eot new file mode 100644 index 0000000..9a573ca Binary files /dev/null and b/public/fonts/HYLXTJ.eot differ diff --git a/public/fonts/HYLXTJ.svg b/public/fonts/HYLXTJ.svg new file mode 100644 index 0000000..967bbca --- /dev/null +++ b/public/fonts/HYLXTJ.svg @@ -0,0 +1,24087 @@ + + + + +Created by FontForge 20170924 at Mon Aug 28 19:30:50 1995 + By www-data +(c) Copyright Beijing HANYI KEYIN Information Technology Co., Ltd. 1994 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/HYLXTJ.ttf b/public/fonts/HYLXTJ.ttf new file mode 100644 index 0000000..d5a607f Binary files /dev/null and b/public/fonts/HYLXTJ.ttf differ diff --git a/public/fonts/HYLXTJ.woff b/public/fonts/HYLXTJ.woff new file mode 100644 index 0000000..bfb9001 Binary files /dev/null and b/public/fonts/HYLXTJ.woff differ diff --git a/public/fonts/HYLXTJ.woff2 b/public/fonts/HYLXTJ.woff2 new file mode 100644 index 0000000..c3210e8 Binary files /dev/null and b/public/fonts/HYLXTJ.woff2 differ diff --git a/public/fonts/PUTHIAfont.eot b/public/fonts/PUTHIAfont.eot new file mode 100644 index 0000000..5b974c8 Binary files /dev/null and b/public/fonts/PUTHIAfont.eot differ diff --git a/public/fonts/PUTHIAfont.svg b/public/fonts/PUTHIAfont.svg new file mode 100644 index 0000000..83bb72f --- /dev/null +++ b/public/fonts/PUTHIAfont.svg @@ -0,0 +1,310 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/fonts/PUTHIAfont.ttf b/public/fonts/PUTHIAfont.ttf new file mode 100644 index 0000000..f00cfee Binary files /dev/null and b/public/fonts/PUTHIAfont.ttf differ diff --git a/public/fonts/PUTHIAfont.woff b/public/fonts/PUTHIAfont.woff new file mode 100644 index 0000000..dc8d26c Binary files /dev/null and b/public/fonts/PUTHIAfont.woff differ diff --git a/public/fonts/PUTHIAfont.woff2 b/public/fonts/PUTHIAfont.woff2 new file mode 100644 index 0000000..4a60355 Binary files /dev/null and b/public/fonts/PUTHIAfont.woff2 differ diff --git a/public/images/820.jpg b/public/images/820.jpg new file mode 100644 index 0000000..7de3c81 Binary files /dev/null and b/public/images/820.jpg differ diff --git a/public/images/821.jpg b/public/images/821.jpg new file mode 100644 index 0000000..f14908c Binary files /dev/null and b/public/images/821.jpg differ diff --git a/public/images/822.jpg b/public/images/822.jpg new file mode 100644 index 0000000..6835cd4 Binary files /dev/null and b/public/images/822.jpg differ diff --git a/public/images/830.png b/public/images/830.png new file mode 100644 index 0000000..ea1196b Binary files /dev/null and b/public/images/830.png differ diff --git a/public/images/831.jpg b/public/images/831.jpg new file mode 100644 index 0000000..fa56955 Binary files /dev/null and b/public/images/831.jpg differ diff --git a/public/images/832.jpg b/public/images/832.jpg new file mode 100644 index 0000000..a5bd32a Binary files /dev/null and b/public/images/832.jpg differ diff --git a/public/images/840.jpg b/public/images/840.jpg new file mode 100644 index 0000000..49d05a8 Binary files /dev/null and b/public/images/840.jpg differ diff --git a/public/images/841.jpg b/public/images/841.jpg new file mode 100644 index 0000000..7e984cc Binary files /dev/null and b/public/images/841.jpg differ diff --git a/public/images/842.jpg b/public/images/842.jpg new file mode 100644 index 0000000..1c5c882 Binary files /dev/null and b/public/images/842.jpg differ diff --git a/public/images/843.jpg b/public/images/843.jpg new file mode 100644 index 0000000..5bfde1b Binary files /dev/null and b/public/images/843.jpg differ diff --git a/public/images/850.jpg b/public/images/850.jpg new file mode 100644 index 0000000..1e04ac9 Binary files /dev/null and b/public/images/850.jpg differ diff --git a/public/images/851.jpg b/public/images/851.jpg new file mode 100644 index 0000000..24c79e6 Binary files /dev/null and b/public/images/851.jpg differ diff --git a/public/images/852.jpg b/public/images/852.jpg new file mode 100644 index 0000000..11ca732 Binary files /dev/null and b/public/images/852.jpg differ diff --git a/public/images/853.jpg b/public/images/853.jpg new file mode 100644 index 0000000..a141ab1 Binary files /dev/null and b/public/images/853.jpg differ diff --git a/public/images/Line.png b/public/images/Line.png new file mode 100644 index 0000000..2e9c36f Binary files /dev/null and b/public/images/Line.png differ diff --git a/public/images/address_dw.png b/public/images/address_dw.png new file mode 100644 index 0000000..2f21d53 Binary files /dev/null and b/public/images/address_dw.png differ diff --git a/public/images/address_dw_red.png b/public/images/address_dw_red.png new file mode 100644 index 0000000..4bedf27 Binary files /dev/null and b/public/images/address_dw_red.png differ diff --git a/public/images/aerial_view.png b/public/images/aerial_view.png new file mode 100644 index 0000000..a0d0223 Binary files /dev/null and b/public/images/aerial_view.png differ diff --git a/public/images/aerial_view_2.png b/public/images/aerial_view_2.png new file mode 100644 index 0000000..c032b63 Binary files /dev/null and b/public/images/aerial_view_2.png differ diff --git a/public/images/aerial_view_3.png b/public/images/aerial_view_3.png new file mode 100644 index 0000000..8f3ff03 Binary files /dev/null and b/public/images/aerial_view_3.png differ diff --git a/public/images/analyse_icon.png b/public/images/analyse_icon.png new file mode 100644 index 0000000..607aed9 Binary files /dev/null and b/public/images/analyse_icon.png differ diff --git a/public/images/analyse_title.png b/public/images/analyse_title.png new file mode 100644 index 0000000..1baba6a Binary files /dev/null and b/public/images/analyse_title.png differ diff --git a/public/images/analyse_title_blue.png b/public/images/analyse_title_blue.png new file mode 100644 index 0000000..aa3b297 Binary files /dev/null and b/public/images/analyse_title_blue.png differ diff --git a/public/images/battery.png b/public/images/battery.png new file mode 100644 index 0000000..1ba04e2 Binary files /dev/null and b/public/images/battery.png differ diff --git a/public/images/battery_red.png b/public/images/battery_red.png new file mode 100644 index 0000000..c081ea2 Binary files /dev/null and b/public/images/battery_red.png differ diff --git a/public/images/blue.png b/public/images/blue.png new file mode 100644 index 0000000..960f521 Binary files /dev/null and b/public/images/blue.png differ diff --git a/public/images/carousel_left.png b/public/images/carousel_left.png new file mode 100644 index 0000000..a31a9ca Binary files /dev/null and b/public/images/carousel_left.png differ diff --git a/public/images/carousel_right.png b/public/images/carousel_right.png new file mode 100644 index 0000000..f39fa3c Binary files /dev/null and b/public/images/carousel_right.png differ diff --git a/public/images/check_icon.png b/public/images/check_icon.png new file mode 100644 index 0000000..9bc58d0 Binary files /dev/null and b/public/images/check_icon.png differ diff --git a/public/images/circle_blue.gif b/public/images/circle_blue.gif new file mode 100644 index 0000000..f694e1c Binary files /dev/null and b/public/images/circle_blue.gif differ diff --git a/public/images/circle_blue.png b/public/images/circle_blue.png new file mode 100644 index 0000000..6d65c3b Binary files /dev/null and b/public/images/circle_blue.png differ diff --git a/public/images/circle_green.gif b/public/images/circle_green.gif new file mode 100644 index 0000000..2081989 Binary files /dev/null and b/public/images/circle_green.gif differ diff --git a/public/images/circle_green.png b/public/images/circle_green.png new file mode 100644 index 0000000..697bdc1 Binary files /dev/null and b/public/images/circle_green.png differ diff --git a/public/images/circle_icon_1.png b/public/images/circle_icon_1.png new file mode 100644 index 0000000..7f71cf8 Binary files /dev/null and b/public/images/circle_icon_1.png differ diff --git a/public/images/circle_icon_10.png b/public/images/circle_icon_10.png new file mode 100644 index 0000000..dd4a2c5 Binary files /dev/null and b/public/images/circle_icon_10.png differ diff --git a/public/images/circle_icon_11.png b/public/images/circle_icon_11.png new file mode 100644 index 0000000..cfb9028 Binary files /dev/null and b/public/images/circle_icon_11.png differ diff --git a/public/images/circle_icon_2.png b/public/images/circle_icon_2.png new file mode 100644 index 0000000..15fb44a Binary files /dev/null and b/public/images/circle_icon_2.png differ diff --git a/public/images/circle_icon_3.png b/public/images/circle_icon_3.png new file mode 100644 index 0000000..ddc9292 Binary files /dev/null and b/public/images/circle_icon_3.png differ diff --git a/public/images/circle_icon_4.png b/public/images/circle_icon_4.png new file mode 100644 index 0000000..8683f37 Binary files /dev/null and b/public/images/circle_icon_4.png differ diff --git a/public/images/circle_icon_5.png b/public/images/circle_icon_5.png new file mode 100644 index 0000000..3c74913 Binary files /dev/null and b/public/images/circle_icon_5.png differ diff --git a/public/images/circle_icon_6.png b/public/images/circle_icon_6.png new file mode 100644 index 0000000..e40d411 Binary files /dev/null and b/public/images/circle_icon_6.png differ diff --git a/public/images/circle_icon_7.png b/public/images/circle_icon_7.png new file mode 100644 index 0000000..fbb7145 Binary files /dev/null and b/public/images/circle_icon_7.png differ diff --git a/public/images/circle_icon_8.png b/public/images/circle_icon_8.png new file mode 100644 index 0000000..0b00049 Binary files /dev/null and b/public/images/circle_icon_8.png differ diff --git a/public/images/circle_icon_9.png b/public/images/circle_icon_9.png new file mode 100644 index 0000000..8a50b91 Binary files /dev/null and b/public/images/circle_icon_9.png differ diff --git a/public/images/circular.png b/public/images/circular.png new file mode 100644 index 0000000..cb0a40c Binary files /dev/null and b/public/images/circular.png differ diff --git a/public/images/company_1.png b/public/images/company_1.png new file mode 100644 index 0000000..6d9cbcf Binary files /dev/null and b/public/images/company_1.png differ diff --git a/public/images/company_10.png b/public/images/company_10.png new file mode 100644 index 0000000..639c891 Binary files /dev/null and b/public/images/company_10.png differ diff --git a/public/images/company_11.png b/public/images/company_11.png new file mode 100644 index 0000000..67285f9 Binary files /dev/null and b/public/images/company_11.png differ diff --git a/public/images/company_12.png b/public/images/company_12.png new file mode 100644 index 0000000..8d9d664 Binary files /dev/null and b/public/images/company_12.png differ diff --git a/public/images/company_13.png b/public/images/company_13.png new file mode 100644 index 0000000..5f697e7 Binary files /dev/null and b/public/images/company_13.png differ diff --git a/public/images/company_14.png b/public/images/company_14.png new file mode 100644 index 0000000..7bb4ece Binary files /dev/null and b/public/images/company_14.png differ diff --git a/public/images/company_15.png b/public/images/company_15.png new file mode 100644 index 0000000..3982f38 Binary files /dev/null and b/public/images/company_15.png differ diff --git a/public/images/company_2.png b/public/images/company_2.png new file mode 100644 index 0000000..a90ec53 Binary files /dev/null and b/public/images/company_2.png differ diff --git a/public/images/company_3.png b/public/images/company_3.png new file mode 100644 index 0000000..2819565 Binary files /dev/null and b/public/images/company_3.png differ diff --git a/public/images/company_4.png b/public/images/company_4.png new file mode 100644 index 0000000..278f2ca Binary files /dev/null and b/public/images/company_4.png differ diff --git a/public/images/company_5.png b/public/images/company_5.png new file mode 100644 index 0000000..73389ab Binary files /dev/null and b/public/images/company_5.png differ diff --git a/public/images/company_6.png b/public/images/company_6.png new file mode 100644 index 0000000..0685b85 Binary files /dev/null and b/public/images/company_6.png differ diff --git a/public/images/company_7.png b/public/images/company_7.png new file mode 100644 index 0000000..966da8e Binary files /dev/null and b/public/images/company_7.png differ diff --git a/public/images/company_8.png b/public/images/company_8.png new file mode 100644 index 0000000..2e30b3b Binary files /dev/null and b/public/images/company_8.png differ diff --git a/public/images/company_9.png b/public/images/company_9.png new file mode 100644 index 0000000..ce721c6 Binary files /dev/null and b/public/images/company_9.png differ diff --git a/public/images/current_value_bgd.png b/public/images/current_value_bgd.png new file mode 100644 index 0000000..78890fe Binary files /dev/null and b/public/images/current_value_bgd.png differ diff --git a/public/images/dangerous.png b/public/images/dangerous.png new file mode 100644 index 0000000..86d7438 Binary files /dev/null and b/public/images/dangerous.png differ diff --git a/public/images/dangerous_active.png b/public/images/dangerous_active.png new file mode 100644 index 0000000..5ac3a5b Binary files /dev/null and b/public/images/dangerous_active.png differ diff --git a/public/images/drag_hook.png b/public/images/drag_hook.png new file mode 100644 index 0000000..1536717 Binary files /dev/null and b/public/images/drag_hook.png differ diff --git a/public/images/education_bgd.png b/public/images/education_bgd.png new file mode 100644 index 0000000..849a643 Binary files /dev/null and b/public/images/education_bgd.png differ diff --git a/public/images/education_icon.png b/public/images/education_icon.png new file mode 100644 index 0000000..71f2248 Binary files /dev/null and b/public/images/education_icon.png differ diff --git a/public/images/expect_list.png b/public/images/expect_list.png new file mode 100644 index 0000000..ea917f6 Binary files /dev/null and b/public/images/expect_list.png differ diff --git a/public/images/expect_list_active.png b/public/images/expect_list_active.png new file mode 100644 index 0000000..d294b6f Binary files /dev/null and b/public/images/expect_list_active.png differ diff --git a/public/images/expect_list_yc.png b/public/images/expect_list_yc.png new file mode 100644 index 0000000..3af700d Binary files /dev/null and b/public/images/expect_list_yc.png differ diff --git a/public/images/expect_list_zc.png b/public/images/expect_list_zc.png new file mode 100644 index 0000000..8661215 Binary files /dev/null and b/public/images/expect_list_zc.png differ diff --git a/public/images/field_layout_video.png b/public/images/field_layout_video.png new file mode 100644 index 0000000..77db04b Binary files /dev/null and b/public/images/field_layout_video.png differ diff --git a/public/images/fj_jxzdgz.webp b/public/images/fj_jxzdgz.webp new file mode 100644 index 0000000..7de3c81 Binary files /dev/null and b/public/images/fj_jxzdgz.webp differ diff --git a/public/images/foot_1.png b/public/images/foot_1.png new file mode 100644 index 0000000..83b6afd Binary files /dev/null and b/public/images/foot_1.png differ diff --git a/public/images/foot_2.png b/public/images/foot_2.png new file mode 100644 index 0000000..102e62a Binary files /dev/null and b/public/images/foot_2.png differ diff --git a/public/images/foot_3.png b/public/images/foot_3.png new file mode 100644 index 0000000..4988942 Binary files /dev/null and b/public/images/foot_3.png differ diff --git a/public/images/foot_btn.png b/public/images/foot_btn.png new file mode 100644 index 0000000..78ee443 Binary files /dev/null and b/public/images/foot_btn.png differ diff --git a/public/images/foot_btn_active.png b/public/images/foot_btn_active.png new file mode 100644 index 0000000..ac473f4 Binary files /dev/null and b/public/images/foot_btn_active.png differ diff --git a/public/images/foot_left.png b/public/images/foot_left.png new file mode 100644 index 0000000..074b546 Binary files /dev/null and b/public/images/foot_left.png differ diff --git a/public/images/foot_open.png b/public/images/foot_open.png new file mode 100644 index 0000000..2ac0ccb Binary files /dev/null and b/public/images/foot_open.png differ diff --git a/public/images/foot_right.png b/public/images/foot_right.png new file mode 100644 index 0000000..89b34df Binary files /dev/null and b/public/images/foot_right.png differ diff --git a/public/images/foot_stow.png b/public/images/foot_stow.png new file mode 100644 index 0000000..d2347b8 Binary files /dev/null and b/public/images/foot_stow.png differ diff --git a/public/images/gongdi.jpeg b/public/images/gongdi.jpeg new file mode 100644 index 0000000..ac78f2d Binary files /dev/null and b/public/images/gongdi.jpeg differ diff --git a/public/images/gongdi1.jpeg b/public/images/gongdi1.jpeg new file mode 100644 index 0000000..f27e8ed Binary files /dev/null and b/public/images/gongdi1.jpeg differ diff --git a/public/images/head_select.png b/public/images/head_select.png new file mode 100644 index 0000000..7564bee Binary files /dev/null and b/public/images/head_select.png differ diff --git a/public/images/head_select_red.png b/public/images/head_select_red.png new file mode 100644 index 0000000..ee462ad Binary files /dev/null and b/public/images/head_select_red.png differ diff --git a/public/images/head_title.png b/public/images/head_title.png new file mode 100644 index 0000000..414fb05 Binary files /dev/null and b/public/images/head_title.png differ diff --git a/public/images/head_title_red.png b/public/images/head_title_red.png new file mode 100644 index 0000000..7691dab Binary files /dev/null and b/public/images/head_title_red.png differ diff --git a/public/images/high.png b/public/images/high.png new file mode 100644 index 0000000..866e575 Binary files /dev/null and b/public/images/high.png differ diff --git a/public/images/hj_PM10.png b/public/images/hj_PM10.png new file mode 100644 index 0000000..42a7f12 Binary files /dev/null and b/public/images/hj_PM10.png differ diff --git a/public/images/hj_PM2.5.png b/public/images/hj_PM2.5.png new file mode 100644 index 0000000..a66bf69 Binary files /dev/null and b/public/images/hj_PM2.5.png differ diff --git a/public/images/hj_baojingshebei.png b/public/images/hj_baojingshebei.png new file mode 100644 index 0000000..e702a22 Binary files /dev/null and b/public/images/hj_baojingshebei.png differ diff --git a/public/images/hj_fengsu.png b/public/images/hj_fengsu.png new file mode 100644 index 0000000..06d6418 Binary files /dev/null and b/public/images/hj_fengsu.png differ diff --git a/public/images/hj_gif.gif b/public/images/hj_gif.gif new file mode 100644 index 0000000..7436fd7 Binary files /dev/null and b/public/images/hj_gif.gif differ diff --git a/public/images/hj_lixianshebei.png b/public/images/hj_lixianshebei.png new file mode 100644 index 0000000..65f6b03 Binary files /dev/null and b/public/images/hj_lixianshebei.png differ diff --git a/public/images/hj_shebeizongshu.png b/public/images/hj_shebeizongshu.png new file mode 100644 index 0000000..0998ab2 Binary files /dev/null and b/public/images/hj_shebeizongshu.png differ diff --git a/public/images/hj_shidu.png b/public/images/hj_shidu.png new file mode 100644 index 0000000..de283dd Binary files /dev/null and b/public/images/hj_shidu.png differ diff --git a/public/images/hj_wendu.png b/public/images/hj_wendu.png new file mode 100644 index 0000000..12b67dd Binary files /dev/null and b/public/images/hj_wendu.png differ diff --git a/public/images/hj_zaixianshebei.png b/public/images/hj_zaixianshebei.png new file mode 100644 index 0000000..83e1b77 Binary files /dev/null and b/public/images/hj_zaixianshebei.png differ diff --git a/public/images/hj_zaoyin.png b/public/images/hj_zaoyin.png new file mode 100644 index 0000000..fd6d48f Binary files /dev/null and b/public/images/hj_zaoyin.png differ diff --git a/public/images/icon2001.png b/public/images/icon2001.png new file mode 100644 index 0000000..d8efb90 Binary files /dev/null and b/public/images/icon2001.png differ diff --git a/public/images/icon_10.png b/public/images/icon_10.png new file mode 100644 index 0000000..6da06cb Binary files /dev/null and b/public/images/icon_10.png differ diff --git a/public/images/icon_5.png b/public/images/icon_5.png new file mode 100644 index 0000000..eb48d65 Binary files /dev/null and b/public/images/icon_5.png differ diff --git a/public/images/icon_6.png b/public/images/icon_6.png new file mode 100644 index 0000000..82a2c97 Binary files /dev/null and b/public/images/icon_6.png differ diff --git a/public/images/icon_7.png b/public/images/icon_7.png new file mode 100644 index 0000000..ee2c8d0 Binary files /dev/null and b/public/images/icon_7.png differ diff --git a/public/images/icon_8.png b/public/images/icon_8.png new file mode 100644 index 0000000..9cc921b Binary files /dev/null and b/public/images/icon_8.png differ diff --git a/public/images/icon_9.png b/public/images/icon_9.png new file mode 100644 index 0000000..4251f83 Binary files /dev/null and b/public/images/icon_9.png differ diff --git a/public/images/input_search.png b/public/images/input_search.png new file mode 100644 index 0000000..b2f0331 Binary files /dev/null and b/public/images/input_search.png differ diff --git a/public/images/labour_warning_bgd.png b/public/images/labour_warning_bgd.png new file mode 100644 index 0000000..6eab50a Binary files /dev/null and b/public/images/labour_warning_bgd.png differ diff --git a/public/images/labour_warning_icon.png b/public/images/labour_warning_icon.png new file mode 100644 index 0000000..d8e948e Binary files /dev/null and b/public/images/labour_warning_icon.png differ diff --git a/public/images/legend_cexie.png b/public/images/legend_cexie.png new file mode 100644 index 0000000..2d22f8b Binary files /dev/null and b/public/images/legend_cexie.png differ diff --git a/public/images/legend_chenjiang.png b/public/images/legend_chenjiang.png new file mode 100644 index 0000000..2d227c4 Binary files /dev/null and b/public/images/legend_chenjiang.png differ diff --git a/public/images/legend_qingxie.png b/public/images/legend_qingxie.png new file mode 100644 index 0000000..efca1de Binary files /dev/null and b/public/images/legend_qingxie.png differ diff --git a/public/images/legend_shuiwei.png b/public/images/legend_shuiwei.png new file mode 100644 index 0000000..d819d9d Binary files /dev/null and b/public/images/legend_shuiwei.png differ diff --git a/public/images/legend_weiyi.png b/public/images/legend_weiyi.png new file mode 100644 index 0000000..1b2e73e Binary files /dev/null and b/public/images/legend_weiyi.png differ diff --git a/public/images/legend_yingli.png b/public/images/legend_yingli.png new file mode 100644 index 0000000..531af6c Binary files /dev/null and b/public/images/legend_yingli.png differ diff --git a/public/images/list_bgd.png b/public/images/list_bgd.png new file mode 100644 index 0000000..9000400 Binary files /dev/null and b/public/images/list_bgd.png differ diff --git a/public/images/list_img_icon.png b/public/images/list_img_icon.png new file mode 100644 index 0000000..cb30274 Binary files /dev/null and b/public/images/list_img_icon.png differ diff --git a/public/images/list_img_tj.png b/public/images/list_img_tj.png new file mode 100644 index 0000000..2b65451 Binary files /dev/null and b/public/images/list_img_tj.png differ diff --git a/public/images/location.png b/public/images/location.png new file mode 100644 index 0000000..3402822 Binary files /dev/null and b/public/images/location.png differ diff --git a/public/images/login_bgd.png b/public/images/login_bgd.png new file mode 100644 index 0000000..f19e233 Binary files /dev/null and b/public/images/login_bgd.png differ diff --git a/public/images/login_bgd1.jpg b/public/images/login_bgd1.jpg new file mode 100644 index 0000000..1a4d227 Binary files /dev/null and b/public/images/login_bgd1.jpg differ diff --git a/public/images/logo.png b/public/images/logo.png new file mode 100644 index 0000000..0714cb5 Binary files /dev/null and b/public/images/logo.png differ diff --git a/public/images/logo_bgd.png b/public/images/logo_bgd.png new file mode 100644 index 0000000..539ee7c Binary files /dev/null and b/public/images/logo_bgd.png differ diff --git a/public/images/long_tr_bgd.png b/public/images/long_tr_bgd.png new file mode 100644 index 0000000..729b72c Binary files /dev/null and b/public/images/long_tr_bgd.png differ diff --git a/public/images/low.png b/public/images/low.png new file mode 100644 index 0000000..0447917 Binary files /dev/null and b/public/images/low.png differ diff --git a/public/images/machinery_bgd.png b/public/images/machinery_bgd.png new file mode 100644 index 0000000..191e744 Binary files /dev/null and b/public/images/machinery_bgd.png differ diff --git a/public/images/map_popup_bgd.png b/public/images/map_popup_bgd.png new file mode 100644 index 0000000..c8524b8 Binary files /dev/null and b/public/images/map_popup_bgd.png differ diff --git a/public/images/map_popup_red_bgd.png b/public/images/map_popup_red_bgd.png new file mode 100644 index 0000000..546d060 Binary files /dev/null and b/public/images/map_popup_red_bgd.png differ diff --git a/public/images/map_popup_title.png b/public/images/map_popup_title.png new file mode 100644 index 0000000..be59af0 Binary files /dev/null and b/public/images/map_popup_title.png differ diff --git a/public/images/map_sjk_popup_bgd.png b/public/images/map_sjk_popup_bgd.png new file mode 100644 index 0000000..51b7f1f Binary files /dev/null and b/public/images/map_sjk_popup_bgd.png differ diff --git a/public/images/needle.png b/public/images/needle.png new file mode 100644 index 0000000..aea3699 Binary files /dev/null and b/public/images/needle.png differ diff --git a/public/images/no_picture.png b/public/images/no_picture.png new file mode 100644 index 0000000..643a917 Binary files /dev/null and b/public/images/no_picture.png differ diff --git a/public/images/nodata.jpg b/public/images/nodata.jpg new file mode 100644 index 0000000..de3b3a6 Binary files /dev/null and b/public/images/nodata.jpg differ diff --git a/public/images/nodata.png b/public/images/nodata.png new file mode 100644 index 0000000..17d832c Binary files /dev/null and b/public/images/nodata.png differ diff --git a/public/images/number_bgd.png b/public/images/number_bgd.png new file mode 100644 index 0000000..22048d4 Binary files /dev/null and b/public/images/number_bgd.png differ diff --git a/public/images/one/1x1.png b/public/images/one/1x1.png new file mode 100644 index 0000000..1ef19cb Binary files /dev/null and b/public/images/one/1x1.png differ diff --git a/public/images/one/1x2.png b/public/images/one/1x2.png new file mode 100644 index 0000000..ce4da6f Binary files /dev/null and b/public/images/one/1x2.png differ diff --git a/public/images/one/1x3.png b/public/images/one/1x3.png new file mode 100644 index 0000000..0772892 Binary files /dev/null and b/public/images/one/1x3.png differ diff --git a/public/images/one/1x4.png b/public/images/one/1x4.png new file mode 100644 index 0000000..bbfcb5e Binary files /dev/null and b/public/images/one/1x4.png differ diff --git a/public/images/one/2x1.png b/public/images/one/2x1.png new file mode 100644 index 0000000..187d33d Binary files /dev/null and b/public/images/one/2x1.png differ diff --git a/public/images/one/2x2.png b/public/images/one/2x2.png new file mode 100644 index 0000000..561e42d Binary files /dev/null and b/public/images/one/2x2.png differ diff --git a/public/images/one/2x3.png b/public/images/one/2x3.png new file mode 100644 index 0000000..0ea4281 Binary files /dev/null and b/public/images/one/2x3.png differ diff --git a/public/images/one/2x4.png b/public/images/one/2x4.png new file mode 100644 index 0000000..3b33213 Binary files /dev/null and b/public/images/one/2x4.png differ diff --git a/public/images/one/3x1.png b/public/images/one/3x1.png new file mode 100644 index 0000000..49f9883 Binary files /dev/null and b/public/images/one/3x1.png differ diff --git a/public/images/one/3x2.png b/public/images/one/3x2.png new file mode 100644 index 0000000..c9a7e9d Binary files /dev/null and b/public/images/one/3x2.png differ diff --git a/public/images/one/3x3.png b/public/images/one/3x3.png new file mode 100644 index 0000000..88b9ef7 Binary files /dev/null and b/public/images/one/3x3.png differ diff --git a/public/images/one/3x4.png b/public/images/one/3x4.png new file mode 100644 index 0000000..ec50136 Binary files /dev/null and b/public/images/one/3x4.png differ diff --git a/public/images/place_cexie_blue.png b/public/images/place_cexie_blue.png new file mode 100644 index 0000000..b3ffbba Binary files /dev/null and b/public/images/place_cexie_blue.png differ diff --git a/public/images/place_cexie_green.png b/public/images/place_cexie_green.png new file mode 100644 index 0000000..492d690 Binary files /dev/null and b/public/images/place_cexie_green.png differ diff --git a/public/images/place_cexie_grey.png b/public/images/place_cexie_grey.png new file mode 100644 index 0000000..da73e17 Binary files /dev/null and b/public/images/place_cexie_grey.png differ diff --git a/public/images/place_cexie_orange.png b/public/images/place_cexie_orange.png new file mode 100644 index 0000000..266060f Binary files /dev/null and b/public/images/place_cexie_orange.png differ diff --git a/public/images/place_cexie_red.png b/public/images/place_cexie_red.png new file mode 100644 index 0000000..ef78e41 Binary files /dev/null and b/public/images/place_cexie_red.png differ diff --git a/public/images/place_chenjiang_blue.png b/public/images/place_chenjiang_blue.png new file mode 100644 index 0000000..ef6f6f6 Binary files /dev/null and b/public/images/place_chenjiang_blue.png differ diff --git a/public/images/place_chenjiang_green.png b/public/images/place_chenjiang_green.png new file mode 100644 index 0000000..fdac878 Binary files /dev/null and b/public/images/place_chenjiang_green.png differ diff --git a/public/images/place_chenjiang_grey.png b/public/images/place_chenjiang_grey.png new file mode 100644 index 0000000..ede06a1 Binary files /dev/null and b/public/images/place_chenjiang_grey.png differ diff --git a/public/images/place_chenjiang_orange.png b/public/images/place_chenjiang_orange.png new file mode 100644 index 0000000..437744b Binary files /dev/null and b/public/images/place_chenjiang_orange.png differ diff --git a/public/images/place_chenjiang_red.png b/public/images/place_chenjiang_red.png new file mode 100644 index 0000000..8d13db2 Binary files /dev/null and b/public/images/place_chenjiang_red.png differ diff --git a/public/images/place_qingxie_blue.png b/public/images/place_qingxie_blue.png new file mode 100644 index 0000000..0a11efc Binary files /dev/null and b/public/images/place_qingxie_blue.png differ diff --git a/public/images/place_qingxie_green.png b/public/images/place_qingxie_green.png new file mode 100644 index 0000000..6fe95d1 Binary files /dev/null and b/public/images/place_qingxie_green.png differ diff --git a/public/images/place_qingxie_grey.png b/public/images/place_qingxie_grey.png new file mode 100644 index 0000000..5356bdc Binary files /dev/null and b/public/images/place_qingxie_grey.png differ diff --git a/public/images/place_qingxie_orange.png b/public/images/place_qingxie_orange.png new file mode 100644 index 0000000..b8b4774 Binary files /dev/null and b/public/images/place_qingxie_orange.png differ diff --git a/public/images/place_qingxie_red.png b/public/images/place_qingxie_red.png new file mode 100644 index 0000000..3782654 Binary files /dev/null and b/public/images/place_qingxie_red.png differ diff --git a/public/images/place_shuiwei_blue.png b/public/images/place_shuiwei_blue.png new file mode 100644 index 0000000..af67018 Binary files /dev/null and b/public/images/place_shuiwei_blue.png differ diff --git a/public/images/place_shuiwei_green.png b/public/images/place_shuiwei_green.png new file mode 100644 index 0000000..324ed0c Binary files /dev/null and b/public/images/place_shuiwei_green.png differ diff --git a/public/images/place_shuiwei_grey.png b/public/images/place_shuiwei_grey.png new file mode 100644 index 0000000..92b5977 Binary files /dev/null and b/public/images/place_shuiwei_grey.png differ diff --git a/public/images/place_shuiwei_orange.png b/public/images/place_shuiwei_orange.png new file mode 100644 index 0000000..8eada45 Binary files /dev/null and b/public/images/place_shuiwei_orange.png differ diff --git a/public/images/place_shuiwei_red.png b/public/images/place_shuiwei_red.png new file mode 100644 index 0000000..3fb3fed Binary files /dev/null and b/public/images/place_shuiwei_red.png differ diff --git a/public/images/place_weiyi_blue.png b/public/images/place_weiyi_blue.png new file mode 100644 index 0000000..4b2c09b Binary files /dev/null and b/public/images/place_weiyi_blue.png differ diff --git a/public/images/place_weiyi_green.png b/public/images/place_weiyi_green.png new file mode 100644 index 0000000..4293189 Binary files /dev/null and b/public/images/place_weiyi_green.png differ diff --git a/public/images/place_weiyi_grey.png b/public/images/place_weiyi_grey.png new file mode 100644 index 0000000..dc8de3f Binary files /dev/null and b/public/images/place_weiyi_grey.png differ diff --git a/public/images/place_weiyi_orange.png b/public/images/place_weiyi_orange.png new file mode 100644 index 0000000..be5f0c3 Binary files /dev/null and b/public/images/place_weiyi_orange.png differ diff --git a/public/images/place_weiyi_red.png b/public/images/place_weiyi_red.png new file mode 100644 index 0000000..7c7ef30 Binary files /dev/null and b/public/images/place_weiyi_red.png differ diff --git a/public/images/place_yingli_blue.png b/public/images/place_yingli_blue.png new file mode 100644 index 0000000..a736d54 Binary files /dev/null and b/public/images/place_yingli_blue.png differ diff --git a/public/images/place_yingli_green.png b/public/images/place_yingli_green.png new file mode 100644 index 0000000..5c6a1fd Binary files /dev/null and b/public/images/place_yingli_green.png differ diff --git a/public/images/place_yingli_grey.png b/public/images/place_yingli_grey.png new file mode 100644 index 0000000..7c27b34 Binary files /dev/null and b/public/images/place_yingli_grey.png differ diff --git a/public/images/place_yingli_orange.png b/public/images/place_yingli_orange.png new file mode 100644 index 0000000..ee9c1b3 Binary files /dev/null and b/public/images/place_yingli_orange.png differ diff --git a/public/images/place_yingli_red.png b/public/images/place_yingli_red.png new file mode 100644 index 0000000..443f36f Binary files /dev/null and b/public/images/place_yingli_red.png differ diff --git a/public/images/prj1.svg b/public/images/prj1.svg new file mode 100644 index 0000000..3b5624f --- /dev/null +++ b/public/images/prj1.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/images/prj2.svg b/public/images/prj2.svg new file mode 100644 index 0000000..96c4b4e --- /dev/null +++ b/public/images/prj2.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/images/prj3.svg b/public/images/prj3.svg new file mode 100644 index 0000000..70547b3 --- /dev/null +++ b/public/images/prj3.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/images/project_amount_bgd.png b/public/images/project_amount_bgd.png new file mode 100644 index 0000000..611a440 Binary files /dev/null and b/public/images/project_amount_bgd.png differ diff --git a/public/images/quality_icon_1.png b/public/images/quality_icon_1.png new file mode 100644 index 0000000..30b9eb5 Binary files /dev/null and b/public/images/quality_icon_1.png differ diff --git a/public/images/quality_icon_2.png b/public/images/quality_icon_2.png new file mode 100644 index 0000000..c4ceb70 Binary files /dev/null and b/public/images/quality_icon_2.png differ diff --git a/public/images/quality_icon_3.png b/public/images/quality_icon_3.png new file mode 100644 index 0000000..26406f4 Binary files /dev/null and b/public/images/quality_icon_3.png differ diff --git a/public/images/quality_target_1.png b/public/images/quality_target_1.png new file mode 100644 index 0000000..6701f9f Binary files /dev/null and b/public/images/quality_target_1.png differ diff --git a/public/images/quality_target_2.png b/public/images/quality_target_2.png new file mode 100644 index 0000000..f615654 Binary files /dev/null and b/public/images/quality_target_2.png differ diff --git a/public/images/quality_target_3.png b/public/images/quality_target_3.png new file mode 100644 index 0000000..23c2eb1 Binary files /dev/null and b/public/images/quality_target_3.png differ diff --git a/public/images/ratio_bgd.png b/public/images/ratio_bgd.png new file mode 100644 index 0000000..5b5e4e0 Binary files /dev/null and b/public/images/ratio_bgd.png differ diff --git a/public/images/red/0x5.png b/public/images/red/0x5.png new file mode 100644 index 0000000..10f4a86 Binary files /dev/null and b/public/images/red/0x5.png differ diff --git a/public/images/red/1x1.png b/public/images/red/1x1.png new file mode 100644 index 0000000..c43e3ef Binary files /dev/null and b/public/images/red/1x1.png differ diff --git a/public/images/red/1x1_1.png b/public/images/red/1x1_1.png new file mode 100644 index 0000000..038a4d0 Binary files /dev/null and b/public/images/red/1x1_1.png differ diff --git a/public/images/red/1x2.png b/public/images/red/1x2.png new file mode 100644 index 0000000..6bfcf3d Binary files /dev/null and b/public/images/red/1x2.png differ diff --git a/public/images/red/1x2_1.png b/public/images/red/1x2_1.png new file mode 100644 index 0000000..68bcf70 Binary files /dev/null and b/public/images/red/1x2_1.png differ diff --git a/public/images/red/2x2.png b/public/images/red/2x2.png new file mode 100644 index 0000000..fefebbe Binary files /dev/null and b/public/images/red/2x2.png differ diff --git a/public/images/red/2x2_1.png b/public/images/red/2x2_1.png new file mode 100644 index 0000000..5f99178 Binary files /dev/null and b/public/images/red/2x2_1.png differ diff --git a/public/images/red/big_bgd.png b/public/images/red/big_bgd.png new file mode 100644 index 0000000..cf6c939 Binary files /dev/null and b/public/images/red/big_bgd.png differ diff --git a/public/images/red/video.png b/public/images/red/video.png new file mode 100644 index 0000000..a236d33 Binary files /dev/null and b/public/images/red/video.png differ diff --git a/public/images/return_btn_bgd.png b/public/images/return_btn_bgd.png new file mode 100644 index 0000000..631c9c4 Binary files /dev/null and b/public/images/return_btn_bgd.png differ diff --git a/public/images/return_icon.png b/public/images/return_icon.png new file mode 100644 index 0000000..05d80da Binary files /dev/null and b/public/images/return_icon.png differ diff --git a/public/images/right.png b/public/images/right.png new file mode 100644 index 0000000..59f4efa Binary files /dev/null and b/public/images/right.png differ diff --git a/public/images/run_circle.png b/public/images/run_circle.png new file mode 100644 index 0000000..6aaa112 Binary files /dev/null and b/public/images/run_circle.png differ diff --git a/public/images/safe_tower_left.png b/public/images/safe_tower_left.png new file mode 100644 index 0000000..6e045e4 Binary files /dev/null and b/public/images/safe_tower_left.png differ diff --git a/public/images/safe_tower_left_a.png b/public/images/safe_tower_left_a.png new file mode 100644 index 0000000..6e045e4 Binary files /dev/null and b/public/images/safe_tower_left_a.png differ diff --git a/public/images/safe_tower_name_bgd.png b/public/images/safe_tower_name_bgd.png new file mode 100644 index 0000000..f1757c1 Binary files /dev/null and b/public/images/safe_tower_name_bgd.png differ diff --git a/public/images/safe_tower_right.png b/public/images/safe_tower_right.png new file mode 100644 index 0000000..0132caf Binary files /dev/null and b/public/images/safe_tower_right.png differ diff --git a/public/images/safe_tower_right_a.png b/public/images/safe_tower_right_a.png new file mode 100644 index 0000000..9f32662 Binary files /dev/null and b/public/images/safe_tower_right_a.png differ diff --git a/public/images/search.png b/public/images/search.png new file mode 100644 index 0000000..d74e8ca Binary files /dev/null and b/public/images/search.png differ diff --git a/public/images/select_bgd.png b/public/images/select_bgd.png new file mode 100644 index 0000000..22f8789 Binary files /dev/null and b/public/images/select_bgd.png differ diff --git a/public/images/sereen_bgd.png b/public/images/sereen_bgd.png new file mode 100644 index 0000000..bb68933 Binary files /dev/null and b/public/images/sereen_bgd.png differ diff --git a/public/images/sjk.jpg b/public/images/sjk.jpg new file mode 100644 index 0000000..21fb922 Binary files /dev/null and b/public/images/sjk.jpg differ diff --git a/public/images/sjkcad.png b/public/images/sjkcad.png new file mode 100644 index 0000000..71e8e22 Binary files /dev/null and b/public/images/sjkcad.png differ diff --git a/public/images/small_title.png b/public/images/small_title.png new file mode 100644 index 0000000..9eb3030 Binary files /dev/null and b/public/images/small_title.png differ diff --git a/public/images/state_bgd.png b/public/images/state_bgd.png new file mode 100644 index 0000000..fc839e2 Binary files /dev/null and b/public/images/state_bgd.png differ diff --git a/public/images/state_lx_bgd.png b/public/images/state_lx_bgd.png new file mode 100644 index 0000000..39f81a5 Binary files /dev/null and b/public/images/state_lx_bgd.png differ diff --git a/public/images/survey_bgd_fb.png b/public/images/survey_bgd_fb.png new file mode 100644 index 0000000..1dfa8a9 Binary files /dev/null and b/public/images/survey_bgd_fb.png differ diff --git a/public/images/survey_bgd_zl.png b/public/images/survey_bgd_zl.png new file mode 100644 index 0000000..2939da4 Binary files /dev/null and b/public/images/survey_bgd_zl.png differ diff --git a/public/images/survey_bgd_zy.png b/public/images/survey_bgd_zy.png new file mode 100644 index 0000000..bc7334c Binary files /dev/null and b/public/images/survey_bgd_zy.png differ diff --git a/public/images/survey_btn.png b/public/images/survey_btn.png new file mode 100644 index 0000000..64fa7ec Binary files /dev/null and b/public/images/survey_btn.png differ diff --git a/public/images/survey_btn_active.png b/public/images/survey_btn_active.png new file mode 100644 index 0000000..4af5922 Binary files /dev/null and b/public/images/survey_btn_active.png differ diff --git a/public/images/survey_icon_1.png b/public/images/survey_icon_1.png new file mode 100644 index 0000000..cfe47b2 Binary files /dev/null and b/public/images/survey_icon_1.png differ diff --git a/public/images/survey_icon_2.png b/public/images/survey_icon_2.png new file mode 100644 index 0000000..91bdd5e Binary files /dev/null and b/public/images/survey_icon_2.png differ diff --git a/public/images/survey_icon_3.png b/public/images/survey_icon_3.png new file mode 100644 index 0000000..2fa22a2 Binary files /dev/null and b/public/images/survey_icon_3.png differ diff --git a/public/images/survey_icon_4.png b/public/images/survey_icon_4.png new file mode 100644 index 0000000..090d535 Binary files /dev/null and b/public/images/survey_icon_4.png differ diff --git a/public/images/survey_icon_5.png b/public/images/survey_icon_5.png new file mode 100644 index 0000000..3f60b99 Binary files /dev/null and b/public/images/survey_icon_5.png differ diff --git a/public/images/survey_icon_6.png b/public/images/survey_icon_6.png new file mode 100644 index 0000000..87a4525 Binary files /dev/null and b/public/images/survey_icon_6.png differ diff --git a/public/images/survey_icon_7.png b/public/images/survey_icon_7.png new file mode 100644 index 0000000..f09aa9a Binary files /dev/null and b/public/images/survey_icon_7.png differ diff --git a/public/images/survey_icon_8.png b/public/images/survey_icon_8.png new file mode 100644 index 0000000..5587d8d Binary files /dev/null and b/public/images/survey_icon_8.png differ diff --git a/public/images/survey_total_icon.png b/public/images/survey_total_icon.png new file mode 100644 index 0000000..4d0472b Binary files /dev/null and b/public/images/survey_total_icon.png differ diff --git a/public/images/table_tr.png b/public/images/table_tr.png new file mode 100644 index 0000000..49897cc Binary files /dev/null and b/public/images/table_tr.png differ diff --git a/public/images/text_bgd.png b/public/images/text_bgd.png new file mode 100644 index 0000000..d812410 Binary files /dev/null and b/public/images/text_bgd.png differ diff --git a/public/images/text_red_bgd.png b/public/images/text_red_bgd.png new file mode 100644 index 0000000..2a113bc Binary files /dev/null and b/public/images/text_red_bgd.png differ diff --git a/public/images/text_red_safe_bgd.png b/public/images/text_red_safe_bgd.png new file mode 100644 index 0000000..e4be323 Binary files /dev/null and b/public/images/text_red_safe_bgd.png differ diff --git a/public/images/text_red_spot.png b/public/images/text_red_spot.png new file mode 100644 index 0000000..bcf06f5 Binary files /dev/null and b/public/images/text_red_spot.png differ diff --git a/public/images/text_spot.png b/public/images/text_spot.png new file mode 100644 index 0000000..9efb7a5 Binary files /dev/null and b/public/images/text_spot.png differ diff --git a/public/images/title_icon.png b/public/images/title_icon.png new file mode 100644 index 0000000..7c155e2 Binary files /dev/null and b/public/images/title_icon.png differ diff --git a/public/images/title_tab.png b/public/images/title_tab.png new file mode 100644 index 0000000..124daf8 Binary files /dev/null and b/public/images/title_tab.png differ diff --git a/public/images/title_tab_active.png b/public/images/title_tab_active.png new file mode 100644 index 0000000..8f8004f Binary files /dev/null and b/public/images/title_tab_active.png differ diff --git a/public/images/title_tab_active_red.png b/public/images/title_tab_active_red.png new file mode 100644 index 0000000..c65f105 Binary files /dev/null and b/public/images/title_tab_active_red.png differ diff --git a/public/images/title_tab_red.png b/public/images/title_tab_red.png new file mode 100644 index 0000000..b4601f6 Binary files /dev/null and b/public/images/title_tab_red.png differ diff --git a/public/images/tower_crane.png b/public/images/tower_crane.png new file mode 100644 index 0000000..e1af60e Binary files /dev/null and b/public/images/tower_crane.png differ diff --git a/public/images/two/1x1.png b/public/images/two/1x1.png new file mode 100644 index 0000000..edffffb Binary files /dev/null and b/public/images/two/1x1.png differ diff --git a/public/images/two/1x2.png b/public/images/two/1x2.png new file mode 100644 index 0000000..dd88e6f Binary files /dev/null and b/public/images/two/1x2.png differ diff --git a/public/images/two/1x3.png b/public/images/two/1x3.png new file mode 100644 index 0000000..1a7dfb2 Binary files /dev/null and b/public/images/two/1x3.png differ diff --git a/public/images/two/1x4.png b/public/images/two/1x4.png new file mode 100644 index 0000000..b6d946f Binary files /dev/null and b/public/images/two/1x4.png differ diff --git a/public/images/two/2x1.png b/public/images/two/2x1.png new file mode 100644 index 0000000..60b941e Binary files /dev/null and b/public/images/two/2x1.png differ diff --git a/public/images/two/2x2.png b/public/images/two/2x2.png new file mode 100644 index 0000000..80f2e25 Binary files /dev/null and b/public/images/two/2x2.png differ diff --git a/public/images/two/2x3.png b/public/images/two/2x3.png new file mode 100644 index 0000000..cc113c8 Binary files /dev/null and b/public/images/two/2x3.png differ diff --git a/public/images/two/2x4.png b/public/images/two/2x4.png new file mode 100644 index 0000000..159a22f Binary files /dev/null and b/public/images/two/2x4.png differ diff --git a/public/images/two/3x1.png b/public/images/two/3x1.png new file mode 100644 index 0000000..8a9cd18 Binary files /dev/null and b/public/images/two/3x1.png differ diff --git a/public/images/two/3x2.png b/public/images/two/3x2.png new file mode 100644 index 0000000..e463c39 Binary files /dev/null and b/public/images/two/3x2.png differ diff --git a/public/images/two/3x3.png b/public/images/two/3x3.png new file mode 100644 index 0000000..9e3cc80 Binary files /dev/null and b/public/images/two/3x3.png differ diff --git a/public/images/two/3x4.png b/public/images/two/3x4.png new file mode 100644 index 0000000..2330c75 Binary files /dev/null and b/public/images/two/3x4.png differ diff --git a/public/images/up.png b/public/images/up.png new file mode 100644 index 0000000..c4b7c42 Binary files /dev/null and b/public/images/up.png differ diff --git a/public/images/utilization.png b/public/images/utilization.png new file mode 100644 index 0000000..acd6a50 Binary files /dev/null and b/public/images/utilization.png differ diff --git a/public/images/vehicle_chu.png b/public/images/vehicle_chu.png new file mode 100644 index 0000000..79696d5 Binary files /dev/null and b/public/images/vehicle_chu.png differ diff --git a/public/images/vehicle_jin.png b/public/images/vehicle_jin.png new file mode 100644 index 0000000..415b634 Binary files /dev/null and b/public/images/vehicle_jin.png differ diff --git a/public/images/video_1.png b/public/images/video_1.png new file mode 100644 index 0000000..af94cd4 Binary files /dev/null and b/public/images/video_1.png differ diff --git a/public/images/video_2.png b/public/images/video_2.png new file mode 100644 index 0000000..97c91fe Binary files /dev/null and b/public/images/video_2.png differ diff --git a/public/images/video_3.png b/public/images/video_3.png new file mode 100644 index 0000000..fe8645d Binary files /dev/null and b/public/images/video_3.png differ diff --git a/public/images/video_4.png b/public/images/video_4.png new file mode 100644 index 0000000..d0f6a90 Binary files /dev/null and b/public/images/video_4.png differ diff --git a/public/images/video_list_title.png b/public/images/video_list_title.png new file mode 100644 index 0000000..9ed5c7a Binary files /dev/null and b/public/images/video_list_title.png differ diff --git a/public/images/video_title.png b/public/images/video_title.png new file mode 100644 index 0000000..9eb3030 Binary files /dev/null and b/public/images/video_title.png differ diff --git a/public/images/warning_PM10.png b/public/images/warning_PM10.png new file mode 100644 index 0000000..133fcf2 Binary files /dev/null and b/public/images/warning_PM10.png differ diff --git a/public/images/warning_PM2.5.png b/public/images/warning_PM2.5.png new file mode 100644 index 0000000..b8c41d8 Binary files /dev/null and b/public/images/warning_PM2.5.png differ diff --git a/public/images/warning_cexie.png b/public/images/warning_cexie.png new file mode 100644 index 0000000..8841b03 Binary files /dev/null and b/public/images/warning_cexie.png differ diff --git a/public/images/warning_chenjiang.png b/public/images/warning_chenjiang.png new file mode 100644 index 0000000..ef54622 Binary files /dev/null and b/public/images/warning_chenjiang.png differ diff --git a/public/images/warning_diaozhong.png b/public/images/warning_diaozhong.png new file mode 100644 index 0000000..b3b10e6 Binary files /dev/null and b/public/images/warning_diaozhong.png differ diff --git a/public/images/warning_fengsu.png b/public/images/warning_fengsu.png new file mode 100644 index 0000000..5e42ed2 Binary files /dev/null and b/public/images/warning_fengsu.png differ diff --git a/public/images/warning_fudu.png b/public/images/warning_fudu.png new file mode 100644 index 0000000..c935fc2 Binary files /dev/null and b/public/images/warning_fudu.png differ diff --git a/public/images/warning_gaodu.png b/public/images/warning_gaodu.png new file mode 100644 index 0000000..a101e3e Binary files /dev/null and b/public/images/warning_gaodu.png differ diff --git a/public/images/warning_jixie.png b/public/images/warning_jixie.png new file mode 100644 index 0000000..c72e2d5 Binary files /dev/null and b/public/images/warning_jixie.png differ diff --git a/public/images/warning_qingjiao.png b/public/images/warning_qingjiao.png new file mode 100644 index 0000000..c606ba6 Binary files /dev/null and b/public/images/warning_qingjiao.png differ diff --git a/public/images/warning_qingxie.png b/public/images/warning_qingxie.png new file mode 100644 index 0000000..26f1371 Binary files /dev/null and b/public/images/warning_qingxie.png differ diff --git a/public/images/warning_renyuan.png b/public/images/warning_renyuan.png new file mode 100644 index 0000000..99cc8f3 Binary files /dev/null and b/public/images/warning_renyuan.png differ diff --git a/public/images/warning_shidu.png b/public/images/warning_shidu.png new file mode 100644 index 0000000..4f90118 Binary files /dev/null and b/public/images/warning_shidu.png differ diff --git a/public/images/warning_shuiwei.png b/public/images/warning_shuiwei.png new file mode 100644 index 0000000..38594f0 Binary files /dev/null and b/public/images/warning_shuiwei.png differ diff --git a/public/images/warning_weiyi.png b/public/images/warning_weiyi.png new file mode 100644 index 0000000..0410c27 Binary files /dev/null and b/public/images/warning_weiyi.png differ diff --git a/public/images/warning_wendu.png b/public/images/warning_wendu.png new file mode 100644 index 0000000..590c441 Binary files /dev/null and b/public/images/warning_wendu.png differ diff --git a/public/images/warning_yingli.png b/public/images/warning_yingli.png new file mode 100644 index 0000000..4a4c746 Binary files /dev/null and b/public/images/warning_yingli.png differ diff --git a/public/images/warning_zaoyin.png b/public/images/warning_zaoyin.png new file mode 100644 index 0000000..90a6751 Binary files /dev/null and b/public/images/warning_zaoyin.png differ diff --git a/public/images/warning_zhuanjiao.png b/public/images/warning_zhuanjiao.png new file mode 100644 index 0000000..6ba38be Binary files /dev/null and b/public/images/warning_zhuanjiao.png differ diff --git a/public/images/weather.png b/public/images/weather.png new file mode 100644 index 0000000..8fa642d Binary files /dev/null and b/public/images/weather.png differ diff --git a/public/images/zzfs_bgf.png b/public/images/zzfs_bgf.png new file mode 100644 index 0000000..cf6d4cf Binary files /dev/null and b/public/images/zzfs_bgf.png differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..c21a760 --- /dev/null +++ b/public/index.html @@ -0,0 +1,27 @@ + + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + + + + + + + + + + + +
+ + + diff --git a/public/video.html b/public/video.html new file mode 100644 index 0000000..5e15ba3 --- /dev/null +++ b/public/video.html @@ -0,0 +1,41 @@ + + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + diff --git a/src/api/dept/index.js b/src/api/dept/index.js new file mode 100644 index 0000000..75f4b50 --- /dev/null +++ b/src/api/dept/index.js @@ -0,0 +1,14 @@ + +import request from '@/utils/request' + +// 查询流程表单列表 +const list=()=> { + return request({ + url: 'bgscreen/dept/list', + method: 'get' + }) +} + +export default{ + list +} diff --git a/src/api/index.js b/src/api/index.js new file mode 100644 index 0000000..474bdf5 --- /dev/null +++ b/src/api/index.js @@ -0,0 +1,12 @@ +import project from './project/index' +import dept from './dept/index' +import schedule from './schedule/index' +import quarterlyAssess from './quarterlyAssess/index' +import problemmodify from './problemmodify/index' +export default { + project, + dept, + schedule, + quarterlyAssess, + problemmodify +} \ No newline at end of file diff --git a/src/api/problemmodify/index.js b/src/api/problemmodify/index.js new file mode 100644 index 0000000..372dfde --- /dev/null +++ b/src/api/problemmodify/index.js @@ -0,0 +1,41 @@ + +import request from '@/utils/request' + + +//质量整改-安全分类汇总(按分类) +const safetySummary=(deptId,roleType)=>{ + return request({ + url: `bgscreen/problemmodify/safetySummary?deptId=${deptId}&roleType=${roleType}`, + method: 'get' + }) +} + +//质量整改-质量分类汇总(按分类) +const qualitySummary=(deptId,roleType)=>{ + return request({ + url: `bgscreen/problemmodify/qualitySummary?deptId=${deptId}&roleType=${roleType}`, + method: 'get' + }) +} + + +//质量整改-安全分类汇总(按项目) +const safetySummaryByProject=(deptId,roleType)=>{ + return request({ + url: `bgscreen/problemmodify/safetySummaryByProject?deptId=${deptId}&roleType=${roleType}`, + method: 'get' + }) +} + + +//质量整改-安全分类汇总(按项目) +const qualitySummaryByProject=(deptId,roleType)=>{ + return request({ + url: `bgscreen/problemmodify/qualitySummaryByProject?deptId=${deptId}&roleType=${roleType}`, + method: 'get' + }) +} + +export default{ + safetySummary,qualitySummary,safetySummaryByProject,qualitySummaryByProject +} diff --git a/src/api/project/index.js b/src/api/project/index.js new file mode 100644 index 0000000..13cc970 --- /dev/null +++ b/src/api/project/index.js @@ -0,0 +1,20 @@ +import request from '@/utils/request' + +const findProjectByDept=(deptId)=> { + return request({ + url: `bgscreen/project/findProjectByDept?deptId=${deptId}`, + method: 'get' + }) +} + +const getProjectBuildNode=projectId=>{ + return request({ + url: `bgscreen/project/getProjectBuildNode?projectId=${projectId}`, + method: 'get' + }) +} + +export default{ + findProjectByDept, + getProjectBuildNode +} diff --git a/src/api/quarterlyAssess/index.js b/src/api/quarterlyAssess/index.js new file mode 100644 index 0000000..a59ecc7 --- /dev/null +++ b/src/api/quarterlyAssess/index.js @@ -0,0 +1,14 @@ + +import request from '@/utils/request' + +// 查询流程表单列表 +const currentListByDept=(deptId)=> { + return request({ + url: `bgscreen/asscess/currentListByDept?deptId=${deptId}`, + method: 'get' + }) +} + +export default{ + currentListByDept +} diff --git a/src/api/schedule/index.js b/src/api/schedule/index.js new file mode 100644 index 0000000..6a8f5b2 --- /dev/null +++ b/src/api/schedule/index.js @@ -0,0 +1,12 @@ +import request from '@/utils/request' + +const projectConstructionProgress=(projectId)=> { + return request({ + url: `bgscreen/schedule/projectConstructionProgress?projectId=${projectId}`, + method: 'get' + }) +} + +export default{ + projectConstructionProgress +} diff --git a/src/components/amplify/huanjingguanli/amplify-cbcsfb.js b/src/components/amplify/huanjingguanli/amplify-cbcsfb.js new file mode 100644 index 0000000..e9cfecf --- /dev/null +++ b/src/components/amplify/huanjingguanli/amplify-cbcsfb.js @@ -0,0 +1,336 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-cbcsfb", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + + }, + data() { + return { + show:false, + infoNav:0, + dayStartTime:'', + dayEndTime:'', + weekStartTime:'', + weekEndTime:'', + monthStartTime:'', + monthEndTime:'', + typeDistributionData:[], + text:'累计超标', + height:401 + } + }, + created(){ + this.getTime() + }, + mounted(){ + + }, + methods: { + openAmplify() { + this.show = true + this.getTypeDistributionData() + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + getTime() { + var that = this + this.uploadTime = that.dateFormat("yyyy-MM-dd HH:mm:ss",new Date()); + //今日 + that.dayStartTime = that.dateFormat("yyyy-MM-dd HH:mm:ss",new Date(new Date().setHours(0,0,0))); + that.dayEndTime = that.dateFormat("yyyy-MM-dd HH:mm:ss",new Date(new Date().setHours(23,59,59))); + // //本周 + let now = new Date(); + let day = now.getDay() || 7; + that.weekStartTime = that.dateFormat("yyyy-MM-dd HH:mm:ss",new Date(new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1 - day).setHours(0,0,0))) + that.weekEndTime = that.dateFormat("yyyy-MM-dd HH:mm:ss",new Date(new Date(now.getFullYear(), now.getMonth(), now.getDate() + 7 - day).setHours(23,59,59))) + // //本月 + let now2 = new Date(); + let day1 = new Date(now2.getFullYear(),now2.getMonth()+1,0).getDate(); + that.monthStartTime= that.dateFormat("yyyy-MM-dd HH:mm:ss",new Date(new Date(now2.getFullYear(), now2.getMonth(), 1).setHours(0,0,0))) + that.monthEndTime= that.dateFormat("yyyy-MM-dd HH:mm:ss",new Date(new Date(now2.getFullYear(),now2.getMonth(),day1).setHours(23,59,59))) + }, + dateFormat(fmt, date) { + let ret; + const opt = { + "y+": date.getFullYear().toString(), // 年 + "M+": (date.getMonth() + 1).toString(), // 月 + "d+": date.getDate().toString(), // 日 + "H+": date.getHours().toString(), // 时 + "m+": date.getMinutes().toString(), // 分 + "s+": date.getSeconds().toString() // 秒 + // 有其他格式化字符需求可以继续添加,必须转化成字符串 + }; + for (let k in opt) { + ret = new RegExp("(" + k + ")").exec(fmt); + if (ret) { + fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0"))) + }; + }; + return fmt; + }, + //当日预警信息 + onWarningInfoNav(n) { + this.infoNav = n + this.getTypeDistributionData() + }, + //超标次数分布 + getTypeDistributionData() { + var startTime = this.dayStartTime; + var endTime = this.dayEndTime; + if (this.infoNav == 0) { + startTime = this.dayStartTime; + endTime = this.dayEndTime; + } else if (this.infoNav == 1) { + startTime = this.weekStartTime; + endTime = this.weekEndTime; + } else if (this.infoNav == 2) { + startTime = this.monthStartTime; + endTime = this.monthEndTime; + } + //今日超标次数分布 + axios.get("/mkl/api/getEnvironmentWaringNumber", { + params: { + projectId: JSON.parse(localStorage.getItem("data1")).id, + startTime: startTime, + endTime: endTime + } + }).then(res => { + if (res.data.code == "200") { + var tempData = [ + // { name:'PM2.5', value:'30' }, + {name: 'PM10', value: '20'}, + {name: '噪音', value: '20'}, + // { name:'风速', value:'10' }, + {name: '温度', value: '10'}, + {name: '湿度', value: '20'} + ] + tempData.map(x => { + if (x.name == "PM2.5") { + x.value = res.data.data.PM25WaringNumber + } else if (x.name == "PM10") { + x.value = res.data.data.PM10WaringNumber + } else if (x.name == "噪音") { + x.value = res.data.data.noiseNumber + } else if (x.name == "风速") { + x.value = res.data.data.windSpeedNumber + } else if (x.name == "温度") { + x.value = res.data.data.temperatureWaringNumber + } else if (x.name == "湿度") { + x.value = res.data.data.humidityNumber + } + }) + this.typeDistributionData = tempData + this.getChartData() + } + }).catch(err => { + + }) + }, + //数据图渲染接口 + getChartData() { + //品类金额占比 饼图 + var chChartPie = echarts.init(this.$refs.warningPieChart); + this.echartPie(chChartPie, this.typeDistributionData) + }, + echartPie(chChart, chartData) { + var that = this + let newPromise = new Promise((resolve) => { + resolve() + }) + + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var total_datas = 0; + var data = []; + var legendData = []; + var color = ['#4974ff', '#52aef7', '#6863d7', '#1d5d89', '#20e6ff', '#67feef'] + for (let i = 0; i < chartData.length; i++) { + total_datas += Number(chartData[i].value); + legendData.push(chartData[i].name) + data.push( + { + value: chartData[i].value, + name: chartData[i].name, + itemStyle: { + normal: { + //颜色渐变 + color: color[i] + }, + }, + }, + ) + } + /* let total = chartData.reduce((a, b) => { + return a + b.value; + }, 0);*/ + + let legendOption = { + top: "center", + orient: "vertical", + icon: "circle", + itemWidth: 25, + itemGap: 16, + textStyle: { + fontSize: 25, + rich: { + name: { + color: "#c3dbfd", + padding: [25, 10, 40, 10], + // align: 'right' + // width: '300px' + fontSize: 25, + }, + percent: { + color: "#18DB9F", + fontSize: 25, + padding: [0, 10, 0, 10], + // align: 'right' + }, + }, + }, + formatter: function (name) { + let res = chartData.filter((v) => v.name === name); + let percent = total_datas == 0 ? 0 : (((res[0].value * 100) / total_datas).toFixed(1)); + return "{name| " + name + "}\n{percent|" + res[0].value + "}{percent|" + percent + "%}"; + }, + }; + this.option = { + title: { + text: total_datas, + subtext: this.text, + x: "180", + y: "150", + textStyle: { + color: "#0dd2fd", + fontSize: 48, + fontWeight: "bold", + align: "center", + width: "200px", + }, + subtextStyle: { + color: "#a5b5f0", + fontSize: 25, + align: "center", + }, + }, + tooltip: { + show: false, + trigger: 'item', + formatter: "{b}
{c} ({d}%)" + }, + legend: [ + { + right: 20, + data: legendData, + align: "left", + ...legendOption, + }, + ], + + series: [ + { + name: "品类金额占比", + type: "pie", + center: ["25%", "50%"], + radius: ["46%", "63%"], + data: data, + label: { + show: false, + }, + itemStyle: { + normal: { + borderWidth: 10, + borderColor: "#051a36" + } + }, + + }, + { + name: "外边框", + type: "pie", + clockWise: false, //顺时加载 + hoverAnimation: false, //鼠标移入变大 + center: ["25%", "50%"], + radius: ["70%", "70%"], + label: { + normal: { + show: false, + }, + }, + data: [ + { + value: 9, + name: "", + itemStyle: { + normal: { + borderWidth: 6, + borderColor: "#152c65", + }, + }, + }, + ], + }, + ], + } + chChart.setOption(this.option); + window.onresize = chChart.resize; + + chChart.off('click') + + chChart.on('click', function (params) { + for (let i = 0; i < chartData.length; i++) { + if (params.name == chartData[i].name) { + that.$emit('ledger', chartData[i]); + break + } + } + }) + }) + }, + + }, + watch:{ + + }, + +}) + + diff --git a/src/components/amplify/huanjingguanli/amplify-sbqd.js b/src/components/amplify/huanjingguanli/amplify-sbqd.js new file mode 100644 index 0000000..f732cf2 --- /dev/null +++ b/src/components/amplify/huanjingguanli/amplify-sbqd.js @@ -0,0 +1,128 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-sbqd", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + + }, + data() { + return { + show:false, + //设备清单 + deviceNum:0, + onlineNum:0, + warnNum:0, + offlineNum:0, + } + }, + mounted(){ + + }, + methods: { + openAmplify(){ + this.show = true + this.getDeviceInfo() + }, + closeAmplify(){ + this.show = false + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + }, + //设备清单 + getDeviceInfo() { + var projectId = JSON.parse(localStorage.getItem("data1")).id + if(projectId == 98 || projectId == 132) { + this.deviceNum = 1, + this.onlineNum = 1, + this.warnNum = 0, + this.offlineNum = 0 + this.showDevice = true; + this.selectData = [{text:'扬尘监测设备#1',id:1},] + } else { + this.deviceNum = 0, + this.onlineNum = 0, + this.warnNum = 0, + this.offlineNum = 0 + this.showDevice = false + this.selectData = [{text:'暂无数据',id:1}] + + } + }, + + }, + watch:{ + + }, + +}) + + diff --git a/src/components/amplify/jinduguanli/amplify-gqgk.js b/src/components/amplify/jinduguanli/amplify-gqgk.js new file mode 100644 index 0000000..71108a1 --- /dev/null +++ b/src/components/amplify/jinduguanli/amplify-gqgk.js @@ -0,0 +1,349 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-gqgk", { + template: ` +
+
+ +
+ + + +
+ `, + props: {}, + data() { + return { + show: false, + people: [], + number: 720, + unit: '天', + shiJiPro:0, + timePro:0, + text:'时间进度', + text1:'实际产值进度', + projectId:JSON.parse(localStorage.getItem("data1")).id, + } + }, + mounted() { + + }, + methods: { + openAmplify() { + this.show = true + this.setData() + this.gainProBase() + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + setData() { + var people = this.number != undefined ? this.number.toString().split('') : 0; + this.people = people + }, + //数据接口 + gainProBase() { + axios.post("/api/building/proBaseInfo?projectId=" + this.projectId).then(res => { + if(res.data.code == "200") { + this.shiJiPro = parseInt((res.data.data.kailei_money / 67640 * 100).toFixed(0)) + this.timePro = parseInt(((moment().diff(moment(res.data.data.actual_start_date), 'days') / 720) * 100).toFixed(0)) + } + this.getChartData() + this.getChartData1() + }).catch(err => { + + }) + }, + //数据展示图1 + getChartData(){ + var chChartBar = echarts.init(this.$refs.chart1); + this.echartBar(chChartBar,this.timePro,this.text) + }, + echartBar(chChart,value,text){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var placeHolderStyle = { + normal: { + label: { + show: false, + }, + labelLine: { + show: false, + }, + color: "rgba(0,0,0,0)", + borderWidth: 0, + }, + emphasis: { + color: "rgba(0,0,0,0)", + borderWidth: 0, + }, + }; + + var dataStyle = { + + }; + this.option ={ + title: [ + { + text: value+'%', + textAlign: "center", + left: "48%", + top: "30%", + textStyle: { + color: "#67abf2", + fontSize: 23, + }, + }, + { + text: text, + left: "48%", + top: "80%", + textAlign: "center", + textStyle: { + color: "#cdd7fa", + fontWeight: "normal", + fontSize: "16", + textAlign: "center", + }, + }, + ], + series: [ + { + type: "pie", + hoverAnimation: false, + radius: ["60%", "59%"], + center: ["50%", "40%"], + labelLine: { + normal: { + show: false, + }, + }, + label: { + normal: { + position: "center", + }, + }, + data: [ + { + value: 100, + itemStyle: { + normal: { + color: "#255788", + }, + }, + }, + + ], + }, + { + type: "pie", + hoverAnimation: false, + radius: ["53%", "60%"], + center: ["50%", "40%"], + labelLine: { + normal: { + show: false, + }, + }, + label: { + normal: { + position: "center", + }, + }, + data: [ + { + value: value, + itemStyle: { + normal: { + color: "#68a8f2", + }, + }, + normal: { + show: false, + }, + }, + { + value: 100-value, + itemStyle: placeHolderStyle, + }, + ], + }, + ], + }; + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + //数据展示图2 + getChartData1(){ + var chChartBar = echarts.init(this.$refs.chart2); + this.echartBar(chChartBar,this.shiJiPro,this.text1) + }, + echartBar(chChart,value,text){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var placeHolderStyle = { + normal: { + label: { + show: false, + }, + labelLine: { + show: false, + }, + color: "rgba(0,0,0,0)", + borderWidth: 0, + }, + emphasis: { + color: "rgba(0,0,0,0)", + borderWidth: 0, + }, + }; + + var dataStyle = { + + }; + this.option ={ + title: [ + { + text: value+'%', + textAlign: "center", + left: "48%", + top: "30%", + textStyle: { + color: "#67abf2", + fontSize: 23, + }, + }, + { + text: text, + left: "48%", + top: "80%", + textAlign: "center", + textStyle: { + color: "#cdd7fa", + fontWeight: "normal", + fontSize: "16", + textAlign: "center", + }, + }, + ], + series: [ + { + type: "pie", + hoverAnimation: false, + radius: ["60%", "59%"], + center: ["50%", "40%"], + labelLine: { + normal: { + show: false, + }, + }, + label: { + normal: { + position: "center", + }, + }, + data: [ + { + value: 100, + itemStyle: { + normal: { + color: "#255788", + }, + }, + }, + + ], + }, + { + type: "pie", + hoverAnimation: false, + radius: ["53%", "60%"], + center: ["50%", "40%"], + labelLine: { + normal: { + show: false, + }, + }, + label: { + normal: { + position: "center", + }, + }, + data: [ + { + value: value, + itemStyle: { + normal: { + color: "#68a8f2", + }, + }, + normal: { + show: false, + }, + }, + { + value: 100-value, + itemStyle: placeHolderStyle, + }, + ], + }, + ], + }; + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + + }, + watch: {}, + +}) + + diff --git a/src/components/amplify/jishuguanli/amplify-bgqr.js b/src/components/amplify/jishuguanli/amplify-bgqr.js new file mode 100644 index 0000000..3968269 --- /dev/null +++ b/src/components/amplify/jishuguanli/amplify-bgqr.js @@ -0,0 +1,256 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-bgqr", { + template: ` +
+
+ +
+ + + +
+ `, + props: {}, + data() { + return { + show: false, + schemeNav: 1, + constructionNum: 0, + alterationNum: 0, + height: 395, + data: {}, + rowStyle:{ + fontSize:'25px', + height:'64px' + }, + headerStyle:{ + fontSize:'22px', + padding:'10px' + }, + } + }, + mounted() { + this.interval = setInterval(this.scroll, 50); + }, + methods: { + openAmplify() { + this.show = true + this.getSchemeTableData('0') + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + //变更签认 + onSchemeBtn(n) { + this.schemeNav = n == 0 ? 1 : 2 + this.getSchemeTableData(n) + }, + getSchemeTableData(type){ + var data = null; + if(type == 0){ + data = { + label: [ + { + label: '序号', + width: '100', + color:'', + isShow:true, + type:'', + type_color:'', + data: 'sort', + }, + /* { + label: 'idStr', + width: '50', + color:'', + isShow:false, + type:'', + type_color:'', + data: 'id', + },*/ + { + label: '变更名称', + width: '', + color:'#50a2eb', + isShow:true, + type:'', + type_color:'', + data: 'name' + }, + { + label: '变更内容', + width: '', + color:'', + isShow:true, + type:'', + type_color:'', + data: 'content' + }, + { + label: '业主批复情况', + width: '', + color:'', + isShow:true, + type:'state', + type_color:'situation_color', + data: 'situation' + }, + + ], + data: [], + } + } else{ + data = { + label: [ + { + label: '序号', + width: '50', + color:'', + type:'', + type_color:'', + data: 'sort', + }, + { + label: '工程名称', + width: '', + color:'#50a2eb', + type:'', + type_color:'', + data: 'name' + }, + { + label: '工程内容', + width: '', + color:'', + type:'', + type_color:'', + data: 'content' + }, + { + label: '业主批复情况', + width: '', + color:'', + type:'state', + type_color:'situation_color', + data: 'situation' + }, + + ], + data: [], + } + } + axios.post("/system/alterationEndorseConfig/list1",{pageNum:1,pageSize:9999,projectId:this.projectId}).then(res=>{ + console.log(res.data) + let result = res.data + if(result.code == 0){ + this.constructionNum = result.rows.filter(item=>item.alterationType == 0).length + this.alterationNum = result.rows.filter(item=>item.alterationType == 1).length + + data.data = result.rows.filter(item=>{ + if(item.alterationType == type){ + return item + } + }).map((item,index)=>{ + return { + sort: index + 1, + id:item.id, + name:item.alterationName, + content:item.alterationContext, + situation: item.alterationStatus == '0' ? "已通过":"未通过", + situation_color: item.alterationStatus == '0' ? "#39c30b":"#f73647" + } + }) + } + if(data.data.length > 3){ + for (let i = 0; i <3 ; i++) { + data.data.push(data.data[i]) + } + } + this.data = data + + }) + + + }, + + // 表格隔行变色 + + //左边信息表 + scroll() { + let maxHeight = this.$refs.pxjy.$el.querySelectorAll('.el-table__body')[0].offsetHeight; + let clientHeight = this.$refs.pxjy.bodyWrapper.clientHeight; + if (Math.abs(this.$refs.pxjy.bodyWrapper.scrollTop - (maxHeight - clientHeight)) < 5) { //预留5像素误差 + this.$refs.pxjy.bodyWrapper.scrollTop = 0; + } else { + this.$refs.pxjy.bodyWrapper.scrollTop += 1;//32是每一行表格的高度,每秒滚一行 + } + } + , + MouseEnter() {//鼠标移入停止滚动 + clearInterval(this.interval); + } + , + MouseLeave() {//鼠标离开继续滚动 + this.interval = setInterval(this.scroll, 50); + }, + onClickPoint(n) { + this.btnNav = n; + }, + }, + watch: { + data:function () { + clearInterval(this.interval); + this.interval = setInterval(this.scroll, 50); + }, + }, + +}) + + diff --git a/src/components/amplify/jishuguanli/amplify-gczljdagl.js b/src/components/amplify/jishuguanli/amplify-gczljdagl.js new file mode 100644 index 0000000..1b4343c --- /dev/null +++ b/src/components/amplify/jishuguanli/amplify-gczljdagl.js @@ -0,0 +1,159 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-gczljdagl", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + projectId:{ + type:Number + }, + label:{ + type:String + } + }, + data() { + return { + projectId:JSON.parse(window.localStorage.getItem("data1")).id, + show:false, + height:515, + data:{ + label: [ + { + label: '序号', + width: '50', + color:'', + type:'', + type_color:'', + data: 'sort' + }, + { + label: '楼号名称', + width: '', + color:'#50a2eb', + type:'', + type_color:'', + data: 'dict_label' + }, + { + label: '检验批类型', + width: '', + color:'', + type:'', + type_color:'', + data: 'batchName' + }, + { + label: '检验次数', + width: '', + color:'', + type:'', + type_color:'', + data: 'num' + }, + ], + data: [{GCsort:'1',GCName:'****名称',GCNum:'2023-05-13',type:''},{GCsort:'1',GCName:'****名称',GCNum:'2023-05-13'},{GCsort:'1',GCName:'****名称',GCNum:'2023-05-13'},{GCsort:'1',GCName:'****名称',GCNum:'2023-05-13'},{GCsort:'1',GCName:'****名称',GCNum:'2023-05-13'},{GCsort:'1',GCName:'****名称',GCNum:'2023-05-13'},{GCsort:'1',GCName:'****名称',GCNum:'2023-05-13'},{GCsort:'1',GCName:'****名称',GCNum:'2023-05-13'},{GCsort:'1',GCName:'****名称',GCNum:'2023-05-13'},{GCsort:'1',GCName:'****名称',GCNum:'2023-05-13'},{GCsort:'1',GCName:'****名称',GCNum:'2023-05-13'}], + }, + } + }, + mounted(){ + this.interval = setInterval(this.scroll, 50); + }, + methods: { + openAmplify(){ + this.show = true + this.gainFloorCheck() + }, + closeAmplify(){ + this.show = false + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + }, + gainFloorCheck() { + this.data.data = [] + axios.post("/api/building/gainFloorCheck",{projectId:this.projectId}).then(res=>{ + this.data.data = res.data.data + }) + }, + //左边信息表 + scroll() { + let maxHeight = this.$refs.pxjy.$el.querySelectorAll('.el-table__body')[0].offsetHeight; + let clientHeight = this.$refs.pxjy.bodyWrapper.clientHeight; + if (Math.abs(this.$refs.pxjy.bodyWrapper.scrollTop - (maxHeight - clientHeight)) < 5) { //预留5像素误差 + this.$refs.pxjy.bodyWrapper.scrollTop = 0; + } else { + this.$refs.pxjy.bodyWrapper.scrollTop += 1;//32是每一行表格的高度,每秒滚一行 + } + } + , + MouseEnter() {//鼠标移入停止滚动 + clearInterval(this.interval); + } + , + MouseLeave() {//鼠标离开继续滚动 + this.interval = setInterval(this.scroll, 50); + }, + onClickPoint(n) { + this.btnNav = n; + }, + // 表格隔行变色 + tableRowClassName({row, rowIndex}) { + if (rowIndex % 2 === 0) { + return 'warning-row' //这是类名 + } else { + return '' + } + }, + }, + watch:{ + projectId:function (n,o) { + this.openAmplify() + } + }, + +}) + + diff --git a/src/components/amplify/jishuguanli/amplify-jsfh.js b/src/components/amplify/jishuguanli/amplify-jsfh.js new file mode 100644 index 0000000..2c0722a --- /dev/null +++ b/src/components/amplify/jishuguanli/amplify-jsfh.js @@ -0,0 +1,146 @@ +import Vue from 'vue' + +var vms = Vue.component("amplify-jsfh", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + + }, + data() { + return { + show:false, + costIndex:0, + imgRollInterval:undefined, + direction:'left', + list:[], + number:2, + projectId:JSON.parse(window.localStorage.getItem("data1")).id, + } + }, + mounted(){ + // 图片轮播 定时器 + this.imgRollInterval = setInterval(this.imgRoll,5000); + }, + methods: { + openAmplify(){ + this.show = true + this.getTypeSonListB("11","21") + }, + closeAmplify(){ + this.show = false + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + }, + getTypeSonListB(typeMain, typeId) { + this.list = [] + axios.post("/api/building/photoList?projectId=" + this.projectId + "&typeMain=" + typeMain + "&typeId=" + typeId).then(res => { + if(res.data.code == "200") { + var list = [] + res.data.data.forEach((item)=>{ + list.push(item.photo_url) + }) + console.log(list) + this.list = list + } + }).catch(err => { + + }) + }, + + carouselLeft(){ + this.direction = 'left' + this.manufacturingCostRoll() + }, + carouselRight(){ + this.direction = 'right' + this.manufacturingCostRoll() + }, + manufacturingCostRoll(){ + var width = $(".bzh-content-img").innerWidth() + if(this.direction == 'right'){ + if(this.costIndex == this.list.length - this.number){ + this.costIndex = 0 + }else{ + this.costIndex = this.costIndex + 1 + } + }else{ + if(this.costIndex == 0){ + this.costIndex = this.list.length - this.number + }else{ + this.costIndex = this.costIndex - 1 + } + } + console.log(this.costIndex) + $(this.$refs.rollImgMax).animate({scrollLeft:(this.number*width*this.costIndex)+'px'}) + this.direction = 'right' + }, + + + imgRoll(){ + var width = $(".bzh-content-img").innerWidth() + if(this.costIndex == this.list.length - this.number){ + this.costIndex = 0 + }else{ + this.costIndex = this.costIndex + 1 + } + $(this.$refs.rollImgMax).animate({scrollLeft:(this.number*width*this.costIndex)+'px'}) + }, + costMouseover(){ + clearInterval(this.imgRollInterval); + }, + costMouseout(){ + this.imgRollInterval=setInterval(this.imgRoll,5000); + }, + + }, + watch:{ + + }, + +}) + + diff --git a/src/components/amplify/jishuguanli/amplify-kjcx.js b/src/components/amplify/jishuguanli/amplify-kjcx.js new file mode 100644 index 0000000..e0b84e9 --- /dev/null +++ b/src/components/amplify/jishuguanli/amplify-kjcx.js @@ -0,0 +1,184 @@ +import Vue from 'vue' + +var vms = Vue.component("amplify-kjcx", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + + }, + data() { + return { + show:false, + //科技创新 + sciencelnnovateDataList:[], + craftVideoIndex:0, + craftInterval:'', + } + }, + mounted(){ + //科技创新 知道滚动 + this.rollCraftInterval = setInterval(this.rollCraftCarousel,5000); + }, + methods: { + openAmplify(){ + this.show = true + this.scienceInnovateData() + }, + closeAmplify(){ + this.show = false + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + }, + //科技创新 + scienceInnovateData(){ + axios.post("/system/scienceInnovateConfig/list1",{pageNum:1,pageSize:9999,projectId:this.projectId}).then(res=>{ + let result = res.data + let tempData = [] + this.sciencelnnovateDataList = [] + let tmp = {} + if(result.code == 0){ + result.rows.forEach(item=>{ + if(!tmp[item.name]){ + tmp[item.name] = { + name:item.name, + context:[] + } + } + + if(item.type == '0'){ + name = '研究报告' + }else if(item.type == '1'){ + name = '知识产权' + }else if(item.type == '2'){ + name = '论文' + }else{ + name = '工法' + } + + if(item.status =='0'){ + status = '进行中' + }else if(item.status =='1'){ + status = '已完成' + }else if(item.status =='4'){ + status = '' + }else{ + status = '未开始' + } + tmp[item.name] .context.push({ + name, + status + }) + + }) + for(let k in tmp ){ + this.sciencelnnovateDataList.push(tmp[k]) + } + console.log(this.sciencelnnovateDataList) + } + }) + }, + craftCarouselLeft(){ + if(this.craftVideoIndex == 0){ + this.craftVideoIndex = this.sciencelnnovateDataList.length - 1 + }else { + this.craftVideoIndex = this.craftVideoIndex - 1 + } + $(this.$refs.craftVollVideo).animate({scrollLeft:(760*this.craftVideoIndex)+'px'}) + }, + craftCarouselRight(){ + if(this.craftVideoIndex == this.sciencelnnovateDataList.length - 1){ + this.craftVideoIndex = 0 + }else { + this.craftVideoIndex = this.craftVideoIndex + 1 + } + $(this.$refs.craftVollVideo).animate({scrollLeft:(760*this.craftVideoIndex)+'px'}) + }, + rollCraftCarousel(){ + if(this.craftDirection == 'right'){ + if(this.craftVideoIndex == this.sciencelnnovateDataList.length - 1){ + this.craftVideoIndex = 0 + }else { + this.craftVideoIndex = this.craftVideoIndex + 1 + } + }else{ + if(this.craftVideoIndex == 0){ + this.craftVideoIndex = this.sciencelnnovateDataList.length - 1 + }else { + this.craftVideoIndex = this.craftVideoIndex - 1 + } + this.craftDirection = 'right' + } + $(this.$refs.craftVollVideo).animate({scrollLeft:(760*this.craftVideoIndex)+'px'}) + }, + + craftCostMouseout(){ + clearInterval(this.rollCraftInterval); + }, + craftCostMouseover(){ + this.rollCraftInterval = setInterval(this.rollCraftCarousel,5000); + }, + + }, + watch:{ + + }, + +}) + + diff --git a/src/components/amplify/jishuguanli/amplify-sgbzgf.js b/src/components/amplify/jishuguanli/amplify-sgbzgf.js new file mode 100644 index 0000000..37dbf37 --- /dev/null +++ b/src/components/amplify/jishuguanli/amplify-sgbzgf.js @@ -0,0 +1,165 @@ +import Vue from 'vue' + +var vms = Vue.component("amplify-sgbzgf", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + projectId:{ + type:Number + }, + label:{ + type:String + } + + }, + data() { + return { + show:false, + height:515, + data:{ + label: [ + { + label: '序号', + width: '50', + color:'', + type:'', + type_color:'', + data: 'sort' + }, + { + label: '标准名称', + width: '', + color:'#50a2eb', + type:'', + type_color:'', + data: 'bianName' + }, + { + label: '编号', + width: '', + color:'', + type:'', + type_color:'', + data: 'bianNum' + }, + ], + data: [], + }, + } + }, + mounted(){ + this.interval = setInterval(this.scroll, 50); + }, + methods: { + openAmplify(){ + console.log(this.projectId) + this.show = true + this.getBiaoZhun() + }, + closeAmplify(){ + this.show = false + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + }, + //施工标准规范 + getBiaoZhun() { + let that = this + axios.post("/system/standardinfo/list?projectId="+this.projectId, { + projectId:this.projectId + }).then(res => { + res = res.data.rows + let result = res.map((item,index)=>{ + return { + sort:(index + 1), + bianName:item.standardName, + bianNum:item.standardNum + } + }) + + that.data.data = result + }) + }, + //左边信息表 + scroll() { + let maxHeight = this.$refs.pxjy.$el.querySelectorAll('.el-table__body')[0].offsetHeight; + let clientHeight = this.$refs.pxjy.bodyWrapper.clientHeight; + if (Math.abs(this.$refs.pxjy.bodyWrapper.scrollTop - (maxHeight - clientHeight)) < 5) { //预留5像素误差 + this.$refs.pxjy.bodyWrapper.scrollTop = 0; + } else { + this.$refs.pxjy.bodyWrapper.scrollTop += 1;//32是每一行表格的高度,每秒滚一行 + } + } + , + MouseEnter() {//鼠标移入停止滚动 + clearInterval(this.interval); + } + , + MouseLeave() {//鼠标离开继续滚动 + this.interval = setInterval(this.scroll, 50); + }, + onClickPoint(n) { + this.btnNav = n; + }, + // 表格隔行变色 + tableRowClassName({row, rowIndex}) { + if (rowIndex % 2 === 0) { + return 'warning-row' //这是类名 + } else { + return '' + } + }, + }, + watch:{ + projectId:function (n,o) { + this.openAmplify() + } + }, + +}) + + diff --git a/src/components/amplify/jishuguanli/amplify-sjgk.js b/src/components/amplify/jishuguanli/amplify-sjgk.js new file mode 100644 index 0000000..273fc67 --- /dev/null +++ b/src/components/amplify/jishuguanli/amplify-sjgk.js @@ -0,0 +1,144 @@ +import Vue from 'vue' + +var vms = Vue.component("amplify-sjgk", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + label:{ + type:String + }, + projectId:{ + type:Number + } + }, + data() { + return { + show:false, + fourClarificaiton:{ + } + } + }, + mounted(){ + + }, + methods: { + openAmplify(){ + this.show = true + this.getFourData() + }, + closeAmplify(){ + this.show = false + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + }, + //四级交底情况 + getFourData(){ + let that = this + axios.get("//api-tmp.makalu.cc/szhjzgkpt/four/clarificaiton").then(res => { + that.fourClarificaiton = res.data + axios.post("/api/project/selectTechnicalDisclosureInformationList",{ + projectId:this.projectId, + }).then(res => { + let zx = 0 + let js = 0 + that.fourDataList = res.data.data + for(let tmp of res.data.data){ + switch (tmp.type) { + case 1: + js++ + tmp.sort = js + break + case 2: + zx++ + tmp.sort = zx + break + } + } + that.fourClarificaiton.zxfajd = zx + that.fourClarificaiton.jsjd = js + }) + }) + }, + + }, + watch:{ + projectId:function (n,o) { + this.openAmplify() + } + }, + +}) + + diff --git a/src/components/amplify/jixieguanli/amplify-czzqk.js b/src/components/amplify/jixieguanli/amplify-czzqk.js new file mode 100644 index 0000000..0e602f3 --- /dev/null +++ b/src/components/amplify/jixieguanli/amplify-czzqk.js @@ -0,0 +1,224 @@ +import Vue from 'vue' + +var vms = Vue.component("amplify-czzqk", { + template: ` +
+
+ +
+ + + +
+ `, + props: {}, + data() { + return { + certInfoData:{}, + //操作证数据 + certificateData:[ + { + text:"职工", + value:0 + },{ + text:"劳务派遣", + value:0 + },{ + text:"其他", + value:0 + }, + ], + show: false, + } + }, + mounted() { + + }, + methods: { + openAmplify() { + this.show = true + this.getCertInfoData() + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + //操作证情况统计 + getCertInfoData(){ + axios.post(requestUrl+"getCertInfoData?deptId="+deptId+"&projectId="+JSON.parse(localStorage.getItem("data1")).jzgj, { + }).then(res => { + this.certInfoData = res.data.data; + this.certificateData = [{text:"职工",value:res.data.data.zgCount},{text:"劳务派遣",value:res.data.data.lwCount},{text:"其他",value:res.data.data.qtCount}] + this.getChartData() + }).catch(err => { + }) + }, + //职工、劳务数据图 + getChartData() { + //品类金额占比 饼图 + var chChart = echarts.init(this.$refs.chart); + this.echart(chChart, this.certificateData) + }, + echart(chChart, chartData) { + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var value = [] + var text = [] + var total = 0 + var bgd = [] + for (let i = 0; i < chartData.length; i++) { + value.push(chartData[i].value) + text.push(chartData[i].text) + bgd.push(100) + total += chartData[i].value + } + + var prop = [] + for (let j = 0; j < value.length; j++) { + prop.push((value[j] / total * 100).toFixed(1)) + } + + this.option = { + grid: { + left: "5%", + right: "5%", + bottom: "-10%", + top: "2%", + containLabel: true, + }, + xAxis: { + show: false, + type: "value", + }, + yAxis: [ + { + type: "category", + inverse: true, + axisLabel: { + show: true, + textStyle: { + color: "#cbdaff", + fontSize: "25", + }, + }, + splitLine: { + show: false, + }, + axisTick: { + show: false, + }, + axisLine: { + show: false, + }, + data: text, + }, + { + type: "category", + inverse: true, + axisTick: "none", + axisLine: "none", + show: true, + axisLabel: { + textStyle: { + color: "#cbdaff", + fontSize: "25", + }, + formatter: function (params, i) { + var text = "{a|" + value[i] + "}{a| " + prop[i] + "%}"; + return text; + }, + rich: { + a: { + fontSize: '25px', + color: "#cbdaff", + }, + }, + }, + data: prop, + }, + ], + series: [ + { + type: "bar", + zlevel: 1, + itemStyle: { + normal: { + color: "#6ab9fe", + }, + }, + barWidth: 20, + data: prop, + }, + { + type: "bar", + barWidth: 20, + barGap: "-100%", + data: bgd, + itemStyle: { + normal: { + color: "rgba(24,31,68,1)", + }, + }, + }, + ], + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch: { + data: function (n, o) { + this.getChartData(this.data) + } + } + + + + +}) + + diff --git a/src/components/amplify/jixieguanli/amplify-dkgk.js b/src/components/amplify/jixieguanli/amplify-dkgk.js new file mode 100644 index 0000000..ac1b999 --- /dev/null +++ b/src/components/amplify/jixieguanli/amplify-dkgk.js @@ -0,0 +1,142 @@ +import Vue from 'vue' + +var vms = Vue.component("amplify-dkgk", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + + }, + data() { + return { + show:false, + //打卡管控提示 + abnormalNav:0, + //打卡管控提示 表格数据 + interval:'', + intervalOne:'', + rowStyle:{ + color:'#ffffff', + fontSize:'24px', + height:'64px' + }, + tableData:[], + tableTile:[], + showTableData:[], + showTableTile: [], + headerRow:{ + fontSize: '20px' + } + } + }, + mounted(){ + // //打卡管控提示 自动滚动 + this.interval = setInterval(this.scroll,50); + }, + methods: { + + openAmplify(){ + this.show = true + this.getClockInException() + }, + closeAmplify(){ + this.show = false + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + }, + + //打卡管控提示 + onAbnormalNav(n){ + this.abnormalNav = n; + this.showTableData = this.tableData[n]; + this.showTableTile = this.tableTile[n]; + }, + //打卡管控提示 + getClockInException(){ + axios.post(requestUrl+"getClockInException?deptId="+deptId+"&projectId="+JSON.parse(localStorage.getItem("data1")).jzgj+"&pageSize=50", { + }).then(res => { + this.tableData = [ + res.data.data.signExceptionList, + res.data.data.workTimeExceptionList, + res.data.data.certExceptionList + ] + this.tableTile = [ + [{name:"项目名称",value:"projectName"},{name:"姓名",value:"userName"},{name:"打卡设备",value:"deviceName"},{name:"打卡时间",value:"dataTime"}], + [{name:"项目名称",value:"projectName"},{name:"设备名称",value:"deviceName"},{name:"异常原因",value:"errorReason"},{name:"打卡时间",value:"date"}], + [{name:"项目名称",value:"projectAbbreviation"},{name:"姓名",value:"certificateName"},{name:"过期天数",value:"date"},{name:"到期时间",value:"validityDate"}] + ]; + let num = 0; + if(res.data.data.signExceptionList.length > 0){ + num = 0; + }else if(res.data.data.workTimeExceptionList.length > 0){ + num = 1; + }else if(res.data.data.certExceptionList.length >0){ + num = 2 + }else{ + num = 0; + } + this.abnormalNav = num; + this.showTableData = this.tableData[num]; + this.showTableTile = this.tableTile[num]; + }).catch(err => { + }) + }, + // 表格滚动 方法 --------- 开始 + scroll(){ + let maxHeight=this.$refs.wgzp.$el.querySelectorAll ('.el-table__body')[0].offsetHeight; + let clientHeight=this.$refs.wgzp.bodyWrapper.clientHeight; + if(Math.abs(this.$refs.wgzp.bodyWrapper.scrollTop-(maxHeight-clientHeight))<5){ //预留5像素误差 + this.$refs.wgzp.bodyWrapper.scrollTop=0; + }else{ + this.$refs.wgzp.bodyWrapper.scrollTop+= 1;//32是每一行表格的高度,每秒滚一行 + } + }, + MouseEnter(){//鼠标移入停止滚动 + clearInterval(this.interval); + }, + MouseLeave(){//鼠标离开继续滚动 + this.interval=setInterval(this.scroll,30); + }, + // 表格滚动 方法 ------ 结束 + }, + watch:{ + + }, + +}) + + diff --git a/src/components/amplify/jixieguanli/amplify-fljgs.js b/src/components/amplify/jixieguanli/amplify-fljgs.js new file mode 100644 index 0000000..88c2765 --- /dev/null +++ b/src/components/amplify/jixieguanli/amplify-fljgs.js @@ -0,0 +1,299 @@ +import Vue from 'vue' + +var vms = Vue.component("amplify-fljgs", { + template: ` +
+
+ +
+ + + +
+ `, + props: {}, + data() { + return { + show: false, + infoNav: 0, + classifyBarData: [], + showClassifyBarData: [], + } + }, + mounted() { + + }, + methods: { + openAmplify() { + this.show = true + this.getClassifyBarData() + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + + //分类及工时情况 + getClassifyBarData() { + axios.post(requestUrl + "getClassifyWorks?deptId=" + deptId + "&pageSize=4&projectId=" + JSON.parse(localStorage.getItem("data1")).jzgj, {}).then(res => { + this.classifyBarData = [res.data.data.num, res.data.data.dayWorkTime, res.data.data.monthWorkTime]; + console.log(this.classifyBarData) + this.showClassifyBarData = this.classifyBarData[0]; + this.getChartData() + }).catch(err => { + }) + }, + //数据图展示 + getChartData() { + //品类金额占比 饼图 + var chChartPie = echarts.init(this.$refs.chart); + this.echartPie(chChartPie, this.showClassifyBarData) + }, + echartPie(chChart, data) { + let newPromise = new Promise((resolve) => { + resolve() + }) + + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + if (data.length > 0) { + var max = data[0].total + } else { + var max = 0 + } + var nameData = []; + var totalData = [] + var background = [] + var yesMonitor = [] + var notMonitor = [] + var yesProp = [] + var notProp = [] + var unitData = [] + + for (let i = data.length - 1; i >= 0; i--) { + nameData.push(data[i].name); + totalData.push(data[i].total) + unitData.push(data[i].unit) + background.push(100); + yesMonitor.push(data[i].yesMonitor); + notMonitor.push(data[i].notMonitor); + yesProp.push((data[i].yesMonitor / max) * 100) + notProp.push((data[i].notMonitor / max) * 100) + } + + var legend = ["已监控", "未监控"] + if (this.legend) { + legend = this.legend + } + + this.option = { + grid: { + //图表的位置 + top: "8%", + left: "3%", + right: "5%", + bottom: "-12%", + containLabel: true, + }, + legend: { + right: "0", + top: "0", + //icon: "circle", + itemWidth: 22, + itemHeight: 20, + itemGap: 16, + textStyle: { + fontSize: 25, + color: '#c6d9fa', + }, + data: legend, + }, + xAxis: [{ + show: false, + }, + //由于下边X轴已经是百分比刻度了,所以需要在顶部加一个X轴,刻度是金额,也隐藏掉 + { + show: false, + } + ], + yAxis: [ + { + type: 'category', + axisLabel: { + show: false, //让Y轴数据不显示 + }, + itemStyle: {}, + axisTick: { + show: false, //隐藏Y轴刻度 + }, + axisLine: { + show: false, //隐藏Y轴线段 + }, + data: [], + }, { + show: false, + data: [], + axisLine: { + show: false + } + }], + series: [ + //数据条--------------------我是分割线君------------------------------// + { + show: true, + type: 'bar', + xAxisIndex: 1, //代表使用第二个X轴刻度!!!!!!!!!!!!!!!!!!!!!!!! + barGap: '-100%', + barWidth: '20', //统计条宽度 + itemStyle: { + normal: { + color: 'rgba(22,203,115,0.05)' + }, + }, + label: { + normal: { + show: true, + //label 的position位置可以是top bottom left,right,也可以是固定值 + //在这里需要上下统一对齐,所以用固定值 + position: [0, '-40'], + rich: { //富文本 + prop: { //自定义颜色 + color: '#c6d9fa', + fontSize: '25', + }, + unit: { + color: '#6c829a', + fontSize: '25', + }, + yes: { + color: '#55adf7', + fontSize: '25', + }, + not: { + color: '#4677fa', + fontSize: '25', + }, + index: { + color: '#fcbc02', + fontStyle: 'italic', + padding: [0, 0, 0, 5], + fontSize: '25', + }, + name: { + width: 480, + color: '#c6d9fa', + padding: [0, 0, 0, 10], + fontSize: '25', + }, + color: { + color: '#8ca2be', + fontSize: '20', + }, + arrow: { + width: 20, + height: 15, + backgroundColor: { + image: "http://fileimg.makalu.cc/WEB_2B7C06210CD44D55BFEE6205A35DE4A7.png", + }, + }, + + }, + formatter: function (data) { + //富文本固定格式{colorName|这里填你想要写的内容} + //return '{arrow|}' + return '{arrow|}{index|No.' + (nameData.length - data.dataIndex) + '}{name|' + nameData[data.dataIndex] + '}{prop|' + totalData[data.dataIndex] + '}{unit| ' + unitData[data.dataIndex] + '}{prop|(} {yes|' + yesMonitor[data.dataIndex] + '}{unit| ' + unitData[data.dataIndex] + '/}{not|' + notMonitor[data.dataIndex] + '}{unit| ' + unitData[data.dataIndex] + '}{prop|)} '; + }, + } + }, + data: background + }, + { + type: 'bar', + + silent: true, + yAxisIndex: 1, + barWidth: 20, + itemStyle: { + normal: { + color: 'rgba(0,82,198,0.3)' + }, + emphasis: { + color: 'rgba(0,82,198,0.3)' + } + }, + data: background + }, + { + type: 'bar', + name: legend[0], + + stack: '1', + legendHoverLink: false, + barWidth: 20, + itemStyle: { + normal: { + color: '#52adf4' + }, + emphasis: { + color: '#52adf4' + } + }, + data: yesProp + }, { + type: 'bar', + name: legend[1], + stack: '1', + legendHoverLink: false, + barWidth: 20, + itemStyle: { + normal: { + color: '#4677ff' + }, + emphasis: { + color: '#4677ff' + } + }, + data: notProp + }] + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + //头部切换 + onWarningInfoNav(n) { + this.infoNav = n + this.showClassifyBarData = this.classifyBarData[n]; + this.getChartData() + }, + }, + watch: {}, + +}) + + diff --git a/src/components/amplify/jixieguanli/amplify-jkycyj.js b/src/components/amplify/jixieguanli/amplify-jkycyj.js new file mode 100644 index 0000000..7a489a9 --- /dev/null +++ b/src/components/amplify/jixieguanli/amplify-jkycyj.js @@ -0,0 +1,125 @@ +import Vue from 'vue' + +var vms = Vue.component("amplify-jkycyj", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + + }, + data() { + return { + show:false, + //监控异常预警 + showTableDataOne:[], + showTableTileOne: [], + rowStyleOne:{ + color:'#ffffff', + fontSize:'24px', + height:'64px' + }, + headerRowOne:{ + fontSize: '20px' + } + } + }, + mounted(){ + this.intervalOne = setInterval(this.scrollOne,50); + }, + methods: { + openAmplify(){ + this.show = true + this.getExceptionAlert() + this.getDeviceWarnData() + }, + closeAmplify(){ + this.show = false + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + }, + getExceptionAlert(){ + axios.get(requestUrl+"getExceptionAlert?deptId="+deptId+"&projectId="+JSON.parse(localStorage.getItem("data1")).jzgj+"&size=10", { + }).then(res => { + this.showTableDataOne = res.data; + this.showTableTileOne = [{name:"归属项目",value:"project_abbreviation"},{name:"机械名称",value:"device_name"},{name:"预警类型",value:"alarm_type_name"},{name:"预警地址",value:"address"}]; + this.getDeviceWarnData(); + }).catch(err => { + }) + }, + getDeviceWarnData(){ + //安全预警 + axios.get("https://aqzg.makalu.cc/api/statistics/getDeviceWarnData",{params:{"deptId":131,"projectId":JSON.parse(localStorage.getItem("data1")).aqzg}} + ).then(res => { + if(res.data.length>0){ + let objArray = []; + for(let i = 0;i { + }); + }, + //表格滚动 + scrollOne(){ + let maxHeight=this.$refs.wgzpOne.$el.querySelectorAll ('.el-table__body')[0].offsetHeight; + let clientHeight=this.$refs.wgzpOne.bodyWrapper.clientHeight; + if(Math.abs(this.$refs.wgzpOne.bodyWrapper.scrollTop-(maxHeight-clientHeight))<5){ //预留5像素误差 + this.$refs.wgzpOne.bodyWrapper.scrollTop=0; + }else{ + this.$refs.wgzpOne.bodyWrapper.scrollTop+= 1;//32是每一行表格的高度,每秒滚一行 + } + }, + MouseEnterOne(){//鼠标移入停止滚动 + clearInterval(this.intervalOne); + }, + MouseLeaveOne(){//鼠标离开继续滚动 + this.intervalOne=setInterval(this.scrollOne,50); + } + + }, + watch:{ + + }, + +}) + + diff --git a/src/components/amplify/jixieguanli/amplify-sbgk.js b/src/components/amplify/jixieguanli/amplify-sbgk.js new file mode 100644 index 0000000..80eac60 --- /dev/null +++ b/src/components/amplify/jixieguanli/amplify-sbgk.js @@ -0,0 +1,166 @@ +import Vue from 'vue' + +var vms = Vue.component("amplify-sbgk", { + template: ` +
+
+ +
+ + + +
+ + `, + props: { + + }, + data() { + return { + show:false, + overview: 0, + showOverviewLabel:'设备数量', + surveyUrlSb: '/images/survey_icon_1.png', + overviewInterval: '', + overviewData:[], + showOverviewData: {}, + } + }, + mounted(){ + + }, + methods: { + openAmplify(){ + this.show = true + //设备概况点击事件定时器 + this.overviewInterval = setInterval(this.overviewClick, 5000); + this.getOverviewData() + }, + closeAmplify(){ + this.show = false + this.overview = 0 + this.showOverviewLabel='设备数量' + this.surveyUrlSb= '/images/survey_icon_1.png' + clearInterval(this.overviewInterval); + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + this.overview = 0 + this.showOverviewLabel='设备数量' + this.surveyUrlSb= '/images/survey_icon_1.png' + clearInterval(this.overviewInterval); + } + }, + //设备概况点击事件定时器方法 + overviewClick() { + if (this.overview < 2) { + this.overview = this.overview + 1 + } else { + this.overview = 0 + } + this.showOverviewData = this.overviewData[this.overview]; + if (this.overview == 0) { + this.showOverviewLabel = '设备数量' + this.surveyUrlSb = '/images/survey_icon_1.png' + } else if (this.overview == 1) { + this.showOverviewLabel = '绑定数量' + this.surveyUrlSb = '/images/survey_icon_2.png' + } else { + this.showOverviewLabel = '监控数量' + this.surveyUrlSb = '/images/survey_icon_3.png' + } + }, + //设备概况点击事件 + onClickoOverview(n) { + this.overview = n + this.showOverviewData = this.overviewData[this.overview]; + if (this.overview == 0) { + this.showOverviewLabel = '设备数量' + this.surveyUrlSb = '/images/survey_icon_1.png' + } else if (this.overview == 1) { + this.showOverviewLabel = '绑定数量' + this.surveyUrlSb = '/images/survey_icon_2.png' + } else { + this.showOverviewLabel = '监控数量' + this.surveyUrlSb = '/images/survey_icon_3.png' + } + }, + //设备概况数据 + getOverviewData(){ + axios.post(requestUrl+"getEquipmentOverview?deptId="+deptId+"&projectId="+JSON.parse(localStorage.getItem("data1")).jzgj, { + }).then(res => { + this.overviewData = [res.data.data.count,res.data.data.bind,res.data.data.monitor]; + this.showOverviewData = this.overviewData[0]; + }).catch(err => { + }) + }, + }, + watch:{ + + }, + +}) + + diff --git a/src/components/amplify/jixieguanli/amplify-sbyxzt.js b/src/components/amplify/jixieguanli/amplify-sbyxzt.js new file mode 100644 index 0000000..f14f032 --- /dev/null +++ b/src/components/amplify/jixieguanli/amplify-sbyxzt.js @@ -0,0 +1,326 @@ +import Vue from 'vue' + +var vms = Vue.component("amplify-sbyxzt", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + + }, + data() { + return { + show:false, + typeDistributionData:[ + { + name:'运行', + value:'0' + }, + { + name:'静止 ', + value:'0' + } + ], + } + }, + mounted(){ + + }, + methods: { + openAmplify(){ + this.show = true + this.getDeviceInfoByProjectId() + }, + closeAmplify(){ + this.show = false + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + }, + //设备信息 + getDeviceInfoByProjectId(){ + var that = this; + axios.post(requestUrl+"getDeviceInfoByProjectId?projectId="+JSON.parse(localStorage.getItem("data1")).jzgj, { + }).then(res => { + let runNumber = 0; + let notRunNumber = 0; + let deviceCount = 0; + for(let i = 0;i { + let deviceInfo = res.data.deviceInfo; + //监控设备 + if(smartTerminalNumber != ""){ + //运行、静止设备 + if(deviceInfo == undefined || deviceInfo.angleData == undefined){ + notRunNumber ++; + }else{ + runNumber ++; + } + } + if(deviceId == 71259 || smartTerminalNumber == "aqzg-415"){ + that.oneData={ + rentalAngleOne:deviceInfo== undefined?0:deviceInfo.angleData, + rentalRangeOne:deviceInfo== undefined?0:deviceInfo.ampData, + rentalBrachiumOne:deviceInfo== undefined?0:deviceInfo.foreArmLength, + deviceNumOne:deviceNum, + } + }else if(deviceId == 71258 || smartTerminalNumber == "aqzg-411"){ + that.twoData={ + rentalAngleTwo:deviceInfo== undefined?0:deviceInfo.angleData, + rentalRangeTwo:deviceInfo== undefined?0:deviceInfo.ampData, + rentalBrachiumTwo:deviceInfo== undefined?0:deviceInfo.foreArmLength, + deviceNumTwo:deviceNum, + } + }else if(deviceId == 71257 || smartTerminalNumber == "aqzg-412"){ + that.threeData={ + rentalAngleThree:deviceInfo== undefined?0:deviceInfo.angleData, + rentalRangeThree:deviceInfo== undefined?0:deviceInfo.ampData, + rentalBrachiumThree:deviceInfo== undefined?0:deviceInfo.foreArmLength, + deviceNumThree:deviceNum, + } + }else if(deviceId == 71804 || smartTerminalNumber == "aqzg-413"){ + that.fourData={ + rentalAngleFour:deviceInfo== undefined?0:deviceInfo.angleData, + rentalRangeFour:deviceInfo== undefined?0:deviceInfo.ampData, + rentalBrachiumFour:deviceInfo== undefined?0:deviceInfo.foreArmLength, + deviceNumFour:deviceNum, + } + }else if(deviceId == 71803 || smartTerminalNumber == "aqzg-414"){ + that.fiveData={ + rentalAngleFive:deviceInfo== undefined?0:deviceInfo.angleData, + rentalRangeFive:deviceInfo== undefined?0:deviceInfo.ampData, + rentalBrachiumFive:deviceInfo== undefined?0:deviceInfo.foreArmLength, + deviceNumFive:deviceNum, + } + }else if(deviceId == 71802 || smartTerminalNumber == "aqzg-410"){ + that.sixData={ + rentalAngleSix:deviceInfo== undefined?0:deviceInfo.angleData, + rentalRangeSix:deviceInfo== undefined?0:deviceInfo.ampData, + rentalBrachiumSix:deviceInfo== undefined?0:deviceInfo.foreArmLength, + deviceNumSix:deviceNum, + } + } + if(parseInt(runNumber)+parseInt(notRunNumber) == deviceCount){ + that.getTypeDistribution(runNumber,notRunNumber); + } + }).catch(err => { + }) + } + }).catch(err => { + console.log(err); + }) + + }, + //设备运行状态数据接口 + getTypeDistribution(runNumber,notRunNumber){ + var that = this; + axios.post(requestUrl+"getRunningDynamics?deptId="+deptId+"&projectId="+JSON.parse(localStorage.getItem("data1")).jzgj, { + }).then(res => { + let data = res.data.data; + + let array = []; + if(data.length > 0) { + array = data; + } else { + array = [{ + name:'运行', + value:'0' + }, + { + name:'静止', + value:'0' + }]; + } + console.log(array) + let dataArray = []; + for(let i = 0;i { + }) + }, + + //数据图 + getChartData(){ + //品类金额占比 饼图 + var chChartPie = echarts.init(this.$refs.warningPieChart); + this.echartPie(chChartPie,this.typeDistributionData) + }, + echartPie(chChart,chartData){ + let newPromise = new Promise((resolve) => { + resolve() + }) + + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var total_datas = 0; + var data = []; + var legendData = []; + var color = ['#4474fa','#52aef7','#2075ae'] + for (let i = 0; i { + return a + b.value; + }, 0);*/ + this.option = { + title: { + text: total_datas, + subtext: "台", + x: "center", + y: "140", + textStyle: { + color: "#0dd2fd", + fontSize: 42, + fontWeight: "normal", + align: "center", + width: "300px", + }, + subtextStyle: { + color: "#a5b5f0", + fontSize: 25, + fontWeight: "normal", + align: "center", + }, + }, + tooltip: { + trigger: 'item', + formatter: "{b}
{c} ({d}%)" + }, + legend: { + width:'100%', + left: "center", + right: "0", + bottom: "5", + //icon: "circle", + itemWidth: 25, + itemGap:52, + textStyle: { + fontSize: 60, + rich: { + name: { + color: "#c3dbfd", + padding: [10, 5, 30, 5], + // align: 'right' + // width: 60 + fontSize: 25, + }, + percent: { + color: "#18DB9F", + fontSize: 16, + padding: [0, 5, 0, 5], + // align: 'right' + fontSize: 25, + }, + }, + }, + formatter: function (name) { + let res = chartData.filter((v) => v.name === name); + let percent = total_datas == 0?0:((res[0].value * 100) / total_datas).toFixed(2); + return "{name| " + name + "}\n{percent|" + res[0].value + "}{percent|" + percent + "%}"; + }, + }, + series: [ + { + name: "品类金额占比", + type: "pie", + center: ["50%", "40%"], + radius: ["42%", "60%"], + data: data, + label: { + show: false, + }, + itemStyle: { + normal: { + borderWidth: 10, + borderColor: "#051a36" + } + }, + + }, + { + name: "外边框", + type: "pie", + clockWise: false, //顺时加载 + hoverAnimation: false, //鼠标移入变大 + center: ["50%", "40%"], + radius: ["66%", "66%"], + label: { + normal: { + show: false, + }, + }, + data: [ + { + // value: 9, + // name: "", + // itemStyle: { + // normal: { + // borderWidth: 3, + // borderColor: "#152c65", + // }, + // }, + }, + ], + }, + ], + } + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch:{ + + }, + +}) + + diff --git a/src/components/amplify/laowuyonggong/amplify-aqjy.js b/src/components/amplify/laowuyonggong/amplify-aqjy.js new file mode 100644 index 0000000..90178c9 --- /dev/null +++ b/src/components/amplify/laowuyonggong/amplify-aqjy.js @@ -0,0 +1,510 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-aqjy", { + template: ` +
+
+ +
+ + + +
+ `, + props: {}, + data() { + return { + ljaqjy: 0, + lsry: 0, + show: false, + safetyEducationData1: [ + {text: "接受培训率", value: 0}, + ], + safetyEducationData2: [ + {text: "接受培训率", value: 0}, + ], + width: 400 + } + }, + mounted() { + + }, + methods: { + openAmplify() { + this.show = true + this.getLWData() + this.getLSRYData() + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + getLWDatas(){ + + }, + getLWData() { + axios.post("https://smz.makalu.cc/mkl/screenApi/getAllUserData?token=" + JSON.parse(localStorage.getItem("data1")).smz_token + + "&deptId=123&typtDeptId=" + JSON.parse(localStorage.getItem("data1")).dept_id + "&typtProjectId=" + JSON.parse(localStorage.getItem("data1")).id, {}).then(res => { + + + if (res.data.code == "-1") { + + this.ljaqjy = 0; + + } + this.ljaqjy = res.data.zcrs + ''; + console.log(res.data.zcrs) + var safetyEducationData = []; + var safetyEducationData2 = []; + // safetyEducationData.push({text:"培训通过率",value:(res.data.jspxrs*res.data.pxtgl/100).toFixed(0)}); + // safetyEducationData2.push({text:"接受培训率",value:res.data.jspxrs }); + safetyEducationData.push({text: "接受培训率", value: res.data.zcrs}); + safetyEducationData2.push({text: "接受培训率", value: res.data.zcrs}); + this.safetyEducationData1 = safetyEducationData; + this.safetyEducationData2 = safetyEducationData2; + this.getChartData() + this.getChartData1() + }).catch(err => { + }) + }, + getLSRYData() { + axios.post("https://smz.makalu.cc/mkl/screenApi/getUserInfoTempList?token=" + JSON.parse(localStorage.getItem("data1")).smz_token + + "&isWork=1&deptId=123&typtDeptId=" + JSON.parse(localStorage.getItem("data1")).dept_id + "&typtProjectId=" + JSON.parse(localStorage.getItem("data1")).id, {}).then(res => { + this.lsry = res.data.data.length + ''; + }).catch(err => { + }) + }, + getChartData() { + //品类金额占比 饼图 + var chChart = echarts.init(this.$refs.charts1); + this.echart1(chChart, this.safetyEducationData1) + }, + //出勤情况-灰名单 + getChartData1() { + //品类金额占比 饼图 + var chChart = echarts.init(this.$refs.charts2); + this.echart2(chChart, this.safetyEducationData2) + }, + echart1(chChart, chartData) { + console.log(chartData) + var that = this + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + var value = [] + var text = [] + var bgData = [] + var total = 0 + for (let i = 0; i < chartData.length; i++) { + value.push(chartData[i].value) + text.push(chartData[i].text) + bgData.push(100) + if (this.workMax) { + total = this.workMax + } else { + total += chartData[i].value + } + } + + var prop = [] + for (let j = 0; j < value.length; j++) { + if (total == 0) { + prop.push(0) + } else { + prop.push((value[j] / total * 100).toFixed(1)) + } + } + var unit = '人' + if (this.unit) { + unit = this.unit + } + + + this.option = { + grid: { + left: "5%", + right: "5%", + bottom: "0%", + top: "0%", + containLabel: true, + }, + xAxis: [{ + show: false, + }, + //由于下边X轴已经是百分比刻度了,所以需要在顶部加一个X轴,刻度是金额,也隐藏掉 + { + show: false, + } + ], + yAxis: [ + { + type: 'category', + axisLabel: { + show: false, //让Y轴数据不显示 + }, + itemStyle: {}, + axisTick: { + show: false, //隐藏Y轴刻度 + }, + axisLine: { + show: false, //隐藏Y轴线段 + }, + data: [], + }, { + show: false, + data: [], + axisLine: { + show: false + } + }], + series: [ + //数据条--------------------我是分割线君------------------------------// + { + show: true, + type: 'bar', + xAxisIndex: 1, //代表使用第二个X轴刻度!!!!!!!!!!!!!!!!!!!!!!!! + barGap: '-100%', + barWidth: '20', //统计条宽度 + itemStyle: { + normal: { + color: 'rgba(22,203,115,0.05)' + }, + }, + label: { + normal: { + show: true, + //label 的position位置可以是top bottom left,right,也可以是固定值 + //在这里需要上下统一对齐,所以用固定值 + position: [0, '-40'], + rich: { //富文本 + prop: { //自定义颜色 + color: '#c6d9fa', + fontSize: '25', + }, + unit: { + color: '#6c829a', + fontSize: '25', + }, + yes: { + color: '#55adf7', + fontSize: '25', + }, + not: { + color: '#4677fa', + fontSize: '25', + }, + index: { + color: '#fcbc02', + fontStyle: 'italic', + padding: [0, 0, 0, 5], + fontSize: '25', + }, + name: { + width: this.width, + color: '#c6d9fa', + padding: [0, 0, 0, 5], + fontSize: '25', + }, + color: { + color: '#8ca2be', + fontSize: '20', + }, + arrow: { + width: 20, + height: 15, + backgroundColor: { + image: "http://fileimg.makalu.cc/WEB_2B7C06210CD44D55BFEE6205A35DE4A7.png", + }, + }, + + }, + formatter: function (data) { + //富文本固定格式{colorName|这里填你想要写的内容} + //return '{arrow|}' + // if(that.show == true){ + // return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| '+unit+'}'; + // }else{ + // return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| '+unit+'} {prop|'+prop[data.dataIndex]+'}{color| %} '; + // } + return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| 人} {prop|' + prop[data.dataIndex] + '}{color| %} '; + }, + } + }, + data: bgData, + }, + { + type: "bar", + zlevel: 1, + itemStyle: { + normal: { + color: "#6ab9fe", + }, + }, + barWidth: 16, + data: prop, + }, + { + type: "bar", + barWidth: 20, + barGap: "-100%", + data: bgData, + itemStyle: { + normal: { + color: "rgba(24,31,68,1)", + }, + }, + }, + ], + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + + chChart.off('click') + + chChart.on('click', function (params) { + that.$emit('personnel', params.dataIndex); + }) + }) + }, + //出勤情况-灰名单 + echart2(chChart, chartData) { + console.log(chartData) + var that = this + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + var value = [] + var text = [] + var bgData = [] + var total = 0 + for (let i = 0; i < chartData.length; i++) { + value.push(chartData[i].value) + text.push(chartData[i].text) + bgData.push(100) + if (this.workMax) { + total = this.workMax + } else { + total += chartData[i].value + } + } + + var prop = [] + for (let j = 0; j < value.length; j++) { + console.log(value) + if (total == 0) { + prop.push(0) + } else { + prop.push((value[j] / total * 100).toFixed(1)) + } + } + console.log(prop) + var unit = '人' + if (this.unit) { + unit = this.unit + } + + + this.option = { + grid: { + left: "5%", + right: "5%", + bottom: "0%", + top: "0%", + containLabel: true, + }, + xAxis: [{ + show: false, + }, + //由于下边X轴已经是百分比刻度了,所以需要在顶部加一个X轴,刻度是金额,也隐藏掉 + { + show: false, + } + ], + yAxis: [ + { + type: 'category', + axisLabel: { + show: false, //让Y轴数据不显示 + }, + itemStyle: {}, + axisTick: { + show: false, //隐藏Y轴刻度 + }, + axisLine: { + show: false, //隐藏Y轴线段 + }, + data: [], + }, { + show: false, + data: [], + axisLine: { + show: false + } + }], + series: [ + //数据条--------------------我是分割线君------------------------------// + { + show: true, + type: 'bar', + xAxisIndex: 1, //代表使用第二个X轴刻度!!!!!!!!!!!!!!!!!!!!!!!! + barGap: '-100%', + barWidth: '20', //统计条宽度 + itemStyle: { + normal: { + color: 'rgba(22,203,115,0.05)' + }, + }, + label: { + normal: { + show: true, + //label 的position位置可以是top bottom left,right,也可以是固定值 + //在这里需要上下统一对齐,所以用固定值 + position: [0, '-40'], + rich: { //富文本 + prop: { //自定义颜色 + color: '#c6d9fa', + fontSize: '25', + }, + unit: { + color: '#6c829a', + fontSize: '25', + }, + yes: { + color: '#55adf7', + fontSize: '25', + }, + not: { + color: '#4677fa', + fontSize: '25', + }, + index: { + color: '#fcbc02', + fontStyle: 'italic', + padding: [0, 0, 0, 5], + fontSize: '25', + }, + name: { + width: this.width, + color: '#c6d9fa', + padding: [0, 0, 0, 5], + fontSize: '25', + }, + color: { + color: '#8ca2be', + fontSize: '20', + }, + arrow: { + width: 20, + height: 15, + backgroundColor: { + image: "http://fileimg.makalu.cc/WEB_2B7C06210CD44D55BFEE6205A35DE4A7.png", + }, + }, + + }, + formatter: function (data) { + //富文本固定格式{colorName|这里填你想要写的内容} + //return '{arrow|}' + if (that.show == true) { + return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| ' + unit + '}'; + } else { + return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| ' + unit + '} {prop|' + prop[data.dataIndex] + '}{color| %} '; + } + + }, + } + }, + data: bgData, + }, + { + type: "bar", + zlevel: 1, + itemStyle: { + normal: { + color: "#6ab9fe", + }, + }, + barWidth: 16, + data: prop, + }, + { + type: "bar", + barWidth: 20, + barGap: "-100%", + data: bgData, + itemStyle: { + normal: { + color: "rgba(24,31,68,1)", + }, + }, + }, + ], + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + + chChart.off('click') + + chChart.on('click', function (params) { + that.$emit('personnel', params.dataIndex); + }) + }) + }, + + }, + watch: {}, + +}) + + diff --git a/src/components/amplify/laowuyonggong/amplify-cjdwfb.js b/src/components/amplify/laowuyonggong/amplify-cjdwfb.js new file mode 100644 index 0000000..dbf71d8 --- /dev/null +++ b/src/components/amplify/laowuyonggong/amplify-cjdwfb.js @@ -0,0 +1,106 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-cjdwfb", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + + }, + data() { + return { + //参见单位分布 + seeUnitData: [], + seeUnitInterval: '', + show:false, + rowStyle: { + color: '#B6CFEF', + fontSize: '24px', + height: '64px' + }, + headerStyle:{ + color: '#B6CFEF', + fontSize: '24px', + height: '64px' + }, + showTitle: "" + } + }, + mounted(){ + this.seeUnitInterval = setInterval(this.seeUnitScroll, 50); + }, + methods: { + openAmplify(){ + this.show = true + this.getUnitPeopleNum() + }, + closeAmplify(){ + this.show = false + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + }, + getUnitPeopleNum() { + axios.post("https://smz.makalu.cc/mkl/screenApi/getCqUnitPeopleNum?token=" + JSON.parse(localStorage.getItem("data1")).smz_token + "&deptId=123&typtDeptId=" + JSON.parse(localStorage.getItem("data1")).dept_id + "&typtProjectId=" + JSON.parse(localStorage.getItem("data1")).id, {}).then(res => { + if (res.data.state == "OK") { + let n = 0 + for(let da of res.data.data){ + n += da.rs + } + this.showTitle = "人数(" + n +")" + this.seeUnitData = res.data.data + } else { + this.seeUnitData = []; + } + }).catch(err => { + }) + }, + seeUnitScroll() { + let maxHeight = this.$refs.seeUnit.$el.querySelectorAll('.el-table__body')[0].offsetHeight; + let clientHeight = this.$refs.seeUnit.bodyWrapper.clientHeight; + if (Math.abs(this.$refs.seeUnit.bodyWrapper.scrollTop - (maxHeight - clientHeight)) < 5) { //预留5像素误差 + this.$refs.seeUnit.bodyWrapper.scrollTop = 0; + } else { + this.$refs.seeUnit.bodyWrapper.scrollTop += 1;//32是每一行表格的高度,每秒滚一行 + } + }, + seeUnitMouseEnter() {//鼠标移入停止滚动 + clearInterval(this.seeUnitInterval); + }, + seeUnitMouseLeave() {//鼠标离开继续滚动 + this.seeUnitInterval = setInterval(this.seeUnitScroll, 50); + } + }, + watch:{ + + }, + +}) + + diff --git a/src/components/amplify/laowuyonggong/amplify-gzzb.js b/src/components/amplify/laowuyonggong/amplify-gzzb.js new file mode 100644 index 0000000..b7abbb5 --- /dev/null +++ b/src/components/amplify/laowuyonggong/amplify-gzzb.js @@ -0,0 +1,484 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-gzzb", { + template: ` +
+
+ +
+ + + +
+ `, + props: {}, + data() { + return { + show: false, + typedata:[], + projectId:JSON.parse(localStorage.getItem("data1")).id, + } + }, + mounted() { + + }, + methods: { + openAmplify() { + this.show = true + this.getGZData() + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + getGZData() { + axios.post("https://smz.makalu.cc/mkl/screenApi/getCqWorkTypeData?token=" + JSON.parse(localStorage.getItem("data1")).smz_token + "&deptId=131&typtDeptId=" + JSON.parse(localStorage.getItem("data1")).dept_id + "&typtProjectId=" + JSON.parse(localStorage.getItem("data1")).id, {}).then(res => { + var workPropData = []; + if (res.data.code != "-1") { + var data = res.data.workTypeData; + for (let i = 0; i < data.length; i++) { + workPropData.push({ + text: data[i].name, + value: data[i].value, + prop: data[i].percent, + id: data[i].id + }) + } + } + var workPropDataNew = [] + var val={ + id : '', + text:'其他工种', + prop : 0, + value : 0, + } + + if(workPropData.length > 0){ + for (let i = 0; i < workPropData.length ; i++) { + if(workPropData[i].text == '其他工种' || workPropData[i].text == '其他'){ + val.id += workPropData[i].id+',' + val.prop += Number(workPropData[i].prop) + val.value += Number(workPropData[i].value) + }else { + workPropDataNew.push(workPropData[i]) + } + } + } + workPropDataNew.push(val) + this.typedata = workPropDataNew; + + this.getChartData() + this.getChartData1() + }).catch(err => { + }) + }, + //左边圆形图 + getChartData(){ + //品类金额占比 饼图 + var chChartPie = echarts.init(this.$refs.amplifyBox); + this.echartPie(chChartPie,this.typedata) + }, + echartPie(chChart,chartData){ + // console.log(chartData) + let newPromise = new Promise((resolve) => { + resolve() + }) + + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var total_datas = 0; + var data = []; + var legendData = []; + var color = ['#4974ff','#52aef7','#6863d7','#1d5d89','#20e6ff','#67feef'] + for (let i = 0; i { + return a + b.value; + }, 0);*/ + this.option = { + title: { + text: total_datas, + subtext: "总人数", + x: "center", + y: "143", + textStyle: { + color: "#0dd2fd", + fontSize: 52, + fontWeight: "normal", + align: "center", + width: "200px", + }, + subtextStyle: { + color: "#a5b5f0", + fontSize: 28, + fontWeight: "normal", + align: "center", + }, + }, + tooltip: { + trigger: 'item', + formatter: "{b}
{c} ({d}%)" + }, + series: [ + { + name: "品类金额占比", + type: "pie", + center: ["50%", "50%"], + radius: ["53%", "70%"], + data: data, + label: { + show: false, + }, + itemStyle: { + normal: { + borderWidth: 10, + borderColor: "#051a36" + } + }, + + }, + { + name: "外边框", + type: "pie", + clockWise: false, //顺时加载 + hoverAnimation: false, //鼠标移入变大 + center: ["50%", "50%"], + radius: ["78%", "78%"], + label: { + normal: { + show: false, + }, + }, + data: [ + { + value: 9, + name: "", + itemStyle: { + normal: { + borderWidth: 6, + borderColor: "#152c65", + }, + }, + }, + ], + }, + ], + } + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + //右边进度图 + getChartData1(){ + var chChartBar = echarts.init(this.$refs.amplifyStyle); + this.echartBar(chChartBar,this.typedata) + }, + echartBar(chChart,chartData){ + console.log(chartData) + var that = this + + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + + var value = []; + var prop = []; + var text = []; + var zero = [] + + var total = 0 + for (let i = chartData.length-1; i >=0; i--) { + total += chartData[i].value; + value.push(chartData[i].value) + prop.push(chartData[i].prop) + text.push(chartData[i].text) + zero.push(0) + } + + + var data = [] + var data_all = new Array(prop.length) + for (let i = 0; i +
+ +
+ + + + + + `, + props: { + + }, + data() { + return { + show:false, + projectId:JSON.parse(localStorage.getItem("data1")).id, + nav:1, + surveyUrl: '/images/survey_icon_5.png', + staffText: '今日出勤', + lwDataTotal:0, + option:{} + } + }, + mounted(){ + + }, + methods: { + openAmplify() { + this.show = true + this.getLWData(1) + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + onInfoNav(n, text) { + this.nav = n + this.staffText = text + this.getLWData(n) + if (n == 0) { + this.surveyUrl = '../../images/survey_icon_4.png' + } else { + this.surveyUrl = '../../images/survey_icon_5.png' + } + }, + + //劳务人员概况 + getLWData(infoNav) { + axios.post("https://smz.makalu.cc/mkl/screenApi/getAllUserData?token=" + JSON.parse(localStorage.getItem("data1")).smz_token + + "&deptId=123&typtDeptId=" + JSON.parse(localStorage.getItem("data1")).dept_id + "&typtProjectId=" + JSON.parse(localStorage.getItem("data1")).id, {}).then(res => { + this.lwLoading = false; + var laborPersonnelData = []; + if (infoNav == 0) { + laborPersonnelData.push({text: "特种作业人员", value: res.data.userInfo.specialTotal, type: 2}) + laborPersonnelData.push({text: "劳务人员(不含特种人员)", value: res.data.userInfo.unSpecialTotal, type: 1}) + laborPersonnelData.push({text: "管理人员", value: res.data.userInfo.glrs, type: 0}) + this.lwDataTotal = res.data.zgrs + } else { + laborPersonnelData.push({text: "特种作业人员", value: res.data.cqUserInfo.specialTotal, type: 2}) + laborPersonnelData.push({text: "劳务人员(不含特种人员)", value: res.data.cqUserInfo.unSpecialTotal, type: 1}) + laborPersonnelData.push({text: "管理人员", value: res.data.cqUserInfo.glrs, type: 0}) + this.lwDataTotal = res.data.rcrs + } + this.$nextTick(() => { + this.echart(laborPersonnelData) + }) + }).catch(err => { + }) + + }, + + echart(chartData){ + var chChart = echarts.init(this.$refs.chart); + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + var value = [] + var text = [] + var bgData = [] + var total = 0 + for (let i = 0; i < chartData.length; i++) { + value.push(chartData[i].value) + text.push(chartData[i].text) + bgData.push(100) + total += chartData[i].value + } + + var prop = [] + for (let j = 0; j < value.length; j++) { + if(total == 0){ + prop.push(0) + }else{ + prop.push((value[j]/total * 100).toFixed(1)) + } + } + + this.option = { + grid: { + left: "5%", + right: "5%", + bottom: "0%", + top: "0%", + containLabel: true, + }, + xAxis: [ + { + show: false, + }, + //由于下边X轴已经是百分比刻度了,所以需要在顶部加一个X轴,刻度是金额,也隐藏掉 + { + show: false, + } + ], + yAxis: [ + { + type: 'category', + axisLabel: { + show: false, //让Y轴数据不显示 + }, + itemStyle: { + + }, + axisTick: { + show: false, //隐藏Y轴刻度 + }, + axisLine: { + show: false, //隐藏Y轴线段 + }, + data: [], + },{ + show: false, + data: [], + axisLine: { + show: false + } + }], + series: [ + //数据条--------------------我是分割线君------------------------------// + { + show: true, + type: 'bar', + xAxisIndex: 1, //代表使用第二个X轴刻度!!!!!!!!!!!!!!!!!!!!!!!! + barGap: '-100%', + barWidth: '20', //统计条宽度 + itemStyle: { + normal: { + color: 'rgba(22,203,115,0.05)' + }, + }, + label: { + normal: { + show: true, + //label 的position位置可以是top bottom left,right,也可以是固定值 + //在这里需要上下统一对齐,所以用固定值 + position: [0, '-40'], + rich: { //富文本 + prop: { //自定义颜色 + color: '#c6d9fa', + fontSize:'25', + }, + unit:{ + color: '#6c829a', + fontSize:'25', + }, + yes:{ + color: '#55adf7', + fontSize:'25', + }, + not:{ + color: '#4677fa', + fontSize:'25', + }, + index:{ + color: '#fcbc02', + fontStyle: 'italic', + padding:[0,0,0,5], + fontSize:'25', + }, + name: { + width: 350, + color: '#c6d9fa', + padding:[0,0,0,10], + fontSize:'25', + }, + color:{ + color: '#8ca2be', + fontSize:'20', + + }, + arrow:{ + width:20, + height:15, + backgroundColor: { + image: "http://fileimg.makalu.cc/WEB_2B7C06210CD44D55BFEE6205A35DE4A7.png", + }, + }, + + }, + formatter: function(data) { + //富文本固定格式{colorName|这里填你想要写的内容} + //return '{arrow|}' + return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| 人} {prop|'+prop[data.dataIndex]+'}{color| %} '; + }, + } + }, + data: bgData, + }, + { + type: "bar", + zlevel: 1, + itemStyle: { + normal: { + color: "#6ab9fe", + }, + }, + + barWidth: 15, + data: prop, + }, + { + type: "bar", + barWidth: 15, + barGap: "-100%", + data: bgData, + itemStyle: { + normal: { + color: "rgba(24,31,68,1)", + }, + }, + }, + ], + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch:{ + + }, +}) + + diff --git a/src/components/amplify/laowuyonggong/amplify-nlhx.js b/src/components/amplify/laowuyonggong/amplify-nlhx.js new file mode 100644 index 0000000..ab9a494 --- /dev/null +++ b/src/components/amplify/laowuyonggong/amplify-nlhx.js @@ -0,0 +1,220 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-nlhx", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + + }, + data() { + return { + show:false, + ageStudyData: {}, + } + }, + mounted(){ + + }, + methods: { + openAmplify(){ + this.show = true + this.getAgeData() + }, + closeAmplify(){ + this.show = false + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + }, + getAgeData() { + axios.post("https://smz.makalu.cc/mkl/screenApi/getCqAgeData2?token=" + JSON.parse(localStorage.getItem("data1")).smz_token + "&deptId=123&typtDeptId=" + JSON.parse(localStorage.getItem("data1")).dept_id + "&typtProjectId=" + JSON.parse(localStorage.getItem("data1")).id, {}).then(res => { + var ageStudyData = {}; + ageStudyData.xAxis = ["18以下", "18-29", "30-39", "40-49", "50以上"]; + ageStudyData.seriesName = "年龄分布占比"; + if (res.data.code != "-1") { + var ageData = res.data.ageData; + var data = [ageData.shiqizb, ageData.shibazb, ageData.sanshizb, ageData.sishizb, ageData.wushiupzb]; + ageStudyData.data = data; + } + this.ageStudyData = ageStudyData; + this.getChartData() + }).catch(err => { + }) + }, + // 折线图 + getChartData(){ + var chChartBar = echarts.init(this.$refs.chart); + this.echartBar(chChartBar,this.ageStudyData) + }, + echartBar(chChart,data){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + this.option = { + grid: { + top:'10%', + left: "2%", + right: "0%", + bottom: "0%", + containLabel: true, + }, + tooltip: { + trigger: "axis", + formatter: function (params) { + return (params[0].seriesName+"
" + +params[0].name +":"+ params[0].data + "%") + }, + }, + xAxis: { + type: "category", + data: data.xAxis, + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: true, + lineStyle: { + color: "#25597e", + type: "dashed", + }, + }, + axisTick: { + show: false + }, + rich:{ + fontSize:25 + }, + axisLabel: { + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 30, + fontSize:25 + }, + + }, + }, + yAxis: { + type: "value", + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: false, + lineStyle: { + color: "#c5d9fc", + type: "dashed", + }, + }, + axisTick: { + show: false + }, + rich:{ + fontSize:25 + }, + axisLabel: { + show: true, + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 30, + fontSize:25 + }, + }, + splitLine: { + show: true, + lineStyle: { + color: "#25597e", + type: "dashed", + }, + }, + }, + series: [ + { + name: data.seriesName, + type: "pictorialBar", + barCategoryGap: "0%", + label: { + normal: { + show: true, + position: "top", + color:"#fff", + fontSize:25 + }, + }, + + //symbol: 'path://M0,10 L10,10 L5,0 L0,10 z', + symbol: "path://M0,10 L10,10 C5.5,10 5.5,5 5,0 C4.5,5 4.5,10 0,10 z", + + + itemStyle: { + normal: { + color: { + type: "linear", + x: 0, + y: 0, + x2: 0, + y2: 1, + colorStops: [ + { + offset: 0, + color: "rgba(15,133,224,0.2)", // 0% 处的颜色 + }, + { + offset: 0.9, + color: "rgba(15,133,224,0.8)", // 100% 处的颜色 + }, + ], + global: false, // 缺省为 false + }, + }, + emphasis: { + opacity: 1, + }, + }, + data: data.data, + z: 10, + }, + ], + }; + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + + + watch:{ + + }, + +}) + + diff --git a/src/components/amplify/laowuyonggong/amplify-rycqfb.js b/src/components/amplify/laowuyonggong/amplify-rycqfb.js new file mode 100644 index 0000000..77031f7 --- /dev/null +++ b/src/components/amplify/laowuyonggong/amplify-rycqfb.js @@ -0,0 +1,920 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-rycqfb", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + + }, + data() { + return { + width:760, + workData_1:[{ text:"白名单(7天出勤人数,包含7天)", value:0 }], + //workData_2:[{ text:"灰名单(4-10天内出勤人数)", value:0 }], + workData_3:[{ text:"灰名单(超过7天未出勤人数,不包含7天)", value:0 }], + workData_4:[{ text:"临时人员(打突击线上教育人员)", value:0 }], + workData_5:[{ text:"退场人员", value:0 }], + workMax: 0, + show:false, + projectId:JSON.parse(localStorage.getItem("data1")).id, + } + }, + mounted(){ + }, + methods: { + openAmplify(){ + this.show = true + this.getActivePeopleNum1() + }, + closeAmplify(){ + this.show = false + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + }, + //人员出勤分布接口 + getActivePeopleNum1(){ + axios.post("https://smz.makalu.cc/mkl/screenApi/getUnCqUserList?token="+JSON.parse(localStorage.getItem("data1")).smz_token+"&maxDay=6&deptId=123&typtDeptId="+JSON.parse(localStorage.getItem("data1")).dept_id+"&typtProjectId="+JSON.parse(localStorage.getItem("data1")).id, { + }).then(res => { + if(res.data.state == "OK"){ + var max = this.workMax; + if(res.data.data.length > max){ + this.workMax = res.data.data.length; + } + + this.workData_1 = [{ text:"白名单(7天出勤人数,包含7天)", value:res.data.data.length }]; + }else{ + this.workData_1 = [{ text:"白名单(7天出勤人数,包含7天)", value:0 }]; + } + this.getChartData() + axios.post("https://smz.makalu.cc/mkl/screenApi/getUnCqUserList?token="+JSON.parse(localStorage.getItem("data1")).smz_token+"&dayNum=7&deptId=123&typtDeptId="+JSON.parse(localStorage.getItem("data1")).dept_id+"&typtProjectId="+JSON.parse(localStorage.getItem("data1")).id, { + }).then(res => { + if(res.data.state == "OK"){ + var max = this.workMax; + if(res.data.data.length > max){ + this.workMax = res.data.data.length; + } + this.workData_3 = [{ text:"灰名单(超过7天未出勤人数,不包含7天)", value:res.data.data.length }]; + }else{ + this.workData_3 = [{ text:"灰名单(超过7天未出勤人数,不包含7天)", value:0 }]; + } + this.getChartData1() + axios.post("https://smz.makalu.cc/mkl/screenApi/getUserInfoTempList?token="+JSON.parse(localStorage.getItem("data1")).smz_token+"&isWork=1&deptId=123&typtDeptId="+JSON.parse(localStorage.getItem("data1")).dept_id+"&typtProjectId="+JSON.parse(localStorage.getItem("data1")).id, { + }).then(res => { + if(res.data.state == "OK"){ + var max = this.workMax; + if(res.data.data.length > max){ + this.workMax = res.data.data.length; + } + this.workData_4 = [{ text:"临时人员(打突击线上教育人员)", value:res.data.data.length}]; + }else{ + this.workData_4 = [{ text:"临时人员(打突击线上教育人员)", value:0 }]; + } + this.getChartData2() + axios.post("https://smz.makalu.cc/mkl/screenApi/getUserInfoList?token="+JSON.parse(localStorage.getItem("data1")).smz_token+"&isWork=2&deptId=123&typtDeptId="+JSON.parse(localStorage.getItem("data1")).dept_id+"&typtProjectId="+JSON.parse(localStorage.getItem("data1")).id, { + }).then(res => { + if(res.data.state == "OK"){ + var max = this.workMax; + if(res.data.data.length > max){ + this.workMax = res.data.data.length; + } + this.workData_5 = [{ text:"退场人员", value:res.data.data.length }]; + }else{ + this.workData_5 = [{ text:"退场人员", value:0 }]; + } + this.getChartData3() + }).catch(err => { + }) + }).catch(err => { + }) + }).catch(err => { + }) + }).catch(err => { + }) + + + + }, + //出勤情况-白名单 + getChartData(){ + //品类金额占比 饼图 + var chChart = echarts.init(this.$refs.anlifychart); + this.echart1(chChart,this.workData_1) + }, + //出勤情况-灰名单 + getChartData1(){ + //品类金额占比 饼图 + var chChart = echarts.init(this.$refs.anlifychart1); + this.echart2(chChart,this.workData_3) + }, + //出勤情况-临时人员 + getChartData2(){ + //品类金额占比 饼图 + var chChart = echarts.init(this.$refs.anlifychart2); + this.echart3(chChart,this.workData_4) + }, + //出勤情况-在线人员 + getChartData3(){ + //品类金额占比 饼图 + var chChart = echarts.init(this.$refs.anlifychart3); + this.echart4(chChart,this.workData_5) + }, + //出勤情况-白名单 + echart1(chChart,chartData){ + console.log(chartData) + var that = this + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + var value = [] + var text = [] + var bgData = [] + var total = 0 + for (let i = 0; i < chartData.length; i++) { + value.push(chartData[i].value) + text.push(chartData[i].text) + bgData.push(100) + if(this.workMax){ + total = this.workMax + }else{ + total += chartData[i].value + } + } + + var prop = [] + for (let j = 0; j < value.length; j++) { + if(total == 0){ + prop.push(0) + }else{ + prop.push((value[j]/total * 100).toFixed(1)) + } + } + var unit = '人' + if(this.unit){ + unit = this.unit + } + + + this.option = { + grid: { + left: "5%", + right: "5%", + bottom: "0%", + top: "0%", + containLabel: true, + }, + xAxis: [{ + show: false, + }, + //由于下边X轴已经是百分比刻度了,所以需要在顶部加一个X轴,刻度是金额,也隐藏掉 + { + show: false, + } + ], + yAxis: [ + { + type: 'category', + axisLabel: { + show: false, //让Y轴数据不显示 + }, + itemStyle: { + + }, + axisTick: { + show: false, //隐藏Y轴刻度 + }, + axisLine: { + show: false, //隐藏Y轴线段 + }, + data: [], + },{ + show: false, + data: [], + axisLine: { + show: false + } + }], + series: [ + //数据条--------------------我是分割线君------------------------------// + { + show: true, + type: 'bar', + xAxisIndex: 1, //代表使用第二个X轴刻度!!!!!!!!!!!!!!!!!!!!!!!! + barGap: '-100%', + barWidth: '20', //统计条宽度 + itemStyle: { + normal: { + color: 'rgba(22,203,115,0.05)' + }, + }, + label: { + normal: { + show: true, + //label 的position位置可以是top bottom left,right,也可以是固定值 + //在这里需要上下统一对齐,所以用固定值 + position: [0, '-40'], + rich: { //富文本 + prop: { //自定义颜色 + color: '#c6d9fa', + fontSize:'25', + }, + unit:{ + color: '#6c829a', + fontSize:'25', + }, + yes:{ + color: '#55adf7', + fontSize:'25', + }, + not:{ + color: '#4677fa', + fontSize:'25', + }, + index:{ + color: '#fcbc02', + fontStyle: 'italic', + padding:[0,0,0,5], + fontSize:'25', + }, + name: { + width: this.width, + color: '#c6d9fa', + padding:[0,0,0,5], + fontSize:'25', + }, + color:{ + color: '#8ca2be', + fontSize:'20', + }, + arrow:{ + width:20, + height:15, + backgroundColor: { + image: "http://fileimg.makalu.cc/WEB_2B7C06210CD44D55BFEE6205A35DE4A7.png", + }, + }, + + }, + formatter: function(data) { + //富文本固定格式{colorName|这里填你想要写的内容} + //return '{arrow|}' + if(that.show == true){ + return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| '+unit+'}'; + }else{ + return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| '+unit+'} {prop|'+prop[data.dataIndex]+'}{color| %} '; + } + + }, + } + }, + data: bgData, + }, + { + type: "bar", + zlevel: 1, + itemStyle: { + normal: { + color: "#6ab9fe", + }, + }, + barWidth: 20, + data: prop, + }, + { + type: "bar", + barWidth: 20, + barGap: "-100%", + data: bgData, + itemStyle: { + normal: { + color: "rgba(24,31,68,1)", + }, + }, + }, + ], + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + + chChart.off('click') + + chChart.on('click', function (params) { + that.$emit('personnel',params.dataIndex); + }) + }) + }, + //出勤情况-灰名单 + echart2(chChart,chartData){ + console.log(chartData) + var that = this + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + var value = [] + var text = [] + var bgData = [] + var total = 0 + for (let i = 0; i < chartData.length; i++) { + value.push(chartData[i].value) + text.push(chartData[i].text) + bgData.push(100) + if(this.workMax){ + total = this.workMax + }else{ + total += chartData[i].value + } + } + + var prop = [] + for (let j = 0; j < value.length; j++) { + console.log(value) + if(total == 0){ + prop.push(0) + }else{ + prop.push((value[j]/total * 100).toFixed(1)) + } + } + console.log(prop) + var unit = '人' + if(this.unit){ + unit = this.unit + } + + + this.option = { + grid: { + left: "5%", + right: "5%", + bottom: "0%", + top: "0%", + containLabel: true, + }, + xAxis: [{ + show: false, + }, + //由于下边X轴已经是百分比刻度了,所以需要在顶部加一个X轴,刻度是金额,也隐藏掉 + { + show: false, + } + ], + yAxis: [ + { + type: 'category', + axisLabel: { + show: false, //让Y轴数据不显示 + }, + itemStyle: { + + }, + axisTick: { + show: false, //隐藏Y轴刻度 + }, + axisLine: { + show: false, //隐藏Y轴线段 + }, + data: [], + },{ + show: false, + data: [], + axisLine: { + show: false + } + }], + series: [ + //数据条--------------------我是分割线君------------------------------// + { + show: true, + type: 'bar', + xAxisIndex: 1, //代表使用第二个X轴刻度!!!!!!!!!!!!!!!!!!!!!!!! + barGap: '-100%', + barWidth: '20', //统计条宽度 + itemStyle: { + normal: { + color: 'rgba(22,203,115,0.05)' + }, + }, + label: { + normal: { + show: true, + //label 的position位置可以是top bottom left,right,也可以是固定值 + //在这里需要上下统一对齐,所以用固定值 + position: [0, '-40'], + rich: { //富文本 + prop: { //自定义颜色 + color: '#c6d9fa', + fontSize:'25', + }, + unit:{ + color: '#6c829a', + fontSize:'25', + }, + yes:{ + color: '#55adf7', + fontSize:'25', + }, + not:{ + color: '#4677fa', + fontSize:'25', + }, + index:{ + color: '#fcbc02', + fontStyle: 'italic', + padding:[0,0,0,5], + fontSize:'25', + }, + name: { + width: this.width, + color: '#c6d9fa', + padding:[0,0,0,5], + fontSize:'25', + }, + color:{ + color: '#8ca2be', + fontSize:'20', + }, + arrow:{ + width:20, + height:15, + backgroundColor: { + image: "http://fileimg.makalu.cc/WEB_2B7C06210CD44D55BFEE6205A35DE4A7.png", + }, + }, + + }, + formatter: function(data) { + //富文本固定格式{colorName|这里填你想要写的内容} + //return '{arrow|}' + if(that.show == true){ + return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| '+unit+'}'; + }else{ + return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| '+unit+'} {prop|'+prop[data.dataIndex]+'}{color| %} '; + } + + }, + } + }, + data: bgData, + }, + { + type: "bar", + zlevel: 1, + itemStyle: { + normal: { + color: "#6ab9fe", + }, + }, + barWidth: 20, + data: prop, + }, + { + type: "bar", + barWidth: 20, + barGap: "-100%", + data: bgData, + itemStyle: { + normal: { + color: "rgba(24,31,68,1)", + }, + }, + }, + ], + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + + chChart.off('click') + + chChart.on('click', function (params) { + that.$emit('personnel',params.dataIndex); + }) + }) + }, + //出勤情况-临时人员 + echart3(chChart,chartData){ + console.log(chartData) + var that = this + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + var value = [] + var text = [] + var bgData = [] + var total = 0 + for (let i = 0; i < chartData.length; i++) { + value.push(chartData[i].value) + text.push(chartData[i].text) + bgData.push(100) + if(this.workMax){ + total = this.workMax + }else{ + total += chartData[i].value + } + } + + var prop = [] + for (let j = 0; j < value.length; j++) { + if(total == 0){ + prop.push(0) + }else{ + prop.push((value[j]/total * 100).toFixed(1)) + } + } + var unit = '人' + if(this.unit){ + unit = this.unit + } + + + this.option = { + grid: { + left: "5%", + right: "5%", + bottom: "0%", + top: "0%", + containLabel: true, + }, + xAxis: [{ + show: false, + }, + //由于下边X轴已经是百分比刻度了,所以需要在顶部加一个X轴,刻度是金额,也隐藏掉 + { + show: false, + } + ], + yAxis: [ + { + type: 'category', + axisLabel: { + show: false, //让Y轴数据不显示 + }, + itemStyle: { + + }, + axisTick: { + show: false, //隐藏Y轴刻度 + }, + axisLine: { + show: false, //隐藏Y轴线段 + }, + data: [], + },{ + show: false, + data: [], + axisLine: { + show: false + } + }], + series: [ + //数据条--------------------我是分割线君------------------------------// + { + show: true, + type: 'bar', + xAxisIndex: 1, //代表使用第二个X轴刻度!!!!!!!!!!!!!!!!!!!!!!!! + barGap: '-100%', + barWidth: '20', //统计条宽度 + itemStyle: { + normal: { + color: 'rgba(22,203,115,0.05)' + }, + }, + label: { + normal: { + show: true, + //label 的position位置可以是top bottom left,right,也可以是固定值 + //在这里需要上下统一对齐,所以用固定值 + position: [0, '-40'], + rich: { //富文本 + prop: { //自定义颜色 + color: '#c6d9fa', + fontSize:'25', + }, + unit:{ + color: '#6c829a', + fontSize:'25', + }, + yes:{ + color: '#55adf7', + fontSize:'25', + }, + not:{ + color: '#4677fa', + fontSize:'25', + }, + index:{ + color: '#fcbc02', + fontStyle: 'italic', + padding:[0,0,0,5], + fontSize:'25', + }, + name: { + width: this.width, + color: '#c6d9fa', + padding:[0,0,0,5], + fontSize:'25', + }, + color:{ + color: '#8ca2be', + fontSize:'20', + }, + arrow:{ + width:20, + height:15, + backgroundColor: { + image: "http://fileimg.makalu.cc/WEB_2B7C06210CD44D55BFEE6205A35DE4A7.png", + }, + }, + + }, + formatter: function(data) { + //富文本固定格式{colorName|这里填你想要写的内容} + //return '{arrow|}' + if(that.show == true){ + return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| '+unit+'}'; + }else{ + return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| '+unit+'} {prop|'+prop[data.dataIndex]+'}{color| %} '; + } + + }, + } + }, + data: bgData, + }, + { + type: "bar", + zlevel: 1, + itemStyle: { + normal: { + color: "#6ab9fe", + }, + }, + barWidth: 20, + data: prop, + }, + { + type: "bar", + barWidth: 20, + barGap: "-100%", + data: bgData, + itemStyle: { + normal: { + color: "rgba(24,31,68,1)", + }, + }, + }, + ], + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + + chChart.off('click') + + chChart.on('click', function (params) { + that.$emit('personnel',params.dataIndex); + }) + }) + }, + //出勤情况-在线人员 + echart4(chChart,chartData){ + console.log(chartData) + var that = this + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + var value = [] + var text = [] + var bgData = [] + var total = 0 + for (let i = 0; i < chartData.length; i++) { + value.push(chartData[i].value) + text.push(chartData[i].text) + bgData.push(100) + if(this.workMax){ + total = this.workMax + }else{ + total += chartData[i].value + } + } + + var prop = [] + for (let j = 0; j < value.length; j++) { + if(total == 0){ + prop.push(0) + }else{ + prop.push((value[j]/total * 100).toFixed(1)) + } + } + var unit = '人' + if(this.unit){ + unit = this.unit + } + + + this.option = { + grid: { + left: "5%", + right: "5%", + bottom: "0%", + top: "0%", + containLabel: true, + }, + xAxis: [{ + show: false, + }, + //由于下边X轴已经是百分比刻度了,所以需要在顶部加一个X轴,刻度是金额,也隐藏掉 + { + show: false, + } + ], + yAxis: [ + { + type: 'category', + axisLabel: { + show: false, //让Y轴数据不显示 + }, + itemStyle: { + + }, + axisTick: { + show: false, //隐藏Y轴刻度 + }, + axisLine: { + show: false, //隐藏Y轴线段 + }, + data: [], + },{ + show: false, + data: [], + axisLine: { + show: false + } + }], + series: [ + //数据条--------------------我是分割线君------------------------------// + { + show: true, + type: 'bar', + xAxisIndex: 1, //代表使用第二个X轴刻度!!!!!!!!!!!!!!!!!!!!!!!! + barGap: '-100%', + barWidth: '20', //统计条宽度 + itemStyle: { + normal: { + color: 'rgba(22,203,115,0.05)' + }, + }, + label: { + normal: { + show: true, + //label 的position位置可以是top bottom left,right,也可以是固定值 + //在这里需要上下统一对齐,所以用固定值 + position: [0, '-40'], + rich: { //富文本 + prop: { //自定义颜色 + color: '#c6d9fa', + fontSize:'25', + }, + unit:{ + color: '#6c829a', + fontSize:'25', + }, + yes:{ + color: '#55adf7', + fontSize:'25', + }, + not:{ + color: '#4677fa', + fontSize:'25', + }, + index:{ + color: '#fcbc02', + fontStyle: 'italic', + padding:[0,0,0,5], + fontSize:'25', + }, + name: { + width: this.width, + color: '#c6d9fa', + padding:[0,0,0,5], + fontSize:'25', + }, + color:{ + color: '#8ca2be', + fontSize:'20', + }, + arrow:{ + width:20, + height:15, + backgroundColor: { + image: "http://fileimg.makalu.cc/WEB_2B7C06210CD44D55BFEE6205A35DE4A7.png", + }, + }, + + }, + formatter: function(data) { + //富文本固定格式{colorName|这里填你想要写的内容} + //return '{arrow|}' + if(that.show == true){ + return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| '+unit+'}'; + }else{ + return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| '+unit+'} {prop|'+prop[data.dataIndex]+'}{color| %} '; + } + + }, + } + }, + data: bgData, + }, + { + type: "bar", + zlevel: 1, + itemStyle: { + normal: { + color: "#6ab9fe", + }, + }, + barWidth: 20, + data: prop, + }, + { + type: "bar", + barWidth: 20, + barGap: "-100%", + data: bgData, + itemStyle: { + normal: { + color: "rgba(24,31,68,1)", + }, + }, + }, + ], + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + + chChart.off('click') + + chChart.on('click', function (params) { + that.$emit('personnel',params.dataIndex); + }) + }) + }, + + }, + watch:{ + data: function (n,o) { + this.getChartData() + this.getChartData1() + this.getChartData2() + this.getChartData3() + }, + max: function (n,o) { + this.getChartData() + this.getChartData1() + this.getChartData2() + this.getChartData3() + } + } +}) + + diff --git a/src/components/amplify/shipinguanli/amplify-spjk.js b/src/components/amplify/shipinguanli/amplify-spjk.js new file mode 100644 index 0000000..f4fb334 --- /dev/null +++ b/src/components/amplify/shipinguanli/amplify-spjk.js @@ -0,0 +1,154 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-spjk", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + + }, + data() { + return { + show:false, + cqNum:0, + dgNum:0, + aiNum:0, + offLineNum:0 + } + }, + mounted(){ + + }, + methods: { + openAmplify(){ + this.show = true + this.getVideoOverview() + }, + closeAmplify(){ + this.show = false + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + }, + //视频概况 + getVideoOverview() { + axios.get("https://video.makalu.cc/mkl/api/getVideoOverview?projectId="+JSON.parse(localStorage.getItem("data1")).spgk).then(res => { + if(res.data != {}) { + + this.cqNum = res.data.data.cqNum; + this.dgNum = res.data.data.dgNum; + this.aiNum = res.data.data.aiNum; + this.offLineNum = res.data.data.offLineNum; + + var data = []; + var allVideoList = res.data.data.allVideoList; + if(allVideoList){ + for(let i = 0;i < allVideoList.length;i++){ + var obj = {}; + obj.x = allVideoList[i].x + obj.y = allVideoList[i].y + obj.angle = allVideoList[i].angle + obj.title = allVideoList[i].title + obj.state = allVideoList[i].state + obj.token = allVideoList[i].token + if(allVideoList[i].videoSource == 1){ + obj.videoType = 'h5s' + }else if(allVideoList[i].videoSource == 2){ + obj.videoType = 'hk' + }else if(allVideoList[i].videoSource == 3){ + obj.videoType = 'hzhk' + } + data.push(obj) + } + } + + var token = this.videoListData[0].videoList[0].token + + console.log(token) + for (let i=0 ;i +
+ +
+ + + + + `, + props: { + modeltitle:{ + type:String + }, + }, + data() { + return { + show: false, + height: 510, + width: 910, + forData: [], + arrowLeft: -45, + arrowRight:-45, + interval:undefined, + left:0, + direction:'left', + projectId:JSON.parse(localStorage.getItem("data1")).id, + datas:[] + } + }, + mounted() { + + }, + methods: { + openAmplify() { + this.show = true + this.getData() + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + // 调用接口 + getData() { + let that = this + axios.get("/api/building/info?project_id=" + this.projectId).then(res => { + let data = res.data.data + let type = {} + for (let info of data) { + if (!type[info.sub_type]) { + type[info.sub_type] = new Array() + } + info.url = (info.file_path.indexOf("https") != -1) ? info.file_path : info.file_src + info.text = info.file_name + type[info.sub_type].push(info) + } + that.forData = type[3]; + console.log(type) + console.log(that.forData) + that.forData.map(item=>this.datas.push(item.url)) + }).catch(err => { + + }) + }, + carouselMouseover() { + this.arrowLeft = 10 + this.arrowRight = 10 + clearInterval(this.interval); + }, + carouselMouseout() { + this.arrowLeft = -30 + this.arrowRight = -30 + this.direction = 'left' + this.interval = setInterval(this.timer, 3000); + }, + clickCtrl(direction) { + this.direction = direction + this.timer() + }, + timer() { + if (this.direction == 'left') { + this.left = this.left - this.width + if (this.left == -((this.forData.length) * this.width)) { + this.left = 0 + } + } else { + if (this.left == 0) { + this.left = -((this.forData.length - 1) * this.width) + } else { + this.left = this.left + this.width + } + } + }, + }, + watch: {} + + +}) + + diff --git a/src/components/amplify/tesedangjian/amplify-jdsl.js b/src/components/amplify/tesedangjian/amplify-jdsl.js new file mode 100644 index 0000000..0c49a2c --- /dev/null +++ b/src/components/amplify/tesedangjian/amplify-jdsl.js @@ -0,0 +1,139 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-jdsl", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + modeltitle:{ + type:String + }, + }, + data() { + return { + show: false, + height: 510, + width: 910, + forData: [], + arrowLeft: -45, + arrowRight:-45, + interval:undefined, + left:0, + direction:'left', + projectId:JSON.parse(localStorage.getItem("data1")).id, + datas:[] + } + }, + mounted() { + + }, + methods: { + openAmplify() { + this.show = true + this.getData() + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + // 调用接口 + getData() { + let that = this + axios.get("/api/building/info?project_id=" + this.projectId).then(res => { + let data = res.data.data + let type = {} + for (let info of data) { + if (!type[info.sub_type]) { + type[info.sub_type] = new Array() + } + info.url = (info.file_path.indexOf("https") != -1) ? info.file_path : info.file_src + info.text = info.file_name + type[info.sub_type].push(info) + } + that.forData = type[4]; + console.log(type) + // console.log(that.forData) + that.forData.map(item=>this.datas.push(item.url)) + }).catch(err => { + + }) + }, + carouselMouseover() { + this.arrowLeft = 10 + this.arrowRight = 10 + clearInterval(this.interval); + }, + carouselMouseout() { + this.arrowLeft = -30 + this.arrowRight = -30 + this.direction = 'left' + this.interval = setInterval(this.timer, 3000); + }, + clickCtrl(direction) { + this.direction = direction + this.timer() + }, + timer() { + if (this.direction == 'left') { + this.left = this.left - this.width + if (this.left == -((this.forData.length) * this.width)) { + this.left = 0 + } + } else { + if (this.left == 0) { + this.left = -((this.forData.length - 1) * this.width) + } else { + this.left = this.left + this.width + } + } + }, + }, + watch: {} + + +}) + + diff --git a/src/components/amplify/tesedangjian/amplify-lzgcjs.js b/src/components/amplify/tesedangjian/amplify-lzgcjs.js new file mode 100644 index 0000000..6ed7ac8 --- /dev/null +++ b/src/components/amplify/tesedangjian/amplify-lzgcjs.js @@ -0,0 +1,139 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-lzgcjs", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + modeltitle:{ + type:String + }, + }, + data() { + return { + show: false, + height: 510, + width: 910, + forData: [], + arrowLeft: -45, + arrowRight:-45, + interval:undefined, + left:0, + direction:'left', + projectId:JSON.parse(localStorage.getItem("data1")).id, + datas:[] + } + }, + mounted() { + + }, + methods: { + openAmplify() { + this.show = true + this.getData() + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + // 调用接口 + getData() { + let that = this + axios.get("/api/building/info?project_id=" + this.projectId).then(res => { + let data = res.data.data + let type = {} + for (let info of data) { + if (!type[info.sub_type]) { + type[info.sub_type] = new Array() + } + info.url = (info.file_path.indexOf("https") != -1) ? info.file_path : info.file_src + info.text = info.file_name + type[info.sub_type].push(info) + } + that.forData = type[5]; + console.log(type) + // console.log(that.forData) + that.forData.map(item=>this.datas.push(item.url)) + }).catch(err => { + + }) + }, + carouselMouseover() { + this.arrowLeft = 10 + this.arrowRight = 10 + clearInterval(this.interval); + }, + carouselMouseout() { + this.arrowLeft = -30 + this.arrowRight = -30 + this.direction = 'left' + this.interval = setInterval(this.timer, 3000); + }, + clickCtrl(direction) { + this.direction = direction + this.timer() + }, + timer() { + if (this.direction == 'left') { + this.left = this.left - this.width + if (this.left == -((this.forData.length) * this.width)) { + this.left = 0 + } + } else { + if (this.left == 0) { + this.left = -((this.forData.length - 1) * this.width) + } else { + this.left = this.left + this.width + } + } + }, + }, + watch: {} + + +}) + + diff --git a/src/components/amplify/tesedangjian/amplify-sxzzjs.js b/src/components/amplify/tesedangjian/amplify-sxzzjs.js new file mode 100644 index 0000000..177746d --- /dev/null +++ b/src/components/amplify/tesedangjian/amplify-sxzzjs.js @@ -0,0 +1,139 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-sxzzjs", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + modeltitle:{ + type:String + }, + }, + data() { + return { + show: false, + height: 510, + width: 910, + forData: [], + arrowLeft: -45, + arrowRight:-45, + interval:undefined, + left:0, + direction:'left', + projectId:JSON.parse(localStorage.getItem("data1")).id, + datas:[] + } + }, + mounted() { + + }, + methods: { + openAmplify() { + this.show = true + this.getData() + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + // 调用接口 + getData() { + let that = this + axios.get("/api/building/info?project_id=" + this.projectId).then(res => { + let data = res.data.data + let type = {} + for (let info of data) { + if (!type[info.sub_type]) { + type[info.sub_type] = new Array() + } + info.url = (info.file_path.indexOf("https") != -1) ? info.file_path : info.file_src + info.text = info.file_name + type[info.sub_type].push(info) + } + that.forData = type[1]; + console.log(type) + // console.log(that.forData) + that.forData.map(item=>this.datas.push(item.url)) + }).catch(err => { + + }) + }, + carouselMouseover() { + this.arrowLeft = 10 + this.arrowRight = 10 + clearInterval(this.interval); + }, + carouselMouseout() { + this.arrowLeft = -30 + this.arrowRight = -30 + this.direction = 'left' + this.interval = setInterval(this.timer, 3000); + }, + clickCtrl(direction) { + this.direction = direction + this.timer() + }, + timer() { + if (this.direction == 'left') { + this.left = this.left - this.width + if (this.left == -((this.forData.length) * this.width)) { + this.left = 0 + } + } else { + if (this.left == 0) { + this.left = -((this.forData.length - 1) * this.width) + } else { + this.left = this.left + this.width + } + } + }, + }, + watch: {} + + +}) + + diff --git a/src/components/amplify/tesedangjian/amplify-tdjs.js b/src/components/amplify/tesedangjian/amplify-tdjs.js new file mode 100644 index 0000000..38a4078 --- /dev/null +++ b/src/components/amplify/tesedangjian/amplify-tdjs.js @@ -0,0 +1,139 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-tdjs", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + modeltitle:{ + type:String + }, + }, + data() { + return { + show: false, + height: 510, + width: 910, + forData: [], + arrowLeft: -45, + arrowRight:-45, + interval:undefined, + left:0, + direction:'left', + projectId:JSON.parse(localStorage.getItem("data1")).id, + datas:[] + } + }, + mounted() { + + }, + methods: { + openAmplify() { + this.show = true + this.getData() + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + // 调用接口 + getData() { + let that = this + axios.get("/api/building/info?project_id=" + this.projectId).then(res => { + let data = res.data.data + let type = {} + for (let info of data) { + if (!type[info.sub_type]) { + type[info.sub_type] = new Array() + } + info.url = (info.file_path.indexOf("https") != -1) ? info.file_path : info.file_src + info.text = info.file_name + type[info.sub_type].push(info) + } + that.forData = type[2]; + console.log(type) + // console.log(that.forData) + that.forData.map(item=>this.datas.push(item.url)) + }).catch(err => { + + }) + }, + carouselMouseover() { + this.arrowLeft = 10 + this.arrowRight = 10 + clearInterval(this.interval); + }, + carouselMouseout() { + this.arrowLeft = -30 + this.arrowRight = -30 + this.direction = 'left' + this.interval = setInterval(this.timer, 3000); + }, + clickCtrl(direction) { + this.direction = direction + this.timer() + }, + timer() { + if (this.direction == 'left') { + this.left = this.left - this.width + if (this.left == -((this.forData.length) * this.width)) { + this.left = 0 + } + } else { + if (this.left == 0) { + this.left = -((this.forData.length - 1) * this.width) + } else { + this.left = this.left + this.width + } + } + }, + }, + watch: {} + + +}) + + diff --git a/src/components/amplify/tesedangjian/amplify-xmdt.js b/src/components/amplify/tesedangjian/amplify-xmdt.js new file mode 100644 index 0000000..6dd8bc1 --- /dev/null +++ b/src/components/amplify/tesedangjian/amplify-xmdt.js @@ -0,0 +1,141 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-xmdt", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + modeltitle:{ + type:String + }, + }, + data() { + return { + show: false, + height: 510, + width: 910, + forData: [], + arrowLeft: -45, + arrowRight:-45, + interval:undefined, + left:0, + direction:'left', + projectId:JSON.parse(localStorage.getItem("data1")).id, + datas:[] + } + }, + mounted() { + + }, + methods: { + openAmplify() { + console.log(this.modeltitle) + this.show = true + this.getData() + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + // 调用接口 + getData() { + let that = this + axios.get("/api/building/info?project_id=" + this.projectId).then(res => { + let data = res.data.data + let type = {} + for (let info of data) { + if (!type[info.sub_type]) { + type[info.sub_type] = new Array() + } + info.url = (info.file_path.indexOf("https") != -1) ? info.file_path : info.file_src + info.text = info.file_name + type[info.sub_type].push(info) + } + that.forData = type[0]; + console.log(type) + console.log(that.forData) + that.forData.map(item=>this.datas.push(item.url)) + }).catch(err => { + + }) + }, + carouselMouseover() { + this.arrowLeft = 10 + this.arrowRight = 10 + clearInterval(this.interval); + }, + carouselMouseout() { + this.arrowLeft = -30 + this.arrowRight = -30 + this.direction = 'left' + this.interval = setInterval(this.timer, 3000); + }, + clickCtrl(direction) { + this.direction = direction + this.timer() + }, + timer() { + if (this.direction == 'left') { + this.left = this.left - this.width + if (this.left == -((this.forData.length) * this.width)) { + this.left = 0 + } + } else { + if (this.left == 0) { + this.left = -((this.forData.length - 1) * this.width) + } else { + this.left = this.left + this.width + } + } + }, + }, + watch: {} + + +}) + + diff --git a/src/components/amplify/xiangmugaikuang/amplify-lwrygk.js b/src/components/amplify/xiangmugaikuang/amplify-lwrygk.js new file mode 100644 index 0000000..8e5b487 --- /dev/null +++ b/src/components/amplify/xiangmugaikuang/amplify-lwrygk.js @@ -0,0 +1,286 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-lwrygk", { + template: ` +
+
+ +
+ + + +
+ + `, + props: { + + }, + data() { + return { + show:false, + projectId:JSON.parse(localStorage.getItem("data1")).id, + nav:1, + surveyUrl: '/images/survey_icon_5.png', + staffText: '今日出勤', + lwDataTotal:0, + option:{} + } + }, + mounted(){ + + }, + methods: { + openAmplify() { + this.show = true + this.getLWData(1) + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + }, + onInfoNav(n, text) { + this.nav = n + this.staffText = text + this.getLWData(n) + if (n == 0) { + this.surveyUrl = '../../images/survey_icon_4.png' + } else { + this.surveyUrl = '../../images/survey_icon_5.png' + } + }, + + //劳务人员概况 + getLWData(infoNav) { + axios.post("https://smz.makalu.cc/mkl/screenApi/getAllUserData?token=" + JSON.parse(localStorage.getItem("data1")).smz_token + "&deptId=131&typtProjectId=" + JSON.parse(localStorage.getItem("data1")).id + "&typtDeptId=" + JSON.parse(localStorage.getItem("data1")).dept_id, {}).then(res => { + this.lwLoading = false; + var laborPersonnelData = []; + if (infoNav == 0) { + laborPersonnelData.push({text: "特种作业人员", value: res.data.userInfo.specialTotal, type: 2}) + laborPersonnelData.push({text: "劳务人员(不含特种人员)", value: res.data.userInfo.unSpecialTotal, type: 1}) + laborPersonnelData.push({text: "管理人员", value: res.data.userInfo.glrs, type: 0}) + this.lwDataTotal = res.data.zgrs + } else { + laborPersonnelData.push({text: "特种作业人员", value: res.data.cqUserInfo.specialTotal, type: 2}) + laborPersonnelData.push({text: "劳务人员(不含特种人员)", value: res.data.cqUserInfo.unSpecialTotal, type: 1}) + laborPersonnelData.push({text: "管理人员", value: res.data.cqUserInfo.glrs, type: 0}) + this.lwDataTotal = res.data.rcrs + } + this.$nextTick(() => { + this.echart(laborPersonnelData) + }) + }).catch(err => { + }) + + }, + + echart(chartData){ + var chChart = echarts.init(this.$refs.chart); + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + var value = [] + var text = [] + var bgData = [] + var total = 0 + for (let i = 0; i < chartData.length; i++) { + value.push(chartData[i].value) + text.push(chartData[i].text) + bgData.push(100) + total += chartData[i].value + } + + var prop = [] + for (let j = 0; j < value.length; j++) { + if(total == 0){ + prop.push(0) + }else{ + prop.push((value[j]/total * 100).toFixed(1)) + } + } + + this.option = { + grid: { + left: "5%", + right: "5%", + bottom: "0%", + top: "0%", + containLabel: true, + }, + xAxis: [ + { + show: false, + }, + //由于下边X轴已经是百分比刻度了,所以需要在顶部加一个X轴,刻度是金额,也隐藏掉 + { + show: false, + } + ], + yAxis: [ + { + type: 'category', + axisLabel: { + show: false, //让Y轴数据不显示 + }, + itemStyle: { + + }, + axisTick: { + show: false, //隐藏Y轴刻度 + }, + axisLine: { + show: false, //隐藏Y轴线段 + }, + data: [], + },{ + show: false, + data: [], + axisLine: { + show: false + } + }], + series: [ + //数据条--------------------我是分割线君------------------------------// + { + show: true, + type: 'bar', + xAxisIndex: 1, //代表使用第二个X轴刻度!!!!!!!!!!!!!!!!!!!!!!!! + barGap: '-100%', + barWidth: '20', //统计条宽度 + itemStyle: { + normal: { + color: 'rgba(22,203,115,0.05)' + }, + }, + label: { + normal: { + show: true, + //label 的position位置可以是top bottom left,right,也可以是固定值 + //在这里需要上下统一对齐,所以用固定值 + position: [0, '-40'], + rich: { //富文本 + prop: { //自定义颜色 + color: '#c6d9fa', + fontSize:'25', + }, + unit:{ + color: '#6c829a', + fontSize:'25', + }, + yes:{ + color: '#55adf7', + fontSize:'25', + }, + not:{ + color: '#4677fa', + fontSize:'25', + }, + index:{ + color: '#fcbc02', + fontStyle: 'italic', + padding:[0,0,0,5], + fontSize:'25', + }, + name: { + width: 350, + color: '#c6d9fa', + padding:[0,0,0,10], + fontSize:'25', + }, + color:{ + color: '#8ca2be', + fontSize:'20', + + }, + arrow:{ + width:20, + height:15, + backgroundColor: { + image: "http://fileimg.makalu.cc/WEB_2B7C06210CD44D55BFEE6205A35DE4A7.png", + }, + }, + + }, + formatter: function(data) { + //富文本固定格式{colorName|这里填你想要写的内容} + //return '{arrow|}' + return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| 人} {prop|'+prop[data.dataIndex]+'}{color| %} '; + }, + } + }, + data: bgData, + }, + { + type: "bar", + zlevel: 1, + itemStyle: { + normal: { + color: "#6ab9fe", + }, + }, + barWidth: 15, + data: prop, + }, + { + type: "bar", + barWidth: 15, + barGap: "-100%", + data: bgData, + itemStyle: { + normal: { + color: "rgba(24,31,68,1)", + }, + }, + }, + ], + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch:{ + + }, +}) + + diff --git a/src/components/amplify/xiangmugaikuang/amplify-sbgk.js b/src/components/amplify/xiangmugaikuang/amplify-sbgk.js new file mode 100644 index 0000000..fec96e6 --- /dev/null +++ b/src/components/amplify/xiangmugaikuang/amplify-sbgk.js @@ -0,0 +1,163 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-sbgk", { + template: ` +
+
+ +
+ + + +
+ + `, + props: { + + }, + data() { + return { + show:false, + overview: 0, + showOverviewLabel:'设备数量', + surveyUrlSb: '/images/survey_icon_1.png', + overviewInterval: '', + overviewData:[], + showOverviewData: {}, + } + }, + mounted(){ + + }, + methods: { + openAmplify(){ + this.show = true + //设备概况点击事件定时器 + this.overviewInterval = setInterval(this.overviewClick, 5000); + this.getOverviewData() + }, + closeAmplify(){ + this.show = false + this.overview = 0 + this.showOverviewLabel='设备数量' + this.surveyUrlSb= '/images/survey_icon_1.png' + clearInterval(this.overviewInterval); + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + this.overview = 0 + this.showOverviewLabel='设备数量' + this.surveyUrlSb= '/images/survey_icon_1.png' + clearInterval(this.overviewInterval); + } + }, + //设备概况点击事件定时器方法 + overviewClick() { + if (this.overview < 2) { + this.overview = this.overview + 1 + } else { + this.overview = 0 + } + this.showOverviewData = this.overviewData[this.overview]; + if (this.overview == 0) { + this.showOverviewLabel = '设备数量' + this.surveyUrlSb = '/images/survey_icon_1.png' + } else if (this.overview == 1) { + this.showOverviewLabel = '绑定数量' + this.surveyUrlSb = '/images/survey_icon_2.png' + } else { + this.showOverviewLabel = '监控数量' + this.surveyUrlSb = '/images/survey_icon_3.png' + } + }, + //设备概况点击事件 + onClickoOverview(n) { + this.overview = n + this.showOverviewData = this.overviewData[this.overview]; + if (this.overview == 0) { + this.showOverviewLabel = '设备数量' + this.surveyUrlSb = '/images/survey_icon_1.png' + } else if (this.overview == 1) { + this.showOverviewLabel = '绑定数量' + this.surveyUrlSb = '/images/survey_icon_2.png' + } else { + this.showOverviewLabel = '监控数量' + this.surveyUrlSb = '/images/survey_icon_3.png' + } + }, + //设备概况数据 + getOverviewData() { + axios.post(requestUrl + "getEquipmentOverview?deptId=" + deptId + "&projectId=" + JSON.parse(localStorage.getItem("data1")).jzgj + "&typtProjectId=" + JSON.parse(localStorage.getItem("data1")).id + "&typtDeptId=" + JSON.parse(localStorage.getItem("data1")).dept_id, {}).then(res => { + this.overviewData = [res.data.data.count, res.data.data.bind, res.data.data.monitor]; + this.showOverviewData = this.overviewData[0]; + }).catch(err => { + }) + }, + }, + watch:{ + + }, + +}) + + diff --git a/src/components/amplify/xiangmugaikuang/amplify-xmkg.js b/src/components/amplify/xiangmugaikuang/amplify-xmkg.js new file mode 100644 index 0000000..359c039 --- /dev/null +++ b/src/components/amplify/xiangmugaikuang/amplify-xmkg.js @@ -0,0 +1,132 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-xmkg", { + template: ` +
+
+ +
+ + + +
+ + `, + props: { + + }, + data() { + return { + show:false, + projectId:JSON.parse(localStorage.getItem("data1")).id, + companyData:{} + } + }, + mounted(){ + + }, + methods: { + openAmplify(){ + this.show = true + this.getProject() + }, + closeAmplify(){ + this.show = false + }, + getProject() { + axios({ + method: 'post', + url: "/api/project/info", + data: { + "project_id":this.projectId + } + }).then(res => { + this.companyData = res.data.data + }).catch(err => { + + }) + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + } + + }, + watch:{ + + }, + +}) + + diff --git a/src/components/amplify/xiangmugaikuang/组件模板.js b/src/components/amplify/xiangmugaikuang/组件模板.js new file mode 100644 index 0000000..4d98973 --- /dev/null +++ b/src/components/amplify/xiangmugaikuang/组件模板.js @@ -0,0 +1,55 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-sbgk", { + template: ` +
+
+ +
+ + + +
+ `, + props: { + + }, + data() { + return { + show:false, + } + }, + mounted(){ + + }, + methods: { + openAmplify(){ + this.show = true + this.getProject() + }, + closeAmplify(){ + this.show = false + }, + closeAmplifyAll(e){ + if(e.target.className == 'amplify-fixed'){ + this.show = false + } + } + + }, + watch:{ + + }, + +}) + + diff --git a/src/components/amplify/zhiliangguanli/amplify-qysj.js b/src/components/amplify/zhiliangguanli/amplify-qysj.js new file mode 100644 index 0000000..a2778dd --- /dev/null +++ b/src/components/amplify/zhiliangguanli/amplify-qysj.js @@ -0,0 +1,76 @@ +import Vue from 'vue' +var vms = Vue.component("amplify-qysj", { + template: ` +
+
+ +
+ + + +
+ `, + props: {}, + data() { + return { + show: false, + //质量目标 + qualityTargetData:[ + { + title:'创优目标', + text:'获得陕西省“双优”工地,创AAA级国家安全文明标准化工地', + images:'/images/quality_target_1.png', + } + ], + } + }, + mounted() { + let that = this + let url1 = "http://127.0.0.1:9004/system/qualityTarget/list1" + let url2 = "https://szh.makalu.cc/system/qualityTarget/list1" + $.post(url2,{},res => { + that.qualityTargetData = res[JSON.parse(localStorage.getItem("data1")).id] + console.log(that.qualityTargetData[JSON.parse(localStorage.getItem("data1")).id]); + }) + }, + methods: { + openAmplify() { + this.show = true + // this.getProject() + }, + closeAmplify() { + this.show = false + }, + closeAmplifyAll(e) { + if (e.target.className == 'amplify-fixed') { + this.show = false + } + } + + }, + watch: {}, + +}) + + diff --git a/src/components/background_video.js b/src/components/background_video.js new file mode 100644 index 0000000..b8cb722 --- /dev/null +++ b/src/components/background_video.js @@ -0,0 +1,123 @@ +/** + * 顶部header + */ +import Vue from 'vue' +Vue.component("background-video", { + template: ` + + `, + props: { + url:{ + type:String + } + }, + data() { + return { + + } + }, + mounted(){ + var canvas = document.getElementById('canvas'), + ctx = canvas.getContext('2d'), + w = canvas.width = window.innerWidth, + h = canvas.height = window.innerHeight, + + hue = 217, + stars = [], + count = 0, + maxStars = 1200; + +var canvas2 = document.createElement('canvas'), + ctx2 = canvas2.getContext('2d'); +canvas2.width = 100; +canvas2.height = 100; +var half = canvas2.width / 2, + gradient2 = ctx2.createRadialGradient(half, half, 0, half, half, half); +gradient2.addColorStop(0.025, '#fff'); +gradient2.addColorStop(0.1, 'hsl(' + hue + ', 61%, 33%)'); +gradient2.addColorStop(0.25, 'hsl(' + hue + ', 64%, 6%)'); +gradient2.addColorStop(1, 'transparent'); + +ctx2.fillStyle = gradient2; +ctx2.beginPath(); +ctx2.arc(half, half, half, 0, Math.PI * 2); +ctx2.fill(); + +// End cache + +function random(min, max) { + if (arguments.length < 2) { + max = min; + min = 0; + } + + if (min > max) { + var hold = max; + max = min; + min = hold; + } + + return Math.floor(Math.random() * (max - min + 1)) + min; +} + +function maxOrbit(x, y) { + var max = Math.max(x, y), + diameter = Math.round(Math.sqrt(max * max + max * max)); + return diameter / 2; +} + +var Star = function() { + + this.orbitRadius = random(maxOrbit(w, h)); + this.radius = random(60, this.orbitRadius) / 5; + this.orbitX = w / 2; + this.orbitY = h / 2; + this.timePassed = random(0, maxStars); + this.speed = random(this.orbitRadius) / 900000; + this.alpha = random(2, 10) / 10; + + count++; + stars[count] = this; +} + +Star.prototype.draw = function() { + var x = Math.sin(this.timePassed) * this.orbitRadius + this.orbitX, + y = Math.cos(this.timePassed) * this.orbitRadius + this.orbitY, + twinkle = random(10); + + if (twinkle === 1 && this.alpha > 0) { + this.alpha -= 0.05; + } else if (twinkle === 2 && this.alpha < 1) { + this.alpha += 0.05; + } + + ctx.globalAlpha = this.alpha; + ctx.drawImage(canvas2, x - this.radius / 2, y - this.radius / 2, this.radius, this.radius); + this.timePassed += this.speed; +} + +for (var i = 0; i < maxStars; i++) { + new Star(); +} + +function animation() { + ctx.globalCompositeOperation = 'source-over'; + ctx.globalAlpha = 0.8; + ctx.fillStyle = 'hsla(' + hue + ', 64%, 6%, 1)'; + ctx.fillRect(0, 0, w, h) + + ctx.globalCompositeOperation = 'lighter'; + for (var i = 1, l = stars.length; i < l; i++) { + stars[i].draw(); + }; + + window.requestAnimationFrame(animation); +} + +animation(); + }, + methods: { + + } + +}) diff --git a/src/components/baidu-maps.js b/src/components/baidu-maps.js new file mode 100644 index 0000000..f158b43 --- /dev/null +++ b/src/components/baidu-maps.js @@ -0,0 +1,1858 @@ +import Vue from 'vue' +Vue.component("baidu-maps", { + template: ` +
+ `, + props: { + data:{ + type:Array + } + }, + data() { + return { + skyMap:'', + key:0, + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.initMap() + this.getIconMap() + this.setMapStyle() + }, + initMap(){ + // GL版命名空间为BMapGL + var map = new BMapGL.Map(this.$refs.allMap); // 创建Map实例, + map.centerAndZoom(new BMapGL.Point(104.509823,35.09362), 6); // 初始化地图,设置中心点坐标和地图级别 + map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放 + this.skyMap = map; + }, + getIconMap(){ + var map = this.skyMap + map.clearOverlays(); + var pointArray =new Array() + for(let i = 0; i img').hide(); + // }) + }, + setMapStyle(){ + var map = this.skyMap + //百度地图背景色 + var styleJson=[ + { + "featureType": "land", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#00092aff" + } + }, { + "featureType": "water", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#033a58ff" + } + }, { + "featureType": "green", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#0e1b30ff" + } + }, { + "featureType": "building", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "building", + "elementType": "geometry.topfill", + "stylers": { + "color": "#113549ff" + } + }, { + "featureType": "building", + "elementType": "geometry.sidefill", + "stylers": { + "color": "#143e56ff" + } + }, { + "featureType": "building", + "elementType": "geometry.stroke", + "stylers": { + "color": "#dadada00" + } + }, { + "featureType": "subwaystation", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#113549B2" + } + }, { + "featureType": "education", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#12223dff" + } + }, { + "featureType": "medical", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#12223dff" + } + }, { + "featureType": "scenicspots", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#12223dff" + } + }, { + "featureType": "highway", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "weight": "4" + } + }, { + "featureType": "highway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "highway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#fed66900" + } + }, { + "featureType": "highway", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "highway", + "elementType": "labels.text.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "highway", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "highway", + "elementType": "labels.icon", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "arterial", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "weight": "2" + } + }, { + "featureType": "arterial", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "arterial", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffeebb00" + } + }, { + "featureType": "arterial", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "arterial", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "arterial", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "local", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "weight": "1" + } + }, { + "featureType": "local", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "local", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "local", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "local", + "elementType": "labels.text.fill", + "stylers": { + "color": "#979c9aff" + } + }, { + "featureType": "local", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffffff" + } + }, { + "featureType": "railway", + "elementType": "geometry", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "subway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "weight": "1" + } + }, { + "featureType": "subway", + "elementType": "geometry.fill", + "stylers": { + "color": "#d8d8d8ff" + } + }, { + "featureType": "subway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "subway", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "subway", + "elementType": "labels.text.fill", + "stylers": { + "color": "#979c9aff" + } + }, { + "featureType": "subway", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffffff" + } + }, { + "featureType": "continent", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "continent", + "elementType": "labels.icon", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "continent", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "continent", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "city", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "city", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "city", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "town", + "elementType": "labels.icon", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "town", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "town", + "elementType": "labels.text.fill", + "stylers": { + "color": "#91aeb9ff" + } + }, { + "featureType": "town", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "road", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "poilabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "districtlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "road", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "road", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "road", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "district", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "poilabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "poilabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "poilabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "manmade", + "elementType": "geometry", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "entertainment", + "elementType": "geometry", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "shopping", + "elementType": "geometry", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "nationalway", + "stylers": { + "level": "6", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "stylers": { + "level": "7", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "stylers": { + "level": "8", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "stylers": { + "level": "9", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "stylers": { + "level": "10", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "6", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "7", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "8", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "9", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "10", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "6", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "7", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "8", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "9", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "10", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "cityhighway", + "stylers": { + "level": "6", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "stylers": { + "level": "7", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "stylers": { + "level": "8", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "stylers": { + "level": "9", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "6", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "7", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "8", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "9", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "6", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "7", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "8", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "9", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "subwaylabel", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "subwaylabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "tertiarywaysign", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "tertiarywaysign", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "provincialwaysign", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "provincialwaysign", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "nationalwaysign", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "nationalwaysign", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "highwaysign", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "highwaysign", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "village", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "district", + "elementType": "labels.text", + "stylers": { + "fontsize": "20" + } + }, { + "featureType": "district", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "district", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "country", + "elementType": "labels.text.fill", + "stylers": { + "color": "#ffffffff" + } + }, { + "featureType": "country", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "water", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "water", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "cityhighway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "cityhighway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "tertiaryway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "tertiaryway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff10" + } + }, { + "featureType": "provincialway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "provincialway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "nationalway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "nationalway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "highway", + "elementType": "labels.text", + "stylers": { + "fontsize": "20" + } + }, { + "featureType": "nationalway", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "nationalway", + "elementType": "labels.text.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "nationalway", + "elementType": "labels.text", + "stylers": { + "fontsize": "20" + } + }, { + "featureType": "provincialway", + "elementType": "labels.text.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "provincialway", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "provincialway", + "elementType": "labels.text", + "stylers": { + "fontsize": "20" + } + }, { + "featureType": "cityhighway", + "elementType": "labels.text.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "cityhighway", + "elementType": "labels.text", + "stylers": { + "fontsize": "20" + } + }, { + "featureType": "cityhighway", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "estate", + "elementType": "geometry", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "tertiaryway", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "tertiaryway", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "fourlevelway", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "fourlevelway", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "scenicspotsway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "scenicspotsway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "universityway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "universityway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "vacationway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "vacationway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "fourlevelway", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "fourlevelway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "fourlevelway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "transportationlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "transportationlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "transportationlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "transportationlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "educationlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "educationlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "educationlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "educationlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "transportation", + "elementType": "geometry", + "stylers": { + "color": "#113549ff" + } + }, { + "featureType": "airportlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "airportlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "scenicspotslabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "scenicspotslabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "medicallabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "medicallabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "medicallabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "scenicspotslabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "airportlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "entertainmentlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "entertainmentlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "entertainmentlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "estatelabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "estatelabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "estatelabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "businesstowerlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "businesstowerlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "businesstowerlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "companylabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "companylabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "companylabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "governmentlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "governmentlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "governmentlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "restaurantlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "restaurantlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "restaurantlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "hotellabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "hotellabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "hotellabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "shoppinglabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "shoppinglabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "shoppinglabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "lifeservicelabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "lifeservicelabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "lifeservicelabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "carservicelabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "carservicelabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "carservicelabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "financelabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "financelabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "financelabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "otherlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "otherlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "otherlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "manmade", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "manmade", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "transportation", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "transportation", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "education", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "education", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "medical", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "medical", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "scenicspots", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "scenicspots", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "country", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "districtlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#00ebcaff" + } + }, { + "featureType": "districtlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "districtlabel", + "elementType": "labels.text", + "stylers": { + "fontsize": 25 + } + }, { + "featureType": "country", + "elementType": "labels.text", + "stylers": { + "fontsize": 30 + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "5" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "6" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "7" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "8" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "9" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "10" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "11" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "12" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "13" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "14" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "15" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "16" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "17" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "18" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "19" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "20" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "21" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "5" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "6" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "7" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "8" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "9" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "10" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "11" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "12" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "13" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "14" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "15" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "16" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "17" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "18" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "19" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "20" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "21" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "3" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "4" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "5" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "6" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "7" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "8" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "9" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "10" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "11" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "12" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "13" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "14" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "15" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "16" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "17" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "18" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "19" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "20" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "21" + } + }] + + map.setMapStyleV2({styleJson:styleJson}); + } + }, + watch:{ + /*data: function (n,o) { + this.init() + }*/ + } + +}) diff --git a/src/components/carousel-element.js b/src/components/carousel-element.js new file mode 100644 index 0000000..d4c859c --- /dev/null +++ b/src/components/carousel-element.js @@ -0,0 +1,40 @@ +import Vue from 'vue' +Vue.component("carousel-element", { + template: ` + + +
+ +
+ {{item.text}} +
+
+
+
+ `, + props: { + data:{ + type:Array + }, + height:{ + type: Number + } + }, + data() { + return { + + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + + }, + }, + watch:{ + + } + +}) diff --git a/src/components/carousel.js b/src/components/carousel.js new file mode 100644 index 0000000..384a889 --- /dev/null +++ b/src/components/carousel.js @@ -0,0 +1,82 @@ +import Vue from 'vue' +Vue.component("carousel", { + template: ` + + + + `, + props: { + height:{ + type:Number + }, + width:{ + type:Number + }, + data:{ + type:Array + } + }, + data() { + return { + interval:undefined, + left:0, + direction:'left', + forData:[], + arrowLeft: -30, + arrowRight:-30, + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.forData = this.data + this.interval = setInterval(this.timer, 3000); + }, + carouselMouseover(){ + this.arrowLeft =10 + this.arrowRight =10 + clearInterval(this.interval); + }, + carouselMouseout(){ + this.arrowLeft = -30 + this.arrowRight =-30 + this.direction = 'left' + this.interval=setInterval(this.timer,3000); + }, + clickCtrl(direction){ + this.direction = direction + this.timer() + }, + timer(){ + if(this.direction == 'left'){ + this.left = this.left - this.width + if(this.left == -((this.forData.length) * this.width)){ + this.left = 0 + } + }else{ + if(this.left == 0){ + this.left = -((this.forData.length-1) * this.width) + }else { + this.left = this.left + this.width + } + } + }, + }, + watch:{ + + } + +}) diff --git a/src/components/certificate-bar-chart.js b/src/components/certificate-bar-chart.js new file mode 100644 index 0000000..32d0ab4 --- /dev/null +++ b/src/components/certificate-bar-chart.js @@ -0,0 +1,150 @@ +import Vue from 'vue' +Vue.component("certificate-bar-chart", { + template: ` +
+ `, + props: { + data:{ + type:Array + }, + height:{ + type:Number + } + }, + data() { + return { + option:{}, + + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + getChartData(){ + //品类金额占比 饼图 + var chChart = echarts.init(this.$refs.chart); + this.echart(chChart,this.data) + }, + echart(chChart,chartData){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var value = [] + var text = [] + var total = 0 + var bgd = [] + for (let i = 0; i < chartData.length; i++) { + value.push(chartData[i].value) + text.push(chartData[i].text) + bgd.push(100) + total += chartData[i].value + } + + var prop = [] + for (let j = 0; j < value.length; j++) { + prop.push((value[j]/total * 100).toFixed(1)) + } + + this.option = { + grid: { + left: "5%", + right: "5%", + bottom: "-10%", + top: "2%", + containLabel: true, + }, + xAxis: { + show: false, + type: "value", + }, + yAxis: [ + { + type: "category", + inverse: true, + axisLabel: { + show: true, + textStyle: { + color: "#cbdaff", + fontSize: "14", + }, + }, + splitLine: { + show: false, + }, + axisTick: { + show: false, + }, + axisLine: { + show: false, + }, + data: text, + }, + { + type: "category", + inverse: true, + axisTick: "none", + axisLine: "none", + show: true, + axisLabel: { + textStyle: { + color: "#cbdaff", + fontSize: "16", + }, + formatter: function(params,i){ + var text = "{a|" + value[i] + "}{a| "+ prop[i]+ "%}"; + return text; + }, + rich: { + a: { + fontSize: '16px', + color: "#cbdaff", + }, + }, + }, + data: prop, + }, + ], + series: [ + { + type: "bar", + zlevel: 1, + itemStyle: { + normal: { + color: "#6ab9fe", + }, + }, + barWidth: 8, + data: prop, + }, + { + type: "bar", + barWidth: 8, + barGap: "-100%", + data: bgd, + itemStyle: { + normal: { + color: "rgba(24,31,68,1)", + }, + }, + }, + ], + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch:{ + data: function (n,o) { + this.getChartData(this.data) + } + } + +}) diff --git a/src/components/china-map.js b/src/components/china-map.js new file mode 100644 index 0000000..631d724 --- /dev/null +++ b/src/components/china-map.js @@ -0,0 +1,233 @@ +import Vue from 'vue' +Vue.component("china-map", { + template: ` +
+ `, + props: { + data:{ + type:Array + }, + height:{ + type:Number + } + }, + data() { + return { + option:{} + } + }, + mounted(){ + this.loadMap(this.data) + window.chartClick = this.chartClick; + }, + methods: { + chartClick(id){ + this.$emit('projectid',id) + }, + loadMap(outdata) { + var myChart = echarts.init(this.$refs.map); + var max =1000, + min = 1; + var maxSize4Pin = 100, + minSize4Pin = 20; + var geoCoordMap = {}; + /*获取地图数据*/ + var mapFeatures = echarts.getMap('china').geoJson.features; + // console.log(mapFeatures) + mapFeatures.forEach(function(v) { + // 地区名称 + var name = v.properties.name; + // 地区经纬度 + geoCoordMap[name] = v.properties.cp; + }); + + var convertData = function(outdata) { + var res = []; + for (var i = 0; i < outdata.length; i++) { + var geoCoord = geoCoordMap[outdata[i].name]; + if (geoCoord) { + res.push({ + name: outdata[i].name, + value: geoCoord.concat(outdata[i].count), + items: outdata[i].items, + }); + } + } + return res; + }; + + this.option = { + tooltip: { + show: true, + trigger: "item", + enterable: true, + showContent: true, + padding:0, + triggerOn:'click', + formatter: function(params) { + var tipHtml = '' + if(params.data){ + tipHtml += '
' + +'
'+''+'' + +''+params.data.name+' (项目总数:'+params.data.value[2]+')'+''+'
' + +'
' + for(var i=0;i'+params.data.items[i].projectName+'

' + } + tipHtml += '
' + +'
'; + return tipHtml + } + }, + }, + geo: { + map: 'china', + show: true, + roam: false, + zoom: 1.17, + label: { + emphasis: { + show: false, + } + }, + layoutSize: "100%", + itemStyle: { + // normal: { + // areaColor: '#000', //背景颜色 + // borderColor: '#8ac2fb', //省划分边线 + // borderWidth: 10, //边线的粗细 + // }, + // emphasis: { + // areaColor: '#002d90' , //指上背景限色 + // }, + areaColor: "#86c2f8", + borderColor: "#86c2f8", + shadowColor: "#86c2f8", + shadowBlur: 25, + borderWidth: 5, + }, + }, + series: [{ + type: 'map', + roam: false, + zoom: 1.15, + map: 'china', //使用 + label: { + normal: { + show: true, + fontSize:14, //省会字体大小 + textStyle: { + color: '#ffffff', + } + }, + emphasis: { + show: false, + color: '#ffffff', //指上省会字体颜色 + } + }, + itemStyle: { + normal: { + areaColor: { + type: "radial", + x: 0.5, + y: 0.5, + r: 0.8, + colorStops: [ + { + offset: 0, + color: "#1c2a4c", // 0% 处的颜色 + }, + { + offset: 1, + color: "#1f335e", // 100% 处的颜色 + }, + ], + globalCoord: true, // 缺省为 false + }, + shadowColor: "rgb(58,115,192)", + borderColor: '#8ac2fb' + }, + // normal: { + // areaColor: '#141e37', //背景颜色 + // borderColor: '#8ac2fb', //省划分边线 + // borderWidth: 1, //边线的粗细 + // }, + emphasis: { + areaColor: '#22578b' , //指上背景限色 + textStyle: { + color: '#ffffff', + + } + } + }, + }, + { + type: 'effectScatter', + coordinateSystem: 'geo', + rippleEffect: { + brushType: 'stroke' + }, + showEffectOn: 'render', + itemStyle: { + normal: { + show: true, + color: { + type: 'radial', + x: 0.5, + y: 0.5, + r: 0.5, + colorStops: [{ + offset: 0, + color: 'rgba(129,229,255,1)' + }, { + offset: 0.8, + color: 'rgba(129,229,255,1)' + }, { + offset: 1, + color: 'rgba(129,229,255,1)' + }], + global: false // 缺省为 false + }, + } + }, + label: { + normal: { + show: true, + color: '#fff', + fontWeight: 'bold', + position: 'inside', + formatter: function(para) { + return '{cnNum|' + para.data.value[2] + '}' + }, + rich: { + cnNum: { + fontSize: 16, + color: '#000000', + fontWeight:'bold', + } + } + }, + }, + symbol: 'circle', + data: convertData(outdata), + zlevel: 1, + symbolSize: function(val) { + if (val[2] === 0) { + return 0; + } + var a = (maxSize4Pin - minSize4Pin) / (max - min); + var b = maxSize4Pin - a * max; + return a * val[2] + b * 1.2; + }, + }] + }; + myChart.setOption(this.option); + } + }, + watch:{ + data: function (n,o) { + this.loadMap(this.data) + } + } + +}) diff --git a/src/components/classify-bar.js b/src/components/classify-bar.js new file mode 100644 index 0000000..377456b --- /dev/null +++ b/src/components/classify-bar.js @@ -0,0 +1,254 @@ +import Vue from 'vue' +Vue.component("classify-bar", { + template: ` +
+ +
+ `, + props: { + data:{ + type:Array + }, + height:{ + type:Number + }, + legend:{ + type:Array + }, + }, + data() { + return { + classData:[], + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + getChartData(){ + //品类金额占比 饼图 + var chChartPie = echarts.init(this.$refs.chart); + this.echartPie(chChartPie,this.data) + }, + echartPie(chChart,data){ + let newPromise = new Promise((resolve) => { + resolve() + }) + + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + var max = data[0].total + var nameData = []; + var totalData = [] + var background = [] + var yesMonitor = [] + var notMonitor = [] + var yesProp = [] + var notProp = [] + var unitData = [] + + for (let i = data.length-1; i >=0 ; i--) { + nameData.push(data[i].name); + totalData.push(data[i].total) + unitData.push(data[i].unit) + background.push(100); + yesMonitor.push(data[i].yesMonitor); + notMonitor.push(data[i].notMonitor); + yesProp.push((data[i].yesMonitor/max)*100) + notProp.push((data[i].notMonitor/max)*100) + } + + var legend = ["已监控", "未监控"] + if(this.legend){ + legend = this.legend + } + + this.option = { + grid: { + //图表的位置 + top: "8%", + left: "3%", + right: "5%", + bottom: "-12%", + containLabel: true, + }, + legend: { + right: "0", + top: "0", + //icon: "circle", + itemWidth: 15, + itemHeight:10, + itemGap: 8, + textStyle: { + fontSize: 12, + color:'#c6d9fa' + }, + data: legend, + }, + xAxis: [{ + show: false, + }, + //由于下边X轴已经是百分比刻度了,所以需要在顶部加一个X轴,刻度是金额,也隐藏掉 + { + show: false, + } + ], + yAxis: [ + { + type: 'category', + axisLabel: { + show: false, //让Y轴数据不显示 + }, + itemStyle: { + + }, + axisTick: { + show: false, //隐藏Y轴刻度 + }, + axisLine: { + show: false, //隐藏Y轴线段 + }, + data: [], + },{ + show: false, + data: [], + axisLine: { + show: false + } + }], + series: [ + //数据条--------------------我是分割线君------------------------------// + { + show: true, + type: 'bar', + xAxisIndex: 1, //代表使用第二个X轴刻度!!!!!!!!!!!!!!!!!!!!!!!! + barGap: '-100%', + barWidth: '6', //统计条宽度 + itemStyle: { + normal: { + color: 'rgba(22,203,115,0.05)' + }, + }, + label: { + normal: { + show: true, + //label 的position位置可以是top bottom left,right,也可以是固定值 + //在这里需要上下统一对齐,所以用固定值 + position: [0, '-25'], + rich: { //富文本 + prop: { //自定义颜色 + color: '#c6d9fa', + fontSize:'14', + }, + unit:{ + color: '#6c829a', + fontSize:'12', + }, + yes:{ + color: '#55adf7', + fontSize:'14', + }, + not:{ + color: '#4677fa', + fontSize:'14', + }, + index:{ + color: '#fcbc02', + fontStyle: 'italic', + padding:[0,0,0,5], + fontSize:'14', + }, + name: { + width: 200, + color: '#c6d9fa', + padding:[0,0,0,10], + fontSize:'14', + }, + color:{ + color: '#8ca2be', + fontSize:'14', + }, + arrow:{ + width:12, + height:8, + backgroundColor: { + image: "http://fileimg.makalu.cc/WEB_2B7C06210CD44D55BFEE6205A35DE4A7.png", + }, + }, + + }, + formatter: function(data) { + //富文本固定格式{colorName|这里填你想要写的内容} + //return '{arrow|}' + return '{arrow|}{index|No.'+(nameData.length-data.dataIndex)+'}{name|' + nameData[data.dataIndex] + '}{prop|' + totalData[data.dataIndex] + '}{unit| '+unitData[data.dataIndex]+'}{prop|(} {yes|'+yesMonitor[data.dataIndex]+'}{unit| '+unitData[data.dataIndex]+'/}{not|'+notMonitor[data.dataIndex]+'}{unit| '+unitData[data.dataIndex]+'}{prop|)} '; + }, + } + }, + data: background + }, + { + type: 'bar', + + silent: true, + yAxisIndex: 1, + barWidth: 6, + itemStyle: { + normal: { + color: 'rgba(0,82,198,0.3)' + }, + emphasis: { + color: 'rgba(0,82,198,0.3)' + } + }, + data: background + }, + { + type: 'bar', + name:legend[0], + + stack: '1', + legendHoverLink: false, + barWidth: 6, + itemStyle: { + normal: { + color: '#52adf4' + }, + emphasis: { + color: '#52adf4' + } + }, + data: yesProp + }, { + type: 'bar', + name:legend[1], + stack: '1', + legendHoverLink: false, + barWidth: 6, + itemStyle: { + normal: { + color: '#4677ff' + }, + emphasis: { + color: '#4677ff' + } + }, + data: notProp + }] + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch:{ + data: function (n,o) { + this.getChartData() + } + } + +}) diff --git a/src/components/cz-screen.js b/src/components/cz-screen.js new file mode 100644 index 0000000..91c7618 --- /dev/null +++ b/src/components/cz-screen.js @@ -0,0 +1,24 @@ +import Vue from 'vue' +Vue.component("cz-screen", { + template: ` + + `, + props: { + + }, + data() { + return { + + } + }, + mounted(){ + + }, + methods: { + + }, + watch:{ + + } + +}) diff --git a/src/components/environment-line-chart.js b/src/components/environment-line-chart.js new file mode 100644 index 0000000..6803e5e --- /dev/null +++ b/src/components/environment-line-chart.js @@ -0,0 +1,181 @@ +import Vue from 'vue' +Vue.component("environment-line-chart", { + template: ` +
+ +
+ `, + props: { + height:{ + type:Number + }, + data:{ + type:Array + } + }, + data() { + return { + + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + getChartData(){ + //品类金额占比 饼图 + var myChart = echarts.init(this.$refs.chart); + this.echartPie(myChart,this.data) + }, + echartPie(myChart,datas){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + var data = datas[0] + + var unit = '' + if(data.unit){ + unit = '单位:'+data.unit + } + + this.option = { + color : data.color, + tooltip: { + trigger: "axis", + axisPointer: { + lineStyle: { + color: "#57617B", + }, + }, + }, + grid: { + top:'15%', + left: "1%", + right: "3%", + bottom: "1%", + containLabel: true, + }, + xAxis: { + type: "category", + boundaryGap: false, + data: data.text, + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: true, + lineStyle: { + color: "#25597e", + type: "dashed", + }, + }, + axisTick: { + show: false + }, + + axisLabel: { + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 20, + fontSize:16 + }, + }, + }, + yAxis: { + name:unit, + nameTextStyle: { + color: '#fff', + fontSize: 14, + }, + type: "value", + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: false, + lineStyle: { + color: "#c5d9fc", + type: "dashed", + }, + }, + axisTick: { + show: false + }, + axisLabel: { + show: true, + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 20, + fontSize:16 + }, + }, + splitLine: { + show: true, + lineStyle: { + color: "#25597e", + type: "dashed", + }, + }, + }, + series: [ + { + type: "line", + smooth: true, + symbol: "circle", + symbolSize: 5, + showSymbol: true, + lineStyle: { + normal: { + width: 2, + }, + }, + areaStyle: { + normal: { + color: new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(0,142,252, 0.3)", + }, + { + offset: 0.8, + color: "rgba(0,142,252, 0)", + }, + ], + false + ), + shadowColor: "rgba(0, 0, 0, 0.1)", + shadowBlur: 10, + }, + }, + itemStyle: { + normal: { + color: "rgb(0,142,252)", + borderColor: "rgba(0,142,252,0.27)", + borderWidth: 12, + }, + }, + data: data.data, + }, + ] + }; + myChart.setOption(this.option,true); + window.onresize = myChart.resize; + }) + }, + }, + watch:{ + data: function (val, oldVal){ + this.init() + } + } + +}) diff --git a/src/components/header-btn.js b/src/components/header-btn.js new file mode 100644 index 0000000..90a6336 --- /dev/null +++ b/src/components/header-btn.js @@ -0,0 +1,201 @@ +import Vue from 'vue' +Vue.component("header-btn", { + template: ` +
+
{{label}}
+ + +
+ `, + props: { + red:{ + type:String + }, + menu:{ + type: Object + }, + index:{ + type: Number + }, + label: { + type: String + }, + nav: { + type: Number + }, + list: { + type: Array + }, + type:{ + type:String + } + }, + data() { + return { + show: false, + widths: 0, + btnNav: -1, + chooseMenu: {}, + localStorage:{}, + sonMenuList: [] + } + }, + mounted() { + this.localStorage=JSON.parse(localStorage.getItem("data1")) + this.filterList() + this.init() + console.log(this.red) + }, + methods: { + init() { + this.width() + this.chooseMenu = localStorage.getItem("chooseMenu"); + if (!this.chooseMenu) { + this.chooseMenu = {} + } else { + this.chooseMenu = JSON.parse(localStorage.getItem("chooseMenu")) + } + + }, + filterList(){ + for(let l of this.list){ + if(this.localStorage.type == 1 && l.menuDeptUrl){ + this.sonMenuList.push(l) + } + if(this.localStorage.type != 1 && l.menuProjectUrl){ + this.sonMenuList.push(l) + } + } + }, + width() { + if (this.sonMenuList) { + if (this.list.length > 4) { + this.widths = 536 + } else { + this.widths = this.sonMenuList.length * 130 + 16 + } + } + + }, + buttonClick(i, item) { + + this.btnNav = i + localStorage.setItem("chooseProcessControlMenu", i) +/* + switch (item.text) { + case "原材料进场": + localStorage.setItem("chooseProcessControlMenu", 0) + break + case "标养室监测": + localStorage.setItem("chooseProcessControlMenu", 1) + break + case "过程验收": + localStorage.setItem("chooseProcessControlMenu", 2) + break + case "举牌验收": + localStorage.setItem("chooseProcessControlMenu", 3) + break + }*/ + if(this.localStorage.type == 1){ + if (item.menuDeptUrl) { + this.chooseMenu = { + mainMenu: this.nav, + itemMenu: i, + } + localStorage.setItem("chooseMenu", JSON.stringify(this.chooseMenu)); + location.href = item.menuDeptUrl + }/* else { + this.$notify({ + title: '提示', + message: '页面开发中,敬请期待!', + type: 'warning' + }); + }*/ + }else{ + if (item.menuProjectUrl) { + this.chooseMenu = { + mainMenu: this.nav, + itemMenu: i, + } + localStorage.setItem("chooseMenu", JSON.stringify(this.chooseMenu)); + location.href = item.menuProjectUrl + }/* else { + this.$notify({ + title: '提示', + message: '页面开发中,敬请期待!', + type: 'warning' + }); + }*/ + } + + + }, + mouseenterBtn() { + this.show = true + this.$emit('showsmallui',{"flag":true,"data":this.list,"label":this.label,"index":this.index}); + }, + mouseleaveBtn() { + this.show = false + this.$emit('showsmallui',{"flag":false,"data":this.list,"label":this.label,"index":this.index}); + }, + //页面条状 + pageJump(n,url,itemurl){ + // if(url){ + // let chooseMenu = { + // mainMenu:n, + // } + // localStorage.setItem("chooseMenu",JSON.stringify(chooseMenu)); + // location.href = url + // } + if(this.localStorage.type == 1){ + if(url){ + let chooseMenu = { + mainMenu:n, + } + localStorage.setItem("chooseMenu",JSON.stringify(chooseMenu)); + location.href = url + }/*else{ + this.$notify({ + title: '提示', + message: '功能升级中,敬请期待!', + type: 'warning' + }); + }*/ + }else{ + if(itemurl){ + this.chooseMenu = { + mainMenu:n + } + localStorage.setItem("chooseMenu",JSON.stringify(this.chooseMenu)); + location.href = itemurl + }/*else{ + this.$notify({ + title: '提示', + message: '功能升级中,敬请期待!', + type: 'warning' + }); + }*/ + } + }, + }, + watch: { + list: function () { + this.width() + } + }, + +}) diff --git a/src/components/header.js b/src/components/header.js new file mode 100644 index 0000000..46145c0 --- /dev/null +++ b/src/components/header.js @@ -0,0 +1,231 @@ +/** + * 顶部header + */ +import Vue from 'vue' +Vue.component("screen-header", { + template: ` +
+
+ 北跨泾河-产发工程数字管理平台 +
+
+
项目概况
+
项目详情
+
安全管理
+
质量管理
+
进度管理
+
视频管理
+
技术管理
+
+
+
+ +
+ +
    +
  • {{item.text}}
  • +
+
+
+
+
+ +
+ +
    +
  • {{item.text}}
  • +
+
+
+
+
+
{{date}}
+
{{time}}
+
+
+ + + 11~25℃ +
+
+ +
+ `, + props: { + nav:{ + type:Number + }, + red:{ + type:String + }, + item:{ + type:Number + }, + }, + data() { + return { + dept1:'', + dept2:'', + showSel1:false, + showSel2:false, + data:[], + depts:[], + timerID:undefined, + time: '', + date: '', + week:'', + selDept:'', + localStorage1: JSON.parse(localStorage.getItem("data1")), + localStorage2: JSON.parse(localStorage.getItem("data2")), + } + }, + mounted(){ + this.timerID = setInterval(this.updateTime, 1000); + this.updateTime(); + this.init() + this.$api.dept.list().then(d=>{ + this.depts=[{text:'产发集团',id:0},...(d?.data||[]).map(it=>{ + it.text=it.deptName; + it.id=it.deptId; + return it; + })] + this.deptChange(); + }); + + }, + methods: { + init(){ + try{ + this.localStorage1=JSON.parse(localStorage.getItem("data1")) + this.localStorage2=JSON.parse(localStorage.getItem("data2")) + }catch(e){ + + } + if(!this.localStorage1){ + this.localStorage1={ + + } + } + if(!this.localStorage2){ + this.localStorage2={} + } + this.dept1=this.localStorage1?.text||''; + this.dept2=this.localStorage2?.text||''; + if(this.dept1){ + this.loadProject(true); + } + }, + deptChange(){ + let tmps=this.depts.filter(d=>d.text==this.dept1); + if(tmps.length>0){ + this.$bus.$emit("deptChange",tmps[0]) + } + }, + //页面条状 + pageJump(n,url,itemurl){ + if(n != this.nav){ + if(this.localStorage1.type == 1){ + if(url){ + location.href = url + }else{ + this.$notify({ + title: '提示', + message: '页面开发中,敬请期待!', + type: 'warning' + }); + } + }else{ + if(n==5){ + location.href = url + }else{ + if(itemurl){ + location.href = itemurl + }else{ + this.$notify({ + title: '提示', + message: '页面开发中,敬请期待!', + type: 'warning' + }); + } + } + } + } + + }, + + + showScreenUlSel1(){ + this.showSel1 = true + + }, + showScreenUlSel2(){ + this.showSel2 = true + + }, + hideScreenUlSel1(){ + this.showSel1 = false + }, + hideScreenUlSel2(){ + this.showSel2 = false + }, + setScreenLiSel1(item){ + localStorage.setItem("data1",JSON.stringify(item)) + this.localStorage1=JSON.parse(localStorage.getItem("data1")) + this.$emit('itemdata',item); + this.showSel1 = false + this.dept1=item.text; + this.deptChange(); + this.loadProject(); + }, + loadProject(init){ + this.$api.project.findProjectByDept( this.localStorage1.id).then(d=>{ + this.data=(d?.data||[]).map(it=>{ + it.text=it.projectName; + return it; + }); + this.$bus.$emit("loadProjects",this.data); + if(this.data.length>0){ + this.setScreenLiSel2(this.data[0],init); + }else{ + this.setScreenLiSel2(null); + } + }); + }, + setScreenLiSel2(item,init){ + if(item){ + this.showSel2 = false; + if(!init){ + localStorage.setItem("data2",JSON.stringify(item)) + this.localStorage2=JSON.parse(localStorage.getItem("data2")) + this.$emit('itemdata',item); + this.dept2=item.text; + } + this.$bus.$emit("projectChange",this.localStorage2); + }else{ + localStorage.removeItem("data2"); + this.localStorage2={}; + this.showSel2 = false; + this.dept2=''; + } + }, + + //时间方法 + updateTime(){ + var cd = new Date(); + this.time = this.zeroPadding(cd.getHours(), 2) + ':' + this.zeroPadding(cd.getMinutes(), 2) + ':' + this.zeroPadding(cd.getSeconds(), 2); + this.date = this.zeroPadding(cd.getFullYear(), 4) + '年' + this.zeroPadding(cd.getMonth()+1, 2) + '月' + this.zeroPadding(cd.getDate(), 2)+'日'; + }, + zeroPadding(num, digit) { + var zero = ''; + for(var i = 0; i < digit; i++) { + zero += '0'; + } + return (zero + num).slice(-digit); + } + + }, + watch:{ + + } + +}) diff --git a/src/components/idle-list-chart.js b/src/components/idle-list-chart.js new file mode 100644 index 0000000..568a0ff --- /dev/null +++ b/src/components/idle-list-chart.js @@ -0,0 +1,133 @@ +import Vue from 'vue' +Vue.component("idle-list-chart", { + template: ` +
+ `, + props: { + prop:{ + type:Number + }, + color:{ + type:String + }, + width:{ + type:Number, + default:175 + } + }, + data() { + return { + option:{}, + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + getChartData(){ + //品类金额占比 饼图 + var chChart = echarts.init(this.$refs.chart); + this.echart(chChart,this.prop,this.color) + }, + echart(chChart,data,color){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var prop = [] + prop.push(data) + this.option = { + grid: { + left: "1%", + right: "0%", + bottom: "0%", + top: "25", + containLabel: true, + }, + xAxis: { + show: false, + type: "value", + }, + yAxis: [ + { + type: "category", + inverse: true, + axisLabel: { + show: false, + }, + splitLine: { + show: false, + }, + axisTick: { + show: false, + }, + axisLine: { + show: false, + }, + }, + { + type: "category", + inverse: true, + axisTick: "none", + axisLine: "none", + show: true, + axisLabel: { + textStyle: { + color: "#cbdaff", + fontSize: "16", + }, + formatter: function(params,i){ + var text = "{a| "+ prop[i]+ "%}"; + return text; + }, + rich: { + a: { + fontSize: '14', + color: color, + }, + }, + }, + data: prop, + }, + ], + series: [ + { + type: "bar", + zlevel: 1, + itemStyle: { + normal: { + color: color, + }, + }, + barWidth:8, + data: prop, + }, + { + type: "bar", + barWidth: 10, + barGap: "-100%", + data: [100], + itemStyle: { + normal: { + color: "rgba(24,31,68,0.8)", + }, + }, + }, + ], + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch:{ + prop: function (n,o) { + this.init() + } + } +}) diff --git a/src/components/labour-china-map.js b/src/components/labour-china-map.js new file mode 100644 index 0000000..9816be3 --- /dev/null +++ b/src/components/labour-china-map.js @@ -0,0 +1,183 @@ +import Vue from 'vue' +Vue.component("labour-china-map", { + template: ` +
+ `, + props: { + data:{ + type:Array + }, + tooltip:{ + type:Array + }, + height:{ + type:Number + } + }, + data() { + return { + option:{}, + + } + }, + mounted(){ + this.loadMap(this.data,this.tooltip) + window.chartClick = this.chartClick; + }, + methods: { + chartClick(id){ + this.$emit('projectid',id) + }, + loadMap(outdata,tooltip) { + var iconGD = "image://http://fileimg.makalu.cc/WEB_0EE6DA50925A4C27A126669209F1A5E2.png"; + var myChart = echarts.init(this.$refs.map); + var geoCoordMap = {}; + /*获取地图数据*/ + var mapFeatures = echarts.getMap('china').geoJson.features; + // console.log(mapFeatures) + mapFeatures.forEach(function(v) { + // 地区名称 + var name = v.properties.name; + // 地区经纬度 + geoCoordMap[name] = v.properties.cp; + }); + this.option = { + tooltip: { + show: true, + trigger: "item", + enterable: true, + showContent: true, + padding:0, + triggerOn:'click', + formatter: function(params) { + var tipHtml = '' + console.log(params.dataIndex) + if(params.data){ + tipHtml = tooltip[params.dataIndex] + return tipHtml + } + }, + }, + geo: { + map: 'china', + show: true, + roam: true, + zoom: 1.17, + label: { + emphasis: { + show: false, + } + }, + layoutSize: "100%", + itemStyle: { + // normal: { + // areaColor: '#000', //背景颜色 + // borderColor: '#8ac2fb', //省划分边线 + // borderWidth: 10, //边线的粗细 + // }, + // emphasis: { + // areaColor: '#002d90' , //指上背景限色 + // }, + areaColor: "#86c2f8", + borderColor: "#86c2f8", + shadowColor: "#86c2f8", + shadowBlur: 25, + borderWidth: 5, + }, + }, + series: [{ + type: 'map', + roam: true, + zoom: 1.15, + map: 'china', //使用 + label: { + normal: { + show: true, + fontSize:14, //省会字体大小 + textStyle: { + color: '#ffffff', + } + }, + emphasis: { + show: false, + color: '#ffffff', //指上省会字体颜色 + } + }, + itemStyle: { + normal: { + areaColor: { + type: "radial", + x: 0.5, + y: 0.5, + r: 0.8, + colorStops: [ + { + offset: 0, + color: "#1c2a4c", // 0% 处的颜色 + }, + { + offset: 1, + color: "#1f335e", // 100% 处的颜色 + }, + ], + globalCoord: true, // 缺省为 false + }, + shadowColor: "rgb(58,115,192)", + borderColor: '#8ac2fb' + }, + // normal: { + // areaColor: '#141e37', //背景颜色 + // borderColor: '#8ac2fb', //省划分边线 + // borderWidth: 1, //边线的粗细 + // }, + emphasis: { + areaColor: '#22578b' , //指上背景限色 + textStyle: { + color: '#ffffff', + + } + } + }, + }, + { + type: 'scatter', //effectScatter 水波纹效果 scatter 无效果 + coordinateSystem: 'geo', + rippleEffect: { + brushType: 'stroke' + }, + showEffectOn: 'render', + itemStyle: { + normal: { + show: false, + + } + }, + symbolSize: 35, + symbol: iconGD, + data: outdata, + zlevel: 1, + + }] + }; + myChart.setOption(this.option); + + myChart.on('georoam', function(params) { + var option = myChart.getOption(); //获得option对象 + if (params.zoom != null && params.zoom != undefined) { //捕捉到缩放时 + option.geo[0].zoom = option.series[0].zoom+0.02; //下层geo的缩放等级跟着上层的geo一起改变 + option.geo[0].center = option.series[0].center; //下层的geo的中心位置随着上层geo一起改变 + } else { //捕捉到拖曳时 + option.geo[0].center = option.series[0].center; //下层的geo的中心位置随着上层geo一起改变 + } + myChart.setOption(option); //设置option + }); + }, + + }, + watch: { + data: function (n,o) { + this.loadMap(this.data,this.tooltip) + window.chartClick = this.chartClick; + } + }, +}) diff --git a/src/components/labour-migrate-china-map.js b/src/components/labour-migrate-china-map.js new file mode 100644 index 0000000..1dbe364 --- /dev/null +++ b/src/components/labour-migrate-china-map.js @@ -0,0 +1,311 @@ +import Vue from 'vue' +Vue.component("labour-migrate-china-map", { + template: ` +
+ `, + props: { + data:{ + type:Object + }, + height:{ + type:Number + } + }, + data() { + return { + option:{}, + + } + }, + mounted(){ + this.loadMap(this.data) + }, + methods: { + loadMap(outdata) { + /** + * Created by User on 2020/2/24. + */ + var province = { + '黑龙江': [127.9688, 45.368], + '内蒙古': [110.3467, 41.4899], + "吉林": [125.8154, 44.2584], + '北京市': [116.4551, 40.2539], + "辽宁": [123.1238, 42.1216], + "河北": [114.4995, 38.1006], + "天津": [117.4219, 39.4189], + "山西": [112.3352, 37.9413], + "陕西": [109.1162, 34.2004], + "甘肃": [103.5901, 36.3043], + "宁夏": [106.3586, 38.1775], + "青海": [101.4038, 36.8207], + "新疆": [87.9236, 43.5883], + "西藏": [91.11, 29.97], + "四川": [103.9526, 30.7617], + "重庆": [108.384366, 30.439702], + "山东": [117.1582, 36.8701], + "河南": [113.4668, 34.6234], + "江苏": [118.8062, 31.9208], + "安徽": [117.29, 32.0581], + "湖北": [114.3896, 30.6628], + "浙江": [119.5313, 29.8773], + "福建": [119.4543, 25.9222], + "江西": [116.0046, 28.6633], + "湖南": [113.0823, 28.2568], + "贵州": [106.6992, 26.7682], + "云南": [102.9199, 25.4663], + "广东": [113.12244, 23.009505], + "广西": [108.479, 23.1152], + "海南": [110.3893, 19.8516], + '上海': [121.4648, 31.2891] + }; + + var points = [] + var jionData=[] + var valueData = [] + var names = [] + for (let i = 0; i < outdata.chinaDatas.length; i++) { + var name = outdata.chinaDatas[i][0].name + valueData.push(outdata.chinaDatas[i][0].value) + names.push(outdata.chinaDatas[i][0].name) + points.push({ + value:province[name], + }) + jionData.push( + { + name:outdata.chinaDatas[i][0].name, + data:outdata.chinaDatas[i][0].value, + attacked:outdata.toCity, + coords: [ + province[name], + outdata.toCityJW, + ], + + }, + ) + } + points.push({ + name:outdata.toCity, + value:outdata.toCityJW, + itemStyle: { + color: "#db8f08", //被攻击点的颜色 + }, + }) + + var myChart = echarts.init(this.$refs.map); + echarts.getMap('china').geoJson.features; + this.option = { + tooltip: { + trigger: 'item', + borderColor: '#FFFFCC', + showDelay: 0, + hideDelay: 0, + enterable: true, + transitionDuration: 0, + extraCssText: 'z-index:100', + formatter: function(params, ticket, callback) { + + var res = ""; + if(params.componentSubType=="effectScatter") { + var name = names[params.dataIndex]; + var value = valueData[params.dataIndex]; + if(points[points.length-1].name != params.name){ + res = "
地址:" + name+"
人数:"+value+"(人)
"; + }else { + res = "
地址:" + points[points.length-1].name+"
"; + } + return res; + }else if(params.componentSubType=="lines"){ + var name = params.data.name; + var value = params.data.data; + var toname =params.data.attacked + res = "
地址:" + name+">"+toname+"
人数:"+value+"(人)
"; + return res; + } + // else{ + // var name = params.name; + // return name; + // } + //根据业务自己拓展要显示的内容 + } + }, + geo: { + map: 'china', + show: true, + roam: false, + zoom: 1.17, + label: { + emphasis: { + show: false, + } + }, + layoutSize: "100%", + itemStyle: { + // normal: { + // areaColor: '#000', //背景颜色 + // borderColor: '#8ac2fb', //省划分边线 + // borderWidth: 10, //边线的粗细 + // }, + // emphasis: { + // areaColor: '#002d90' , //指上背景限色 + // }, + areaColor: "#86c2f8", + borderColor: "#86c2f8", + shadowColor: "#86c2f8", + shadowBlur: 25, + borderWidth: 5, + }, + }, + series: [ + { + type: "lines", + zlevel: 2, + effect: { + show: true, + period: 4, //箭头指向速度,值越小速度越快 + trailLength: 0.4, //特效尾迹长度[0,1]值越大,尾迹越长重 + symbol: "arrow", //箭头图标 + symbolSize: 10, //图标大小 + }, + lineStyle: { + normal: { + color: "#db8f08", //攻击线条的颜色 + /* function (value){ //随机颜色 + + ['#f21347','#f3243e','#f33736','#f34131','#f34e2b', + '#f56321','#f56f1c','#f58414','#f58f0e','#f5a305', + '#e7ab0b','#dfae10','#d5b314','#c1bb1f','#b9be23', + '#a6c62c','#96cc34','#89d23b','#7ed741','#77d64c', + '#71d162','#6bcc75','#65c78b','#5fc2a0','#5abead', + '#52b9c7','#4fb6d2','#4ab2e5'] + return "#"+("00000"+((Math.random()*16777215+0.5)>>0).toString(16)).slice(-6); + }*/ + width: 2, //线条宽度 + opacity: 0.1, //尾迹线条透明度 + curveness: 0.3, //尾迹线条曲直度 + }, + }, + data: jionData + }, + { + type: 'map', + roam: false, + zoom: 1.15, + map: 'china', //使用 + label: { + normal: { + show: true, + fontSize:14, //省会字体大小 + textStyle: { + color: '#eeeeee', + } + }, + emphasis: { + show: false, + color: '#ffffff', //指上省会字体颜色 + } + }, + itemStyle: { + normal: { + areaColor: { + type: "radial", + x: 0.5, + y: 0.5, + r: 0.8, + colorStops: [ + { + offset: 0, + color: "#1c2a4c", // 0% 处的颜色 + }, + { + offset: 1, + color: "#1f335e", // 100% 处的颜色 + }, + ], + globalCoord: true, // 缺省为 false + }, + shadowColor: "rgb(58,115,192)", + borderColor: '#8ac2fb' + }, + // normal: { + // areaColor: '#141e37', //背景颜色 + // borderColor: '#8ac2fb', //省划分边线 + // borderWidth: 1, //边线的粗细 + // }, + emphasis: { + areaColor: '#22578b' , //指上背景限色 + textStyle: { + color: '#ffffff', + + } + } + }, + // points.push({ + // name:outdata.toCity, + data: jionData.map(function(dataItem) { + return { + name: dataItem.name, + value: dataItem.data, + seriesName:points[points.length-1].name + }; + }), + }, + { + type: "effectScatter", + coordinateSystem: "geo", + showEffectOn: "render", + zlevel: 1, + rippleEffect: { + period: 15, + scale: 4, + brushType: "fill", + }, + hoverAnimation: true, + label: { + normal: { + formatter: "{b}", + position: "right", + offset: [15, 0], + color: "#4575ff", + show: true, + }, + }, + itemStyle: { + normal: { + color: "#4575ff", + /* function (value){ //随机颜色 + return "#"+("00000"+((Math.random()*16777215+0.5)>>0).toString(16)).slice(-6); + }*/ + shadowBlur: 10, + shadowColor: "#333", + }, + }, + symbolSize: 12, + data: points, + }, //地图线的动画效果 + + + ], + }; + myChart.setOption(this.option, true); + + var currentIndex = -1; + var timeTicket = setInterval(function() { + var dataLen = jionData.length; + currentIndex = (currentIndex + 1) % dataLen; + // 显示 tooltip + myChart.dispatchAction({ + type: 'showTip', + seriesIndex: 2, + dataIndex: currentIndex + }); + }, 3000); + + }, + + }, + watch: { + data:function () { + this.loadMap(this.data) + } + }, +}) diff --git a/src/components/list-menu.js b/src/components/list-menu.js new file mode 100644 index 0000000..9d469a2 --- /dev/null +++ b/src/components/list-menu.js @@ -0,0 +1,80 @@ +import Vue from 'vue' +Vue.component("list-menu", { + template: ` +
+
+
+
{{item.project_abbreviation}}
+ +
    +
  • + + {{user.title}} +
  • +
+
+
+
+
+ `, + props: { + data:{ + type:Array + } + }, + data() { + return { + videoListData:[] + } + }, + mounted(){ + this.init() + + }, + methods: { + init(){ + this.videoListData = this.data + }, + onVideoListFor(id,item){ + var data = this.videoListData + for (let i = 0; i < data.length ; i++) { + if(data[i].id == id){ //data[i].type == false + data[i].type = true + for (let j = 0; j + `, + props: { + data:{ + type:Object + } + }, + data() { + return { + skyMap:'' + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.initMap() + this.getIconMap() + this.setMapStyle() + }, + initMap(){ + // GL版命名空间为BMapGL + var map = new BMapGL.Map(this.$refs.allMap); // 创建Map实例 + map.centerAndZoom(new BMapGL.Point(this.data.longitude,this.data.latitude), 16); // 初始化地图,设置中心点坐标和地图级别 + map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放 + this.skyMap = map; + }, + getIconMap(){ + var map = this.skyMap + var myIcon = new BMapGL.Icon("http://fileimg.makalu.cc/WEB_8FEDD8B6E98E459BBA4F69B92D0C0F27.png", new BMapGL.Size(32, 59)); + var marker = new BMapGL.Marker(new BMapGL.Point(this.data.longitude,this.data.latitude), {icon: myIcon}); + map.addOverlay(marker); + }, + setMapStyle(){ + var map = this.skyMap + //百度地图背景色 + var styleJson=[ + { + "featureType": "land", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#00092aff" + } + }, { + "featureType": "water", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#033a58ff" + } + }, { + "featureType": "green", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#0e1b30ff" + } + }, { + "featureType": "building", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "building", + "elementType": "geometry.topfill", + "stylers": { + "color": "#113549ff" + } + }, { + "featureType": "building", + "elementType": "geometry.sidefill", + "stylers": { + "color": "#143e56ff" + } + }, { + "featureType": "building", + "elementType": "geometry.stroke", + "stylers": { + "color": "#dadada00" + } + }, { + "featureType": "subwaystation", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#113549B2" + } + }, { + "featureType": "education", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#12223dff" + } + }, { + "featureType": "medical", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#12223dff" + } + }, { + "featureType": "scenicspots", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "color": "#12223dff" + } + }, { + "featureType": "highway", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "weight": "4" + } + }, { + "featureType": "highway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "highway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#fed66900" + } + }, { + "featureType": "highway", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "highway", + "elementType": "labels.text.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "highway", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "highway", + "elementType": "labels.icon", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "arterial", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "weight": "2" + } + }, { + "featureType": "arterial", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "arterial", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffeebb00" + } + }, { + "featureType": "arterial", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "arterial", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "arterial", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "local", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "weight": "1" + } + }, { + "featureType": "local", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "local", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "local", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "local", + "elementType": "labels.text.fill", + "stylers": { + "color": "#979c9aff" + } + }, { + "featureType": "local", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffffff" + } + }, { + "featureType": "railway", + "elementType": "geometry", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "subway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "weight": "1" + } + }, { + "featureType": "subway", + "elementType": "geometry.fill", + "stylers": { + "color": "#d8d8d8ff" + } + }, { + "featureType": "subway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "subway", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "subway", + "elementType": "labels.text.fill", + "stylers": { + "color": "#979c9aff" + } + }, { + "featureType": "subway", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffffff" + } + }, { + "featureType": "continent", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "continent", + "elementType": "labels.icon", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "continent", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "continent", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "city", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "city", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "city", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "town", + "elementType": "labels.icon", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "town", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "town", + "elementType": "labels.text.fill", + "stylers": { + "color": "#91aeb9ff" + } + }, { + "featureType": "town", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "road", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "poilabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "districtlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "road", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "road", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "road", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "district", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "poilabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "poilabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "poilabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "manmade", + "elementType": "geometry", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "entertainment", + "elementType": "geometry", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "shopping", + "elementType": "geometry", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "nationalway", + "stylers": { + "level": "6", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "stylers": { + "level": "7", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "stylers": { + "level": "8", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "stylers": { + "level": "9", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "stylers": { + "level": "10", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "6", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "7", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "8", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "9", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "10", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "6", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "7", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "8", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "9", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "nationalway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "10", + "curZoomRegionId": "0", + "curZoomRegion": "6-10" + } + }, { + "featureType": "cityhighway", + "stylers": { + "level": "6", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "stylers": { + "level": "7", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "stylers": { + "level": "8", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "stylers": { + "level": "9", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "6", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "7", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "8", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "level": "9", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "6", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "7", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "8", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "cityhighway", + "elementType": "labels", + "stylers": { + "visibility": "off", + "level": "9", + "curZoomRegionId": "0", + "curZoomRegion": "6-9" + } + }, { + "featureType": "subwaylabel", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "subwaylabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "tertiarywaysign", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "tertiarywaysign", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "provincialwaysign", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "provincialwaysign", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "nationalwaysign", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "nationalwaysign", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "highwaysign", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "highwaysign", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "village", + "elementType": "labels", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "district", + "elementType": "labels.text", + "stylers": { + "fontsize": "20" + } + }, { + "featureType": "district", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "district", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "country", + "elementType": "labels.text.fill", + "stylers": { + "color": "#ffffffff" + } + }, { + "featureType": "country", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "water", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "water", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "cityhighway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "cityhighway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "tertiaryway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "tertiaryway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff10" + } + }, { + "featureType": "provincialway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "provincialway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "nationalway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "nationalway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "highway", + "elementType": "labels.text", + "stylers": { + "fontsize": "20" + } + }, { + "featureType": "nationalway", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "nationalway", + "elementType": "labels.text.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "nationalway", + "elementType": "labels.text", + "stylers": { + "fontsize": "20" + } + }, { + "featureType": "provincialway", + "elementType": "labels.text.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "provincialway", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "provincialway", + "elementType": "labels.text", + "stylers": { + "fontsize": "20" + } + }, { + "featureType": "cityhighway", + "elementType": "labels.text.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "cityhighway", + "elementType": "labels.text", + "stylers": { + "fontsize": "20" + } + }, { + "featureType": "cityhighway", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "estate", + "elementType": "geometry", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "tertiaryway", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "tertiaryway", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "fourlevelway", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "fourlevelway", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "scenicspotsway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "scenicspotsway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "universityway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "universityway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "vacationway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "vacationway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "fourlevelway", + "elementType": "geometry", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "fourlevelway", + "elementType": "geometry.fill", + "stylers": { + "color": "#12223dff" + } + }, { + "featureType": "fourlevelway", + "elementType": "geometry.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "transportationlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "transportationlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "transportationlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "transportationlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "educationlabel", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "educationlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "educationlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "educationlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "transportation", + "elementType": "geometry", + "stylers": { + "color": "#113549ff" + } + }, { + "featureType": "airportlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "airportlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "scenicspotslabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "scenicspotslabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "medicallabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "medicallabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "medicallabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "scenicspotslabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "airportlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "entertainmentlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "entertainmentlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "entertainmentlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "estatelabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "estatelabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "estatelabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "businesstowerlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "businesstowerlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "businesstowerlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "companylabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "companylabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "companylabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "governmentlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "governmentlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "governmentlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "restaurantlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "restaurantlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "restaurantlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "hotellabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "hotellabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "hotellabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "shoppinglabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "shoppinglabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "shoppinglabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "lifeservicelabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "lifeservicelabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "lifeservicelabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "carservicelabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "carservicelabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "carservicelabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "financelabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "financelabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "financelabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "otherlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "otherlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "otherlabel", + "elementType": "labels.icon", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "manmade", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "manmade", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "transportation", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "transportation", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "education", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "education", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "medical", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "medical", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "scenicspots", + "elementType": "labels.text.fill", + "stylers": { + "color": "#2dc4bbff" + } + }, { + "featureType": "scenicspots", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off" + } + }, { + "featureType": "country", + "elementType": "labels", + "stylers": { + "visibility": "on" + } + }, { + "featureType": "districtlabel", + "elementType": "labels.text.fill", + "stylers": { + "color": "#00ebcaff" + } + }, { + "featureType": "districtlabel", + "elementType": "labels.text.stroke", + "stylers": { + "color": "#ffffff00" + } + }, { + "featureType": "districtlabel", + "elementType": "labels.text", + "stylers": { + "fontsize": 25 + } + }, { + "featureType": "country", + "elementType": "labels.text", + "stylers": { + "fontsize": 30 + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "5" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "6" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "7" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "8" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "9" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "10" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "11" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "12" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "13" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "14" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "15" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "16" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "17" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "18" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "19" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "20" + } + }, { + "featureType": "boundary", + "stylers": { + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "21" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "5" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "6" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "7" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "8" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "9" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "10" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "11" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "12" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "13" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "14" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "15" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "16" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "17" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "18" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "19" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "20" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "on", + "curZoomRegionId": "0", + "curZoomRegion": "5,21", + "level": "21" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "3" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "4" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "5" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "6" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "7" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "8" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "9" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "10" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "11" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "12" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "13" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "14" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "15" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "16" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "17" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "18" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "19" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "20" + } + }, { + "featureType": "boundary", + "elementType": "geometry", + "stylers": { + "visibility": "off", + "curZoomRegionId": "1", + "curZoomRegion": "3,21", + "level": "21" + } + }] + + map.setMapStyleV2({styleJson:styleJson}); + } + + + + }, + watch:{ + + } + +}) diff --git a/src/components/module/module-big.js b/src/components/module/module-big.js new file mode 100644 index 0000000..1a87d45 --- /dev/null +++ b/src/components/module/module-big.js @@ -0,0 +1,21 @@ +import Vue from 'vue' +Vue.component('module-big', { + template:` +
+
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-one-0-5.js b/src/components/module/module-one-0-5.js new file mode 100644 index 0000000..bbd5243 --- /dev/null +++ b/src/components/module/module-one-0-5.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-one-0-5', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-one-1-1.js b/src/components/module/module-one-1-1.js new file mode 100644 index 0000000..409727f --- /dev/null +++ b/src/components/module/module-one-1-1.js @@ -0,0 +1,23 @@ +import Vue from 'vue' + +Vue.component('module-one-1-1', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-one-1-2.js b/src/components/module/module-one-1-2.js new file mode 100644 index 0000000..ffb556f --- /dev/null +++ b/src/components/module/module-one-1-2.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-one-1-2', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-one-1-3.js b/src/components/module/module-one-1-3.js new file mode 100644 index 0000000..56b9f58 --- /dev/null +++ b/src/components/module/module-one-1-3.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-one-1-3', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-one-1-4.js b/src/components/module/module-one-1-4.js new file mode 100644 index 0000000..804780b --- /dev/null +++ b/src/components/module/module-one-1-4.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-one-1-4', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-one-2-1.js b/src/components/module/module-one-2-1.js new file mode 100644 index 0000000..2c03e32 --- /dev/null +++ b/src/components/module/module-one-2-1.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-one-2-1', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-one-2-2.js b/src/components/module/module-one-2-2.js new file mode 100644 index 0000000..a7bb526 --- /dev/null +++ b/src/components/module/module-one-2-2.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-one-2-2', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-one-2-3.js b/src/components/module/module-one-2-3.js new file mode 100644 index 0000000..0dc4748 --- /dev/null +++ b/src/components/module/module-one-2-3.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-one-2-3', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-one-2-4.js b/src/components/module/module-one-2-4.js new file mode 100644 index 0000000..2593fe5 --- /dev/null +++ b/src/components/module/module-one-2-4.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-one-2-4', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-one-3-1.js b/src/components/module/module-one-3-1.js new file mode 100644 index 0000000..a017d97 --- /dev/null +++ b/src/components/module/module-one-3-1.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-one-3-1', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-one-3-2.js b/src/components/module/module-one-3-2.js new file mode 100644 index 0000000..299aef2 --- /dev/null +++ b/src/components/module/module-one-3-2.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-one-3-2', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-one-3-3.js b/src/components/module/module-one-3-3.js new file mode 100644 index 0000000..d2a8d80 --- /dev/null +++ b/src/components/module/module-one-3-3.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-one-3-3', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-one-3-4.js b/src/components/module/module-one-3-4.js new file mode 100644 index 0000000..962707a --- /dev/null +++ b/src/components/module/module-one-3-4.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-one-3-4', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-one-video.js b/src/components/module/module-one-video.js new file mode 100644 index 0000000..ac530b4 --- /dev/null +++ b/src/components/module/module-one-video.js @@ -0,0 +1,21 @@ +import Vue from 'vue' +Vue.component('module-one-video', { + template:` +
+
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-red-1-1.js b/src/components/module/module-red-1-1.js new file mode 100644 index 0000000..5aeb147 --- /dev/null +++ b/src/components/module/module-red-1-1.js @@ -0,0 +1,27 @@ +import Vue from 'vue' +Vue.component('module-red-1-1', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, + watch: { + label: function (n, o) { + this.$forceUpdate() + } + } +}) \ No newline at end of file diff --git a/src/components/module/module-red-1-2.js b/src/components/module/module-red-1-2.js new file mode 100644 index 0000000..4bc925d --- /dev/null +++ b/src/components/module/module-red-1-2.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-red-1-2', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-red-2-2.js b/src/components/module/module-red-2-2.js new file mode 100644 index 0000000..1965b73 --- /dev/null +++ b/src/components/module/module-red-2-2.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-red-2-2', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-two-1-1.js b/src/components/module/module-two-1-1.js new file mode 100644 index 0000000..c8cd66f --- /dev/null +++ b/src/components/module/module-two-1-1.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-two-1-1', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-two-1-2.js b/src/components/module/module-two-1-2.js new file mode 100644 index 0000000..41281ae --- /dev/null +++ b/src/components/module/module-two-1-2.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-two-1-2', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-two-1-3.js b/src/components/module/module-two-1-3.js new file mode 100644 index 0000000..872e795 --- /dev/null +++ b/src/components/module/module-two-1-3.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-two-1-3', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-two-1-4.js b/src/components/module/module-two-1-4.js new file mode 100644 index 0000000..6931d4e --- /dev/null +++ b/src/components/module/module-two-1-4.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-two-1-4', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-two-2-1.js b/src/components/module/module-two-2-1.js new file mode 100644 index 0000000..806dfb6 --- /dev/null +++ b/src/components/module/module-two-2-1.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-two-2-1', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-two-2-2.js b/src/components/module/module-two-2-2.js new file mode 100644 index 0000000..2aa7276 --- /dev/null +++ b/src/components/module/module-two-2-2.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-two-2-2', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-two-2-3.js b/src/components/module/module-two-2-3.js new file mode 100644 index 0000000..fe5bfdd --- /dev/null +++ b/src/components/module/module-two-2-3.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-two-2-3', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-two-2-4.js b/src/components/module/module-two-2-4.js new file mode 100644 index 0000000..2aec61f --- /dev/null +++ b/src/components/module/module-two-2-4.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-two-2-4', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-two-3-1.js b/src/components/module/module-two-3-1.js new file mode 100644 index 0000000..3b708ca --- /dev/null +++ b/src/components/module/module-two-3-1.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-two-3-1', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-two-3-2.js b/src/components/module/module-two-3-2.js new file mode 100644 index 0000000..3b51c94 --- /dev/null +++ b/src/components/module/module-two-3-2.js @@ -0,0 +1,22 @@ +import Vue from 'vue' +Vue.component('module-two-3-2', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-two-3-3.js b/src/components/module/module-two-3-3.js new file mode 100644 index 0000000..ba21d35 --- /dev/null +++ b/src/components/module/module-two-3-3.js @@ -0,0 +1,21 @@ +Vue.component('module-two-3-3', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/module/module-two-3-4.js b/src/components/module/module-two-3-4.js new file mode 100644 index 0000000..28dc182 --- /dev/null +++ b/src/components/module/module-two-3-4.js @@ -0,0 +1,21 @@ +Vue.component('module-two-3-4', { + template:` +
+
+
{{label}}
+ +
+
+ `, + props: { + label:{ + type:String + } + }, + + data() { + return { + + }; + }, +}) \ No newline at end of file diff --git a/src/components/more-btn.js b/src/components/more-btn.js new file mode 100644 index 0000000..2aa3aa1 --- /dev/null +++ b/src/components/more-btn.js @@ -0,0 +1,80 @@ +import Vue from 'vue' +Vue.component("more-btn", { + template: ` +
+
+ {{text}} + +
+ +
+ `, + props: { + label: { + type: String + }, + nav: { + type: String + }, + list: { + type: Array + }, + }, + data() { + return { + show: false, + widths: 0, + btnNav: -1, + chooseMenu: {}, + text:'' + } + }, + mounted() { + this.text = this.label + this.init() + }, + methods: { + init() { + this.width() + }, + width() { + if (this.list) { + if (this.list.length > 4) { + this.widths = 616 + } else { + this.widths = this.list.length * 150 + 16 + } + } + }, + buttonClick(i, item) { + this.btnNav = i + this.text = item.text + console.log(item) + this.$emit('value',item); + }, + mouseenterBtn() { + this.show = true + }, + mouseleaveBtn() { + this.show = false + } + }, + watch: { + nav:function (n,o) { + this.nav=n + if(n == ''){ + this.btnNav = -1 + } + + } + }, + +}) diff --git a/src/components/norm-pie.js b/src/components/norm-pie.js new file mode 100644 index 0000000..b1d004f --- /dev/null +++ b/src/components/norm-pie.js @@ -0,0 +1,156 @@ +import Vue from 'vue' +Vue.component("norm-pie", { + template: ` +
+ `, + props: { + value:{ + type:Number + }, + text:{ + type:String + } + }, + data() { + return { + option:{} + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + //分类及工时情况 + getChartData(){ + var chChartBar = echarts.init(this.$refs.chart); + this.echartBar(chChartBar,this.value,this.text) + }, + echartBar(chChart,value,text){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var placeHolderStyle = { + normal: { + label: { + show: false, + }, + labelLine: { + show: false, + }, + color: "rgba(0,0,0,0)", + borderWidth: 0, + }, + emphasis: { + color: "rgba(0,0,0,0)", + borderWidth: 0, + }, + }; + + var dataStyle = { + + }; + this.option ={ + title: [ + { + text: value+'%', + textAlign: "center", + left: "48%", + top: "39%", + textStyle: { + color: "#67abf2", + fontSize: 23, + }, + }, + { + text: text, + left: "48%", + top: "85%", + textAlign: "center", + textStyle: { + color: "#cdd7fa", + fontWeight: "normal", + fontSize: "16", + textAlign: "center", + }, + }, + ], + series: [ + { + type: "pie", + hoverAnimation: false, + radius: ["50%", "49%"], + center: ["50%", "45%"], + labelLine: { + normal: { + show: false, + }, + }, + label: { + normal: { + position: "center", + }, + }, + data: [ + { + value: 100, + itemStyle: { + normal: { + color: "#255788", + }, + }, + }, + + ], + }, + { + type: "pie", + hoverAnimation: false, + radius: ["43%", "50%"], + center: ["50%", "45%"], + labelLine: { + normal: { + show: false, + }, + }, + label: { + normal: { + position: "center", + }, + }, + data: [ + { + value: value, + itemStyle: { + normal: { + color: "#68a8f2", + }, + }, + normal: { + show: false, + }, + }, + { + value: 100-value, + itemStyle: placeHolderStyle, + }, + ], + }, + ], + }; + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch:{ + value: function (n,o) { + this.init() + } + } + +}) diff --git a/src/components/oil-consumption-chart.js b/src/components/oil-consumption-chart.js new file mode 100644 index 0000000..6be0850 --- /dev/null +++ b/src/components/oil-consumption-chart.js @@ -0,0 +1,182 @@ +import Vue from 'vue' +Vue.component("oil-consumption-chart", { + template: ` +
+ `, + props: { + height:{ + type:Number + }, + data:{ + type:Object + } + }, + data() { + return { + option:{} + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + //分类及工时情况 + getChartData(){ + var chChartBar = echarts.init(this.$refs.chart); + this.echartBar(chChartBar,this.data) + }, + echartBar(chChart,data){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + this.option = { + tooltip: { + trigger: "axis", + formatter: function (params) { + return (params[0].seriesName+"
" + +params[0].name +":"+ params[0].data + "L/h") + + }, + }, + grid: { + top:'5%', + left: "2%", + right: "2%", + bottom: "0%", + containLabel: true, + }, + xAxis: { + type: "category", + boundaryGap: false, + data: data.xAxis, + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: true, + lineStyle: { + color: "#25597e", + type: "dashed", + }, + }, + axisTick: { + show: false + }, + + axisLabel: { + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 20, + fontSize:12 + }, + }, + }, + yAxis: { + type: "value", + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: false, + lineStyle: { + color: "#c5d9fc", + type: "dashed", + }, + }, + axisTick: { + show: false + }, + axisLabel: { + show: true, + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 20, + fontSize:12 + }, + }, + splitLine: { + show: true, + lineStyle: { + color: "#25597e", + type: "dashed", + }, + }, + }, + series: [ + { + name: data.seriesName, + type: "line", + symbol: "circle", // 默认是空心圆(中间是白色的),改成实心圆 + showAllSymbol: true, + symbolSize: 8, + lineStyle: { + normal: { + color: "#7c80f4", // 线条颜色 + }, + borderColor: "rgba(0,0,0,.4)", + }, + itemStyle: { + color: "rgba(14,30,73,1)", + borderColor: "#646ace", + borderWidth: 2, + }, + label: { + normal: { + show: true, + position: "top", + formatter: [" {a|{c}}"].join(","), + rich: { + a: { + color: "#fff", + align: "center", + }, + }, + }, + }, + tooltip: { + show: true, + }, + areaStyle: { + //区域填充样式 + normal: { + //线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。 + color: new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { + offset: 0, + color: "rgba(124, 128, 244,.6)", + }, + { + offset: 1, + color: "rgba(124, 128, 244, 0)", + }, + ], + false + ), + shadowColor: "rgba(53,142,215, 0.9)", //阴影颜色 + shadowBlur: 20, //shadowBlur设图形阴影的模糊大小。配合shadowColor,shadowOffsetX/Y, 设置图形的阴影效果。 + }, + }, + data: data.data, + }, + ], + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch:{ + + } + +}) diff --git a/src/components/people-number.js b/src/components/people-number.js new file mode 100644 index 0000000..6ad14c3 --- /dev/null +++ b/src/components/people-number.js @@ -0,0 +1,43 @@ +import Vue from 'vue' +Vue.component("people-number", { + template: ` +
+
+
+
+
{{unit}}
+
+ + `, + props: { + number: { + type: [Number,String], + }, + unit:{ + type:String + } + }, + data() { + return { + people:[] + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.setData() + }, + setData(){ + var people = this.number.toString().split('') + this.people = people + } + }, + watch:{ + number: function (n,o) { + this.init() + } + } + +}) diff --git a/src/components/project-overview-chart.js b/src/components/project-overview-chart.js new file mode 100644 index 0000000..7c9d833 --- /dev/null +++ b/src/components/project-overview-chart.js @@ -0,0 +1,207 @@ +import Vue from 'vue' +Vue.component("project-overview-chart", { + template: ` +
+
+ +
+
+
+ + `, + props: { + typedata:{ + type: Array, + }, + height:{ + type:Number + }, + text:{ + type:String + }, + legendOpt:{ + type:Object, + default:()=>{} + }, + maintitle:{ + type:[String,Number], + default:'' + }, + sp:{ + type:String, + default:"\n" + } + }, + data() { + return { + active:0, + option:{} + } + }, + mounted(){ + this.init() + }, + methods: { + doClick(){ + this.$emit("clickme"); + }, + init(){ + this.getChartData() + }, + getChartData(){ + //品类金额占比 饼图 + var chChartPie = echarts.init(this.$refs.warningPieChart); + this.echartPie(chChartPie,this.typedata) + }, + echartPie(chChart,chartData){ + let newPromise = new Promise((resolve) => { + resolve() + }) + + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var total_datas = 0; + var data = []; + var legendData = []; + var color = ['#4974ff','#52aef7','#6863d7','#1d5d89','#20e6ff','#67feef'] + for (let i = 0; i { + return a + b.value; + }, 0);*/ + + let legendOption = { + + top: "center", + + orient: "vertical", + icon: "circle", + itemWidth: 12, + itemGap: 8, + textStyle: { + fontSize: 14, + rich: { + name: { + color: "#c3dbfd", + padding: [10, 5, 20, 5], + // align: 'right' + // width: 60 + }, + percent: { + color: "#18DB9F", + fontSize: 16, + padding: [0, 5, 0, 5], + // align: 'right' + }, + }, + }, + formatter: (name) =>{ + let res = chartData.filter((v) => v.name === name); + let percent = ((res[0].value * 100) / total_datas).toFixed(1); + if(total_datas==0){ + percent=0; + } + return "{name| " + name + "}"+this.sp+"{percent|" + res[0].value + "}{percent|" + percent + "%}"; + }, + }; + let opt={...legendOption,...(this.legendOpt||{})}; + this.option = { + + title: { + text: this.maintitle||total_datas, + subtext: this.text, + x: "85", + y: "89", + textStyle: { + color: "#0dd2fd", + fontSize: 24, + fontWeight: "bold", + align: "center", + width: "200px", + }, + subtextStyle: { + color: "#a5b5f0", + fontSize: 12, + align: "center", + }, + }, + tooltip: { + trigger: 'item', + formatter: "{b}
{c} ({d}%)" + }, + + legend: [ + { + right: 10, + data: legendData, + align: "left", + ...opt, + }, + ], + + series: [ + { + name: "品类金额占比", + type: "pie", + center: ["25%", "50%"], + radius: ["46%", "63%"], + data: data, + label: { + show: false, + }, + itemStyle: { + normal: { + borderWidth: 5, + borderColor: "#051a36" + } + }, + + }, + { + name: "外边框", + type: "pie", + clockWise: false, //顺时加载 + hoverAnimation: false, //鼠标移入变大 + center: ["25%", "50%"], + radius: ["70%", "70%"], + label: { + normal: { + show: false, + }, + }, + data: [ + { + value: 9, + name: "", + itemStyle: { + normal: { + borderWidth: 3, + borderColor: "#152c65", + }, + }, + }, + ], + }, + ], + } + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + +}) diff --git a/src/components/project-overview-chart2.js b/src/components/project-overview-chart2.js new file mode 100644 index 0000000..69ec082 --- /dev/null +++ b/src/components/project-overview-chart2.js @@ -0,0 +1,192 @@ +import Vue from 'vue' +Vue.component("project-overview-chart2", { + template: ` +
+
+ +
+
+
+ + `, + props: { + typedata:{ + type: Array, + }, + height:{ + type:Number + }, + text:{ + type:String + }, + maintitle:{ + type:[String,Number], + default:'' + }, + sp:{ + type:String, + default:"\n" + } + }, + data() { + return { + active:0, + option:{} + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + getChartData(){ + //品类金额占比 饼图 + var chChartPie = echarts.init(this.$refs.warningPieChart); + this.echartPie(chChartPie,this.typedata) + }, + echartPie(chChart,chartData){ + let newPromise = new Promise((resolve) => { + resolve() + }) + + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var total_datas = 0; + var data = []; + var legendData = []; + var color = ['#4974ff','#52aef7','#6863d7','#1d5d89','#20e6ff','#67feef'] + for (let i = 0; i { + let res = chartData.filter((v) => v.name === name); + let percent = ((res[0].value * 100) / total_datas).toFixed(1); + if(total_datas==0){ + percent=0; + } + return "{name| " + name + "}"+this.sp+"{percent|" + res[0].value + "}{percent|" + percent + "%}"; + }, + }; + this.option = { + color:["#4B7CFD","#58B8FF","#6A67DD","#2A77A9","#1CEDFC","#69FDF4","#58AAF7","#6B63DC","#2977AB","#1DE6FE"], + title: { + text: this.maintitle||total_datas, + subtext: this.text, + x: "85", + y: "89", + textStyle: { + color: "#0dd2fd", + fontSize: 24, + fontWeight: "bold", + align: "center", + width: "200px", + }, + subtextStyle: { + color: "#a5b5f0", + fontSize: 12, + align: "center", + }, + }, + tooltip: { + trigger: 'item', + formatter: "{b}
{c} ({d}%)" + }, + legend: [ + { + right: 10, + data: legendData, + align: "left", + ...legendOption, + }, + ], + + series: [ + { + name: "品类金额占比", + type: "pie", + center: ["115.5", "113.5"], + radius: ["55", "70"], + data: data, + label: { + show: false, + }, + itemStyle: { + normal: { + borderWidth: 5, + borderColor: "#051a36" + } + }, + + }, + { + name: "外边框", + type: "pie", + clockWise: false, //顺时加载 + hoverAnimation: false, //鼠标移入变大 + center: ["115.5", "113.5"], + radius: ["75", "75.5"], + label: { + normal: { + show: false, + }, + }, + data: [ + { + value: 9, + name: "", + itemStyle: { + normal: { + borderWidth: 3, + borderColor: "#152c65", + }, + }, + }, + ], + }, + ], + } + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + +}) diff --git a/src/components/quality-objectives-safety.js b/src/components/quality-objectives-safety.js new file mode 100644 index 0000000..1de2cf1 --- /dev/null +++ b/src/components/quality-objectives-safety.js @@ -0,0 +1,49 @@ +import Vue from 'vue' +Vue.component("quality-objectives-safety", { + template: ` +
+
+
+ +
+
+
{{item.title}}
+ +
{{item.text}}
+
+
+
+ `, + props: { + + }, + data() { + return { + //质量目标 + qualityTargetData:[ + // { + // title:'创优目标', + // text:'获得陕西省“双优”工地,创AAA级国家安全文明标准化工地', + // images:'/images/quality_target_1.png', + // } + ], + } + }, + mounted(){ + let that = this + $.post("/weixin/saftTarget/list1",{},res => { + that.qualityTargetData = res[JSON.parse(localStorage.getItem("data1")).id] + console.log(that.qualityTargetData[JSON.parse(localStorage.getItem("data1")).id]); + }) + }, + methods: { + + }, + watch:{ + + }, + +}) diff --git a/src/components/quality-objectives.js b/src/components/quality-objectives.js new file mode 100644 index 0000000..da40596 --- /dev/null +++ b/src/components/quality-objectives.js @@ -0,0 +1,51 @@ +import Vue from 'vue' +Vue.component("quality-objectives", { + template: ` +
+
+
+ +
+
+
{{item.title}}
+ +
{{item.text}}
+
+
+
+ `, + props: { + + }, + data() { + return { + //质量目标 + qualityTargetData:[ + // { + // title:'创优目标', + // text:'获得陕西省“双优”工地,创AAA级国家安全文明标准化工地', + // images:'/images/quality_target_1.png', + // } + ], + } + }, + mounted(){ + let that = this + let url1 = "http://127.0.0.1:9004/system/qualityTarget/list1" + let url2 = "https://szh.makalu.cc/system/qualityTarget/list1" + $.post(url2,{},res => { + that.qualityTargetData = res[JSON.parse(localStorage.getItem("data1")).id] + console.log(that.qualityTargetData[JSON.parse(localStorage.getItem("data1")).id]); + }) + }, + methods: { + + }, + watch:{ + + }, + +}) diff --git a/src/components/rank-chart.js b/src/components/rank-chart.js new file mode 100644 index 0000000..28040b4 --- /dev/null +++ b/src/components/rank-chart.js @@ -0,0 +1,242 @@ +import Vue from 'vue' +Vue.component("rank-chart", { + template: ` +
+ `, + props: { + data:{ + type:Array + }, + height:{ + type:Number + }, + showval:{ + type:Boolean, + default:false + } + }, + data() { + return { + option:{} + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + //分类及工时情况 + getChartData(){ + var chChartBar = echarts.init(this.$refs.chart); + this.echartBar(chChartBar,this.data) + }, + echartBar(chChart,chartData){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + + var value = []; + var prop = []; + var text = []; + var zero = [] + var bgd = [] + var total = 0 + for (let i = chartData.length-1; i >=0; i--) { + total += +chartData[i].value; + value.push(chartData[i].value) + prop.push(chartData[i].prop) + text.push(chartData[i].text) + bgd.push(100) + zero.push(0) + } + + + var data = [] + var data_all = new Array(prop.length) + for (let i = 0; i { + //富文本固定格式{colorName|这里填你想要写的内容} + if(this.showval){ + return '{arrow|}{index|No.'+(chartData.length-data.dataIndex)+'}{name|' + text[data.dataIndex] + '}{prop|' +value[data.dataIndex]+ ' ' +prop[data.dataIndex] + '} {color| %}'; + } + return '{arrow|}{index|No.'+(chartData.length-data.dataIndex)+'}{name|' + text[data.dataIndex] + '}{prop|' +prop[data.dataIndex] + '} {color| %}'; + }, + } + }, + data: value + }, + { + type: "bar", + stack: "总", + barWidth: 6, + itemStyle: { + normal: { + barBorderColor: 'rgba(0,0,0,0)', + color: 'rgba(0,0,0,0)' + } + }, + data: data_all + }, + + + ] + for (let i = 0; i < data.length; i++) { + series.push({ + type: "bar", + barWidth: 6, + stack: "总", + // itemStyle: { + // normal: { + // color: '#0780d9' + // } + // }, + itemStyle: { + normal: { + color: new echarts.graphic.LinearGradient(1, 0, 0, 0, [ + { + offset: 0, + color: "#41adf5", + }, + { + offset: 1, + color: "#175eac", + }, + ]), + barBorderRadius: [5,5,5,5], + }, + }, + data: data[i] + }) + } + + this.option = { + grid: { + left: '2%', + right: '2%', + bottom: '-8%', + top: '3%', + containLabel: true + }, + yAxis: { + type: 'category', + axisLabel: { + show: false, //让Y轴数据不显示 + }, + itemStyle: { + + }, + axisTick: { + show: false, //隐藏Y轴刻度 + }, + axisLine: { + show: false, //隐藏Y轴线段 + }, + data: text, + }, + + xAxis: [{ + show: false, + }, + //由于下边X轴已经是百分比刻度了,所以需要在顶部加一个X轴,刻度是金额,也隐藏掉 + { + show: false, + } + ], + series: series + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch:{ + data:function () { + this.init() + } + } + +}) diff --git a/src/components/roll-left-right-img.js b/src/components/roll-left-right-img.js new file mode 100644 index 0000000..3ab11b0 --- /dev/null +++ b/src/components/roll-left-right-img.js @@ -0,0 +1,96 @@ +import Vue from 'vue' +Vue.component("roll-left-right-img", { + template: ` +
+ +
+
+ +
+
+
+ +
+
+
+ +
+
+
+ `, + props: { + list:{ + type:Array + }, + number:{ + type:Number + } + }, + data() { + return { + costIndex:0, + imgRollInterval:undefined, + direction:'left' + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + // 图片轮播 定时器 + this.imgRollInterval = setInterval(this.imgRoll,5000); + }, + carouselLeft(){ + this.direction = 'left' + this.manufacturingCostRoll() + }, + carouselRight(){ + this.direction = 'right' + this.manufacturingCostRoll() + }, + manufacturingCostRoll(){ + var width = $(".bzh-content-img").innerWidth() + if(this.direction == 'right'){ + if(this.costIndex == this.list.length - this.number){ + this.costIndex = 0 + }else{ + this.costIndex = this.costIndex + 1 + } + }else{ + if(this.costIndex == 0){ + this.costIndex = this.list.length - this.number + }else{ + this.costIndex = this.costIndex - 1 + } + } + console.log(this.costIndex) + $(this.$refs.rollImgMax).animate({scrollLeft:(width*this.costIndex)+'px'}) + this.direction = 'right' + }, + + + imgRoll(){ + var width = $(".bzh-content-img").innerWidth() + if(this.costIndex == this.list.length - this.number){ + this.costIndex = 0 + }else{ + this.costIndex = this.costIndex + 1 + } + $(this.$refs.rollImgMax).animate({scrollLeft:(width*this.costIndex)+'px'}) + }, + costMouseover(){ + clearInterval(this.imgRollInterval); + }, + costMouseout(){ + this.imgRollInterval=setInterval(this.imgRoll,5000); + }, + }, + watch:{ + list:function (o,n) { + + } + }, + +}) diff --git a/src/components/safe-bar-chart.js b/src/components/safe-bar-chart.js new file mode 100644 index 0000000..5c35e05 --- /dev/null +++ b/src/components/safe-bar-chart.js @@ -0,0 +1,273 @@ +import Vue from 'vue' +Vue.component("safe-bar-chart", { + template: ` +
+ `, + props: { + height:{ + type:Number + }, + project:{ + type: Array, + }, + data:{ + type: Array, + }, + legend:{ + type: Array, + }, + color:{ + type: Array, + }, + unit:{ + type:String + } + }, + data() { + return { + option:{}, + timer_tmp:undefined + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + //分类及工时情况 + getChartData(){ + var chChartBar = echarts.init(this.$refs.chart); + this.echartBar(chChartBar) + }, + echartBar(myChart){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var series = [] + for (let i = 0; i 8){ + var arr = this.project[i].split(""); + arr.splice(8,0,"\n"); + project.push(arr.join("")) + }else{ + project.push(this.project[i]) + } + } + this.option = { + tooltip: { + trigger: "axis", + axisPointer: { + // 坐标轴指示器,坐标轴触发有效 + type: "shadow", // 默认为直线,可选为:'line' | 'shadow' + }, + }, + grid: { + left: "2%", + right: "4%", + bottom: "5%", + top: "25%", + containLabel: true, + }, + legend: { + data: this.legend, + center: 'center', + icon:'circle', + top: 12, + textStyle: { + color: "#c3dbfd", + fontSize:16 + }, + itemWidth: 15, + itemHeight: 15, + itemGap: 35 + }, + xAxis: { + type: "category", + data: project, + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: true, + lineStyle: { + color: "#194e92", + type: "dashed", + }, + }, + axisTick: { + show: false + }, + + axisLabel: { + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 20, + fontSize:12 + }, + }, + }, + + yAxis: { + name:unit, + type: "value", + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: false, + lineStyle: { + color: "#c5d9fc", + type: "dashed", + }, + }, + axisTick: { + show: false + }, + axisLabel: { + show: true, + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 20, + fontSize:12 + }, + }, + splitLine: { + show: true, + lineStyle: { + color: "#0c233e", + type: "dashed", + }, + }, + }, + dataZoom: [ + { + xAxisIndex: 0,// 这里是从X轴的0刻度开始 + show: false, // 是否显示滑动条,不影响使用 + type: "slider", // 这个 dataZoom 组件是 slider 型 dataZoom 组件 + startValue: 0, // 从头开始。 + endValue: 2, // 一次性展示多少个。 + }, + ], + series:series + }; + + myChart.setOption(this.option); + window.onresize = myChart.resize; + + var timer_tmp = this.timer_tmp + if(timer_tmp){ + clearInterval(timer_tmp); + } + var app = { + currentIndex: 0, + }; + myChart.dispatchAction({ + type: "highlight", + seriesIndex: 0, + dataIndex: app.currentIndex, + }); + // 显示 tooltip + myChart.dispatchAction({ + type: "showTip", + seriesIndex: 0, + dataIndex: app.currentIndex, + }); + var dataX = this.project + var that = this + timer_tmp = setInterval(function () { + var dataLen = that.option.series[0].data.length; + if (that.option.dataZoom[0].endValue == dataX.length ) { + that.option.dataZoom[0].endValue = 3; + that.option.dataZoom[0].startValue = 0; + myChart.setOption(that.option); + // 取消之前高亮的图形 + myChart.dispatchAction({ + type: "downplay", + seriesIndex: 0, + dataIndex: app.currentIndex, + }); + app.currentIndex = 0 + // 高亮当前图形 + myChart.dispatchAction({ + type: "highlight", + seriesIndex: 0, + dataIndex: app.currentIndex, + }); + // 显示 tooltip + myChart.dispatchAction({ + type: "showTip", + seriesIndex: 0, + dataIndex: app.currentIndex, + }); + } else { + that.option.dataZoom[0].endValue = that.option.dataZoom[0].endValue + 1; + that.option.dataZoom[0].startValue = that.option.dataZoom[0].startValue + 1; + myChart.setOption(that.option); + // 取消之前高亮的图形 + myChart.dispatchAction({ + type: "downplay", + seriesIndex: 0, + dataIndex: app.currentIndex, + }); + app.currentIndex = (app.currentIndex + 1) % dataLen; + //console.log(app.currentIndex) + // 高亮当前图形 + myChart.dispatchAction({ + type: "highlight", + seriesIndex: 0, + dataIndex: app.currentIndex, + }); + // 显示 tooltip + myChart.dispatchAction({ + type: "showTip", + seriesIndex: 0, + dataIndex: app.currentIndex, + }); + } + },3000) + + + + }) + }, + }, + watch:{ + project: function (n,o) { + this.init() + } + } +}) diff --git a/src/components/safe-china-map.js b/src/components/safe-china-map.js new file mode 100644 index 0000000..8740ef2 --- /dev/null +++ b/src/components/safe-china-map.js @@ -0,0 +1,261 @@ +import Vue from 'vue' +Vue.component("safe-china-map", { + template: ` +
+ `, + props: { + data:{ + type:Array + }, + tooltip:{ + type:Array + }, + height:{ + type:Number + }, + item:{ + type:Number + }, + }, + data() { + return { + option:{}, + + } + }, + mounted(){ + this.loadMap(this.data) + window.chartClick = this.chartClick; + }, + methods: { + chartClick(id){ + this.$emit('projectid',id) + }, + loadMap(outdata,tooltip) { + + var normalData = [] + var warningData = [] + var policeData = [] + var newData=[] + for (let i = 0; i 0){ + policeData.push(outdata[i]) + }else { + if(outdata[i].yjCount > 0){ + warningData.push(outdata[i]) + }else{ + normalData.push(outdata[i]) + } + } + } + + normalData.map(x=>{ + x.icon = "image://http://fileimg.makalu.cc/WEB_0FAA4510A66B485BBE1B187349882276.png" + return x + }) + warningData.map(x=>{ + x.icon = "image://http://fileimg.makalu.cc/WEB_A55D931BB10743E49D4FCBFE0D05E25E.png"; + return x + }) + policeData.map(x=>{ + x.icon = "image://http://fileimg.makalu.cc/WEB_F2F136E5B14C4B6E91EDEB9919538815.png"; + return x + }) + + if(normalData.length>0){ + newData.push(normalData) + } + if(warningData.length>0){ + newData.push(warningData) + } + if(policeData.length>0){ + newData.push(policeData) + } + + + + + var series = [ + { + type: 'map', + roam: true, + zoom: 1.15, + map: 'china', //使用 + label: { + normal: { + show: true, + fontSize:14, //省会字体大小 + textStyle: { + color: '#ffffff', + } + }, + emphasis: { + show: false, + color: '#ffffff', //指上省会字体颜色 + } + }, + itemStyle: { + normal: { + areaColor: { + type: "radial", + x: 0.5, + y: 0.5, + r: 0.8, + colorStops: [ + { + offset: 0, + color: "#1c2a4c", // 0% 处的颜色 + }, + { + offset: 1, + color: "#1f335e", // 100% 处的颜色 + }, + ], + globalCoord: true, // 缺省为 false + }, + shadowColor: "rgb(58,115,192)", + borderColor: '#8ac2fb' + }, + // normal: { + // areaColor: '#141e37', //背景颜色 + // borderColor: '#8ac2fb', //省划分边线 + // borderWidth: 1, //边线的粗细 + // }, + emphasis: { + areaColor: '#22578b' , //指上背景限色 + textStyle: { + color: '#ffffff', + + } + } + }, + }, + ] + for (let i = 0; i < newData.length ; i++) { + series.push({ + type: 'scatter', //effectScatter 水波纹效果 scatter 无效果 + coordinateSystem: 'geo', + rippleEffect: { + brushType: 'stroke' + }, + showEffectOn: 'render', + itemStyle: { + normal: { + show: false, + } + }, + symbolSize: 35, + symbol: newData[i][0].icon, + data: newData[i], + zlevel: 1, + }) + } + + var myChart = echarts.init(this.$refs.map); + var geoCoordMap = {}; + /*获取地图数据*/ + var mapFeatures = echarts.getMap('china').geoJson.features; + // console.log(mapFeatures) + mapFeatures.forEach(function(v) { + // 地区名称 + var name = v.properties.name; + // 地区经纬度 + geoCoordMap[name] = v.properties.cp; + }); + this.option = { + tooltip: { + show: true, + trigger: "item", + enterable: true, + showContent: true, + padding:0, + triggerOn:'click', + formatter: function(params) { + var tipHtml = '' + if(params.data){ + tipHtml = '
\n' + + '
\n' + + '
\n' + + '
'+params.data.project_abbreviation+'
\n' + + '
\n' + + '
\n' + + '
\n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + + '
\n' + + '
设备数量:'+params.data.total+'
\n' + + '
\n' + + '
监控数量:'+params.data.jkTotal+'
\n' + + '
\n' + + '
预警数量:'+params.data.yjCount+'
\n' + + '
\n' + + '
报警数量:'+params.data.bjCount+'
\n' + + '
\n' + + '
\n' + + '
\n' + + '
'+params.data.address+'
\n' + + '
\n' + + '
\n' + + '
' + return tipHtml + } + }, + }, + geo: { + map: 'china', + show: true, + roam: true, + zoom: 1.17, + label: { + emphasis: { + show: false, + } + }, + layoutSize: "100%", + itemStyle: { + // normal: { + // areaColor: '#000', //背景颜色 + // borderColor: '#8ac2fb', //省划分边线 + // borderWidth: 10, //边线的粗细 + // }, + // emphasis: { + // areaColor: '#002d90' , //指上背景限色 + // }, + areaColor: "#86c2f8", + borderColor: "#86c2f8", + shadowColor: "#86c2f8", + shadowBlur: 25, + borderWidth: 5, + }, + }, + series: series + }; + myChart.setOption(this.option); + + myChart.on('georoam', function(params) { + var option = myChart.getOption(); //获得option对象 + if (params.zoom != null && params.zoom != undefined) { //捕捉到缩放时 + option.geo[0].zoom = option.series[0].zoom+0.02; //下层geo的缩放等级跟着上层的geo一起改变 + option.geo[0].center = option.series[0].center; //下层的geo的中心位置随着上层geo一起改变 + } else { //捕捉到拖曳时 + option.geo[0].center = option.series[0].center; //下层的geo的中心位置随着上层geo一起改变 + } + myChart.setOption(option); //设置option + }); + }, + + }, + watch: { + data: function (n,o) { + this.loadMap(this.data) + window.chartClick = this.chartClick; + } + }, +}) diff --git a/src/components/safe-curve-chart.js b/src/components/safe-curve-chart.js new file mode 100644 index 0000000..b1da703 --- /dev/null +++ b/src/components/safe-curve-chart.js @@ -0,0 +1,220 @@ +import Vue from 'vue' +Vue.component("safe-curve-chart", { + template: ` +
+ +
+ `, + props: { + height:{ + type: Number, + }, + momentdata:{ + type: Object, + } + }, + data() { + return { + + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.momentCurveChart(this.momentdata) + }, + momentCurveChart(data){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var myChart = echarts.init(this.$refs.chart); + var color = '#20bc00' + /* if(data.state == 1){ + color = '#ff9600' + }*/ + var Xmax = Math.max.apply(null,data.dataX); + var Ymax = Math.max.apply(null,data.dataY); + + + option = { + tooltip: { + position: "top", + formatter: function (params) { + var fd = params.data[0]; + var dz = params.data[1] + res = '
' + + '
幅度:'+fd+' m
' + + '
吊重:'+dz+' t
' + + '
' + return res + }, + }, + grid: { + top: "20%", + right: "15%", + left: "4%", + bottom: "5%", + containLabel: true + }, + xAxis: [ + { + type: "value", + name:'幅度/m', + max:60, + nameTextStyle: { + color: "#c5d9fc", + fontSize:14, + }, + splitLine: { + //去除网格线 + show: false, + }, + axisTick: { show: false }, + axisLabel: { + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 20, + fontSize:16 + }, + }, + + }, + { + type: "category", + boundaryGap: false, + position: "bottom", + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: true, + lineStyle: { + color: "#194e92", + type: "dashed", + }, + }, + axisLabel: { + show: false, + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 20, + fontSize:16 + }, + }, + data: data.dataX, + }, + ], + yAxis: [ + { + name:'吊重/t', + nameTextStyle: { + color: "#c5d9fc", + fontSize:14, + }, + max:Ymax+1, + type: "value", + splitNumber: 7, + splitLine: { + show: false, + }, + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: true, + lineStyle: { + color: "#194e92", + type: "dashed", + }, + }, + axisLabel: { + margin: 20, + textStyle: { + color: "#c5d9fc", + fontSize:16 + }, + }, + axisTick: { show: false }, + }, + ], + series: [ + { + name: "吊重", + type: "effectScatter", + rippleEffect:{ // 设置涟漪动画样式 + color:'purple', // 涟漪颜色,默认为散点自身颜色 + brushType:'fill', // 动画方式,全填充或只有线条,'stroke' 'fill' + period:2, //动画周期 + scale:'3', //涟漪规模 + }, + xAxisIndex: 0, + yAxisIndex: 0, + symbolSize:15, //散点的固定大小 + /*label: { + emphasis: { + show: true, + position: "right", + textStyle: { + color: color, + fontSize: 20, + + }, + }, + },*/ + itemStyle: { + color: color, + + }, + data: data.point, + }, + { + type: "line", + symbol: "none", + smooth: true, + xAxisIndex: 1, + yAxisIndex: 0, + lineStyle: { + normal: { + width: 3, + color: "#5968db", // 线条颜色 + }, + }, + areaStyle: { + //区域填充样式 + normal: { + //线性渐变,前4个参数分别是x0,y0,x2,y2(范围0~1);相当于图形包围盒中的百分比。如果最后一个参数是‘true’,则该四个值是绝对像素位置。 + color: new echarts.graphic.LinearGradient( + 0, + 0, + 0, + 1, + [ + { offset: 0, color: "rgb(25,43,115,0.9)" }, + { offset: 0.7, color: "rgba(25,43,115, 0)" }, + ], + false + ), + + shadowColor: "rgba(25,43,115, 1)", //阴影颜色 + }, + }, + data: data.dataY, + }, + ], + }; + + myChart.setOption(option); + window.onresize = myChart.resize; + }) + }, + }, + watch:{ + momentdata: function (n,o) { + this.init(); + } + }, + +}) + diff --git a/src/components/safe-monitor-data.js b/src/components/safe-monitor-data.js new file mode 100644 index 0000000..2d2760f --- /dev/null +++ b/src/components/safe-monitor-data.js @@ -0,0 +1,160 @@ +import Vue from 'vue' +Vue.component("safe-monitor-data", { + template: ` +
+
+
{{data.police}}
+
预警 {{data.warning}}
+
{{data.min}}
+
+ +
+
+
+
+
+
+
+
{{data.data}} {{data.unit}}
+
+
+ `, + props: { + data:{ + type: Object, + }, + }, + data() { + return { + speed:{}, + max_i:0, + warning_top:0 + } + }, + mounted(){ + this.getSpeed() + }, + methods: { + getClass(i){ + var speed = this.data + if(isNaN(speed.min)){ + speed.min = 0; + } + if(isNaN(speed.police)){ + speed.police = 0; + } + if(isNaN(speed.warning)){ + speed.warning = 0; + } + if(isNaN(speed.data) || speed.data == undefined){ + speed.data = 0; + } + var data = speed.data + if(data >= 0 || speed.type == 'heightData'){ + if(data < speed.warning){ + if((10 - i) <= this.max_i){ + return 'activation' + } + }else if(data >= speed.police){ + if((10 - i) <= this.max_i){ + return 'police' + } + }else { + if((10 - i) <= this.max_i){ + return 'warning' + } + } + }else{ + if(data > speed.warning){ + if( i < this.max_i){ + return 'activation' + } + }else if(data <= speed.min){ + if( i < this.max_i){ + return 'police' + } + }else { + if( i < this.max_i){ + return 'warning' + } + } + } + return '' + }, + getDataClass(){ + var speed = this.data + if(isNaN(speed.min)){ + speed.min = 0; + } + if(isNaN(speed.police)){ + speed.police = 0; + } + if(isNaN(speed.warning)){ + speed.warning = 0; + } + if(isNaN(speed.data) || speed.data == undefined){ + speed.data = 0; + } + var data = speed.data + if(data >= 0 || speed.type == 'heightData'){ + if(data >= speed.warning && data < speed.police){ + return 'monitor-data warning-data' + }else if(data >= speed.police){ + return 'monitor-data police-data' + } + }else{ + if(data <= speed.warning && data > speed.min){ + return 'monitor-data warning-data' + }else if(data <= speed.min){ + return 'monitor-data police-data' + }else { + + } + } + return 'monitor-data' + }, + getSpeed(){ + var speed = this.data + if(isNaN(speed.min)){ + speed.min = 0; + } + if(isNaN(speed.police)){ + speed.police = 0; + } + if(isNaN(speed.warning)){ + speed.warning = 0; + } + if(isNaN(speed.data) || speed.data == undefined){ + speed.data = 0; + } + + if(speed.data >= 0 || speed.type == 'heightData'){ + this.speed = speed + }else{ + let tmp = -speed.min + speed.min = -speed.police + speed.warning = -speed.warning + speed.police = tmp + this.speed = speed + } + var data = speed.data + if(data >= 0 || speed.type == 'heightData'){ + let data_prop = (data - speed.min) / (speed.police - speed.min) + this.max_i = Math.ceil(data_prop*10) + let warning_prop = (speed.warning - speed.min) / (speed.police - speed.min) + this.warning_top = Math.ceil(warning_prop*10) + }else{ + let data_prop = (data - speed.police) / (speed.min - speed.police ) + this.max_i = Math.ceil(data_prop*10) + let warning_prop = (speed.warning - speed.police) / (speed.min - speed.police ) + this.warning_top = Math.ceil(warning_prop*10) + } + + } + }, + watch:{ + data: function (n,o) { + this.getSpeed(); + }, + } +}) diff --git a/src/components/screen-foot.js b/src/components/screen-foot.js new file mode 100644 index 0000000..e7f8e68 --- /dev/null +++ b/src/components/screen-foot.js @@ -0,0 +1,113 @@ +import Vue from 'vue' +Vue.component("screen-foot", { + template: ` +
+
+
+
+ + +
+
+ +
+
+
+
{{item.text}}
+
+
+
+
+ +
+
+
+
+
+
+ `, + props: { + data:{ + type:Array + } + }, + data() { + return { + bottom:false, + width:0, + index:2, + active:0, + length: 0, + interval:undefined, + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.divWidth(); + var that = this + //this.interval = setInterval(that.timer,600000); + }, + footMouseover(){ + let bottom = this.$refs.foot + if(this.bottom == false){ + bottom.style.bottom = 0 + this.bottom =true + } + }, + footMouseout(){ + let bottom = this.$refs.foot + if(this.bottom == true){ + bottom.style.bottom = -90+'px' + this.bottom =false + } + }, + divWidth(){ + var width = this.data.length * 250 + this.width = width + this.length =this.data.length + }, + leftClick(){ + let slider = this.$refs.tabs + if(slider.style.left == '500px'){ + + }else{ + this.index = this.index+1 + this.active = this.active-1 + } + this.$emit('indexes',this.active); + }, + rightClick(){ + let slider = this.$refs.tabs + if(slider.style.left == -(this.length - 3)*250+'px'){ + + }else{ + this.index = this.index-1 + this.active = this.active+1 + } + this.$emit('indexes',this.active); + }, + footTabs(i){ + this.active = i + this.index = 2 - i; + this.$emit('indexes',this.active); + }, + timer(){ + let slider = this.$refs.tabs + if(slider.style.left == -(this.length - 3)*250+'px'){ + this.index = 2 + this.active = 0 + }else{ + this.index = this.index - 1 + this.active = 2 - this.index + } + this.$emit('indexes',this.active); + } + }, + watch:{ + + }, + +}) diff --git a/src/components/screen-select.js b/src/components/screen-select.js new file mode 100644 index 0000000..09f7231 --- /dev/null +++ b/src/components/screen-select.js @@ -0,0 +1,53 @@ +import Vue from 'vue' +Vue.component("screen-select", { + template: ` +
+
+ +
+ +
    +
  • {{item.text}}
  • +
+
+
+ `, + props: { + data:{ + type:Array + }, + val:{ + type:[String,Number] + } + }, + data() { + return { + show:false, + value:'' + } + }, + mounted(){ + + }, + methods: { + clickSelectInput(){ + this.show = true + }, + clickSelectOption(item){ + this.value = item.text + this.$emit('option',item); + this.show = false + }, + hideSelectOption(){ + this.show = false + } + }, + watch:{ + val:{ + hander(){ + this.value=this.val||''; + } + } + } + +}) diff --git a/src/components/screen-table.js b/src/components/screen-table.js new file mode 100644 index 0000000..fd2398e --- /dev/null +++ b/src/components/screen-table.js @@ -0,0 +1,97 @@ +import Vue from 'vue' +Vue.component("screen-table", { + template: ` +
+ + + + + +
+ `, + props: { + height:{ + type:Number + }, + data: { + type: Object, + } + }, + data() { + return { + interval: '', + srcList:[] + } + }, + mounted() { + this.init() + }, + methods: { + init() { + //表格定时器 + this.interval = setInterval(this.scroll, 50); + }, + onRowData(row){ + this.$emit('item',row); + }, + onSrcList(src,row){ + this.srcList = [src] + }, + // 表格隔行变色 + tableRowClassName({row, rowIndex}) { + if (rowIndex % 2 === 0) { + return 'warning-row' //这是类名 + } else { + return '' + } + }, + //左边信息表 + scroll() { + let maxHeight = this.$refs.pxjy.$el.querySelectorAll('.el-table__body')[0].offsetHeight; + let clientHeight = this.$refs.pxjy.bodyWrapper.clientHeight; + if (Math.abs(this.$refs.pxjy.bodyWrapper.scrollTop - (maxHeight - clientHeight)) < 5) { //预留5像素误差 + this.$refs.pxjy.bodyWrapper.scrollTop = 0; + } else { + this.$refs.pxjy.bodyWrapper.scrollTop += 1;//32是每一行表格的高度,每秒滚一行 + } + } + , + MouseEnter() {//鼠标移入停止滚动 + clearInterval(this.interval); + } + , + MouseLeave() {//鼠标离开继续滚动 + this.interval = setInterval(this.scroll, 50); + }, + onClickPoint(n) { + this.btnNav = n; + }, + + + + }, + watch:{ + data:function () { + clearInterval(this.interval); + this.init() + }, + }, + +}) diff --git a/src/components/staff-survey-chart.js b/src/components/staff-survey-chart.js new file mode 100644 index 0000000..4a43a9d --- /dev/null +++ b/src/components/staff-survey-chart.js @@ -0,0 +1,222 @@ +import Vue from 'vue' +Vue.component("staff-survey-chart", { + template: ` +
+ `, + props: { + height:{ + type:Number + }, + data:{ + type:Array + }, + width:{ + type:Number + }, + max:{ + type:Number + }, + unit: { + type:String + } + + }, + data() { + return { + + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + getChartData(){ + //品类金额占比 饼图 + var chChart = echarts.init(this.$refs.chart); + this.echart(chChart,this.data) + }, + echart(chChart,chartData){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + var value = [] + var text = [] + var bgData = [] + var total = 0 + for (let i = 0; i < chartData.length; i++) { + value.push(chartData[i].value) + text.push(chartData[i].text) + bgData.push(100) + if(this.max){ + total = this.max + }else{ + total += chartData[i].value + } + } + + var prop = [] + for (let j = 0; j < value.length; j++) { + if(total == 0){ + prop.push(0) + }else{ + prop.push((value[j]/total * 100).toFixed(1)) + } + } + + var unit = '人' + if(this.unit){ + unit = this.unit + } + + + this.option = { + grid: { + left: "5%", + right: "5%", + bottom: "0%", + top: "0%", + containLabel: true, + }, + xAxis: [{ + show: false, + }, + //由于下边X轴已经是百分比刻度了,所以需要在顶部加一个X轴,刻度是金额,也隐藏掉 + { + show: false, + } + ], + yAxis: [ + { + type: 'category', + axisLabel: { + show: false, //让Y轴数据不显示 + }, + itemStyle: { + + }, + axisTick: { + show: false, //隐藏Y轴刻度 + }, + axisLine: { + show: false, //隐藏Y轴线段 + }, + data: [], + },{ + show: false, + data: [], + axisLine: { + show: false + } + }], + series: [ + //数据条--------------------我是分割线君------------------------------// + { + show: true, + type: 'bar', + xAxisIndex: 1, //代表使用第二个X轴刻度!!!!!!!!!!!!!!!!!!!!!!!! + barGap: '-100%', + barWidth: '6', //统计条宽度 + itemStyle: { + normal: { + color: 'rgba(22,203,115,0.05)' + }, + }, + label: { + normal: { + show: true, + //label 的position位置可以是top bottom left,right,也可以是固定值 + //在这里需要上下统一对齐,所以用固定值 + position: [0, '-25'], + rich: { //富文本 + prop: { //自定义颜色 + color: '#c6d9fa', + fontSize:'14', + }, + unit:{ + color: '#6c829a', + fontSize:'12', + }, + yes:{ + color: '#55adf7', + fontSize:'14', + }, + not:{ + color: '#4677fa', + fontSize:'14', + }, + index:{ + color: '#fcbc02', + fontStyle: 'italic', + padding:[0,0,0,5], + fontSize:'14', + }, + name: { + width: this.width, + color: '#c6d9fa', + padding:[0,0,0,10], + fontSize:'14', + }, + color:{ + color: '#8ca2be', + fontSize:'14', + }, + arrow:{ + width:12, + height:8, + backgroundColor: { + image: "http://fileimg.makalu.cc/WEB_2B7C06210CD44D55BFEE6205A35DE4A7.png", + }, + }, + + }, + formatter: (data)=>{ + //富文本固定格式{colorName|这里填你想要写的内容} + //return '{arrow|}' + return '{arrow|}{name|' + text[data.dataIndex] + '}{prop|' + value[data.dataIndex] + '}{color| '+unit+'} {prop|'+prop[data.dataIndex]+'}{color| %} '; + }, + } + }, + data: bgData, + }, + { + type: "bar", + zlevel: 1, + itemStyle: { + normal: { + color: "#6ab9fe", + }, + }, + barWidth: 8, + data: prop, + }, + { + type: "bar", + barWidth: 8, + barGap: "-100%", + data: bgData, + itemStyle: { + normal: { + color: "rgba(24,31,68,1)", + }, + }, + }, + ], + }; + + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch:{ + data: function (n,o) { + this.getChartData() + } + } +}) diff --git a/src/components/technical-disclosure-chart.js b/src/components/technical-disclosure-chart.js new file mode 100644 index 0000000..5c45806 --- /dev/null +++ b/src/components/technical-disclosure-chart.js @@ -0,0 +1,94 @@ +import Vue from 'vue' +Vue.component("technical-disclosure-chart", { + template: ` +
+
+
+
{{item.name}}
+
+ {{item.value}} + {{item.prop}} % +
+
+
+
+
+
+
+ `, + props: { + height:{ + type: Number, + }, + datas:{ + type:Array + }, + number:{ + type: Number, + }, + + }, + data() { + return { + interval: '', + index:0, + listData:[], + num:0 + } + }, + mounted() { + this.init() + }, + methods: { + init() { + this.getListDataChart() + //计划时间 + this.interval = setInterval(this.scroll, 3000); + }, + getListDataChart(){ + if(this.datas.length>0){ + var data = this.datas + var arr = [] + for(let i = 0;i< data.length;i++){ + arr.push(data[i].value) + } + var max = Math.max(...arr) + data.map(x => { + x.prop =((x.value / max ) * 100) .toFixed(2) + return x + }) + this.listData = data + } + }, + + scroll() { + const height = $('.technical-disclosure-for').innerHeight() + let n = this.number ? this.number:0; + if(this.index == this.listData.length - n){ + this.$refs.list.scrollTop = 0 + this.index = 1 + }else{ + this.index+=1 + } + $(this.$refs.list).animate({scrollTop:(height * this.index)+'px'}) + }, + + + mouseEnter() {//鼠标移入停止滚动 + clearInterval(this.interval); + }, + mouseLeave() {//鼠标离开继续滚动 + this.interval = setInterval(this.scroll, 3000); + }, + onChart(item){ + this.$emit('value',item); + } + }, + + watch:{ + datas:function () { + this.getListDataChart() + } + }, + +}) diff --git a/src/components/time-study-chart.js b/src/components/time-study-chart.js new file mode 100644 index 0000000..c8246aa --- /dev/null +++ b/src/components/time-study-chart.js @@ -0,0 +1,163 @@ +import Vue from 'vue' +Vue.component("time-study-chart", { + template: ` +
+ `, + props: { + height:{ + type:Number + }, + data:{ + type:Object + } + }, + data() { + return { + option:{} + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + //分类及工时情况 + getChartData(){ + var chChartBar = echarts.init(this.$refs.chart); + this.echartBar(chChartBar,this.data) + }, + echartBar(chChart,data){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + this.option = { + grid: { + top:'10%', + left: "2%", + right: "0%", + bottom: "0%", + containLabel: true, + }, + tooltip: { + trigger: "axis", + formatter: function (params) { + return (params[0].seriesName+"
" + +params[0].name +":"+ params[0].data + "%") + }, + }, + xAxis: { + type: "category", + data: data.xAxis, + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: true, + lineStyle: { + color: "#25597e", + type: "dashed", + }, + }, + axisTick: { + show: false + }, + + axisLabel: { + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 20, + fontSize:12 + }, + }, + }, + yAxis: { + type: "value", + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: false, + lineStyle: { + color: "#c5d9fc", + type: "dashed", + }, + }, + axisTick: { + show: false + }, + axisLabel: { + show: true, + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 20, + fontSize:12 + }, + }, + splitLine: { + show: true, + lineStyle: { + color: "#25597e", + type: "dashed", + }, + }, + }, + series: [ + { + name: data.seriesName, + type: "pictorialBar", + barCategoryGap: "0%", + label: { + normal: { + show: true, + position: "top", + color:"#fff" + }, + }, + //symbol: 'path://M0,10 L10,10 L5,0 L0,10 z', + symbol: "path://M0,10 L10,10 C5.5,10 5.5,5 5,0 C4.5,5 4.5,10 0,10 z", + + + itemStyle: { + normal: { + color: { + type: "linear", + x: 0, + y: 0, + x2: 0, + y2: 1, + colorStops: [ + { + offset: 0, + color: "rgba(15,133,224,0.2)", // 0% 处的颜色 + }, + { + offset: 0.9, + color: "rgba(15,133,224,0.8)", // 100% 处的颜色 + }, + ], + global: false, // 缺省为 false + }, + }, + emphasis: { + opacity: 1, + }, + }, + data: data.data, + z: 10, + }, + ], + }; + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch:{ + data: function (n,o) { + this.init() + } + } + +}) diff --git a/src/components/tower-crane-value-1.js b/src/components/tower-crane-value-1.js new file mode 100644 index 0000000..eda0492 --- /dev/null +++ b/src/components/tower-crane-value-1.js @@ -0,0 +1,153 @@ +import Vue from 'vue' +Vue.component("tower-crane-value-1", { + template: ` +
+
+ +
+
+ + +
+

后臂长

+
0 m
+
+
+

前臂长

+
0 m
+
+
+

塔身高

+
0 m
+
+
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ +
+

力矩比

+
0 %
+
+
+

安全吊重

+
0 t
+
+
+

进场时间

+
0
+
+
+
+
+
+ + `, + props: { + value:{ + type:Object + }, + width:{ + type:Number + }, + height:{ + type:Number + }, + top:{ + type:Number + }, + left:{ + type:Number + }, + ampdata:{ + type:Number + }, + forearmlength:{ + type:Number + }, + heightdata:{ + type:Number + }, + downheight:{ + type:Number + }, + angledata:{ + type:Number + }, + }, + data() { + return { + + } + }, + mounted(){ + this.animation() + }, + methods: { + animation(){ + var leftValue = this.ampdata //幅度 + var brachium = this.forearmlength //臂长 //定制 + + leftValue = leftValue < 0 ? 0 : leftValue + var left = leftValue / brachium * 100 + + var heightValue = this.heightdata //高度 + var towerHeight = this.downheight //塔身高度 + + var height = (towerHeight - heightValue) * this.height / towerHeight + height = height > this.height ? this.height : height + + + var value = Number(this.angledata) //角度 + var degValue = -value + setTimeout(function () { + $("#slider").animate({left:left+'%'},1000); + $("#dot").animate({left:left+'%'},1000); + $("#needle").css("transform","rotate("+degValue+"deg)") + setTimeout(function () { + $("#towrope").animate({height:height+'px'},1000); + },1000) + },1000) + }, + }, + watch:{ + ampdata:function () { + this.animation() + }, + forearmlength:function () { + this.animation() + }, + heightdata:function () { + this.animation() + }, + downheight:function () { + this.animation() + }, + angledata:function () { + this.animation() + }, + } + +}) diff --git a/src/components/tower-crane-value-2.js b/src/components/tower-crane-value-2.js new file mode 100644 index 0000000..839e447 --- /dev/null +++ b/src/components/tower-crane-value-2.js @@ -0,0 +1,155 @@ +import Vue from 'vue' +Vue.component("tower-crane-value-2", { + template: ` +
+
+ +
+
+ + +
+

后臂长

+
0 m
+
+
+

前臂长

+
0 m
+
+
+

塔身高

+
0 m
+
+
+ +
+ +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
+ +
+

力矩比

+
0 %
+
+
+

安全吊重

+
0 t
+
+
+

进场时间

+
0
+
+
+
+
+
+ + `, + props: { + value:{ + type:Object + }, + width:{ + type:Number + }, + height:{ + type:Number + }, + top:{ + type:Number + }, + left:{ + type:Number + }, + ampdata:{ + type:Number + }, + forearmlength:{ + type:Number + }, + heightdata:{ + type:Number + }, + downheight:{ + type:Number + }, + angledata:{ + type:Number + }, + }, + data() { + return { + + } + }, + mounted(){ + this.animation() + }, + methods: { + animation(){ + var leftValue = this.ampdata //幅度 + var brachium = this.forearmlength //臂长 //定制 + + leftValue = leftValue < 0 ? 0 : leftValue + var left = leftValue / brachium * 100 + + + + var heightValue = this.heightdata //高度 + var towerHeight = this.downheight //塔身高度 + + var height = (towerHeight - heightValue) * this.height / towerHeight + height = height > this.height ? this.height : height + + var value = Number(this.angledata) //角度 + var degValue = -value + setTimeout(function () { + $("#slider").animate({left:left+'%'},1000); + $("#dot").animate({left:left+'%'},1000); + $("#needle").css("transform","rotate("+degValue+"deg)") + setTimeout(function () { + $("#towrope").animate({height:height+'px'},1000); + },1000) + },1000) + + }, + }, + watch:{ + ampdata:function () { + this.animation() + }, + forearmlength:function () { + this.animation() + }, + heightdata:function () { + this.animation() + }, + downheight:function () { + this.animation() + }, + angledata:function () { + this.animation() + }, + } + +}) diff --git a/src/components/trend-chart-line.js b/src/components/trend-chart-line.js new file mode 100644 index 0000000..43c845d --- /dev/null +++ b/src/components/trend-chart-line.js @@ -0,0 +1,168 @@ +import Vue from 'vue' +Vue.component("trend-chart-line", { + template: ` +
+ +
+ `, + props: { + data:{ + type:Object + }, + height:{ + type:Number + }, + }, + data() { + return { + classData:[], + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + getChartData(){ + //品类金额占比 饼图 + var chChartPie = echarts.init(this.$refs.chart); + this.echartPie(chChartPie,this.data) + }, + echartPie(chChart,data){ + let newPromise = new Promise((resolve) => { + resolve() + }) + + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + var series = [] + for (let i = 0; i < data.lineData.length; i++) { + series.push({ + name: data.legend[i], + type: "line", + smooth: true, + symbol: "circle", + symbolSize: 5, + showSymbol: false, + lineStyle: { + normal: { + width: 2, + }, + }, + itemStyle: { + normal: { + color: data.color[i], + borderWidth: 5, + }, + }, + data: data.lineData[i], + },) + } + + var unit = '' + if(data.unit){ + unit = '单位:'+data.unit + } + + this.option = { + tooltip: { + trigger: "axis", + axisPointer: { + lineStyle: { + color: "#57617B", + }, + }, + }, + legend: { + icon: "rect", + itemWidth: 14, + itemHeight: 10, + itemGap: 15, + data: data.legend, + top: -5, + textStyle: { + fontSize: 14, + color: "#c8dbfc", + }, + }, + grid: { + top:'15%', + left: "2%", + right: "3%", + bottom: "2%", + containLabel: true, + }, + xAxis: { + boundaryGap: false, + type: "category", + data: data.date, + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: true, + lineStyle: { + color: "#25597e", + type: "dashed", + }, + }, + axisTick: { + show: false + }, + + axisLabel: { + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 20, + fontSize:14 + }, + }, + }, + yAxis: { + name: unit, + type: "value", + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: false, + lineStyle: { + color: "#c5d9fc", + type: "dashed", + }, + }, + axisTick: { + show: false + }, + axisLabel: { + show: true, + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 20, + fontSize:14 + }, + }, + splitLine: { + show: true, + lineStyle: { + color: "#25597e", + type: "dashed", + }, + }, + }, + series: series + + }; + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch:{ + data: function (n,o) { + this.getChartData() + } + } + +}) diff --git a/src/components/trend-line-chart.js b/src/components/trend-line-chart.js new file mode 100644 index 0000000..972c255 --- /dev/null +++ b/src/components/trend-line-chart.js @@ -0,0 +1,162 @@ +import Vue from 'vue' +Vue.component("trend-line-chart", { + template: ` +
+ +
+ `, + props: { + chartdata:{ + type:Object + }, + height:{ + type:Number + }, + data:{ + type:Array + } + }, + data() { + return { + option:{} + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + getChartData(){ + //品类金额占比 饼图 + var myChart = echarts.init(this.$refs.chart); + this.echartPie(myChart,this.chartdata) + }, + echartPie(myChart,data){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var series =[] + for (let i = 0; i < data.data.length; i++) { + series.push({ + name:data.legend[i], + type: "line", + smooth: true, + symbol: "circle", + symbolSize: 5, + showSymbol: true, + lineStyle: { + normal: { + width: 2, + }, + }, + data: data.data[i], + }) + } + + var unit = '' + if(data.unit){ + unit = '单位:'+data.unit + } + + this.option = { + color : data.color, + tooltip: { + trigger: "axis", + axisPointer: { + lineStyle: { + color: "#57617B", + }, + }, + }, + grid: { + top:'15%', + left: "1%", + right: "3%", + bottom: "1%", + containLabel: true, + }, + xAxis: { + type: "category", + boundaryGap: false, + data: data.dataX, + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: true, + lineStyle: { + color: "#25597e", + type: "dashed", + }, + }, + axisTick: { + show: false + }, + + axisLabel: { + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 20, + fontSize:16 + }, + }, + }, + yAxis: { + name:unit, + nameTextStyle: { + color: '#fff', + fontSize: 14, + }, + type: "value", + axisLine: { + //坐标轴轴线相关设置。数学上的x轴 + show: false, + lineStyle: { + color: "#c5d9fc", + type: "dashed", + }, + }, + axisTick: { + show: false + }, + axisLabel: { + show: true, + //坐标轴刻度标签的相关设置 + textStyle: { + color: "#c5d9fc", + margin: 20, + fontSize:16 + }, + }, + splitLine: { + show: true, + lineStyle: { + color: "#25597e", + type: "dashed", + }, + }, + }, + series: series + }; + myChart.setOption(this.option,true); + window.onresize = myChart.resize; + }) + }, + }, + watch:{ + /*chartdata: { + deep:true, + handler: function (val, oldVal){ + this.init() + } + },*/ + data: function (val, oldVal){ + this.init() + } + + } + +}) diff --git a/src/components/warning-pie-chart.js b/src/components/warning-pie-chart.js new file mode 100644 index 0000000..c292596 --- /dev/null +++ b/src/components/warning-pie-chart.js @@ -0,0 +1,179 @@ +import Vue from 'vue' +Vue.component("warning-pie-chart", { + template: ` +
+
+ +
+
+
+ + `, + props: { + typedata:{ + type: Array, + }, + height:{ + type:Number + } + }, + data() { + return { + active:0, + option:{} + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + getChartData(){ + //品类金额占比 饼图 + + var chChartPie = echarts.init(this.$refs.warningPieChart); + this.echartPie(chChartPie,this.typedata) + }, + echartPie(chChart,chartData){ + let newPromise = new Promise((resolve) => { + resolve() + }) + + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var total_datas = 0; + var data = []; + var legendData = []; + var color = ['#4474fa','#52aef7','#2075ae'] + for (let i = 0; i { + return a + b.value; + }, 0);*/ + this.option = { + title: { + text: total_datas, + subtext: "台", + x: "center", + y: "80", + textStyle: { + color: "#0dd2fd", + fontSize: 28, + fontWeight: "normal", + align: "center", + width: "200px", + }, + subtextStyle: { + color: "#a5b5f0", + fontSize: 16, + fontWeight: "normal", + align: "center", + }, + }, + tooltip: { + trigger: 'item', + formatter: "{b}
{c} ({d}%)" + }, + legend: { + width:'100%', + left: "center", + right: "0", + bottom: "5", + //icon: "circle", + itemWidth: 15, + itemGap:35, + textStyle: { + fontSize: 14, + rich: { + name: { + color: "#c3dbfd", + padding: [10, 5, 30, 5], + // align: 'right' + // width: 60 + }, + percent: { + color: "#18DB9F", + fontSize: 16, + padding: [0, 5, 0, 5], + // align: 'right' + }, + }, + }, + formatter: function (name) { + let res = chartData.filter((v) => v.name === name); + let percent = ((res[0].value * 100) / total_datas).toFixed(2); + return "{name| " + name + "}\n{percent|" + res[0].value + "}{percent|" + percent + "%}"; + }, + }, + series: [ + { + name: "品类金额占比", + type: "pie", + center: ["50%", "40%"], + radius: ["42%", "60%"], + data: data, + label: { + show: false, + }, + itemStyle: { + normal: { + borderWidth: 5, + borderColor: "#051a36" + } + }, + + }, + { + name: "外边框", + type: "pie", + clockWise: false, //顺时加载 + hoverAnimation: false, //鼠标移入变大 + center: ["50%", "40%"], + radius: ["66%", "66%"], + label: { + normal: { + show: false, + }, + }, + data: [ + { + value: 9, + name: "", + itemStyle: { + normal: { + borderWidth: 3, + borderColor: "#152c65", + }, + }, + }, + ], + }, + ], + } + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch:{ + data: function (n,o) { + this.init() + } + } +}) diff --git a/src/components/work-prop-chart-bar.js b/src/components/work-prop-chart-bar.js new file mode 100644 index 0000000..682a383 --- /dev/null +++ b/src/components/work-prop-chart-bar.js @@ -0,0 +1,283 @@ +import Vue from 'vue' +Vue.component("work-prop-chart-bar", { + template: ` +
+ `, + props: { + data:{ + type:Array + }, + height:{ + type:Number + } + }, + data() { + return { + option:{} + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + //分类及工时情况 + getChartData(){ + var chChartBar = echarts.init(this.$refs.chart); + this.echartBar(chChartBar,this.data) + }, + echartBar(chChart,chartData){ + let newPromise = new Promise((resolve) => { + resolve() + }) + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + + + var value = []; + var prop = []; + var text = []; + var zero = [] + + var total = 0 + for (let i = chartData.length-1; i >=0; i--) { + total += chartData[i].value; + value.push(chartData[i].value) + prop.push(chartData[i].prop) + text.push(chartData[i].text) + zero.push(0) + } + + + var data = [] + var data_all = new Array(prop.length) + for (let i = 0; i +
+ +
+
+ + + `, + props: { + typedata:{ + type: Array, + }, + height:{ + type:Number + } + }, + data() { + return { + active:0, + option:{} + } + }, + mounted(){ + this.init() + }, + methods: { + init(){ + this.getChartData() + }, + getChartData(){ + //品类金额占比 饼图 + var chChartPie = echarts.init(this.$refs.warningPieChart); + this.echartPie(chChartPie,this.typedata) + }, + echartPie(chChart,chartData){ + let newPromise = new Promise((resolve) => { + resolve() + }) + + //然后异步执行echarts的初始化函数 + newPromise.then(() => { + var total_datas = 0; + var data = []; + var legendData = []; + var color = ['#4974ff','#52aef7','#6863d7','#1d5d89','#20e6ff','#67feef'] + for (let i = 0; i { + return a + b.value; + }, 0);*/ + this.option = { + title: { + text: total_datas, + subtext: "总人数", + x: "center", + y: "113", + textStyle: { + color: "#0dd2fd", + fontSize: 26, + fontWeight: "normal", + align: "center", + width: "200px", + }, + subtextStyle: { + color: "#a5b5f0", + fontSize: 14, + fontWeight: "normal", + align: "center", + }, + }, + tooltip: { + trigger: 'item', + formatter: "{b}
{c} ({d}%)" + }, + series: [ + { + name: "品类金额占比", + type: "pie", + center: ["50%", "50%"], + radius: ["53%", "70%"], + data: data, + label: { + show: false, + }, + itemStyle: { + normal: { + borderWidth: 5, + borderColor: "#051a36" + } + }, + + }, + { + name: "外边框", + type: "pie", + clockWise: false, //顺时加载 + hoverAnimation: false, //鼠标移入变大 + center: ["50%", "50%"], + radius: ["78%", "78%"], + label: { + normal: { + show: false, + }, + }, + data: [ + { + value: 9, + name: "", + itemStyle: { + normal: { + borderWidth: 3, + borderColor: "#152c65", + }, + }, + }, + ], + }, + ], + } + chChart.setOption(this.option); + window.onresize = chChart.resize; + }) + }, + }, + watch:{ + typedata: function (n,o) { + this.init() + } + } +}) diff --git a/src/init.js b/src/init.js new file mode 100644 index 0000000..960f88c --- /dev/null +++ b/src/init.js @@ -0,0 +1,11 @@ +import Vue from 'vue'; +import ElementUI, { Table } from 'element-ui'; +// 解决 ElTable 自动宽度高度导致的「ResizeObserver loop limit exceeded」问题 +const fixElTableErr = (table) => { + const oldResizeListener = table.methods.resizeListener; + table.methods.resizeListener = function () { + window.requestAnimationFrame(oldResizeListener.bind(this)); + }; +}; +// 一定要在Vue.use之前执行此函数 +fixElTableErr(Table); \ No newline at end of file diff --git a/src/pages/components/BorderBox1.vue b/src/pages/components/BorderBox1.vue new file mode 100644 index 0000000..b8416c6 --- /dev/null +++ b/src/pages/components/BorderBox1.vue @@ -0,0 +1,147 @@ + + + + + \ No newline at end of file diff --git a/src/pages/components/MyDialog.vue b/src/pages/components/MyDialog.vue new file mode 100644 index 0000000..51bd5c0 --- /dev/null +++ b/src/pages/components/MyDialog.vue @@ -0,0 +1,132 @@ + + + + + \ No newline at end of file diff --git a/src/pages/index.js b/src/pages/index.js new file mode 100644 index 0000000..374f9d9 --- /dev/null +++ b/src/pages/index.js @@ -0,0 +1,8 @@ +import Vue from 'vue' +import App from './index.vue' +import './init.js' +Vue.config.productionTip = false + +new Vue({ + render: h => h(App), +}).$mount('#app') diff --git a/src/pages/index.vue b/src/pages/index.vue new file mode 100644 index 0000000..7836836 --- /dev/null +++ b/src/pages/index.vue @@ -0,0 +1,725 @@ + + + + diff --git a/src/pages/index/indexDlg1.vue b/src/pages/index/indexDlg1.vue new file mode 100644 index 0000000..b201889 --- /dev/null +++ b/src/pages/index/indexDlg1.vue @@ -0,0 +1,68 @@ + + + + + \ No newline at end of file diff --git a/src/pages/index/indexDlg2 copy.vue b/src/pages/index/indexDlg2 copy.vue new file mode 100644 index 0000000..9a46b83 --- /dev/null +++ b/src/pages/index/indexDlg2 copy.vue @@ -0,0 +1,133 @@ + + + + + \ No newline at end of file diff --git a/src/pages/index/indexDlg2.vue b/src/pages/index/indexDlg2.vue new file mode 100644 index 0000000..e79fc36 --- /dev/null +++ b/src/pages/index/indexDlg2.vue @@ -0,0 +1,210 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/index/indexDlg3.vue b/src/pages/index/indexDlg3.vue new file mode 100644 index 0000000..f803fc7 --- /dev/null +++ b/src/pages/index/indexDlg3.vue @@ -0,0 +1,172 @@ + + + + + \ No newline at end of file diff --git a/src/pages/index/map.vue b/src/pages/index/map.vue new file mode 100644 index 0000000..176e641 --- /dev/null +++ b/src/pages/index/map.vue @@ -0,0 +1,60 @@ + + + + + \ No newline at end of file diff --git a/src/pages/init.js b/src/pages/init.js new file mode 100644 index 0000000..19136e9 --- /dev/null +++ b/src/pages/init.js @@ -0,0 +1,18 @@ +import Vue from 'vue' +import Api from '../api/index' +import dayjs from 'dayjs' +import './style/index.less' +Vue.prototype.$api=Api; +Vue.prototype.$bus=new Vue(); +Vue.prototype.$apiPath="/jhapi" +Vue.prototype.$dt=dayjs; +Vue.prototype.$tryToJson=(str,def=null)=>{ + if(!str){ + return def; + } + try{ + return JSON.parse(str); + }catch(e){ + return def; + } + } \ No newline at end of file diff --git a/src/pages/progress/indexDlg1.vue b/src/pages/progress/indexDlg1.vue new file mode 100644 index 0000000..b9601de --- /dev/null +++ b/src/pages/progress/indexDlg1.vue @@ -0,0 +1,230 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/progress/indexDlg2.vue b/src/pages/progress/indexDlg2.vue new file mode 100644 index 0000000..088cb02 --- /dev/null +++ b/src/pages/progress/indexDlg2.vue @@ -0,0 +1,197 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/progress/indexDlg3.vue b/src/pages/progress/indexDlg3.vue new file mode 100644 index 0000000..59739a0 --- /dev/null +++ b/src/pages/progress/indexDlg3.vue @@ -0,0 +1,323 @@ + + + + + + diff --git a/src/pages/progress/problemProgress.vue b/src/pages/progress/problemProgress.vue new file mode 100644 index 0000000..65207db --- /dev/null +++ b/src/pages/progress/problemProgress.vue @@ -0,0 +1,188 @@ + + + + + \ No newline at end of file diff --git a/src/pages/projectDetail.js b/src/pages/projectDetail.js new file mode 100644 index 0000000..c79c8a0 --- /dev/null +++ b/src/pages/projectDetail.js @@ -0,0 +1,8 @@ +import Vue from 'vue' +import App from './projectDetail.vue' +Vue.config.productionTip = false +import './init.js' + +new Vue({ + render: h => h(App), +}).$mount('#app') diff --git a/src/pages/projectDetail.vue b/src/pages/projectDetail.vue new file mode 100644 index 0000000..41d2b75 --- /dev/null +++ b/src/pages/projectDetail.vue @@ -0,0 +1,900 @@ +< + + + + \ No newline at end of file diff --git a/src/pages/projectProgress.js b/src/pages/projectProgress.js new file mode 100644 index 0000000..b0111b3 --- /dev/null +++ b/src/pages/projectProgress.js @@ -0,0 +1,7 @@ +import Vue from 'vue' +import App from './projectProgress.vue' +Vue.config.productionTip = false +import './init.js' +new Vue({ + render: h => h(App), +}).$mount('#app') diff --git a/src/pages/projectProgress.vue b/src/pages/projectProgress.vue new file mode 100644 index 0000000..8304635 --- /dev/null +++ b/src/pages/projectProgress.vue @@ -0,0 +1,647 @@ +< + + + + \ No newline at end of file diff --git a/src/pages/projectQuality.js b/src/pages/projectQuality.js new file mode 100644 index 0000000..166eb66 --- /dev/null +++ b/src/pages/projectQuality.js @@ -0,0 +1,7 @@ +import Vue from 'vue' +import App from './projectQuality.vue' +Vue.config.productionTip = false +import './init.js' +new Vue({ + render: h => h(App), +}).$mount('#app') diff --git a/src/pages/projectQuality.vue b/src/pages/projectQuality.vue new file mode 100644 index 0000000..0a4c880 --- /dev/null +++ b/src/pages/projectQuality.vue @@ -0,0 +1,450 @@ + + + + + \ No newline at end of file diff --git a/src/pages/projectSafety.js b/src/pages/projectSafety.js new file mode 100644 index 0000000..64522ef --- /dev/null +++ b/src/pages/projectSafety.js @@ -0,0 +1,7 @@ +import Vue from 'vue' +import App from './projectSafety.vue' +Vue.config.productionTip = false +import './init.js' +new Vue({ + render: h => h(App), +}).$mount('#app') diff --git a/src/pages/projectSafety.vue b/src/pages/projectSafety.vue new file mode 100644 index 0000000..7f70411 --- /dev/null +++ b/src/pages/projectSafety.vue @@ -0,0 +1,497 @@ +< + + + + \ No newline at end of file diff --git a/src/pages/projectVideo.js b/src/pages/projectVideo.js new file mode 100644 index 0000000..79766c4 --- /dev/null +++ b/src/pages/projectVideo.js @@ -0,0 +1,7 @@ +import Vue from 'vue' +import App from './projectVideo.vue' +Vue.config.productionTip = false +import './init.js' +new Vue({ + render: h => h(App), +}).$mount('#app') diff --git a/src/pages/projectVideo.vue b/src/pages/projectVideo.vue new file mode 100644 index 0000000..4f7505f --- /dev/null +++ b/src/pages/projectVideo.vue @@ -0,0 +1,1339 @@ + + + + + \ No newline at end of file diff --git a/src/pages/style/index.less b/src/pages/style/index.less new file mode 100644 index 0000000..552d6c0 --- /dev/null +++ b/src/pages/style/index.less @@ -0,0 +1,3 @@ +.el-tooltip__popper{ + max-width: 50%; +} \ No newline at end of file diff --git a/src/plugins/cache.js b/src/plugins/cache.js new file mode 100644 index 0000000..6b5c00b --- /dev/null +++ b/src/plugins/cache.js @@ -0,0 +1,77 @@ +const sessionCache = { + set (key, value) { + if (!sessionStorage) { + return + } + if (key != null && value != null) { + sessionStorage.setItem(key, value) + } + }, + get (key) { + if (!sessionStorage) { + return null + } + if (key == null) { + return null + } + return sessionStorage.getItem(key) + }, + setJSON (key, jsonValue) { + if (jsonValue != null) { + this.set(key, JSON.stringify(jsonValue)) + } + }, + getJSON (key) { + const value = this.get(key) + if (value != null) { + return JSON.parse(value) + } + }, + remove (key) { + sessionStorage.removeItem(key); + } +} +const localCache = { + set (key, value) { + if (!localStorage) { + return + } + if (key != null && value != null) { + localStorage.setItem(key, value) + } + }, + get (key) { + if (!localStorage) { + return null + } + if (key == null) { + return null + } + return localStorage.getItem(key) + }, + setJSON (key, jsonValue) { + if (jsonValue != null) { + this.set(key, JSON.stringify(jsonValue)) + } + }, + getJSON (key) { + const value = this.get(key) + if (value != null) { + return JSON.parse(value) + } + }, + remove (key) { + localStorage.removeItem(key); + } +} + +export default { + /** + * 会话级缓存 + */ + session: sessionCache, + /** + * 本地缓存 + */ + local: localCache +} diff --git a/src/plugins/download.js b/src/plugins/download.js new file mode 100644 index 0000000..ffb8c14 --- /dev/null +++ b/src/plugins/download.js @@ -0,0 +1,72 @@ +import axios from 'axios' +import { Message } from 'element-ui' +import { saveAs } from 'file-saver' +import { getToken } from '@/utils/auth' +import errorCode from '@/utils/errorCode' +import { blobValidate } from "@/utils/ruoyi"; + +const baseURL = process.env.VUE_APP_BASE_API + +export default { + name(name, isDelete = true) { + var url = baseURL + "/common/download?fileName=" + encodeURIComponent(name) + "&delete=" + isDelete + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + getToken() } + }).then((res) => { + const isBlob = blobValidate(res.data); + if (isBlob) { + const blob = new Blob([res.data]) + this.saveAs(blob, decodeURIComponent(res.headers['download-filename'])) + } else { + this.printErrMsg(res.data); + } + }) + }, + resource(resource) { + var url = baseURL + "/common/download/resource?resource=" + encodeURIComponent(resource); + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + getToken() } + }).then((res) => { + const isBlob = blobValidate(res.data); + if (isBlob) { + const blob = new Blob([res.data]) + this.saveAs(blob, decodeURIComponent(res.headers['download-filename'])) + } else { + this.printErrMsg(res.data); + } + }) + }, + zip(url, name) { + var url = baseURL + url + axios({ + method: 'get', + url: url, + responseType: 'blob', + headers: { 'Authorization': 'Bearer ' + getToken() } + }).then((res) => { + const isBlob = blobValidate(res.data); + if (isBlob) { + const blob = new Blob([res.data], { type: 'application/zip' }) + this.saveAs(blob, name) + } else { + this.printErrMsg(res.data); + } + }) + }, + saveAs(text, name, opts) { + saveAs(text, name, opts); + }, + async printErrMsg(data) { + const resText = await data.text(); + const rspObj = JSON.parse(resText); + const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] + Message.error(errMsg); + } +} + diff --git a/src/plugins/index.js b/src/plugins/index.js new file mode 100644 index 0000000..d000f2d --- /dev/null +++ b/src/plugins/index.js @@ -0,0 +1,20 @@ +import tab from './tab' +import auth from './auth' +import cache from './cache' +import modal from './modal' +import download from './download' + +export default { + install(Vue) { + // 页签操作 + Vue.prototype.$tab = tab + // 认证对象 + Vue.prototype.$auth = auth + // 缓存对象 + Vue.prototype.$cache = cache + // 模态框对象 + Vue.prototype.$modal = modal + // 下载文件 + Vue.prototype.$download = download + } +} diff --git a/src/plugins/modal.js b/src/plugins/modal.js new file mode 100644 index 0000000..b37ca14 --- /dev/null +++ b/src/plugins/modal.js @@ -0,0 +1,83 @@ +import { Message, MessageBox, Notification, Loading } from 'element-ui' + +let loadingInstance; + +export default { + // 消息提示 + msg(content) { + Message.info(content) + }, + // 错误消息 + msgError(content) { + Message.error(content) + }, + // 成功消息 + msgSuccess(content) { + Message.success(content) + }, + // 警告消息 + msgWarning(content) { + Message.warning(content) + }, + // 弹出提示 + alert(content) { + MessageBox.alert(content, "系统提示") + }, + // 错误提示 + alertError(content) { + MessageBox.alert(content, "系统提示", { type: 'error' }) + }, + // 成功提示 + alertSuccess(content) { + MessageBox.alert(content, "系统提示", { type: 'success' }) + }, + // 警告提示 + alertWarning(content) { + MessageBox.alert(content, "系统提示", { type: 'warning' }) + }, + // 通知提示 + notify(content) { + Notification.info(content) + }, + // 错误通知 + notifyError(content) { + Notification.error(content); + }, + // 成功通知 + notifySuccess(content) { + Notification.success(content) + }, + // 警告通知 + notifyWarning(content) { + Notification.warning(content) + }, + // 确认窗体 + confirm(content) { + return MessageBox.confirm(content, "系统提示", { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: "warning", + }) + }, + // 提交内容 + prompt(content) { + return MessageBox.prompt(content, "系统提示", { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: "warning", + }) + }, + // 打开遮罩层 + loading(content) { + loadingInstance = Loading.service({ + lock: true, + text: content, + spinner: "el-icon-loading", + background: "rgba(0, 0, 0, 0.7)", + }) + }, + // 关闭遮罩层 + closeLoading() { + loadingInstance.close(); + } +} diff --git a/src/plugins/tab.js b/src/plugins/tab.js new file mode 100644 index 0000000..b029c0e --- /dev/null +++ b/src/plugins/tab.js @@ -0,0 +1,71 @@ +import store from '@/store' +import router from '@/router'; + +export default { + // 刷新当前tab页签 + refreshPage(obj) { + const { path, query, matched } = router.currentRoute; + if (obj === undefined) { + matched.forEach((m) => { + if (m.components && m.components.default && m.components.default.name) { + if (!['Layout', 'ParentView'].includes(m.components.default.name)) { + obj = { name: m.components.default.name, path: path, query: query }; + } + } + }); + } + return store.dispatch('tagsView/delCachedView', obj).then(() => { + const { path, query } = obj + router.replace({ + path: '/redirect' + path, + query: query + }) + }) + }, + // 关闭当前tab页签,打开新页签 + closeOpenPage(obj) { + store.dispatch("tagsView/delView", router.currentRoute); + if (obj !== undefined) { + return router.push(obj); + } + }, + // 关闭指定tab页签 + closePage(obj) { + if (obj === undefined) { + return store.dispatch('tagsView/delView', router.currentRoute).then(({ visitedViews }) => { + const latestView = visitedViews.slice(-1)[0] + if (latestView) { + return router.push(latestView.fullPath) + } + return router.push('/'); + }); + } + return store.dispatch('tagsView/delView', obj); + }, + // 关闭所有tab页签 + closeAllPage() { + return store.dispatch('tagsView/delAllViews'); + }, + // 关闭左侧tab页签 + closeLeftPage(obj) { + return store.dispatch('tagsView/delLeftTags', obj || router.currentRoute); + }, + // 关闭右侧tab页签 + closeRightPage(obj) { + return store.dispatch('tagsView/delRightTags', obj || router.currentRoute); + }, + // 关闭其他tab页签 + closeOtherPage(obj) { + return store.dispatch('tagsView/delOthersViews', obj || router.currentRoute); + }, + // 添加tab页签 + openPage(title, url, params) { + var obj = { path: url, meta: { title: title } } + store.dispatch('tagsView/addView', obj); + return router.push({ path: url, query: params }); + }, + // 修改tab页签 + updatePage(obj) { + return store.dispatch('tagsView/updateVisitedView', obj); + } +} diff --git a/src/utils/auth.js b/src/utils/auth.js new file mode 100644 index 0000000..08a43d6 --- /dev/null +++ b/src/utils/auth.js @@ -0,0 +1,15 @@ +import Cookies from 'js-cookie' + +const TokenKey = 'Admin-Token' + +export function getToken() { + return Cookies.get(TokenKey) +} + +export function setToken(token) { + return Cookies.set(TokenKey, token) +} + +export function removeToken() { + return Cookies.remove(TokenKey) +} diff --git a/src/utils/errorCode.js b/src/utils/errorCode.js new file mode 100644 index 0000000..d2111ee --- /dev/null +++ b/src/utils/errorCode.js @@ -0,0 +1,6 @@ +export default { + '401': '认证失败,无法访问系统资源', + '403': '当前操作没有权限', + '404': '访问资源不存在', + 'default': '系统未知错误,请反馈给管理员' +} diff --git a/src/utils/request.js b/src/utils/request.js new file mode 100644 index 0000000..94a4571 --- /dev/null +++ b/src/utils/request.js @@ -0,0 +1,143 @@ +import axios from 'axios' +import { Notification, MessageBox, Message, Loading } from 'element-ui' +import { getToken } from '@/utils/auth' +import errorCode from '@/utils/errorCode' +import { tansParams, blobValidate } from "@/utils/ruoyi"; +import cache from '@/plugins/cache' +import { saveAs } from 'file-saver' + +let downloadLoadingInstance; +// 是否显示重新登录 +export let isRelogin = { show: false }; + +axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' +// 创建axios实例 +const service = axios.create({ + // axios中请求配置有baseURL选项,表示请求URL公共部分 + baseURL: process.env.VUE_APP_BASE_API, + // 超时 + timeout: 10000 +}) + +// request拦截器 +service.interceptors.request.use(config => { + // 是否需要设置 token + const isToken = (config.headers || {}).isToken === false + // 是否需要防止数据重复提交 + const isRepeatSubmit = (config.headers || {}).repeatSubmit === false + if (getToken() && !isToken) { + config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + } + // get请求映射params参数 + if (config.method === 'get' && config.params) { + let url = config.url + '?' + tansParams(config.params); + url = url.slice(0, -1); + config.params = {}; + config.url = url; + } + if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) { + const requestObj = { + url: config.url, + data: typeof config.data === 'object' ? JSON.stringify(config.data) : config.data, + time: new Date().getTime() + } + const sessionObj = cache.session.getJSON('sessionObj') + if (sessionObj === undefined || sessionObj === null || sessionObj === '') { + cache.session.setJSON('sessionObj', requestObj) + } else { + const s_url = sessionObj.url; // 请求地址 + const s_data = sessionObj.data; // 请求数据 + const s_time = sessionObj.time; // 请求时间 + const interval = 1000; // 间隔时间(ms),小于此时间视为重复提交 + if (s_data === requestObj.data && requestObj.time - s_time < interval && s_url === requestObj.url) { + const message = '数据正在处理,请勿重复提交'; + console.warn(`[${s_url}]: ` + message) + return Promise.reject(new Error(message)) + } else { + cache.session.setJSON('sessionObj', requestObj) + } + } + } + return config +}, error => { + console.log(error) + Promise.reject(error) +}) + +// 响应拦截器 +service.interceptors.response.use(res => { + // 未设置状态码则默认成功状态 + const code = res.data.code || 200; + // 获取错误信息 + const msg = errorCode[code] || res.data.msg || errorCode['default'] + // 二进制数据则直接返回 + if (res.request.responseType === 'blob' || res.request.responseType === 'arraybuffer') { + return res.data + } + if (code === 401) { + if (!isRelogin.show) { + isRelogin.show = true; + MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' }).then(() => { + isRelogin.show = false; + location.href = '/index'; + }).catch(() => { + isRelogin.show = false; + }); + } + return Promise.reject('无效的会话,或者会话已过期,请重新登录。') + } else if (code === 500) { + Message({ message: msg, type: 'error' }) + return Promise.reject(new Error(msg)) + } else if (code === 601) { + Message({ message: msg, type: 'warning' }) + return Promise.reject('error') + } else if (code !== 200) { + Notification.error({ title: msg }) + return Promise.reject('error') + } else { + return res.data + } + }, + error => { + console.log('err' + error) + let { message } = error; + if (message == "Network Error") { + message = "后端接口连接异常"; + } else if (message.includes("timeout")) { + message = "系统接口请求超时"; + } else if (message.includes("Request failed with status code")) { + message = "系统接口" + message.substr(message.length - 3) + "异常"; + } + Message({ message: message, type: 'error', duration: 5 * 1000 }) + return Promise.reject(error) + } +) + +// 通用下载方法 +export function download(url, params, filename, config) { + downloadLoadingInstance = Loading.service({ text: "正在下载数据,请稍候", spinner: "el-icon-loading", background: "rgba(0, 0, 0, 0.7)", }) + return service.post(url, params, { + transformRequest: [(params) => { return tansParams(params) }], + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + responseType: 'blob', + ...config + }).then(async (data) => { + const isBlob = blobValidate(data); + if (isBlob) { + const blob = new Blob([data]) + saveAs(blob, filename) + } else { + const resText = await data.text(); + const rspObj = JSON.parse(resText); + const errMsg = errorCode[rspObj.code] || rspObj.msg || errorCode['default'] + Message.error(errMsg); + } + downloadLoadingInstance.close(); + }).catch((r) => { + console.error(r) + Message.error('下载文件出现错误,请联系管理员!') + downloadLoadingInstance.close(); + }) +} + +export default service diff --git a/src/utils/ruoyi.js b/src/utils/ruoyi.js new file mode 100644 index 0000000..44bf9c4 --- /dev/null +++ b/src/utils/ruoyi.js @@ -0,0 +1,233 @@ + + +/** + * 通用js方法封装处理 + * Copyright (c) 2019 ruoyi + */ + +// 日期格式化 +export function parseTime(time, pattern) { + if (arguments.length === 0 || !time) { + return null + } + const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}' + let date + if (typeof time === 'object') { + date = time + } else { + if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) { + time = parseInt(time) + } else if (typeof time === 'string') { + time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.[\d]{3}/gm), ''); + } + if ((typeof time === 'number') && (time.toString().length === 10)) { + time = time * 1000 + } + date = new Date(time) + } + const formatObj = { + y: date.getFullYear(), + m: date.getMonth() + 1, + d: date.getDate(), + h: date.getHours(), + i: date.getMinutes(), + s: date.getSeconds(), + a: date.getDay() + } + const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { + let value = formatObj[key] + // Note: getDay() returns 0 on Sunday + if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value] } + if (result.length > 0 && value < 10) { + value = '0' + value + } + return value || 0 + }) + return time_str +} + +// 表单重置 +export function resetForm(refName) { + if (this.$refs[refName]) { + this.$refs[refName].resetFields(); + } +} + +// 添加日期范围 +export function addDateRange(params, dateRange, propName) { + let search = params; + search.params = typeof (search.params) === 'object' && search.params !== null && !Array.isArray(search.params) ? search.params : {}; + dateRange = Array.isArray(dateRange) ? dateRange : []; + if (typeof (propName) === 'undefined') { + search.params['beginTime'] = dateRange[0]; + search.params['endTime'] = dateRange[1]; + } else { + search.params['begin' + propName] = dateRange[0]; + search.params['end' + propName] = dateRange[1]; + } + return search; +} + +// 回显数据字典 +export function selectDictLabel(datas, value) { + if (value === undefined) { + return ""; + } + var actions = []; + Object.keys(datas).some((key) => { + if (datas[key].value == ('' + value)) { + actions.push(datas[key].label); + return true; + } + }) + if (actions.length === 0) { + actions.push(value); + } + return actions.join(''); +} + +// 回显数据字典(字符串、数组) +export function selectDictLabels(datas, value, separator) { + if (value === undefined || value.length ===0) { + return ""; + } + if (Array.isArray(value)) { + value = value.join(","); + } + var actions = []; + var currentSeparator = undefined === separator ? "," : separator; + var temp = value.split(currentSeparator); + Object.keys(value.split(currentSeparator)).some((val) => { + var match = false; + Object.keys(datas).some((key) => { + if (datas[key].value == ('' + temp[val])) { + actions.push(datas[key].label + currentSeparator); + match = true; + } + }) + if (!match) { + actions.push(temp[val] + currentSeparator); + } + }) + return actions.join('').substring(0, actions.join('').length - 1); +} + +// 字符串格式化(%s ) +export function sprintf(str) { + var args = arguments, flag = true, i = 1; + str = str.replace(/%s/g, function () { + var arg = args[i++]; + if (typeof arg === 'undefined') { + flag = false; + return ''; + } + return arg; + }); + return flag ? str : ''; +} + +// 转换字符串,undefined,null等转化为"" +export function parseStrEmpty(str) { + if (!str || str == "undefined" || str == "null") { + return ""; + } + return str; +} + +// 数据合并 +export function mergeRecursive(source, target) { + for (var p in target) { + try { + if (target[p].constructor == Object) { + source[p] = mergeRecursive(source[p], target[p]); + } else { + source[p] = target[p]; + } + } catch (e) { + source[p] = target[p]; + } + } + return source; +}; + +/** + * 构造树型结构数据 + * @param {*} data 数据源 + * @param {*} id id字段 默认 'id' + * @param {*} parentId 父节点字段 默认 'parentId' + * @param {*} children 孩子节点字段 默认 'children' + */ +export function handleTree(data, id, parentId, children) { + let config = { + id: id || 'id', + parentId: parentId || 'parentId', + childrenList: children || 'children' + }; + + var childrenListMap = {}; + var nodeIds = {}; + var tree = []; + + for (let d of data) { + let parentId = d[config.parentId]; + if (childrenListMap[parentId] == null) { + childrenListMap[parentId] = []; + } + nodeIds[d[config.id]] = d; + childrenListMap[parentId].push(d); + } + + for (let d of data) { + let parentId = d[config.parentId]; + if (nodeIds[parentId] == null) { + tree.push(d); + } + } + + for (let t of tree) { + adaptToChildrenList(t); + } + + function adaptToChildrenList(o) { + if (childrenListMap[o[config.id]] !== null) { + o[config.childrenList] = childrenListMap[o[config.id]]; + } + if (o[config.childrenList]) { + for (let c of o[config.childrenList]) { + adaptToChildrenList(c); + } + } + } + return tree; +} + +/** +* 参数处理 +* @param {*} params 参数 +*/ +export function tansParams(params) { + let result = '' + for (const propName of Object.keys(params)) { + const value = params[propName]; + var part = encodeURIComponent(propName) + "="; + if (value !== null && value !== "" && typeof (value) !== "undefined") { + if (typeof value === 'object') { + for (const key of Object.keys(value)) { + if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') { + let params = propName + '[' + key + ']'; + var subPart = encodeURIComponent(params) + "="; + result += subPart + encodeURIComponent(value[key]) + "&"; + } + } + } else { + result += part + encodeURIComponent(value) + "&"; + } + } + } + return result +} + +// 验证是否为blob格式 +export function blobValidate(data) { + return data.type !== 'application/json' +} diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..08dffb1 --- /dev/null +++ b/vue.config.js @@ -0,0 +1,66 @@ +const { defineConfig } = require('@vue/cli-service') +module.exports = defineConfig({ + transpileDependencies: true, + publicPath:'./', + productionSourceMap:false, + devServer: { + host: '0.0.0.0', + port: 3000, + open: true, + proxy: { + [process.env.VUE_APP_BASE_API]: { + //target: `http://62.234.3.186/jhapi`, + target: `http://127.0.0.1:8090/jhapi`, + changeOrigin: true, + pathRewrite: { + ['^' + process.env.VUE_APP_BASE_API]: '' + } + } + } + }, + pages:{ + index:{ + entry:'src/pages/index.js', + template:'public/index.html', + title:'项目概况', + filename:'index.html' + }, + projectDetail:{ + entry:'src/pages/projectDetail.js', + template:'public/index.html', + title:'项目详情', + filename:'projectDetail.html' + }, + projectSafety:{ + entry:'src/pages/projectSafety.js', + template:'public/index.html', + title:'安全管理', + filename:'projectSafety.html' + }, + projectQuality:{ + entry:'src/pages/projectQuality.js', + template:'public/index.html', + title:'质量管理', + filename:'projectQuality.html' + }, + projectProgress:{ + entry:'src/pages/projectProgress.js', + template:'public/index.html', + title:'进度管理', + filename:'projectProgress.html' + }, + projectVideo:{ + entry:'src/pages/projectVideo.js', + template:'public/video.html', + title:'视频管理', + filename:'projectVideo.html' + } +}, + configureWebpack:{ + externals:{ + 'vue':"Vue", + 'element-ui':"ELEMENT" + } + }, + +}) diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..59f0826 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,6271 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.npmmirror.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@achrinza/node-ipc@^9.2.5": + version "9.2.7" + resolved "https://registry.npmmirror.com/@achrinza/node-ipc/-/node-ipc-9.2.7.tgz#cc418f9218d24d9b87f32207e5d6e71c64e241f8" + integrity sha512-/EvNkqB4HNxPWCZASmgrjqG8gIdPOolD67LGASvGMp/FY5ne0rbvpYg5o9x8RmgjAl8KdmNQ4YlV1et9DYiW8g== + dependencies: + "@node-ipc/js-queue" "2.0.3" + event-pubsub "4.3.0" + js-message "1.0.7" + +"@ampproject/remapping@^2.2.0": + version "2.2.1" + resolved "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.22.5.tgz#234d98e1551960604f1246e6475891a570ad5658" + integrity sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ== + dependencies: + "@babel/highlight" "^7.22.5" + +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.22.5.tgz#b1f6c86a02d85d2dd3368a2b67c09add8cd0c255" + integrity sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA== + +"@babel/core@^7.12.16": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/core/-/core-7.22.5.tgz#d67d9747ecf26ee7ecd3ebae1ee22225fe902a89" + integrity sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.22.5" + "@babel/generator" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helpers" "^7.22.5" + "@babel/parser" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.2" + semver "^6.3.0" + +"@babel/eslint-parser@^7.12.16": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/eslint-parser/-/eslint-parser-7.22.5.tgz#fa032503b9e2d188e25b1b95d29e8b8431042d78" + integrity sha512-C69RWYNYtrgIRE5CmTd77ZiLDXqgBipahJc/jHP3sLcAGj6AJzxNIuKNpVnICqbyK7X3pFUfEvL++rvtbQpZkQ== + dependencies: + "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" + eslint-visitor-keys "^2.1.0" + semver "^6.3.0" + +"@babel/generator@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/generator/-/generator-7.22.5.tgz#1e7bf768688acfb05cf30b2369ef855e82d984f7" + integrity sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA== + dependencies: + "@babel/types" "^7.22.5" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + +"@babel/helper-annotate-as-pure@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" + integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz#a3f4758efdd0190d8927fcffd261755937c71878" + integrity sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-compilation-targets@^7.12.16", "@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz#fc7319fc54c5e2fa14b2909cf3c5fd3046813e02" + integrity sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw== + dependencies: + "@babel/compat-data" "^7.22.5" + "@babel/helper-validator-option" "^7.22.5" + browserslist "^4.21.3" + lru-cache "^5.1.1" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz#2192a1970ece4685fbff85b48da2c32fcb130b7c" + integrity sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-member-expression-to-functions" "^7.22.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.5" + semver "^6.3.0" + +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz#bb2bf0debfe39b831986a4efbf4066586819c6e4" + integrity sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + regexpu-core "^5.3.1" + semver "^6.3.0" + +"@babel/helper-define-polyfill-provider@^0.4.0": + version "0.4.0" + resolved "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz#487053f103110f25b9755c5980e031e93ced24d8" + integrity sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg== + dependencies: + "@babel/helper-compilation-targets" "^7.17.7" + "@babel/helper-plugin-utils" "^7.16.7" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-environment-visitor@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz#f06dd41b7c1f44e1f8da6c4055b41ab3a09a7e98" + integrity sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q== + +"@babel/helper-function-name@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz#ede300828905bb15e582c037162f99d5183af1be" + integrity sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ== + dependencies: + "@babel/template" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helper-hoist-variables@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" + integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-member-expression-to-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz#0a7c56117cad3372fbf8d2fb4bf8f8d64a1e76b2" + integrity sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz#1a8f4c9f4027d23f520bd76b364d44434a72660c" + integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-module-transforms@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz#0f65daa0716961b6e96b164034e737f60a80d2ef" + integrity sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helper-optimise-call-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz#f21531a9ccbff644fdd156b4077c16ff0c3f609e" + integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + +"@babel/helper-remap-async-to-generator@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz#14a38141a7bf2165ad38da61d61cf27b43015da2" + integrity sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-wrap-function" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helper-replace-supers@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz#71bc5fb348856dea9fdc4eafd7e2e49f585145dc" + integrity sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg== + dependencies: + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-member-expression-to-functions" "^7.22.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-skip-transparent-expression-wrappers@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz#007f15240b5751c537c40e77abb4e89eeaaa8847" + integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-split-export-declaration@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz#88cf11050edb95ed08d596f7a044462189127a08" + integrity sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ== + dependencies: + "@babel/types" "^7.22.5" + +"@babel/helper-string-parser@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" + integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== + +"@babel/helper-validator-identifier@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" + integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== + +"@babel/helper-validator-option@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz#de52000a15a177413c8234fa3a8af4ee8102d0ac" + integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== + +"@babel/helper-wrap-function@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz#44d205af19ed8d872b4eefb0d2fa65f45eb34f06" + integrity sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw== + dependencies: + "@babel/helper-function-name" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/helpers@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.22.5.tgz#74bb4373eb390d1ceed74a15ef97767e63120820" + integrity sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q== + dependencies: + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031" + integrity sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw== + dependencies: + "@babel/helper-validator-identifier" "^7.22.5" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.18.4", "@babel/parser@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.22.5.tgz#721fd042f3ce1896238cf1b341c77eb7dee7dbea" + integrity sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz#87245a21cd69a73b0b81bcda98d443d6df08f05e" + integrity sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz#fef09f9499b1f1c930da8a0c419db42167d792ca" + integrity sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.22.5" + +"@babel/plugin-proposal-class-properties@^7.12.13": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" + integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-proposal-decorators@^7.12.13": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.22.5.tgz#dc8cdda048e5aea947efda920e030199806b868d" + integrity sha512-h8hlezQ4dl6ixodgXkH8lUfcD7x+WAuIqPUjwGoItynrXOAv4a4Tci1zA/qjzQjjcl0v3QpLdc2LM6ZACQuY7A== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.5" + "@babel/plugin-syntax-decorators" "^7.22.5" + +"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": + version "7.21.0-placeholder-for-preset-env.2" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" + integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w== + +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" + integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-syntax-class-static-block@^7.14.5": + version "7.14.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" + integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-decorators@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.5.tgz#329fe2907c73de184033775637dbbc507f09116a" + integrity sha512-avpUOBS7IU6al8MmF1XpAyj9QYeLPuSDJI5D4pVMSMdL7xQokKqJPYQC67RCT0aCTashUXPiGwMJ0DEXXCEmMA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-dynamic-import@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" + integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-export-namespace-from@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" + integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.3" + +"@babel/plugin-syntax-import-assertions@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz#07d252e2aa0bc6125567f742cd58619cb14dce98" + integrity sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-attributes@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz#ab840248d834410b829f569f5262b9e517555ecb" + integrity sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-import-meta@^7.10.4": + version "7.10.4" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" + integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": + version "7.10.4" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" + integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-numeric-separator@^7.10.4": + version "7.10.4" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" + integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + +"@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + +"@babel/plugin-syntax-private-property-in-object@^7.14.5": + version "7.14.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" + integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-top-level-await@^7.14.5": + version "7.14.5" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + +"@babel/plugin-syntax-unicode-sets-regex@^7.18.6": + version "7.18.6" + resolved "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz#d49a3b3e6b52e5be6740022317580234a6a47357" + integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.18.6" + "@babel/helper-plugin-utils" "^7.18.6" + +"@babel/plugin-transform-arrow-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz#e5ba566d0c58a5b2ba2a8b795450641950b71958" + integrity sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-async-generator-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz#7336356d23380eda9a56314974f053a020dab0c3" + integrity sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg== + dependencies: + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.5" + "@babel/plugin-syntax-async-generators" "^7.8.4" + +"@babel/plugin-transform-async-to-generator@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz#c7a85f44e46f8952f6d27fe57c2ed3cc084c3775" + integrity sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ== + dependencies: + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-remap-async-to-generator" "^7.22.5" + +"@babel/plugin-transform-block-scoped-functions@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz#27978075bfaeb9fa586d3cb63a3d30c1de580024" + integrity sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-block-scoping@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz#8bfc793b3a4b2742c0983fadc1480d843ecea31b" + integrity sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz#97a56e31ad8c9dc06a0b3710ce7803d5a48cca77" + integrity sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-class-static-block@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz#3e40c46f048403472d6f4183116d5e46b1bff5ba" + integrity sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + +"@babel/plugin-transform-classes@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz#635d4e98da741fad814984639f4c0149eb0135e1" + integrity sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.5" + globals "^11.1.0" + +"@babel/plugin-transform-computed-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz#cd1e994bf9f316bd1c2dafcd02063ec261bb3869" + integrity sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/template" "^7.22.5" + +"@babel/plugin-transform-destructuring@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz#d3aca7438f6c26c78cdd0b0ba920a336001b27cc" + integrity sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dotall-regex@^7.22.5", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz#dbb4f0e45766eb544e193fb00e65a1dd3b2a4165" + integrity sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-duplicate-keys@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz#b6e6428d9416f5f0bba19c70d1e6e7e0b88ab285" + integrity sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-dynamic-import@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz#d6908a8916a810468c4edff73b5b75bda6ad393e" + integrity sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + +"@babel/plugin-transform-exponentiation-operator@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz#402432ad544a1f9a480da865fda26be653e48f6a" + integrity sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-export-namespace-from@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz#57c41cb1d0613d22f548fddd8b288eedb9973a5b" + integrity sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + +"@babel/plugin-transform-for-of@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz#ab1b8a200a8f990137aff9a084f8de4099ab173f" + integrity sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-function-name@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz#935189af68b01898e0d6d99658db6b164205c143" + integrity sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg== + dependencies: + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-json-strings@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz#14b64352fdf7e1f737eed68de1a1468bd2a77ec0" + integrity sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-json-strings" "^7.8.3" + +"@babel/plugin-transform-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz#e9341f4b5a167952576e23db8d435849b1dd7920" + integrity sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-logical-assignment-operators@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz#66ae5f068fd5a9a5dc570df16f56c2a8462a9d6c" + integrity sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + +"@babel/plugin-transform-member-expression-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz#4fcc9050eded981a468347dd374539ed3e058def" + integrity sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-amd@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz#4e045f55dcf98afd00f85691a68fc0780704f526" + integrity sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ== + dependencies: + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-modules-commonjs@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz#7d9875908d19b8c0536085af7b053fd5bd651bfa" + integrity sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA== + dependencies: + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-simple-access" "^7.22.5" + +"@babel/plugin-transform-modules-systemjs@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz#18c31410b5e579a0092638f95c896c2a98a5d496" + integrity sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ== + dependencies: + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.5" + +"@babel/plugin-transform-modules-umd@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz#4694ae40a87b1745e3775b6a7fe96400315d4f98" + integrity sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ== + dependencies: + "@babel/helper-module-transforms" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz#67fe18ee8ce02d57c855185e27e3dc959b2e991f" + integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-new-target@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz#1b248acea54ce44ea06dfd37247ba089fcf9758d" + integrity sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-nullish-coalescing-operator@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz#f8872c65776e0b552e0849d7596cddd416c3e381" + integrity sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + +"@babel/plugin-transform-numeric-separator@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz#57226a2ed9e512b9b446517ab6fa2d17abb83f58" + integrity sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + +"@babel/plugin-transform-object-rest-spread@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz#9686dc3447df4753b0b2a2fae7e8bc33cdc1f2e1" + integrity sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ== + dependencies: + "@babel/compat-data" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.22.5" + +"@babel/plugin-transform-object-super@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz#794a8d2fcb5d0835af722173c1a9d704f44e218c" + integrity sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.5" + +"@babel/plugin-transform-optional-catch-binding@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz#842080be3076703be0eaf32ead6ac8174edee333" + integrity sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + +"@babel/plugin-transform-optional-chaining@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz#1003762b9c14295501beb41be72426736bedd1e0" + integrity sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + +"@babel/plugin-transform-parameters@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz#c3542dd3c39b42c8069936e48717a8d179d63a18" + integrity sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-methods@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz#21c8af791f76674420a147ae62e9935d790f8722" + integrity sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-private-property-in-object@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz#07a77f28cbb251546a43d175a1dda4cf3ef83e32" + integrity sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-create-class-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + +"@babel/plugin-transform-property-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz#b5ddabd73a4f7f26cd0e20f5db48290b88732766" + integrity sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-regenerator@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz#cd8a68b228a5f75fa01420e8cc2fc400f0fc32aa" + integrity sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + regenerator-transform "^0.15.1" + +"@babel/plugin-transform-reserved-words@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz#832cd35b81c287c4bcd09ce03e22199641f964fb" + integrity sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-runtime@^7.12.15": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.5.tgz#ca975fb5e260044473c8142e1b18b567d33c2a3b" + integrity sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw== + dependencies: + "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + babel-plugin-polyfill-corejs2 "^0.4.3" + babel-plugin-polyfill-corejs3 "^0.8.1" + babel-plugin-polyfill-regenerator "^0.5.0" + semver "^6.3.0" + +"@babel/plugin-transform-shorthand-properties@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz#6e277654be82b5559fc4b9f58088507c24f0c624" + integrity sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-spread@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz#6487fd29f229c95e284ba6c98d65eafb893fea6b" + integrity sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + +"@babel/plugin-transform-sticky-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz#295aba1595bfc8197abd02eae5fc288c0deb26aa" + integrity sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-template-literals@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz#8f38cf291e5f7a8e60e9f733193f0bcc10909bff" + integrity sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-typeof-symbol@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz#5e2ba478da4b603af8673ff7c54f75a97b716b34" + integrity sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-escapes@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz#ce0c248522b1cb22c7c992d88301a5ead70e806c" + integrity sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-property-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz#098898f74d5c1e86660dc112057b2d11227f1c81" + integrity sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz#ce7e7bb3ef208c4ff67e02a22816656256d7a183" + integrity sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/plugin-transform-unicode-sets-regex@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz#77788060e511b708ffc7d42fdfbc5b37c3004e91" + integrity sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + +"@babel/preset-env@^7.12.16": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.22.5.tgz#3da66078b181f3d62512c51cf7014392c511504e" + integrity sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A== + dependencies: + "@babel/compat-data" "^7.22.5" + "@babel/helper-compilation-targets" "^7.22.5" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/helper-validator-option" "^7.22.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.22.5" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.22.5" + "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-import-assertions" "^7.22.5" + "@babel/plugin-syntax-import-attributes" "^7.22.5" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" + "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" + "@babel/plugin-transform-arrow-functions" "^7.22.5" + "@babel/plugin-transform-async-generator-functions" "^7.22.5" + "@babel/plugin-transform-async-to-generator" "^7.22.5" + "@babel/plugin-transform-block-scoped-functions" "^7.22.5" + "@babel/plugin-transform-block-scoping" "^7.22.5" + "@babel/plugin-transform-class-properties" "^7.22.5" + "@babel/plugin-transform-class-static-block" "^7.22.5" + "@babel/plugin-transform-classes" "^7.22.5" + "@babel/plugin-transform-computed-properties" "^7.22.5" + "@babel/plugin-transform-destructuring" "^7.22.5" + "@babel/plugin-transform-dotall-regex" "^7.22.5" + "@babel/plugin-transform-duplicate-keys" "^7.22.5" + "@babel/plugin-transform-dynamic-import" "^7.22.5" + "@babel/plugin-transform-exponentiation-operator" "^7.22.5" + "@babel/plugin-transform-export-namespace-from" "^7.22.5" + "@babel/plugin-transform-for-of" "^7.22.5" + "@babel/plugin-transform-function-name" "^7.22.5" + "@babel/plugin-transform-json-strings" "^7.22.5" + "@babel/plugin-transform-literals" "^7.22.5" + "@babel/plugin-transform-logical-assignment-operators" "^7.22.5" + "@babel/plugin-transform-member-expression-literals" "^7.22.5" + "@babel/plugin-transform-modules-amd" "^7.22.5" + "@babel/plugin-transform-modules-commonjs" "^7.22.5" + "@babel/plugin-transform-modules-systemjs" "^7.22.5" + "@babel/plugin-transform-modules-umd" "^7.22.5" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5" + "@babel/plugin-transform-new-target" "^7.22.5" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.22.5" + "@babel/plugin-transform-numeric-separator" "^7.22.5" + "@babel/plugin-transform-object-rest-spread" "^7.22.5" + "@babel/plugin-transform-object-super" "^7.22.5" + "@babel/plugin-transform-optional-catch-binding" "^7.22.5" + "@babel/plugin-transform-optional-chaining" "^7.22.5" + "@babel/plugin-transform-parameters" "^7.22.5" + "@babel/plugin-transform-private-methods" "^7.22.5" + "@babel/plugin-transform-private-property-in-object" "^7.22.5" + "@babel/plugin-transform-property-literals" "^7.22.5" + "@babel/plugin-transform-regenerator" "^7.22.5" + "@babel/plugin-transform-reserved-words" "^7.22.5" + "@babel/plugin-transform-shorthand-properties" "^7.22.5" + "@babel/plugin-transform-spread" "^7.22.5" + "@babel/plugin-transform-sticky-regex" "^7.22.5" + "@babel/plugin-transform-template-literals" "^7.22.5" + "@babel/plugin-transform-typeof-symbol" "^7.22.5" + "@babel/plugin-transform-unicode-escapes" "^7.22.5" + "@babel/plugin-transform-unicode-property-regex" "^7.22.5" + "@babel/plugin-transform-unicode-regex" "^7.22.5" + "@babel/plugin-transform-unicode-sets-regex" "^7.22.5" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.22.5" + babel-plugin-polyfill-corejs2 "^0.4.3" + babel-plugin-polyfill-corejs3 "^0.8.1" + babel-plugin-polyfill-regenerator "^0.5.0" + core-js-compat "^3.30.2" + semver "^6.3.0" + +"@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" + "@babel/plugin-transform-dotall-regex" "^7.4.4" + "@babel/types" "^7.4.4" + esutils "^2.0.2" + +"@babel/regjsgen@^0.8.0": + version "0.8.0" + resolved "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" + integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== + +"@babel/runtime@^7.12.13", "@babel/runtime@^7.8.4": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.22.5.tgz#8564dd588182ce0047d55d7a75e93921107b57ec" + integrity sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA== + dependencies: + regenerator-runtime "^0.13.11" + +"@babel/template@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec" + integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== + dependencies: + "@babel/code-frame" "^7.22.5" + "@babel/parser" "^7.22.5" + "@babel/types" "^7.22.5" + +"@babel/traverse@^7.22.5": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.22.5.tgz#44bd276690db6f4940fdb84e1cb4abd2f729ccd1" + integrity sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ== + dependencies: + "@babel/code-frame" "^7.22.5" + "@babel/generator" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.5" + "@babel/helper-function-name" "^7.22.5" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.5" + "@babel/parser" "^7.22.5" + "@babel/types" "^7.22.5" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.22.5", "@babel/types@^7.4.4": + version "7.22.5" + resolved "https://registry.npmmirror.com/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe" + integrity sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA== + dependencies: + "@babel/helper-string-parser" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.5" + to-fast-properties "^2.0.0" + +"@discoveryjs/json-ext@0.5.7": + version "0.5.7" + resolved "https://registry.npmmirror.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" + integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== + +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.npmmirror.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^13.9.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + +"@hapi/hoek@^9.0.0": + version "9.3.0" + resolved "https://registry.npmmirror.com/@hapi/hoek/-/hoek-9.3.0.tgz#8368869dcb735be2e7f5cb7647de78e167a251fb" + integrity sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ== + +"@hapi/topo@^5.0.0": + version "5.1.0" + resolved "https://registry.npmmirror.com/@hapi/topo/-/topo-5.1.0.tgz#dc448e332c6c6e37a4dc02fd84ba8d44b9afb012" + integrity sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + +"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.3": + version "0.3.4" + resolved "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.4.tgz#856a142864530d4059dda415659b48d37db2d556" + integrity sha512-KE/SxsDqNs3rrWwFHcRh15ZLVFrI0YoZtgAdIyIq9k5hUNmiWRXXThPomIxHuL20sLdgzbDFyvkUMna14bvtrw== + +"@jridgewell/sourcemap-codec@1.4.14": + version "1.4.14" + resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.15" + resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.18" + resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" + integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + +"@leichtgewicht/ip-codec@^2.0.1": + version "2.0.4" + resolved "https://registry.npmmirror.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b" + integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== + +"@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": + version "5.1.1-v1" + resolved "https://registry.npmmirror.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" + integrity sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg== + dependencies: + eslint-scope "5.1.1" + +"@node-ipc/js-queue@2.0.3": + version "2.0.3" + resolved "https://registry.npmmirror.com/@node-ipc/js-queue/-/js-queue-2.0.3.tgz#ac7fe33d766fa53e233ef8fedaf3443a01c5a4cd" + integrity sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw== + dependencies: + easy-stack "1.0.1" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.npmmirror.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@polka/url@^1.0.0-next.20": + version "1.0.0-next.21" + resolved "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" + integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== + +"@sideway/address@^4.1.3": + version "4.1.4" + resolved "https://registry.npmmirror.com/@sideway/address/-/address-4.1.4.tgz#03dccebc6ea47fdc226f7d3d1ad512955d4783f0" + integrity sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw== + dependencies: + "@hapi/hoek" "^9.0.0" + +"@sideway/formula@^3.0.1": + version "3.0.1" + resolved "https://registry.npmmirror.com/@sideway/formula/-/formula-3.0.1.tgz#80fcbcbaf7ce031e0ef2dd29b1bfc7c3f583611f" + integrity sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg== + +"@sideway/pinpoint@^2.0.0": + version "2.0.0" + resolved "https://registry.npmmirror.com/@sideway/pinpoint/-/pinpoint-2.0.0.tgz#cff8ffadc372ad29fd3f78277aeb29e632cc70df" + integrity sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ== + +"@soda/friendly-errors-webpack-plugin@^1.8.0": + version "1.8.1" + resolved "https://registry.npmmirror.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz#4d4fbb1108993aaa362116247c3d18188a2c6c85" + integrity sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg== + dependencies: + chalk "^3.0.0" + error-stack-parser "^2.0.6" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +"@soda/get-current-script@^1.0.2": + version "1.0.2" + resolved "https://registry.npmmirror.com/@soda/get-current-script/-/get-current-script-1.0.2.tgz#a53515db25d8038374381b73af20bb4f2e508d87" + integrity sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w== + +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + +"@types/body-parser@*": + version "1.19.2" + resolved "https://registry.npmmirror.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.10" + resolved "https://registry.npmmirror.com/@types/bonjour/-/bonjour-3.5.10.tgz#0f6aadfe00ea414edc86f5d106357cda9701e275" + integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== + dependencies: + "@types/node" "*" + +"@types/connect-history-api-fallback@^1.3.5": + version "1.5.0" + resolved "https://registry.npmmirror.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#9fd20b3974bdc2bcd4ac6567e2e0f6885cb2cf41" + integrity sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.npmmirror.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.4" + resolved "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" + integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*", "@types/eslint@^7.29.0 || ^8.4.1": + version "8.40.2" + resolved "https://registry.npmmirror.com/@types/eslint/-/eslint-8.40.2.tgz#2833bc112d809677864a4b0e7d1de4f04d7dac2d" + integrity sha512-PRVjQ4Eh9z9pmmtaq8nTjZjQwKFk7YIHIud3lRoKRBgUQjgjRmoGxxGEPXQkF+lH7QkHJRNr5F4aBgYCW0lqpQ== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.0": + version "1.0.1" + resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" + integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== + +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": + version "4.17.35" + resolved "https://registry.npmmirror.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz#c95dd4424f0d32e525d23812aa8ab8e4d3906c4f" + integrity sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*", "@types/express@^4.17.13": + version "4.17.17" + resolved "https://registry.npmmirror.com/@types/express/-/express-4.17.17.tgz#01d5437f6ef9cfa8668e616e13c2f2ac9a491ae4" + integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.33" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/html-minifier-terser@^6.0.0": + version "6.1.0" + resolved "https://registry.npmmirror.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35" + integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg== + +"@types/http-errors@*": + version "2.0.1" + resolved "https://registry.npmmirror.com/@types/http-errors/-/http-errors-2.0.1.tgz#20172f9578b225f6c7da63446f56d4ce108d5a65" + integrity sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ== + +"@types/http-proxy@^1.17.8": + version "1.17.11" + resolved "https://registry.npmmirror.com/@types/http-proxy/-/http-proxy-1.17.11.tgz#0ca21949a5588d55ac2b659b69035c84bd5da293" + integrity sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA== + dependencies: + "@types/node" "*" + +"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": + version "7.0.12" + resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" + integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== + +"@types/mime@*": + version "3.0.1" + resolved "https://registry.npmmirror.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" + integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== + +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.npmmirror.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + +"@types/minimist@^1.2.0": + version "1.2.2" + resolved "https://registry.npmmirror.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" + integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== + +"@types/node@*": + version "20.3.3" + resolved "https://registry.npmmirror.com/@types/node/-/node-20.3.3.tgz#329842940042d2b280897150e023e604d11657d6" + integrity sha512-wheIYdr4NYML61AjC8MKj/2jrR/kDQri/CIpVoZwldwhnIrD/j9jIU5bJ8yBKuB2VhpFV7Ab6G2XkBjv9r9Zzw== + +"@types/normalize-package-data@^2.4.0": + version "2.4.1" + resolved "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== + +"@types/parse-json@^4.0.0": + version "4.0.0" + resolved "https://registry.npmmirror.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" + integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + +"@types/qs@*": + version "6.9.7" + resolved "https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.npmmirror.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + +"@types/retry@0.12.0": + version "0.12.0" + resolved "https://registry.npmmirror.com/@types/retry/-/retry-0.12.0.tgz#2b35eccfcee7d38cd72ad99232fbd58bffb3c84d" + integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== + +"@types/send@*": + version "0.17.1" + resolved "https://registry.npmmirror.com/@types/send/-/send-0.17.1.tgz#ed4932b8a2a805f1fe362a70f4e62d0ac994e301" + integrity sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/serve-index@^1.9.1": + version "1.9.1" + resolved "https://registry.npmmirror.com/@types/serve-index/-/serve-index-1.9.1.tgz#1b5e85370a192c01ec6cec4735cf2917337a6278" + integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== + dependencies: + "@types/express" "*" + +"@types/serve-static@*", "@types/serve-static@^1.13.10": + version "1.15.2" + resolved "https://registry.npmmirror.com/@types/serve-static/-/serve-static-1.15.2.tgz#3e5419ecd1e40e7405d34093f10befb43f63381a" + integrity sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw== + dependencies: + "@types/http-errors" "*" + "@types/mime" "*" + "@types/node" "*" + +"@types/sockjs@^0.3.33": + version "0.3.33" + resolved "https://registry.npmmirror.com/@types/sockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" + integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== + dependencies: + "@types/node" "*" + +"@types/ws@^8.5.5": + version "8.5.5" + resolved "https://registry.npmmirror.com/@types/ws/-/ws-8.5.5.tgz#af587964aa06682702ee6dcbc7be41a80e4b28eb" + integrity sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg== + dependencies: + "@types/node" "*" + +"@vue/babel-helper-vue-jsx-merge-props@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz#8d53a1e21347db8edbe54d339902583176de09f2" + integrity sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA== + +"@vue/babel-helper-vue-transform-on@^1.1.5": + version "1.1.5" + resolved "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.1.5.tgz#a976486b21e108e545524fe41ffe3fc9bbc28c7f" + integrity sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w== + +"@vue/babel-plugin-jsx@^1.0.3": + version "1.1.5" + resolved "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.5.tgz#5088bae7dbb83531d94df3742ff650c12fd54973" + integrity sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g== + dependencies: + "@babel/helper-module-imports" "^7.22.5" + "@babel/plugin-syntax-jsx" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.5" + "@babel/types" "^7.22.5" + "@vue/babel-helper-vue-transform-on" "^1.1.5" + camelcase "^6.3.0" + html-tags "^3.3.1" + svg-tags "^1.0.0" + +"@vue/babel-plugin-transform-vue-jsx@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz#4d4b3d46a39ea62b7467dd6e26ce47f7ceafb2fe" + integrity sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA== + dependencies: + "@babel/helper-module-imports" "^7.0.0" + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0" + html-tags "^2.0.0" + lodash.kebabcase "^4.1.1" + svg-tags "^1.0.0" + +"@vue/babel-preset-app@^5.0.8": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/babel-preset-app/-/babel-preset-app-5.0.8.tgz#ce38f76314f5265d62a89756ef264c21f1d351a1" + integrity sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg== + dependencies: + "@babel/core" "^7.12.16" + "@babel/helper-compilation-targets" "^7.12.16" + "@babel/helper-module-imports" "^7.12.13" + "@babel/plugin-proposal-class-properties" "^7.12.13" + "@babel/plugin-proposal-decorators" "^7.12.13" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-syntax-jsx" "^7.12.13" + "@babel/plugin-transform-runtime" "^7.12.15" + "@babel/preset-env" "^7.12.16" + "@babel/runtime" "^7.12.13" + "@vue/babel-plugin-jsx" "^1.0.3" + "@vue/babel-preset-jsx" "^1.1.2" + babel-plugin-dynamic-import-node "^2.3.3" + core-js "^3.8.3" + core-js-compat "^3.8.3" + semver "^7.3.4" + +"@vue/babel-preset-jsx@^1.1.2": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz#f4914ba314235ab097bc4372ed67473c0780bfcc" + integrity sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA== + dependencies: + "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.4.0" + "@vue/babel-sugar-composition-api-inject-h" "^1.4.0" + "@vue/babel-sugar-composition-api-render-instance" "^1.4.0" + "@vue/babel-sugar-functional-vue" "^1.4.0" + "@vue/babel-sugar-inject-h" "^1.4.0" + "@vue/babel-sugar-v-model" "^1.4.0" + "@vue/babel-sugar-v-on" "^1.4.0" + +"@vue/babel-sugar-composition-api-inject-h@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz#187e1389f8871d89ece743bb50aed713be9d6c85" + integrity sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-composition-api-render-instance@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz#2c1607ae6dffdab47e785bc01fa45ba756e992c1" + integrity sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-functional-vue@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz#60da31068567082287c7337c66ef4df04e0a1029" + integrity sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-inject-h@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz#bf39aa6631fb1d0399b1c49b4c59e1c8899b4363" + integrity sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + +"@vue/babel-sugar-v-model@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz#a51d986609f430c4f70ada3a93cc560a2970f720" + integrity sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.4.0" + camelcase "^5.0.0" + html-tags "^2.0.0" + svg-tags "^1.0.0" + +"@vue/babel-sugar-v-on@^1.4.0": + version "1.4.0" + resolved "https://registry.npmmirror.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz#43b7106a9672d8cbeefc0eb8afe1d376edc6166e" + integrity sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA== + dependencies: + "@babel/plugin-syntax-jsx" "^7.2.0" + "@vue/babel-plugin-transform-vue-jsx" "^1.4.0" + camelcase "^5.0.0" + +"@vue/cli-overlay@^5.0.8": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-overlay/-/cli-overlay-5.0.8.tgz#b61477acdc43bbd42fce6326d228471201ecdcdd" + integrity sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ== + +"@vue/cli-plugin-babel@~5.0.0": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz#54f9a07900f29baff54803dcfa916c602894feb7" + integrity sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ== + dependencies: + "@babel/core" "^7.12.16" + "@vue/babel-preset-app" "^5.0.8" + "@vue/cli-shared-utils" "^5.0.8" + babel-loader "^8.2.2" + thread-loader "^3.0.0" + webpack "^5.54.0" + +"@vue/cli-plugin-eslint@~5.0.0": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz#754939265c2c5b746fa36c7d7705a89138e193bf" + integrity sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg== + dependencies: + "@vue/cli-shared-utils" "^5.0.8" + eslint-webpack-plugin "^3.1.0" + globby "^11.0.2" + webpack "^5.54.0" + yorkie "^2.0.0" + +"@vue/cli-plugin-router@^5.0.8": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz#a113ec626f3d4216d20496c42d35533bce9e889f" + integrity sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg== + dependencies: + "@vue/cli-shared-utils" "^5.0.8" + +"@vue/cli-plugin-vuex@^5.0.8": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz#0d4cb3020f9102bea9288d750729dde176c66ccd" + integrity sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA== + +"@vue/cli-service@~5.0.0": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-service/-/cli-service-5.0.8.tgz#cf3f6f1b7bf0fba9cdab86b6bec4f9897f982dac" + integrity sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw== + dependencies: + "@babel/helper-compilation-targets" "^7.12.16" + "@soda/friendly-errors-webpack-plugin" "^1.8.0" + "@soda/get-current-script" "^1.0.2" + "@types/minimist" "^1.2.0" + "@vue/cli-overlay" "^5.0.8" + "@vue/cli-plugin-router" "^5.0.8" + "@vue/cli-plugin-vuex" "^5.0.8" + "@vue/cli-shared-utils" "^5.0.8" + "@vue/component-compiler-utils" "^3.3.0" + "@vue/vue-loader-v15" "npm:vue-loader@^15.9.7" + "@vue/web-component-wrapper" "^1.3.0" + acorn "^8.0.5" + acorn-walk "^8.0.2" + address "^1.1.2" + autoprefixer "^10.2.4" + browserslist "^4.16.3" + case-sensitive-paths-webpack-plugin "^2.3.0" + cli-highlight "^2.1.10" + clipboardy "^2.3.0" + cliui "^7.0.4" + copy-webpack-plugin "^9.0.1" + css-loader "^6.5.0" + css-minimizer-webpack-plugin "^3.0.2" + cssnano "^5.0.0" + debug "^4.1.1" + default-gateway "^6.0.3" + dotenv "^10.0.0" + dotenv-expand "^5.1.0" + fs-extra "^9.1.0" + globby "^11.0.2" + hash-sum "^2.0.0" + html-webpack-plugin "^5.1.0" + is-file-esm "^1.0.0" + launch-editor-middleware "^2.2.1" + lodash.defaultsdeep "^4.6.1" + lodash.mapvalues "^4.6.0" + mini-css-extract-plugin "^2.5.3" + minimist "^1.2.5" + module-alias "^2.2.2" + portfinder "^1.0.26" + postcss "^8.2.6" + postcss-loader "^6.1.1" + progress-webpack-plugin "^1.0.12" + ssri "^8.0.1" + terser-webpack-plugin "^5.1.1" + thread-loader "^3.0.0" + vue-loader "^17.0.0" + vue-style-loader "^4.1.3" + webpack "^5.54.0" + webpack-bundle-analyzer "^4.4.0" + webpack-chain "^6.5.1" + webpack-dev-server "^4.7.3" + webpack-merge "^5.7.3" + webpack-virtual-modules "^0.4.2" + whatwg-fetch "^3.6.2" + +"@vue/cli-shared-utils@^5.0.8": + version "5.0.8" + resolved "https://registry.npmmirror.com/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz#75fc96528eba2b1c7e33cb7e989a984ddef99c8a" + integrity sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ== + dependencies: + "@achrinza/node-ipc" "^9.2.5" + chalk "^4.1.2" + execa "^1.0.0" + joi "^17.4.0" + launch-editor "^2.2.1" + lru-cache "^6.0.0" + node-fetch "^2.6.7" + open "^8.0.2" + ora "^5.3.0" + read-pkg "^5.1.1" + semver "^7.3.4" + strip-ansi "^6.0.0" + +"@vue/compiler-sfc@2.7.14": + version "2.7.14" + resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz#3446fd2fbb670d709277fc3ffa88efc5e10284fd" + integrity sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA== + dependencies: + "@babel/parser" "^7.18.4" + postcss "^8.4.14" + source-map "^0.6.1" + +"@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.3.0": + version "3.3.0" + resolved "https://registry.npmmirror.com/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz#f9f5fb53464b0c37b2c8d2f3fbfe44df60f61dc9" + integrity sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ== + dependencies: + 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" + source-map "~0.6.1" + vue-template-es2015-compiler "^1.9.0" + optionalDependencies: + prettier "^1.18.2 || ^2.0.0" + +"@vue/devtools-api@^6.5.0": + version "6.5.0" + resolved "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.5.0.tgz#98b99425edee70b4c992692628fa1ea2c1e57d07" + integrity sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q== + +"@vue/vue-loader-v15@npm:vue-loader@^15.9.7": + version "15.10.1" + resolved "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.10.1.tgz#c451c4cd05a911aae7b5dbbbc09fb913fb3cca18" + integrity sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA== + dependencies: + "@vue/component-compiler-utils" "^3.1.0" + hash-sum "^1.0.2" + loader-utils "^1.1.0" + vue-hot-reload-api "^2.3.0" + vue-style-loader "^4.1.0" + +"@vue/web-component-wrapper@^1.3.0": + version "1.3.0" + resolved "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz#b6b40a7625429d2bd7c2281ddba601ed05dc7f1a" + integrity sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA== + +"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: + version "1.3.8" + resolved "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== + dependencies: + mime-types "~2.1.34" + negotiator "0.6.3" + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.npmmirror.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.0.0, acorn-walk@^8.0.2: + version "8.2.0" + resolved "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== + +acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + +acorn@^8.0.4, acorn@^8.0.5, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.9.0" + resolved "https://registry.npmmirror.com/acorn/-/acorn-8.9.0.tgz#78a16e3b2bcc198c10822786fa6679e245db5b59" + integrity sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ== + +address@^1.1.2: + version "1.2.2" + resolved "https://registry.npmmirror.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e" + integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA== + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv-keywords@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" + integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== + dependencies: + fast-deep-equal "^3.1.3" + +ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: + version "6.12.6" + resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0, ajv@^8.0.1, ajv@^8.9.0: + version "8.12.0" + resolved "https://registry.npmmirror.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-colors@^4.1.1: + version "4.1.3" + resolved "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" + integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== + +ansi-escapes@^3.0.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" + integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== + +ansi-html-community@^0.0.8: + version "0.0.8" + resolved "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + +ansi-regex@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" + integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + dependencies: + color-convert "^1.9.0" + +ansi-styles@^4.0.0, ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arch@^2.1.1: + version "2.2.0" + resolved "https://registry.npmmirror.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11" + integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ== + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== + +array-flatten@^2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" + integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + +async-validator@~1.8.1: + version "1.8.5" + resolved "https://registry.npmmirror.com/async-validator/-/async-validator-1.8.5.tgz#dc3e08ec1fd0dddb67e60842f02c0cd1cec6d7f0" + integrity sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA== + dependencies: + babel-runtime "6.x" + +async@^2.6.4: + version "2.6.4" + resolved "https://registry.npmmirror.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" + integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== + dependencies: + lodash "^4.17.14" + +at-least-node@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + +autoprefixer@^10.2.4: + version "10.4.14" + resolved "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.14.tgz#e28d49902f8e759dd25b153264e862df2705f79d" + integrity sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ== + dependencies: + browserslist "^4.21.5" + caniuse-lite "^1.0.30001464" + fraction.js "^4.2.0" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +axios@0.24.0: + version "0.24.0" + resolved "https://registry.npmmirror.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6" + integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA== + dependencies: + follow-redirects "^1.14.4" + +babel-helper-vue-jsx-merge-props@^2.0.0: + version "2.0.3" + resolved "https://registry.npmmirror.com/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz#22aebd3b33902328e513293a8e4992b384f9f1b6" + integrity sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg== + +babel-loader@^8.2.2: + version "8.3.0" + resolved "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8" + integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q== + dependencies: + find-cache-dir "^3.3.1" + loader-utils "^2.0.0" + make-dir "^3.1.0" + schema-utils "^2.6.5" + +babel-plugin-dynamic-import-node@^2.3.3: + version "2.3.3" + resolved "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + dependencies: + object.assign "^4.1.0" + +babel-plugin-polyfill-corejs2@^0.4.3: + version "0.4.3" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz#75044d90ba5043a5fb559ac98496f62f3eb668fd" + integrity sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw== + dependencies: + "@babel/compat-data" "^7.17.7" + "@babel/helper-define-polyfill-provider" "^0.4.0" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.8.1: + version "0.8.1" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz#39248263c38191f0d226f928d666e6db1b4b3a8a" + integrity sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.0" + core-js-compat "^3.30.1" + +babel-plugin-polyfill-regenerator@^0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz#e7344d88d9ef18a3c47ded99362ae4a757609380" + integrity sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.4.0" + +babel-runtime@6.x: + version "6.26.0" + resolved "https://registry.npmmirror.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g== + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw== + +big.js@^5.2.2: + version "5.2.2" + resolved "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" + integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +bl@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +bluebird@^3.1.1: + version "3.7.2" + resolved "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +body-parser@1.20.1: + version "1.20.1" + resolved "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" + integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== + dependencies: + bytes "3.1.2" + content-type "~1.0.4" + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + http-errors "2.0.0" + iconv-lite "0.4.24" + on-finished "2.4.1" + qs "6.11.0" + raw-body "2.5.1" + type-is "~1.6.18" + unpipe "1.0.0" + +bonjour-service@^1.0.11: + version "1.1.1" + resolved "https://registry.npmmirror.com/bonjour-service/-/bonjour-service-1.1.1.tgz#960948fa0e0153f5d26743ab15baf8e33752c135" + integrity sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg== + dependencies: + array-flatten "^2.1.2" + dns-equal "^1.0.0" + fast-deep-equal "^3.1.3" + multicast-dns "^7.2.5" + +boolbase@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.0.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^4.21.3, browserslist@^4.21.4, browserslist@^4.21.5: + version "4.21.9" + resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.21.9.tgz#e11bdd3c313d7e2a9e87e8b4b0c7872b13897635" + integrity sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg== + dependencies: + caniuse-lite "^1.0.30001503" + electron-to-chromium "^1.4.431" + node-releases "^2.0.12" + update-browserslist-db "^1.0.11" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw== + +bytes@3.1.2: + version "3.1.2" + resolved "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== + +call-bind@^1.0.0, call-bind@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + dependencies: + function-bind "^1.1.1" + get-intrinsic "^1.0.2" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +camel-case@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + dependencies: + pascal-case "^3.1.2" + tslib "^2.0.3" + +camelcase@^5.0.0: + version "5.3.1" + resolved "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + +camelcase@^6.3.0: + version "6.3.0" + resolved "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + +caniuse-api@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" + integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== + dependencies: + browserslist "^4.0.0" + caniuse-lite "^1.0.0" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001503: + version "1.0.30001511" + resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001511.tgz#e6e2a1614275c6fb8e3acfd74a8c3a70e53ed233" + integrity sha512-NaWPJawcoedlghN4P7bDNeADD7K+rZaY6V8ZcME7PkEZo/nfOg+lnrUgRWiKbNxcQ4/toFKSxnS4WdbyPZnKkw== + +case-sensitive-paths-webpack-plugin@^2.3.0: + version "2.4.0" + resolved "https://registry.npmmirror.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" + integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw== + +chalk@^2.0.0, chalk@^2.1.0: + version "2.4.2" + resolved "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +chalk@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" + integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.npmmirror.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== + +clean-css@^5.2.2: + version "5.3.2" + resolved "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.2.tgz#70ecc7d4d4114921f5d298349ff86a31a9975224" + integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww== + dependencies: + source-map "~0.6.0" + +cli-cursor@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw== + dependencies: + restore-cursor "^2.0.0" + +cli-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + dependencies: + restore-cursor "^3.1.0" + +cli-highlight@^2.1.10: + version "2.1.11" + resolved "https://registry.npmmirror.com/cli-highlight/-/cli-highlight-2.1.11.tgz#49736fa452f0aaf4fae580e30acb26828d2dc1bf" + integrity sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg== + dependencies: + chalk "^4.0.0" + highlight.js "^10.7.1" + mz "^2.4.0" + parse5 "^5.1.1" + parse5-htmlparser2-tree-adapter "^6.0.0" + yargs "^16.0.0" + +cli-spinners@^2.5.0: + version "2.9.0" + resolved "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.0.tgz#5881d0ad96381e117bbe07ad91f2008fe6ffd8db" + integrity sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g== + +clipboardy@^2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/clipboardy/-/clipboardy-2.3.0.tgz#3c2903650c68e46a91b388985bc2774287dba290" + integrity sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ== + dependencies: + arch "^2.1.1" + execa "^1.0.0" + is-wsl "^2.1.1" + +cliui@^7.0.2, cliui@^7.0.4: + version "7.0.4" + resolved "https://registry.npmmirror.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^7.0.0" + +clone-deep@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" + integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== + dependencies: + is-plain-object "^2.0.4" + kind-of "^6.0.2" + shallow-clone "^3.0.0" + +clone@^1.0.2: + version "1.0.4" + resolved "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== + +color-convert@^1.9.0: + version "1.9.3" + resolved "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + dependencies: + color-name "1.1.3" + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +colord@^2.9.1: + version "2.9.3" + resolved "https://registry.npmmirror.com/colord/-/colord-2.9.3.tgz#4f8ce919de456f1d5c1c368c307fe20f3e59fb43" + integrity sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw== + +colorette@^2.0.10: + version "2.0.20" + resolved "https://registry.npmmirror.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + +commander@^8.3.0: + version "8.3.0" + resolved "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + +compressible@~2.0.16: + version "2.0.18" + resolved "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" + integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + dependencies: + mime-db ">= 1.43.0 < 2" + +compression@^1.7.4: + version "1.7.4" + resolved "https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" + integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + dependencies: + accepts "~1.3.5" + bytes "3.0.0" + compressible "~2.0.16" + debug "2.6.9" + on-headers "~1.0.2" + safe-buffer "5.1.2" + vary "~1.1.2" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +connect-history-api-fallback@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz#647264845251a0daf25b97ce87834cace0f5f1c8" + integrity sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA== + +consolidate@^0.15.1: + version "0.15.1" + resolved "https://registry.npmmirror.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7" + integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw== + dependencies: + bluebird "^3.1.1" + +content-disposition@0.5.4: + version "0.5.4" + resolved "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== + dependencies: + safe-buffer "5.2.1" + +content-type@~1.0.4: + version "1.0.5" + resolved "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" + integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== + +convert-source-map@^1.7.0: + version "1.9.0" + resolved "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" + integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== + +cookie@0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== + +copy-anything@^2.0.1: + version "2.0.6" + resolved "https://registry.npmmirror.com/copy-anything/-/copy-anything-2.0.6.tgz#092454ea9584a7b7ad5573062b2a87f5900fc480" + integrity sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw== + dependencies: + is-what "^3.14.1" + +copy-webpack-plugin@^9.0.1: + version "9.1.0" + resolved "https://registry.npmmirror.com/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz#2d2c460c4c4695ec0a58afb2801a1205256c4e6b" + integrity sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA== + dependencies: + fast-glob "^3.2.7" + glob-parent "^6.0.1" + globby "^11.0.3" + normalize-path "^3.0.0" + schema-utils "^3.1.1" + serialize-javascript "^6.0.0" + +core-js-compat@^3.30.1, core-js-compat@^3.30.2, core-js-compat@^3.8.3: + version "3.31.0" + resolved "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.31.0.tgz#4030847c0766cc0e803dcdfb30055d7ef2064bf1" + integrity sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw== + dependencies: + browserslist "^4.21.5" + +core-js@^2.4.0: + version "2.6.12" + resolved "https://registry.npmmirror.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + +core-js@^3.8.3: + version "3.31.0" + resolved "https://registry.npmmirror.com/core-js/-/core-js-3.31.0.tgz#4471dd33e366c79d8c0977ed2d940821719db344" + integrity sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ== + +core-util-is@~1.0.0: + version "1.0.3" + resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== + +cosmiconfig@^7.0.0: + version "7.1.0" + resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6" + integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA== + dependencies: + "@types/parse-json" "^4.0.0" + import-fresh "^3.2.1" + parse-json "^5.0.0" + path-type "^4.0.0" + yaml "^1.10.0" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^6.0.0: + version "6.0.5" + resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + dependencies: + nice-try "^1.0.4" + path-key "^2.0.1" + semver "^5.5.0" + shebang-command "^1.2.0" + which "^1.2.9" + +cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +css-declaration-sorter@^6.3.1: + version "6.4.0" + resolved "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz#630618adc21724484b3e9505bce812def44000ad" + integrity sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew== + +css-loader@^6.5.0: + version "6.8.1" + resolved "https://registry.npmmirror.com/css-loader/-/css-loader-6.8.1.tgz#0f8f52699f60f5e679eab4ec0fcd68b8e8a50a88" + integrity sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g== + dependencies: + icss-utils "^5.1.0" + postcss "^8.4.21" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.3" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" + postcss-value-parser "^4.2.0" + semver "^7.3.8" + +css-minimizer-webpack-plugin@^3.0.2: + version "3.4.1" + resolved "https://registry.npmmirror.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz#ab78f781ced9181992fe7b6e4f3422e76429878f" + integrity sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q== + dependencies: + cssnano "^5.0.6" + jest-worker "^27.0.2" + postcss "^8.3.5" + schema-utils "^4.0.0" + serialize-javascript "^6.0.0" + source-map "^0.6.1" + +css-select@^4.1.3: + version "4.3.0" + resolved "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b" + integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ== + dependencies: + boolbase "^1.0.0" + css-what "^6.0.1" + domhandler "^4.3.1" + domutils "^2.8.0" + nth-check "^2.0.1" + +css-tree@^1.1.2, css-tree@^1.1.3: + version "1.1.3" + resolved "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== + dependencies: + mdn-data "2.0.14" + source-map "^0.6.1" + +css-what@^6.0.1: + version "6.1.0" + resolved "https://registry.npmmirror.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +cssnano-preset-default@^5.2.14: + version "5.2.14" + resolved "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz#309def4f7b7e16d71ab2438052093330d9ab45d8" + integrity sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A== + dependencies: + css-declaration-sorter "^6.3.1" + cssnano-utils "^3.1.0" + postcss-calc "^8.2.3" + postcss-colormin "^5.3.1" + postcss-convert-values "^5.1.3" + postcss-discard-comments "^5.1.2" + postcss-discard-duplicates "^5.1.0" + postcss-discard-empty "^5.1.1" + postcss-discard-overridden "^5.1.0" + postcss-merge-longhand "^5.1.7" + postcss-merge-rules "^5.1.4" + postcss-minify-font-values "^5.1.0" + postcss-minify-gradients "^5.1.1" + postcss-minify-params "^5.1.4" + postcss-minify-selectors "^5.2.1" + postcss-normalize-charset "^5.1.0" + postcss-normalize-display-values "^5.1.0" + postcss-normalize-positions "^5.1.1" + postcss-normalize-repeat-style "^5.1.1" + postcss-normalize-string "^5.1.0" + postcss-normalize-timing-functions "^5.1.0" + postcss-normalize-unicode "^5.1.1" + postcss-normalize-url "^5.1.0" + postcss-normalize-whitespace "^5.1.1" + postcss-ordered-values "^5.1.3" + postcss-reduce-initial "^5.1.2" + postcss-reduce-transforms "^5.1.0" + postcss-svgo "^5.1.0" + postcss-unique-selectors "^5.1.1" + +cssnano-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/cssnano-utils/-/cssnano-utils-3.1.0.tgz#95684d08c91511edfc70d2636338ca37ef3a6861" + integrity sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA== + +cssnano@^5.0.0, cssnano@^5.0.6: + version "5.1.15" + resolved "https://registry.npmmirror.com/cssnano/-/cssnano-5.1.15.tgz#ded66b5480d5127fcb44dac12ea5a983755136bf" + integrity sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw== + dependencies: + cssnano-preset-default "^5.2.14" + lilconfig "^2.0.3" + yaml "^1.10.2" + +csso@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== + dependencies: + css-tree "^1.1.2" + +csstype@^3.1.0: + version "3.1.2" + resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + +dayjs@^1.11.9: + version "1.11.9" + resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.9.tgz#9ca491933fadd0a60a2c19f6c237c03517d71d1a" + integrity sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA== + +de-indent@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" + integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + +debug@^3.2.6, debug@^3.2.7: + version "3.2.7" + resolved "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + dependencies: + ms "^2.1.1" + +debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2: + version "4.3.4" + resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +deep-is@^0.1.3: + version "0.1.4" + resolved "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== + +deepmerge@^1.2.0, deepmerge@^1.5.2: + version "1.5.2" + resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753" + integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ== + +default-gateway@^6.0.3: + version "6.0.3" + resolved "https://registry.npmmirror.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" + integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== + dependencies: + execa "^5.0.0" + +defaults@^1.0.3: + version "1.0.4" + resolved "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" + integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== + dependencies: + clone "^1.0.2" + +define-lazy-prop@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz#3f7ae421129bcaaac9bc74905c98a0009ec9ee7f" + integrity sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og== + +define-properties@^1.1.4: + version "1.2.0" + resolved "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" + integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== + dependencies: + has-property-descriptors "^1.0.0" + object-keys "^1.1.1" + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== + +destroy@1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== + +detect-node@^2.0.4: + version "2.1.0" + resolved "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dns-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" + integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg== + +dns-packet@^5.2.2: + version "5.6.0" + resolved "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.0.tgz#2202c947845c7a63c23ece58f2f70ff6ab4c2f7d" + integrity sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ== + dependencies: + "@leichtgewicht/ip-codec" "^2.0.1" + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +dom-converter@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" + integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + dependencies: + utila "~0.4" + +dom-serializer@^1.0.1: + version "1.4.1" + resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30" + integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: + version "4.3.1" + resolved "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c" + integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ== + dependencies: + domelementtype "^2.2.0" + +domutils@^2.5.2, domutils@^2.8.0: + version "2.8.0" + resolved "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== + dependencies: + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +dotenv-expand@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" + integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== + +dotenv@^10.0.0: + version "10.0.0" + resolved "https://registry.npmmirror.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + +easy-stack@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/easy-stack/-/easy-stack-1.0.1.tgz#8afe4264626988cabb11f3c704ccd0c835411066" + integrity sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w== + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== + +electron-to-chromium@^1.4.431: + version "1.4.447" + resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.447.tgz#ac69d3a7b3713e9ae94bb30ba65c3114e4d76a38" + integrity sha512-sxX0LXh+uL41hSJsujAN86PjhrV/6c79XmpY0TvjZStV6VxIgarf8SRkUoUTuYmFcZQTemsoqo8qXOGw5npWfw== + +element-ui@^2.15.13: + version "2.15.13" + resolved "https://registry.npmmirror.com/element-ui/-/element-ui-2.15.13.tgz#380f019ee7d15b181105587b41fd5914c308a143" + integrity sha512-LJoatEYX6WV74FqXBss8Xfho9fh9rjDSzrDrTyREdGb1h1R3uRvmLh5jqp2JU137aj4/BgqA3K06RQpQBX33Bg== + dependencies: + async-validator "~1.8.1" + babel-helper-vue-jsx-merge-props "^2.0.0" + deepmerge "^1.2.0" + normalize-wheel "^1.0.1" + resize-observer-polyfill "^1.5.0" + throttle-debounce "^1.0.1" + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +emojis-list@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" + integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + +encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== + +end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.npmmirror.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + +entities@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + +errno@^0.1.1: + version "0.1.8" + resolved "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + dependencies: + prr "~1.0.1" + +error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + +error-stack-parser@^2.0.6: + version "2.1.4" + resolved "https://registry.npmmirror.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286" + integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ== + dependencies: + stackframe "^1.3.4" + +es-module-lexer@^1.2.1: + version "1.3.0" + resolved "https://registry.npmmirror.com/es-module-lexer/-/es-module-lexer-1.3.0.tgz#6be9c9e0b4543a60cd166ff6f8b4e9dae0b0c16f" + integrity sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA== + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== + +escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-plugin-vue@^8.0.3: + version "8.7.1" + resolved "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz#f13c53547a0c9d64588a675cc5ecc6ccaf63703f" + integrity sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg== + dependencies: + eslint-utils "^3.0.0" + natural-compare "^1.4.0" + nth-check "^2.0.1" + postcss-selector-parser "^6.0.9" + semver "^7.3.5" + vue-eslint-parser "^8.0.1" + +eslint-scope@5.1.1, eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-scope@^7.0.0: + version "7.2.0" + resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b" + integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + +eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + +eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== + +eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.4.1: + version "3.4.1" + resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994" + integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA== + +eslint-webpack-plugin@^3.1.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz#1978cdb9edc461e4b0195a20da950cf57988347c" + integrity sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w== + dependencies: + "@types/eslint" "^7.29.0 || ^8.4.1" + jest-worker "^28.0.2" + micromatch "^4.0.5" + normalize-path "^3.0.0" + schema-utils "^4.0.0" + +eslint@^7.32.0: + version "7.32.0" + resolved "https://registry.npmmirror.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== + dependencies: + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" + ajv "^6.10.0" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.0.1" + doctrine "^3.0.0" + enquirer "^2.3.5" + escape-string-regexp "^4.0.0" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + functional-red-black-tree "^1.0.1" + glob-parent "^5.1.2" + globals "^13.6.0" + ignore "^4.0.6" + import-fresh "^3.0.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + js-yaml "^3.13.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.0.4" + natural-compare "^1.4.0" + optionator "^0.9.1" + progress "^2.0.0" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.9" + text-table "^0.2.0" + v8-compile-cache "^2.0.3" + +espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.npmmirror.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== + dependencies: + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" + +espree@^9.0.0: + version "9.6.0" + resolved "https://registry.npmmirror.com/espree/-/espree-9.6.0.tgz#80869754b1c6560f32e3b6929194a3fe07c5b82f" + integrity sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + +esquery@^1.4.0: + version "1.5.0" + resolved "https://registry.npmmirror.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== + +event-pubsub@4.3.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/event-pubsub/-/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e" + integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ== + +eventemitter3@^4.0.0: + version "4.0.7" + resolved "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + +events@^3.2.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^0.8.0: + version "0.8.0" + resolved "https://registry.npmmirror.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da" + integrity sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA== + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +execa@^5.0.0: + version "5.1.1" + resolved "https://registry.npmmirror.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +express@^4.17.3: + version "4.18.2" + resolved "https://registry.npmmirror.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" + integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== + dependencies: + accepts "~1.3.8" + array-flatten "1.1.1" + body-parser "1.20.1" + content-disposition "0.5.4" + content-type "~1.0.4" + cookie "0.5.0" + cookie-signature "1.0.6" + debug "2.6.9" + depd "2.0.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.2.0" + fresh "0.5.2" + http-errors "2.0.0" + merge-descriptors "1.0.1" + methods "~1.1.2" + on-finished "2.4.1" + parseurl "~1.3.3" + path-to-regexp "0.1.7" + proxy-addr "~2.0.7" + qs "6.11.0" + range-parser "~1.2.1" + safe-buffer "5.2.1" + send "0.18.0" + serve-static "1.15.0" + setprototypeof "1.2.0" + statuses "2.0.1" + type-is "~1.6.18" + utils-merge "1.0.1" + vary "~1.1.2" + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.2.7, fast-glob@^3.2.9: + version "3.3.0" + resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-3.3.0.tgz#7c40cb491e1e2ed5664749e87bfb516dbe8727c0" + integrity sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.npmmirror.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +faye-websocket@^0.11.3: + version "0.11.4" + resolved "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da" + integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + dependencies: + websocket-driver ">=0.5.1" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA== + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-saver@2.0.5: + version "2.0.5" + resolved "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38" + integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +finalhandler@1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" + integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== + dependencies: + debug "2.6.9" + encodeurl "~1.0.2" + escape-html "~1.0.3" + on-finished "2.4.1" + parseurl "~1.3.3" + statuses "2.0.1" + unpipe "~1.0.0" + +find-cache-dir@^3.3.1: + version "3.3.2" + resolved "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== + dependencies: + commondir "^1.0.1" + make-dir "^3.0.2" + pkg-dir "^4.1.0" + +find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + +flatted@^3.1.0: + version "3.2.7" + resolved "https://registry.npmmirror.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" + integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== + +follow-redirects@^1.0.0, follow-redirects@^1.14.4: + version "1.15.2" + resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" + integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== + +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fraction.js@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" + integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== + +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + +fs-monkey@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/fs-monkey/-/fs-monkey-1.0.4.tgz#ee8c1b53d3fe8bb7e5d2c5c5dfc0168afdd2f747" + integrity sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ== + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.2" + resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + +function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== + +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + +get-caller-file@^2.0.5: + version "2.0.5" + resolved "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82" + integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw== + dependencies: + function-bind "^1.1.1" + has "^1.0.3" + has-proto "^1.0.1" + has-symbols "^1.0.3" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== + +get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + +get-stream@^6.0.0: + version "6.0.1" + resolved "https://registry.npmmirror.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.1.3: + version "7.2.3" + resolved "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +globals@^11.1.0: + version "11.12.0" + resolved "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + +globals@^13.6.0, globals@^13.9.0: + version "13.20.0" + resolved "https://registry.npmmirror.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" + integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== + dependencies: + type-fest "^0.20.2" + +globby@^11.0.2, globby@^11.0.3: + version "11.1.0" + resolved "https://registry.npmmirror.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + version "4.2.11" + resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" + integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== + +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + +handle-thing@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" + integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-property-descriptors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== + dependencies: + get-intrinsic "^1.1.1" + +has-proto@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" + integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== + +has-symbols@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== + +has@^1.0.3: + version "1.0.3" + resolved "https://registry.npmmirror.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + +hash-sum@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04" + integrity sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA== + +hash-sum@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a" + integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg== + +he@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" + integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + +highlight.js@^10.7.1: + version "10.7.3" + resolved "https://registry.npmmirror.com/highlight.js/-/highlight.js-10.7.3.tgz#697272e3991356e40c3cac566a74eef681756531" + integrity sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A== + +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== + +hpack.js@^2.1.6: + version "2.1.6" + resolved "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" + integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ== + dependencies: + inherits "^2.0.1" + obuf "^1.0.0" + readable-stream "^2.0.1" + wbuf "^1.1.0" + +html-entities@^2.3.2: + version "2.4.0" + resolved "https://registry.npmmirror.com/html-entities/-/html-entities-2.4.0.tgz#edd0cee70402584c8c76cc2c0556db09d1f45061" + integrity sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ== + +html-minifier-terser@^6.0.2: + version "6.1.0" + resolved "https://registry.npmmirror.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab" + integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw== + dependencies: + camel-case "^4.1.2" + clean-css "^5.2.2" + commander "^8.3.0" + he "^1.2.0" + param-case "^3.0.4" + relateurl "^0.2.7" + terser "^5.10.0" + +html-tags@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b" + integrity sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g== + +html-tags@^3.3.1: + version "3.3.1" + resolved "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" + integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== + +html-webpack-plugin@^5.1.0: + version "5.5.3" + resolved "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-5.5.3.tgz#72270f4a78e222b5825b296e5e3e1328ad525a3e" + integrity sha512-6YrDKTuqaP/TquFH7h4srYWsZx+x6k6+FbsTm0ziCwGHDP78Unr1r9F/H4+sGmMbX08GQcJ+K64x55b+7VM/jg== + dependencies: + "@types/html-minifier-terser" "^6.0.0" + html-minifier-terser "^6.0.2" + lodash "^4.17.21" + pretty-error "^4.0.0" + tapable "^2.0.0" + +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" + +http-deceiver@^1.2.7: + version "1.2.7" + resolved "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" + integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw== + +http-errors@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A== + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-parser-js@>=0.5.1: + version "0.5.8" + resolved "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.8.tgz#af23090d9ac4e24573de6f6aecc9d84a48bf20e3" + integrity sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q== + +http-proxy-middleware@^2.0.3: + version "2.0.6" + resolved "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" + integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + dependencies: + "@types/http-proxy" "^1.17.8" + http-proxy "^1.18.1" + is-glob "^4.0.1" + is-plain-obj "^3.0.0" + micromatch "^4.0.2" + +http-proxy@^1.18.1: + version "1.18.1" + resolved "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" + integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + dependencies: + eventemitter3 "^4.0.0" + follow-redirects "^1.0.0" + requires-port "^1.0.0" + +human-signals@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== + +iconv-lite@0.4.24: + version "0.4.24" + resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + dependencies: + safer-buffer ">= 2.1.2 < 3" + +iconv-lite@^0.6.3: + version "0.6.3" + resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +icss-utils@^5.0.0, icss-utils@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" + integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== + +ieee754@^1.1.13: + version "1.2.1" + resolved "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^4.0.6: + version "4.0.6" + resolved "https://registry.npmmirror.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + +ignore@^5.2.0: + version "5.2.4" + resolved "https://registry.npmmirror.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ== + +import-fresh@^3.0.0, import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: + version "2.0.4" + resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +inherits@2.0.3: + version "2.0.3" + resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +ipaddr.js@^2.0.1: + version "2.1.0" + resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-2.1.0.tgz#2119bc447ff8c257753b196fc5f1ce08a4cdf39f" + integrity sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ== + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.npmmirror.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== + dependencies: + ci-info "^1.5.0" + +is-core-module@^2.11.0: + version "2.12.1" + resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" + integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== + dependencies: + has "^1.0.3" + +is-docker@^2.0.0, is-docker@^2.1.1: + version "2.2.1" + resolved "https://registry.npmmirror.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-file-esm@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-file-esm/-/is-file-esm-1.0.0.tgz#987086b0f5a5318179e9d30f4f2f8d37321e1b5f" + integrity sha512-rZlaNKb4Mr8WlRu2A9XdeoKgnO5aA53XdPHgCKVyCrQ/rWi89RET1+bq37Ru46obaQXeiX4vmFIm1vks41hoSA== + dependencies: + read-pkg-up "^7.0.1" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-interactive@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" + integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-obj@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7" + integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== + +is-stream@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== + +is-unicode-supported@^0.1.0: + version "0.1.0" + resolved "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" + integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + +is-what@^3.14.1: + version "3.14.1" + resolved "https://registry.npmmirror.com/is-what/-/is-what-3.14.1.tgz#e1222f46ddda85dead0fd1c9df131760e77755c1" + integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== + +is-wsl@^2.1.1, is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + +isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +javascript-stringify@^2.0.1: + version "2.1.0" + resolved "https://registry.npmmirror.com/javascript-stringify/-/javascript-stringify-2.1.0.tgz#27c76539be14d8bd128219a2d731b09337904e79" + integrity sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg== + +jest-worker@^27.0.2, jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest-worker@^28.0.2: + version "28.1.3" + resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" + integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +joi@^17.4.0: + version "17.9.2" + resolved "https://registry.npmmirror.com/joi/-/joi-17.9.2.tgz#8b2e4724188369f55451aebd1d0b1d9482470690" + integrity sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw== + dependencies: + "@hapi/hoek" "^9.0.0" + "@hapi/topo" "^5.0.0" + "@sideway/address" "^4.1.3" + "@sideway/formula" "^3.0.1" + "@sideway/pinpoint" "^2.0.0" + +js-cookie@^3.0.5: + version "3.0.5" + resolved "https://registry.npmmirror.com/js-cookie/-/js-cookie-3.0.5.tgz#0b7e2fd0c01552c58ba86e0841f94dc2557dcdbc" + integrity sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw== + +js-message@1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/js-message/-/js-message-1.0.7.tgz#fbddd053c7a47021871bb8b2c95397cc17c20e47" + integrity sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA== + +js-tokens@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + +js-yaml@^3.13.1: + version "3.14.1" + resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== + +json-parse-better-errors@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + +json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + +json-schema-traverse@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== + +json5@^1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== + dependencies: + minimist "^1.2.0" + +json5@^2.1.2, json5@^2.2.2: + version "2.2.3" + resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + +jsonfile@^6.0.1: + version "6.1.0" + resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + dependencies: + universalify "^2.0.0" + optionalDependencies: + graceful-fs "^4.1.6" + +kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + +klona@^2.0.5: + version "2.0.6" + resolved "https://registry.npmmirror.com/klona/-/klona-2.0.6.tgz#85bffbf819c03b2f53270412420a4555ef882e22" + integrity sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA== + +launch-editor-middleware@^2.2.1: + version "2.6.0" + resolved "https://registry.npmmirror.com/launch-editor-middleware/-/launch-editor-middleware-2.6.0.tgz#2ba4fe4b695d7fe3d44dee86b6d46d57b8332dfd" + integrity sha512-K2yxgljj5TdCeRN1lBtO3/J26+AIDDDw+04y6VAiZbWcTdBwsYN6RrZBnW5DN/QiSIdKNjKdATLUUluWWFYTIA== + dependencies: + launch-editor "^2.6.0" + +launch-editor@^2.2.1, launch-editor@^2.6.0: + version "2.6.0" + resolved "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.6.0.tgz#4c0c1a6ac126c572bd9ff9a30da1d2cae66defd7" + integrity sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ== + dependencies: + picocolors "^1.0.0" + shell-quote "^1.7.3" + +less-loader@^11.1.3: + version "11.1.3" + resolved "https://registry.npmmirror.com/less-loader/-/less-loader-11.1.3.tgz#1bb62d6ca9bf00a177c02793b54baac40f9be694" + integrity sha512-A5b7O8dH9xpxvkosNrP0dFp2i/dISOJa9WwGF3WJflfqIERE2ybxh1BFDj5CovC2+jCE4M354mk90hN6ziXlVw== + +less@^4.1.3: + version "4.1.3" + resolved "https://registry.npmmirror.com/less/-/less-4.1.3.tgz#175be9ddcbf9b250173e0a00b4d6920a5b770246" + integrity sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA== + dependencies: + copy-anything "^2.0.1" + parse-node-version "^1.0.1" + tslib "^2.3.0" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + make-dir "^2.1.0" + mime "^1.4.1" + needle "^3.1.0" + source-map "~0.6.0" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmmirror.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +lilconfig@^2.0.3: + version "2.1.0" + resolved "https://registry.npmmirror.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +loader-runner@^4.1.0, loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.npmmirror.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +loader-utils@^1.0.2, loader-utils@^1.1.0: + version "1.4.2" + resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3" + integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^1.0.1" + +loader-utils@^2.0.0: + version "2.0.4" + resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c" + integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + +locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== + +lodash.defaultsdeep@^4.6.1: + version "4.6.1" + resolved "https://registry.npmmirror.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6" + integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA== + +lodash.kebabcase@^4.1.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36" + integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g== + +lodash.mapvalues@^4.6.0: + version "4.6.0" + resolved "https://registry.npmmirror.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c" + integrity sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ== + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmmirror.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.npmmirror.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== + +lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== + +lodash@^4.17.14, lodash@^4.17.20, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +log-symbols@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" + integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + dependencies: + chalk "^4.1.0" + is-unicode-supported "^0.1.0" + +log-update@^2.3.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708" + integrity sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg== + dependencies: + ansi-escapes "^3.0.0" + cli-cursor "^2.0.0" + wrap-ansi "^3.0.1" + +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + dependencies: + tslib "^2.0.3" + +lru-cache@^4.0.1, lru-cache@^4.1.2: + version "4.1.5" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" + integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +make-dir@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" + integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + dependencies: + pify "^4.0.1" + semver "^5.6.0" + +make-dir@^3.0.2, make-dir@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +memfs@^3.4.3: + version "3.6.0" + resolved "https://registry.npmmirror.com/memfs/-/memfs-3.6.0.tgz#d7a2110f86f79dd950a8b6df6d57bc984aa185f6" + integrity sha512-EGowvkkgbMcIChjMTMkESFDbZeSh8xZ7kNSF0hAiAN4Jh6jgHCRS0Ga/+C8y6Au+oqpezRHCfPsmJ2+DwAgiwQ== + dependencies: + fs-monkey "^1.0.4" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== + +merge-source-map@^1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646" + integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw== + dependencies: + source-map "^0.6.1" + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== + +micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0, "mime-db@>= 1.43.0 < 2": + version "1.52.0" + resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.17, mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mime@1.6.0, mime@^1.4.1: + version "1.6.0" + resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== + +mimic-fn@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + +mini-css-extract-plugin@^2.5.3: + version "2.7.6" + resolved "https://registry.npmmirror.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz#282a3d38863fddcd2e0c220aaed5b90bc156564d" + integrity sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw== + dependencies: + schema-utils "^4.0.0" + +minimalistic-assert@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + +minimatch@^3.0.4, minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass@^3.1.1: + version "3.3.6" + resolved "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +mkdirp@^0.5.6: + version "0.5.6" + resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" + integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== + dependencies: + minimist "^1.2.6" + +module-alias@^2.2.2: + version "2.2.3" + resolved "https://registry.npmmirror.com/module-alias/-/module-alias-2.2.3.tgz#ec2e85c68973bda6ab71ce7c93b763ec96053221" + integrity sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q== + +mrmime@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27" + integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +ms@2.1.3, ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + +multicast-dns@^7.2.5: + version "7.2.5" + resolved "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-7.2.5.tgz#77eb46057f4d7adbd16d9290fa7299f6fa64cced" + integrity sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg== + dependencies: + dns-packet "^5.2.2" + thunky "^1.0.2" + +mz@^2.4.0: + version "2.7.0" + resolved "https://registry.npmmirror.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +needle@^3.1.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/needle/-/needle-3.2.0.tgz#07d240ebcabfd65c76c03afae7f6defe6469df44" + integrity sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ== + dependencies: + debug "^3.2.6" + iconv-lite "^0.6.3" + sax "^1.2.4" + +negotiator@0.6.3: + version "0.6.3" + resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +nice-try@^1.0.4: + version "1.0.5" + resolved "https://registry.npmmirror.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + dependencies: + lower-case "^2.0.2" + tslib "^2.0.3" + +node-fetch@^2.6.7: + version "2.6.12" + resolved "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.6.12.tgz#02eb8e22074018e3d5a83016649d04df0e348fba" + integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== + dependencies: + whatwg-url "^5.0.0" + +node-forge@^1: + version "1.3.1" + resolved "https://registry.npmmirror.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" + integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA== + +node-releases@^2.0.12: + version "2.0.12" + resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039" + integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ== + +normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379" + integrity sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +normalize-url@^6.0.1: + version "6.1.0" + resolved "https://registry.npmmirror.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" + integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== + +normalize-wheel@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/normalize-wheel/-/normalize-wheel-1.0.1.tgz#aec886affdb045070d856447df62ecf86146ec45" + integrity sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA== + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== + dependencies: + path-key "^2.0.0" + +npm-run-path@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" + +nth-check@^2.0.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d" + integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== + dependencies: + boolbase "^1.0.0" + +object-assign@^4.0.1: + version "4.1.1" + resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-inspect@^1.9.0: + version "1.12.3" + resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" + integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== + +object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + +object.assign@^4.1.0: + version "4.1.4" + resolved "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.4" + has-symbols "^1.0.3" + object-keys "^1.1.1" + +obuf@^1.0.0, obuf@^1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-finished@2.4.1: + version "2.4.1" + resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== + dependencies: + ee-first "1.1.1" + +on-headers@~1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" + integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ== + dependencies: + mimic-fn "^1.0.0" + +onetime@^5.1.0, onetime@^5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + dependencies: + mimic-fn "^2.1.0" + +open@^8.0.2, open@^8.0.9: + version "8.4.2" + resolved "https://registry.npmmirror.com/open/-/open-8.4.2.tgz#5b5ffe2a8f793dcd2aad73e550cb87b59cb084f9" + integrity sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ== + dependencies: + define-lazy-prop "^2.0.0" + is-docker "^2.1.1" + is-wsl "^2.2.0" + +opener@^1.5.2: + version "1.5.2" + resolved "https://registry.npmmirror.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== + +optionator@^0.9.1: + version "0.9.3" + resolved "https://registry.npmmirror.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + +ora@^5.3.0: + version "5.4.1" + resolved "https://registry.npmmirror.com/ora/-/ora-5.4.1.tgz#1b2678426af4ac4a509008e5e4ac9e9959db9e18" + integrity sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + dependencies: + bl "^4.1.0" + chalk "^4.1.0" + cli-cursor "^3.1.0" + cli-spinners "^2.5.0" + is-interactive "^1.0.0" + is-unicode-supported "^0.1.0" + log-symbols "^4.1.0" + strip-ansi "^6.0.0" + wcwidth "^1.0.1" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== + +p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + +p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + +p-retry@^4.5.0: + version "4.6.2" + resolved "https://registry.npmmirror.com/p-retry/-/p-retry-4.6.2.tgz#9baae7184057edd4e17231cee04264106e092a16" + integrity sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ== + dependencies: + "@types/retry" "0.12.0" + retry "^0.13.1" + +p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + +param-case@^3.0.4: + version "3.0.4" + resolved "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + dependencies: + dot-case "^3.0.4" + tslib "^2.0.3" + +parent-module@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + dependencies: + callsites "^3.0.0" + +parse-json@^5.0.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-even-better-errors "^2.3.0" + lines-and-columns "^1.1.6" + +parse-node-version@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/parse-node-version/-/parse-node-version-1.0.1.tgz#e2b5dbede00e7fa9bc363607f53327e8b073189b" + integrity sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA== + +parse5-htmlparser2-tree-adapter@^6.0.0: + version "6.0.1" + resolved "https://registry.npmmirror.com/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz#2cdf9ad823321140370d4dbf5d3e92c7c8ddc6e6" + integrity sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA== + dependencies: + parse5 "^6.0.1" + +parse5@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + +parse5@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== + +parseurl@~1.3.2, parseurl@~1.3.3: + version "1.3.3" + resolved "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.npmmirror.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^2.0.0, path-key@^2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^4.0.1: + version "4.0.1" + resolved "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" + integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + +pkg-dir@^4.1.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + +portfinder@^1.0.26: + version "1.0.32" + resolved "https://registry.npmmirror.com/portfinder/-/portfinder-1.0.32.tgz#2fe1b9e58389712429dc2bea5beb2146146c7f81" + integrity sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg== + dependencies: + async "^2.6.4" + debug "^3.2.7" + mkdirp "^0.5.6" + +postcss-calc@^8.2.3: + version "8.2.4" + resolved "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-8.2.4.tgz#77b9c29bfcbe8a07ff6693dc87050828889739a5" + integrity sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q== + dependencies: + postcss-selector-parser "^6.0.9" + postcss-value-parser "^4.2.0" + +postcss-colormin@^5.3.1: + version "5.3.1" + resolved "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-5.3.1.tgz#86c27c26ed6ba00d96c79e08f3ffb418d1d1988f" + integrity sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + colord "^2.9.1" + postcss-value-parser "^4.2.0" + +postcss-convert-values@^5.1.3: + version "5.1.3" + resolved "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz#04998bb9ba6b65aa31035d669a6af342c5f9d393" + integrity sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + +postcss-discard-comments@^5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz#8df5e81d2925af2780075840c1526f0660e53696" + integrity sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ== + +postcss-discard-duplicates@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz#9eb4fe8456706a4eebd6d3b7b777d07bad03e848" + integrity sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw== + +postcss-discard-empty@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz#e57762343ff7f503fe53fca553d18d7f0c369c6c" + integrity sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A== + +postcss-discard-overridden@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz#7e8c5b53325747e9d90131bb88635282fb4a276e" + integrity sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw== + +postcss-loader@^6.1.1: + version "6.2.1" + resolved "https://registry.npmmirror.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" + integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== + dependencies: + cosmiconfig "^7.0.0" + klona "^2.0.5" + semver "^7.3.5" + +postcss-merge-longhand@^5.1.7: + version "5.1.7" + resolved "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz#24a1bdf402d9ef0e70f568f39bdc0344d568fb16" + integrity sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ== + dependencies: + postcss-value-parser "^4.2.0" + stylehacks "^5.1.1" + +postcss-merge-rules@^5.1.4: + version "5.1.4" + resolved "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz#2f26fa5cacb75b1402e213789f6766ae5e40313c" + integrity sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + cssnano-utils "^3.1.0" + postcss-selector-parser "^6.0.5" + +postcss-minify-font-values@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz#f1df0014a726083d260d3bd85d7385fb89d1f01b" + integrity sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-minify-gradients@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz#f1fe1b4f498134a5068240c2f25d46fcd236ba2c" + integrity sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw== + dependencies: + colord "^2.9.1" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-params@^5.1.4: + version "5.1.4" + resolved "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz#c06a6c787128b3208b38c9364cfc40c8aa5d7352" + integrity sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw== + dependencies: + browserslist "^4.21.4" + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-minify-selectors@^5.2.1: + version "5.2.1" + resolved "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz#d4e7e6b46147b8117ea9325a915a801d5fe656c6" + integrity sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-modules-extract-imports@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d" + integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw== + +postcss-modules-local-by-default@^4.0.3: + version "4.0.3" + resolved "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz#b08eb4f083050708998ba2c6061b50c2870ca524" + integrity sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA== + dependencies: + icss-utils "^5.0.0" + postcss-selector-parser "^6.0.2" + postcss-value-parser "^4.1.0" + +postcss-modules-scope@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06" + integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg== + dependencies: + postcss-selector-parser "^6.0.4" + +postcss-modules-values@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c" + integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ== + dependencies: + icss-utils "^5.0.0" + +postcss-normalize-charset@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz#9302de0b29094b52c259e9b2cf8dc0879879f0ed" + integrity sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg== + +postcss-normalize-display-values@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz#72abbae58081960e9edd7200fcf21ab8325c3da8" + integrity sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-positions@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz#ef97279d894087b59325b45c47f1e863daefbb92" + integrity sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-repeat-style@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz#e9eb96805204f4766df66fd09ed2e13545420fb2" + integrity sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-string@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz#411961169e07308c82c1f8c55f3e8a337757e228" + integrity sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-timing-functions@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz#d5614410f8f0b2388e9f240aa6011ba6f52dafbb" + integrity sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-normalize-unicode@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz#f67297fca3fea7f17e0d2caa40769afc487aa030" + integrity sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA== + dependencies: + browserslist "^4.21.4" + postcss-value-parser "^4.2.0" + +postcss-normalize-url@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz#ed9d88ca82e21abef99f743457d3729a042adcdc" + integrity sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew== + dependencies: + normalize-url "^6.0.1" + postcss-value-parser "^4.2.0" + +postcss-normalize-whitespace@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz#08a1a0d1ffa17a7cc6efe1e6c9da969cc4493cfa" + integrity sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-ordered-values@^5.1.3: + version "5.1.3" + resolved "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz#b6fd2bd10f937b23d86bc829c69e7732ce76ea38" + integrity sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ== + dependencies: + cssnano-utils "^3.1.0" + postcss-value-parser "^4.2.0" + +postcss-reduce-initial@^5.1.2: + version "5.1.2" + resolved "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz#798cd77b3e033eae7105c18c9d371d989e1382d6" + integrity sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg== + dependencies: + browserslist "^4.21.4" + caniuse-api "^3.0.0" + +postcss-reduce-transforms@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz#333b70e7758b802f3dd0ddfe98bb1ccfef96b6e9" + integrity sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ== + dependencies: + postcss-value-parser "^4.2.0" + +postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9: + version "6.0.13" + resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" + integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-svgo@^5.1.0: + version "5.1.0" + resolved "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-5.1.0.tgz#0a317400ced789f233a28826e77523f15857d80d" + integrity sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA== + dependencies: + postcss-value-parser "^4.2.0" + svgo "^2.7.0" + +postcss-unique-selectors@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz#a9f273d1eacd09e9aa6088f4b0507b18b1b541b6" + integrity sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA== + dependencies: + postcss-selector-parser "^6.0.5" + +postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^7.0.36: + version "7.0.39" + resolved "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^8.2.6, postcss@^8.3.5, postcss@^8.4.14, postcss@^8.4.21: + version "8.4.24" + resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.24.tgz#f714dba9b2284be3cc07dbd2fc57ee4dc972d2df" + integrity sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +"prettier@^1.18.2 || ^2.0.0": + version "2.8.8" + resolved "https://registry.npmmirror.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + +pretty-error@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" + integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw== + dependencies: + lodash "^4.17.20" + renderkid "^3.0.0" + +process-nextick-args@~2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + +progress-webpack-plugin@^1.0.12: + version "1.0.16" + resolved "https://registry.npmmirror.com/progress-webpack-plugin/-/progress-webpack-plugin-1.0.16.tgz#278f5c1afd21af783aad72c5ec95241520230fe5" + integrity sha512-sdiHuuKOzELcBANHfrupYo+r99iPRyOnw15qX+rNlVUqXGfjXdH4IgxriKwG1kNJwVswKQHMdj1hYZMcb9jFaA== + dependencies: + chalk "^2.1.0" + figures "^2.0.0" + log-update "^2.3.0" + +progress@^2.0.0: + version "2.0.3" + resolved "https://registry.npmmirror.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +proxy-addr@~2.0.7: + version "2.0.7" + resolved "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" + integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== + +qs@6.11.0: + version "6.11.0" + resolved "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" + integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== + dependencies: + side-channel "^1.0.4" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmmirror.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +range-parser@^1.2.1, range-parser@~1.2.1: + version "1.2.1" + resolved "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + +raw-body@2.5.1: + version "2.5.1" + resolved "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== + dependencies: + bytes "3.1.2" + http-errors "2.0.0" + iconv-lite "0.4.24" + unpipe "1.0.0" + +read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + +read-pkg@^5.1.1, read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + +readable-stream@^2.0.1: + version "2.3.8" + resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readable-stream@^3.0.6, readable-stream@^3.4.0: + version "3.6.2" + resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +regenerate-unicode-properties@^10.1.0: + version "10.1.0" + resolved "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" + integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== + dependencies: + regenerate "^1.4.2" + +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +regenerator-transform@^0.15.1: + version "0.15.1" + resolved "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" + integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== + dependencies: + "@babel/runtime" "^7.8.4" + +regexpp@^3.1.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== + +regexpu-core@^5.3.1: + version "5.3.2" + resolved "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" + integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== + dependencies: + "@babel/regjsgen" "^0.8.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^10.1.0" + regjsparser "^0.9.1" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" + +regjsparser@^0.9.1: + version "0.9.1" + resolved "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" + integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== + dependencies: + jsesc "~0.5.0" + +relateurl@^0.2.7: + version "0.2.7" + resolved "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" + integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog== + +renderkid@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" + integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg== + dependencies: + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^6.0.1" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmmirror.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +requires-port@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== + +resize-observer-polyfill@^1.5.0: + version "1.5.1" + resolved "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve@^1.10.0, resolve@^1.14.2: + version "1.22.2" + resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" + integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== + dependencies: + is-core-module "^2.11.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q== + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +restore-cursor@^3.1.0: + version "3.1.0" + resolved "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + dependencies: + onetime "^5.1.0" + signal-exit "^3.0.2" + +retry@^0.13.1: + version "0.13.1" + resolved "https://registry.npmmirror.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" + integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmmirror.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +sax@^1.2.4: + version "1.2.4" + resolved "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== + +schema-utils@^2.6.5: + version "2.7.1" + resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" + integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + dependencies: + "@types/json-schema" "^7.0.5" + ajv "^6.12.4" + ajv-keywords "^3.5.2" + +schema-utils@^3.0.0, schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +schema-utils@^4.0.0: + version "4.2.0" + resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.2.0.tgz#70d7c93e153a273a805801882ebd3bff20d89c8b" + integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + +select-hose@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" + integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg== + +selfsigned@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/selfsigned/-/selfsigned-2.1.1.tgz#18a7613d714c0cd3385c48af0075abf3f266af61" + integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ== + dependencies: + node-forge "^1" + +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: + version "5.7.1" + resolved "https://registry.npmmirror.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: + version "6.3.0" + resolved "https://registry.npmmirror.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + +semver@^7.2.1, semver@^7.3.4, semver@^7.3.5, semver@^7.3.8: + version "7.5.3" + resolved "https://registry.npmmirror.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e" + integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== + dependencies: + lru-cache "^6.0.0" + +send@0.18.0: + version "0.18.0" + resolved "https://registry.npmmirror.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== + dependencies: + debug "2.6.9" + depd "2.0.0" + destroy "1.2.0" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "2.0.0" + mime "1.6.0" + ms "2.1.3" + on-finished "2.4.1" + range-parser "~1.2.1" + statuses "2.0.1" + +serialize-javascript@^6.0.0, serialize-javascript@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" + integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== + dependencies: + randombytes "^2.1.0" + +serve-index@^1.9.1: + version "1.9.1" + resolved "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw== + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.15.0: + version "1.15.0" + resolved "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.3" + send "0.18.0" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shallow-clone@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" + integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== + dependencies: + kind-of "^6.0.2" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== + dependencies: + shebang-regex "^1.0.0" + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +shell-quote@^1.7.3: + version "1.8.1" + resolved "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.1.tgz#6dbf4db75515ad5bac63b4f1894c3a154c766680" + integrity sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA== + +side-channel@^1.0.4: + version "1.0.4" + resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== + dependencies: + call-bind "^1.0.0" + get-intrinsic "^1.0.2" + object-inspect "^1.9.0" + +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: + version "3.0.7" + resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +sirv@^1.0.7: + version "1.0.19" + resolved "https://registry.npmmirror.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49" + integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ== + dependencies: + "@polka/url" "^1.0.0-next.20" + mrmime "^1.0.0" + totalist "^1.0.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + +sockjs@^0.3.24: + version "0.3.24" + resolved "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== + dependencies: + faye-websocket "^0.11.3" + uuid "^8.3.2" + websocket-driver "^0.7.4" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +spdx-correct@^3.0.0: + version "3.2.0" + resolved "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" + integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + +spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.13" + resolved "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" + integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== + +spdy-transport@^3.0.0: + version "3.0.0" + resolved "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" + integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + dependencies: + debug "^4.1.0" + detect-node "^2.0.4" + hpack.js "^2.1.6" + obuf "^1.1.2" + readable-stream "^3.0.6" + wbuf "^1.7.3" + +spdy@^4.0.2: + version "4.0.2" + resolved "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" + integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + dependencies: + debug "^4.1.0" + handle-thing "^2.0.0" + http-deceiver "^1.2.7" + select-hose "^2.0.0" + spdy-transport "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.npmmirror.com/ssri/-/ssri-8.0.1.tgz#638e4e439e2ffbd2cd289776d5ca457c4f51a2af" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +stable@^0.1.8: + version "0.1.8" + resolved "https://registry.npmmirror.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== + +stackframe@^1.3.4: + version "1.3.4" + resolved "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" + integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== + +string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.npmmirror.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string_decoder@^1.1.1: + version "1.3.0" + resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + dependencies: + safe-buffer "~5.1.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== + dependencies: + ansi-regex "^3.0.0" + +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== + +strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + +strip-indent@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" + integrity sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA== + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +stylehacks@^5.1.1: + version "5.1.1" + resolved "https://registry.npmmirror.com/stylehacks/-/stylehacks-5.1.1.tgz#7934a34eb59d7152149fa69d6e9e56f2fc34bcc9" + integrity sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw== + dependencies: + browserslist "^4.21.4" + postcss-selector-parser "^6.0.4" + +supports-color@^5.3.0: + version "5.5.0" + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + dependencies: + has-flag "^3.0.0" + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmmirror.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +svg-tags@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764" + integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA== + +svgo@^2.7.0: + version "2.8.0" + resolved "https://registry.npmmirror.com/svgo/-/svgo-2.8.0.tgz#4ff80cce6710dc2795f0c7c74101e6764cfccd24" + integrity sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^4.1.3" + css-tree "^1.1.3" + csso "^4.2.0" + picocolors "^1.0.0" + stable "^0.1.8" + +table@^6.0.9: + version "6.8.1" + resolved "https://registry.npmmirror.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" + integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== + dependencies: + ajv "^8.0.1" + lodash.truncate "^4.4.2" + slice-ansi "^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" + +tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.npmmirror.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +terser-webpack-plugin@^5.1.1, terser-webpack-plugin@^5.3.7: + version "5.3.9" + resolved "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1" + integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.17" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.16.8" + +terser@^5.10.0, terser@^5.16.8: + version "5.18.2" + resolved "https://registry.npmmirror.com/terser/-/terser-5.18.2.tgz#ff3072a0faf21ffd38f99acc9a0ddf7b5f07b948" + integrity sha512-Ah19JS86ypbJzTzvUCX7KOsEIhDaRONungA4aYBjEP3JZRf4ocuDzTg4QWZnPn9DEMiMYGJPiSOy7aykoCc70w== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.npmmirror.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.npmmirror.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +thread-loader@^3.0.0: + version "3.0.4" + resolved "https://registry.npmmirror.com/thread-loader/-/thread-loader-3.0.4.tgz#c392e4c0241fbc80430eb680e4886819b504a31b" + integrity sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA== + dependencies: + json-parse-better-errors "^1.0.2" + loader-runner "^4.1.0" + loader-utils "^2.0.0" + neo-async "^2.6.2" + schema-utils "^3.0.0" + +throttle-debounce@^1.0.1: + version "1.1.0" + resolved "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-1.1.0.tgz#51853da37be68a155cb6e827b3514a3c422e89cd" + integrity sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg== + +thunky@^1.0.2: + version "1.1.0" + resolved "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" + integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + +to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +totalist@^1.0.0: + version "1.1.0" + resolved "https://registry.npmmirror.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" + integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.npmmirror.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +tslib@^2.0.3, tslib@^2.3.0: + version "2.6.0" + resolved "https://registry.npmmirror.com/tslib/-/tslib-2.6.0.tgz#b295854684dbda164e181d259a22cd779dcd7bc3" + integrity sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA== + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + +type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + +type-fest@^0.8.1: + version "0.8.1" + resolved "https://registry.npmmirror.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" + integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== + +type-is@~1.6.18: + version "1.6.18" + resolved "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== + dependencies: + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" + +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + +unicode-property-aliases-ecmascript@^2.0.0: + version "2.1.0" + resolved "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" + integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== + +universalify@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== + +update-browserslist-db@^1.0.11: + version "1.0.11" + resolved "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940" + integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +utila@~0.4: + version "0.4.0" + resolved "https://registry.npmmirror.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" + integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA== + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache@^2.0.3: + version "2.3.0" + resolved "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +vary@~1.1.2: + version "1.1.2" + resolved "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vue-eslint-parser@^8.0.1: + version "8.3.0" + resolved "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz#5d31129a1b3dd89c0069ca0a1c88f970c360bd0d" + integrity sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g== + dependencies: + debug "^4.3.2" + eslint-scope "^7.0.0" + eslint-visitor-keys "^3.1.0" + espree "^9.0.0" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^7.3.5" + +vue-hot-reload-api@^2.3.0: + version "2.3.4" + resolved "https://registry.npmmirror.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2" + integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog== + +vue-loader@^17.0.0: + version "17.2.2" + resolved "https://registry.npmmirror.com/vue-loader/-/vue-loader-17.2.2.tgz#96148eb70c1365cc8c5bab4274923596811c79df" + integrity sha512-aqNvKJvnz2A/6VWeJZodAo8XLoAlVwBv+2Z6dama+LHsAF+P/xijQ+OfWrxIs0wcGSJduvdzvTuATzXbNKkpiw== + dependencies: + chalk "^4.1.0" + hash-sum "^2.0.0" + watchpack "^2.4.0" + +vue-router@^4.2.2: + version "4.2.2" + resolved "https://registry.npmmirror.com/vue-router/-/vue-router-4.2.2.tgz#b0097b66d89ca81c0986be03da244c7b32a4fd81" + integrity sha512-cChBPPmAflgBGmy3tBsjeoe3f3VOSG6naKyY5pjtrqLGbNEXdzCigFUHgBvp9e3ysAtFtEx7OLqcSDh/1Cq2TQ== + dependencies: + "@vue/devtools-api" "^6.5.0" + +vue-style-loader@^4.1.0, vue-style-loader@^4.1.3: + version "4.1.3" + resolved "https://registry.npmmirror.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35" + integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg== + dependencies: + hash-sum "^1.0.2" + loader-utils "^1.0.2" + +vue-template-compiler@^2.6.14: + version "2.7.14" + resolved "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz#4545b7dfb88090744c1577ae5ac3f964e61634b1" + integrity sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ== + dependencies: + de-indent "^1.0.2" + he "^1.2.0" + +vue-template-es2015-compiler@^1.9.0: + version "1.9.1" + resolved "https://registry.npmmirror.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825" + integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw== + +vue@^2.6.14: + version "2.7.14" + resolved "https://registry.npmmirror.com/vue/-/vue-2.7.14.tgz#3743dcd248fd3a34d421ae456b864a0246bafb17" + integrity sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ== + dependencies: + "@vue/compiler-sfc" "2.7.14" + csstype "^3.1.0" + +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +wbuf@^1.1.0, wbuf@^1.7.3: + version "1.7.3" + resolved "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" + integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + dependencies: + minimalistic-assert "^1.0.0" + +wcwidth@^1.0.1: + version "1.0.1" + resolved "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" + integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== + dependencies: + defaults "^1.0.3" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webpack-bundle-analyzer@^4.4.0: + version "4.9.0" + resolved "https://registry.npmmirror.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.9.0.tgz#fc093c4ab174fd3dcbd1c30b763f56d10141209d" + integrity sha512-+bXGmO1LyiNx0i9enBu3H8mv42sj/BJWhZNFwjz92tVnBa9J3JMGo2an2IXlEleoDOPn/Hofl5hr/xCpObUDtw== + dependencies: + "@discoveryjs/json-ext" "0.5.7" + acorn "^8.0.4" + acorn-walk "^8.0.0" + chalk "^4.1.0" + commander "^7.2.0" + gzip-size "^6.0.0" + lodash "^4.17.20" + opener "^1.5.2" + sirv "^1.0.7" + ws "^7.3.1" + +webpack-chain@^6.5.1: + version "6.5.1" + resolved "https://registry.npmmirror.com/webpack-chain/-/webpack-chain-6.5.1.tgz#4f27284cbbb637e3c8fbdef43eef588d4d861206" + integrity sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA== + dependencies: + deepmerge "^1.5.2" + javascript-stringify "^2.0.1" + +webpack-dev-middleware@^5.3.1: + version "5.3.3" + resolved "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f" + integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA== + dependencies: + colorette "^2.0.10" + memfs "^3.4.3" + mime-types "^2.1.31" + range-parser "^1.2.1" + schema-utils "^4.0.0" + +webpack-dev-server@^4.7.3: + version "4.15.1" + resolved "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz#8944b29c12760b3a45bdaa70799b17cb91b03df7" + integrity sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA== + dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/express" "^4.17.13" + "@types/serve-index" "^1.9.1" + "@types/serve-static" "^1.13.10" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.5.5" + ansi-html-community "^0.0.8" + bonjour-service "^1.0.11" + chokidar "^3.5.3" + colorette "^2.0.10" + compression "^1.7.4" + connect-history-api-fallback "^2.0.0" + default-gateway "^6.0.3" + express "^4.17.3" + graceful-fs "^4.2.6" + html-entities "^2.3.2" + http-proxy-middleware "^2.0.3" + ipaddr.js "^2.0.1" + launch-editor "^2.6.0" + open "^8.0.9" + p-retry "^4.5.0" + rimraf "^3.0.2" + schema-utils "^4.0.0" + selfsigned "^2.1.1" + serve-index "^1.9.1" + sockjs "^0.3.24" + spdy "^4.0.2" + webpack-dev-middleware "^5.3.1" + ws "^8.13.0" + +webpack-merge@^5.7.3: + version "5.9.0" + resolved "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-5.9.0.tgz#dc160a1c4cf512ceca515cc231669e9ddb133826" + integrity sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg== + dependencies: + clone-deep "^4.0.1" + wildcard "^2.0.0" + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack-virtual-modules@^0.4.2: + version "0.4.6" + resolved "https://registry.npmmirror.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz#3e4008230731f1db078d9cb6f68baf8571182b45" + integrity sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA== + +webpack@^5.54.0: + version "5.88.1" + resolved "https://registry.npmmirror.com/webpack/-/webpack-5.88.1.tgz#21eba01e81bd5edff1968aea726e2fbfd557d3f8" + integrity sha512-FROX3TxQnC/ox4N+3xQoWZzvGXSuscxR32rbzjpXgEzWudJFEJBpdlkkob2ylrv5yzzufD1zph1OoFsLtm6stQ== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.0" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.14.5" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.7" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +websocket-driver@>=0.5.1, websocket-driver@^0.7.4: + version "0.7.4" + resolved "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" + integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + dependencies: + http-parser-js ">=0.5.1" + safe-buffer ">=5.1.0" + websocket-extensions ">=0.1.1" + +websocket-extensions@>=0.1.1: + version "0.1.4" + resolved "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42" + integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + +whatwg-fetch@^3.6.2: + version "3.6.2" + resolved "https://registry.npmmirror.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" + integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +which@^1.2.9: + version "1.3.1" + resolved "https://registry.npmmirror.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + dependencies: + isexe "^2.0.0" + +which@^2.0.1: + version "2.0.2" + resolved "https://registry.npmmirror.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +wildcard@^2.0.0: + version "2.0.1" + resolved "https://registry.npmmirror.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67" + integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ== + +wrap-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba" + integrity sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ== + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@^7.3.1: + version "7.5.9" + resolved "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" + integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== + +ws@^8.13.0: + version "8.13.0" + resolved "https://registry.npmmirror.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== + +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== + +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yaml@^1.10.0, yaml@^1.10.2: + version "1.10.2" + resolved "https://registry.npmmirror.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs@^16.0.0: + version "16.2.0" + resolved "https://registry.npmmirror.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== + dependencies: + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.0" + y18n "^5.0.5" + yargs-parser "^20.2.2" + +yorkie@^2.0.0: + version "2.0.0" + resolved "https://registry.npmmirror.com/yorkie/-/yorkie-2.0.0.tgz#92411912d435214e12c51c2ae1093e54b6bb83d9" + integrity sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw== + dependencies: + execa "^0.8.0" + is-ci "^1.0.10" + normalize-path "^1.0.0" + strip-indent "^2.0.0"