jiangping
2023-08-21 525dae0dec6ba6afbe6bf81b82eb99d69aeb05b5
Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmMes
已添加1个文件
已修改10个文件
1747 ■■■■■ 文件已修改
screen_standard/package-lock.json 1192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen_standard/package.json 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen_standard/src/App.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen_standard/src/components/AppLayout.vue 210 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen_standard/src/router/index.js 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen_standard/src/utils/index.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen_standard/src/views/HomeView.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen_standard/src/views/index.vue 300 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen_standard/vite.config.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/resources/mappers/PlansExtMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/src/main/resources/mappers/WorkPlansExtMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen_standard/package-lock.json
@@ -8,6 +8,7 @@
      "name": "screen_standard",
      "version": "0.0.0",
      "dependencies": {
        "element-plus": "^2.3.9",
        "pinia": "^2.1.4",
        "vue": "^3.3.4",
        "vue-router": "^4.2.4"
@@ -16,6 +17,8 @@
        "@vitejs/plugin-vue": "^4.2.3",
        "@vitejs/plugin-vue-jsx": "^3.0.1",
        "sass": "^1.66.1",
        "unplugin-auto-import": "^0.16.6",
        "unplugin-vue-components": "^0.25.1",
        "vite": "^4.4.6"
      }
    },
@@ -30,6 +33,15 @@
      },
      "engines": {
        "node": ">=6.0.0"
      }
    },
    "node_modules/@antfu/utils": {
      "version": "0.7.6",
      "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.6.tgz",
      "integrity": "sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==",
      "dev": true,
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/@babel/code-frame": {
@@ -460,6 +472,22 @@
        "node": ">=6.9.0"
      }
    },
    "node_modules/@ctrl/tinycolor": {
      "version": "3.6.0",
      "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.0.tgz",
      "integrity": "sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==",
      "engines": {
        "node": ">=10"
      }
    },
    "node_modules/@element-plus/icons-vue": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.1.0.tgz",
      "integrity": "sha512-PSBn3elNoanENc1vnCfh+3WA9fimRC7n+fWkf3rE5jvv+aBohNHABC/KAR5KWPecxWxDTVT1ERpRbOMRcOV/vA==",
      "peerDependencies": {
        "vue": "^3.2.0"
      }
    },
    "node_modules/@esbuild/android-arm": {
      "version": "0.18.20",
      "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
@@ -812,6 +840,28 @@
        "node": ">=12"
      }
    },
    "node_modules/@floating-ui/core": {
      "version": "1.4.1",
      "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.4.1.tgz",
      "integrity": "sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==",
      "dependencies": {
        "@floating-ui/utils": "^0.1.1"
      }
    },
    "node_modules/@floating-ui/dom": {
      "version": "1.5.1",
      "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.1.tgz",
      "integrity": "sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==",
      "dependencies": {
        "@floating-ui/core": "^1.4.1",
        "@floating-ui/utils": "^0.1.1"
      }
    },
    "node_modules/@floating-ui/utils": {
      "version": "0.1.1",
      "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.1.tgz",
      "integrity": "sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw=="
    },
    "node_modules/@jridgewell/gen-mapping": {
      "version": "0.3.3",
      "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
@@ -858,6 +908,97 @@
        "@jridgewell/resolve-uri": "^3.1.0",
        "@jridgewell/sourcemap-codec": "^1.4.14"
      }
    },
    "node_modules/@nodelib/fs.scandir": {
      "version": "2.1.5",
      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
      "dev": true,
      "dependencies": {
        "@nodelib/fs.stat": "2.0.5",
        "run-parallel": "^1.1.9"
      },
      "engines": {
        "node": ">= 8"
      }
    },
    "node_modules/@nodelib/fs.stat": {
      "version": "2.0.5",
      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
      "dev": true,
      "engines": {
        "node": ">= 8"
      }
    },
    "node_modules/@nodelib/fs.walk": {
      "version": "1.2.8",
      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
      "dev": true,
      "dependencies": {
        "@nodelib/fs.scandir": "2.1.5",
        "fastq": "^1.6.0"
      },
      "engines": {
        "node": ">= 8"
      }
    },
    "node_modules/@popperjs/core": {
      "name": "@sxzz/popperjs-es",
      "version": "2.11.7",
      "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
      "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==",
      "funding": {
        "type": "opencollective",
        "url": "https://opencollective.com/popperjs"
      }
    },
    "node_modules/@rollup/pluginutils": {
      "version": "5.0.3",
      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz",
      "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==",
      "dev": true,
      "dependencies": {
        "@types/estree": "^1.0.0",
        "estree-walker": "^2.0.2",
        "picomatch": "^2.3.1"
      },
      "engines": {
        "node": ">=14.0.0"
      },
      "peerDependencies": {
        "rollup": "^1.20.0||^2.0.0||^3.0.0"
      },
      "peerDependenciesMeta": {
        "rollup": {
          "optional": true
        }
      }
    },
    "node_modules/@types/estree": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz",
      "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==",
      "dev": true
    },
    "node_modules/@types/lodash": {
      "version": "4.14.197",
      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.197.tgz",
      "integrity": "sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g=="
    },
    "node_modules/@types/lodash-es": {
      "version": "4.17.8",
      "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.8.tgz",
      "integrity": "sha512-euY3XQcZmIzSy7YH5+Unb3b2X12Wtk54YWINBvvGQ5SmMvwb11JQskGsfkH/5HXK77Kr8GF0wkVDIxzAisWtog==",
      "dependencies": {
        "@types/lodash": "*"
      }
    },
    "node_modules/@types/web-bluetooth": {
      "version": "0.0.16",
      "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
      "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
    },
    "node_modules/@vitejs/plugin-vue": {
      "version": "4.3.1",
@@ -1023,6 +1164,101 @@
      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.4.tgz",
      "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
    },
    "node_modules/@vueuse/core": {
      "version": "9.13.0",
      "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz",
      "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==",
      "dependencies": {
        "@types/web-bluetooth": "^0.0.16",
        "@vueuse/metadata": "9.13.0",
        "@vueuse/shared": "9.13.0",
        "vue-demi": "*"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/@vueuse/core/node_modules/vue-demi": {
      "version": "0.14.5",
      "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz",
      "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==",
      "hasInstallScript": true,
      "bin": {
        "vue-demi-fix": "bin/vue-demi-fix.js",
        "vue-demi-switch": "bin/vue-demi-switch.js"
      },
      "engines": {
        "node": ">=12"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      },
      "peerDependencies": {
        "@vue/composition-api": "^1.0.0-rc.1",
        "vue": "^3.0.0-0 || ^2.6.0"
      },
      "peerDependenciesMeta": {
        "@vue/composition-api": {
          "optional": true
        }
      }
    },
    "node_modules/@vueuse/metadata": {
      "version": "9.13.0",
      "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz",
      "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==",
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/@vueuse/shared": {
      "version": "9.13.0",
      "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz",
      "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==",
      "dependencies": {
        "vue-demi": "*"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/@vueuse/shared/node_modules/vue-demi": {
      "version": "0.14.5",
      "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz",
      "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==",
      "hasInstallScript": true,
      "bin": {
        "vue-demi-fix": "bin/vue-demi-fix.js",
        "vue-demi-switch": "bin/vue-demi-switch.js"
      },
      "engines": {
        "node": ">=12"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      },
      "peerDependencies": {
        "@vue/composition-api": "^1.0.0-rc.1",
        "vue": "^3.0.0-0 || ^2.6.0"
      },
      "peerDependenciesMeta": {
        "@vue/composition-api": {
          "optional": true
        }
      }
    },
    "node_modules/acorn": {
      "version": "8.10.0",
      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
      "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
      "dev": true,
      "bin": {
        "acorn": "bin/acorn"
      },
      "engines": {
        "node": ">=0.4.0"
      }
    },
    "node_modules/ansi-styles": {
      "version": "3.2.1",
      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz",
@@ -1048,6 +1284,17 @@
        "node": ">= 8"
      }
    },
    "node_modules/async-validator": {
      "version": "4.2.5",
      "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz",
      "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
    },
    "node_modules/balanced-match": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
      "dev": true
    },
    "node_modules/binary-extensions": {
      "version": "2.2.0",
      "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz",
@@ -1055,6 +1302,15 @@
      "dev": true,
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/brace-expansion": {
      "version": "2.0.1",
      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
      "dev": true,
      "dependencies": {
        "balanced-match": "^1.0.0"
      }
    },
    "node_modules/braces": {
@@ -1163,6 +1419,11 @@
      "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz",
      "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
    },
    "node_modules/dayjs": {
      "version": "1.11.9",
      "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz",
      "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA=="
    },
    "node_modules/debug": {
      "version": "4.3.4",
      "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
@@ -1185,6 +1446,31 @@
      "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz",
      "integrity": "sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q==",
      "dev": true
    },
    "node_modules/element-plus": {
      "version": "2.3.9",
      "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.3.9.tgz",
      "integrity": "sha512-TIOLnPl4cnoCPXqK3QYh+jpkthUBQnAM21O7o3Lhbse8v9pfrRXRTaBJtoEKnYNa8GZ4lZptUfH0PeZgDCNLUg==",
      "dependencies": {
        "@ctrl/tinycolor": "^3.4.1",
        "@element-plus/icons-vue": "^2.0.6",
        "@floating-ui/dom": "^1.0.1",
        "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
        "@types/lodash": "^4.14.182",
        "@types/lodash-es": "^4.17.6",
        "@vueuse/core": "^9.1.0",
        "async-validator": "^4.2.5",
        "dayjs": "^1.11.3",
        "escape-html": "^1.0.3",
        "lodash": "^4.17.21",
        "lodash-es": "^4.17.21",
        "lodash-unified": "^1.0.2",
        "memoize-one": "^6.0.0",
        "normalize-wheel-es": "^1.2.0"
      },
      "peerDependencies": {
        "vue": "^3.2.0"
      }
    },
    "node_modules/esbuild": {
      "version": "0.18.20",
@@ -1232,6 +1518,11 @@
        "node": ">=6"
      }
    },
    "node_modules/escape-html": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
    },
    "node_modules/escape-string-regexp": {
      "version": "1.0.5",
      "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -1245,6 +1536,31 @@
      "version": "2.0.2",
      "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
    },
    "node_modules/fast-glob": {
      "version": "3.3.1",
      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
      "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
      "dev": true,
      "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"
      },
      "engines": {
        "node": ">=8.6.0"
      }
    },
    "node_modules/fastq": {
      "version": "1.15.0",
      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
      "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
      "dev": true,
      "dependencies": {
        "reusify": "^1.0.4"
      }
    },
    "node_modules/fill-range": {
      "version": "7.0.1",
@@ -1271,6 +1587,12 @@
      "engines": {
        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
      }
    },
    "node_modules/function-bind": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
      "dev": true
    },
    "node_modules/gensync": {
      "version": "1.0.0-beta.2",
@@ -1300,6 +1622,18 @@
      "dev": true,
      "engines": {
        "node": ">=4"
      }
    },
    "node_modules/has": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
      "dev": true,
      "dependencies": {
        "function-bind": "^1.1.1"
      },
      "engines": {
        "node": ">= 0.4.0"
      }
    },
    "node_modules/has-flag": {
@@ -1336,6 +1670,18 @@
      },
      "engines": {
        "node": ">=8"
      }
    },
    "node_modules/is-core-module": {
      "version": "2.13.0",
      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz",
      "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==",
      "dev": true,
      "dependencies": {
        "has": "^1.0.3"
      },
      "funding": {
        "url": "https://github.com/sponsors/ljharb"
      }
    },
    "node_modules/is-extglob": {
@@ -1398,6 +1744,44 @@
        "node": ">=6"
      }
    },
    "node_modules/jsonc-parser": {
      "version": "3.2.0",
      "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
      "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
      "dev": true
    },
    "node_modules/local-pkg": {
      "version": "0.4.3",
      "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
      "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==",
      "dev": true,
      "engines": {
        "node": ">=14"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/lodash": {
      "version": "4.17.21",
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
    },
    "node_modules/lodash-es": {
      "version": "4.17.21",
      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
      "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
    },
    "node_modules/lodash-unified": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz",
      "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==",
      "peerDependencies": {
        "@types/lodash-es": "*",
        "lodash": "*",
        "lodash-es": "*"
      }
    },
    "node_modules/lru-cache": {
      "version": "5.1.1",
      "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -1416,6 +1800,60 @@
      },
      "engines": {
        "node": ">=12"
      }
    },
    "node_modules/memoize-one": {
      "version": "6.0.0",
      "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
      "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
    },
    "node_modules/merge2": {
      "version": "1.4.1",
      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
      "dev": true,
      "engines": {
        "node": ">= 8"
      }
    },
    "node_modules/micromatch": {
      "version": "4.0.5",
      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
      "dev": true,
      "dependencies": {
        "braces": "^3.0.2",
        "picomatch": "^2.3.1"
      },
      "engines": {
        "node": ">=8.6"
      }
    },
    "node_modules/minimatch": {
      "version": "9.0.3",
      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
      "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
      "dev": true,
      "dependencies": {
        "brace-expansion": "^2.0.1"
      },
      "engines": {
        "node": ">=16 || 14 >=14.17"
      },
      "funding": {
        "url": "https://github.com/sponsors/isaacs"
      }
    },
    "node_modules/mlly": {
      "version": "1.4.0",
      "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.0.tgz",
      "integrity": "sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==",
      "dev": true,
      "dependencies": {
        "acorn": "^8.9.0",
        "pathe": "^1.1.1",
        "pkg-types": "^1.0.3",
        "ufo": "^1.1.2"
      }
    },
    "node_modules/ms": {
@@ -1449,6 +1887,23 @@
      "engines": {
        "node": ">=0.10.0"
      }
    },
    "node_modules/normalize-wheel-es": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
      "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
    },
    "node_modules/path-parse": {
      "version": "1.0.7",
      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
      "dev": true
    },
    "node_modules/pathe": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz",
      "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==",
      "dev": true
    },
    "node_modules/picocolors": {
      "version": "1.0.0",
@@ -1508,6 +1963,17 @@
        }
      }
    },
    "node_modules/pkg-types": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz",
      "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==",
      "dev": true,
      "dependencies": {
        "jsonc-parser": "^3.2.0",
        "mlly": "^1.2.0",
        "pathe": "^1.1.0"
      }
    },
    "node_modules/postcss": {
      "version": "8.4.28",
      "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.28.tgz",
@@ -1521,6 +1987,26 @@
        "node": "^10 || ^12 || >=14"
      }
    },
    "node_modules/queue-microtask": {
      "version": "1.2.3",
      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
      "dev": true,
      "funding": [
        {
          "type": "github",
          "url": "https://github.com/sponsors/feross"
        },
        {
          "type": "patreon",
          "url": "https://www.patreon.com/feross"
        },
        {
          "type": "consulting",
          "url": "https://feross.org/support"
        }
      ]
    },
    "node_modules/readdirp": {
      "version": "3.6.0",
      "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
@@ -1531,6 +2017,33 @@
      },
      "engines": {
        "node": ">=8.10.0"
      }
    },
    "node_modules/resolve": {
      "version": "1.22.4",
      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz",
      "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==",
      "dev": true,
      "dependencies": {
        "is-core-module": "^2.13.0",
        "path-parse": "^1.0.7",
        "supports-preserve-symlinks-flag": "^1.0.0"
      },
      "bin": {
        "resolve": "bin/resolve"
      },
      "funding": {
        "url": "https://github.com/sponsors/ljharb"
      }
    },
    "node_modules/reusify": {
      "version": "1.0.4",
      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
      "dev": true,
      "engines": {
        "iojs": ">=1.0.0",
        "node": ">=0.10.0"
      }
    },
    "node_modules/rollup": {
@@ -1547,6 +2060,29 @@
      },
      "optionalDependencies": {
        "fsevents": "~2.3.2"
      }
    },
    "node_modules/run-parallel": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
      "dev": true,
      "funding": [
        {
          "type": "github",
          "url": "https://github.com/sponsors/feross"
        },
        {
          "type": "patreon",
          "url": "https://www.patreon.com/feross"
        },
        {
          "type": "consulting",
          "url": "https://feross.org/support"
        }
      ],
      "dependencies": {
        "queue-microtask": "^1.2.2"
      }
    },
    "node_modules/sass": {
@@ -1566,6 +2102,12 @@
        "node": ">=14.0.0"
      }
    },
    "node_modules/scule": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz",
      "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==",
      "dev": true
    },
    "node_modules/semver": {
      "version": "6.3.1",
      "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz",
@@ -1583,6 +2125,18 @@
        "node": ">=0.10.0"
      }
    },
    "node_modules/strip-literal": {
      "version": "1.3.0",
      "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz",
      "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==",
      "dev": true,
      "dependencies": {
        "acorn": "^8.10.0"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      }
    },
    "node_modules/supports-color": {
      "version": "5.5.0",
      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz",
@@ -1593,6 +2147,18 @@
      },
      "engines": {
        "node": ">=4"
      }
    },
    "node_modules/supports-preserve-symlinks-flag": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
      "dev": true,
      "engines": {
        "node": ">= 0.4"
      },
      "funding": {
        "url": "https://github.com/sponsors/ljharb"
      }
    },
    "node_modules/svg-tags": {
@@ -1620,6 +2186,126 @@
      },
      "engines": {
        "node": ">=8.0"
      }
    },
    "node_modules/ufo": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.2.0.tgz",
      "integrity": "sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==",
      "dev": true
    },
    "node_modules/unimport": {
      "version": "3.1.3",
      "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.1.3.tgz",
      "integrity": "sha512-up4TE2yA+nMyyErGTjbYGVw95MriGa2hVRXQ3/JRp7984cwwqULcnBjHaovVpsO8tZc2j0fvgGu9yiBKOyxvYw==",
      "dev": true,
      "dependencies": {
        "@rollup/pluginutils": "^5.0.2",
        "escape-string-regexp": "^5.0.0",
        "fast-glob": "^3.3.1",
        "local-pkg": "^0.4.3",
        "magic-string": "^0.30.2",
        "mlly": "^1.4.0",
        "pathe": "^1.1.1",
        "pkg-types": "^1.0.3",
        "scule": "^1.0.0",
        "strip-literal": "^1.3.0",
        "unplugin": "^1.4.0"
      }
    },
    "node_modules/unimport/node_modules/escape-string-regexp": {
      "version": "5.0.0",
      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
      "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
      "dev": true,
      "engines": {
        "node": ">=12"
      },
      "funding": {
        "url": "https://github.com/sponsors/sindresorhus"
      }
    },
    "node_modules/unplugin": {
      "version": "1.4.0",
      "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.4.0.tgz",
      "integrity": "sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==",
      "dev": true,
      "dependencies": {
        "acorn": "^8.9.0",
        "chokidar": "^3.5.3",
        "webpack-sources": "^3.2.3",
        "webpack-virtual-modules": "^0.5.0"
      }
    },
    "node_modules/unplugin-auto-import": {
      "version": "0.16.6",
      "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.16.6.tgz",
      "integrity": "sha512-M+YIITkx3C/Hg38hp8HmswP5mShUUyJOzpifv7RTlAbeFlO2Tyw0pwrogSSxnipHDPTtI8VHFBpkYkNKzYSuyA==",
      "dev": true,
      "dependencies": {
        "@antfu/utils": "^0.7.5",
        "@rollup/pluginutils": "^5.0.2",
        "fast-glob": "^3.3.0",
        "local-pkg": "^0.4.3",
        "magic-string": "^0.30.1",
        "minimatch": "^9.0.2",
        "unimport": "^3.0.14",
        "unplugin": "^1.3.2"
      },
      "engines": {
        "node": ">=14"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      },
      "peerDependencies": {
        "@nuxt/kit": "^3.2.2",
        "@vueuse/core": "*"
      },
      "peerDependenciesMeta": {
        "@nuxt/kit": {
          "optional": true
        },
        "@vueuse/core": {
          "optional": true
        }
      }
    },
    "node_modules/unplugin-vue-components": {
      "version": "0.25.1",
      "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.25.1.tgz",
      "integrity": "sha512-kzS2ZHVMaGU2XEO2keYQcMjNZkanDSGDdY96uQT9EPe+wqSZwwgbFfKVJ5ti0+8rGAcKHColwKUvctBhq2LJ3A==",
      "dev": true,
      "dependencies": {
        "@antfu/utils": "^0.7.4",
        "@rollup/pluginutils": "^5.0.2",
        "chokidar": "^3.5.3",
        "debug": "^4.3.4",
        "fast-glob": "^3.2.12",
        "local-pkg": "^0.4.3",
        "magic-string": "^0.30.0",
        "minimatch": "^9.0.1",
        "resolve": "^1.22.2",
        "unplugin": "^1.3.1"
      },
      "engines": {
        "node": ">=14"
      },
      "funding": {
        "url": "https://github.com/sponsors/antfu"
      },
      "peerDependencies": {
        "@babel/parser": "^7.15.8",
        "@nuxt/kit": "^3.2.2",
        "vue": "2 || 3"
      },
      "peerDependenciesMeta": {
        "@babel/parser": {
          "optional": true
        },
        "@nuxt/kit": {
          "optional": true
        }
      }
    },
    "node_modules/update-browserslist-db": {
@@ -1713,6 +2399,21 @@
        "vue": "^3.2.0"
      }
    },
    "node_modules/webpack-sources": {
      "version": "3.2.3",
      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
      "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
      "dev": true,
      "engines": {
        "node": ">=10.13.0"
      }
    },
    "node_modules/webpack-virtual-modules": {
      "version": "0.5.0",
      "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz",
      "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==",
      "dev": true
    },
    "node_modules/yallist": {
      "version": "3.1.1",
      "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz",
@@ -1730,6 +2431,12 @@
        "@jridgewell/gen-mapping": "^0.3.0",
        "@jridgewell/trace-mapping": "^0.3.9"
      }
    },
    "@antfu/utils": {
      "version": "0.7.6",
      "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.6.tgz",
      "integrity": "sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==",
      "dev": true
    },
    "@babel/code-frame": {
      "version": "7.22.10",
@@ -2045,6 +2752,17 @@
        "to-fast-properties": "^2.0.0"
      }
    },
    "@ctrl/tinycolor": {
      "version": "3.6.0",
      "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.0.tgz",
      "integrity": "sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ=="
    },
    "@element-plus/icons-vue": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.1.0.tgz",
      "integrity": "sha512-PSBn3elNoanENc1vnCfh+3WA9fimRC7n+fWkf3rE5jvv+aBohNHABC/KAR5KWPecxWxDTVT1ERpRbOMRcOV/vA==",
      "requires": {}
    },
    "@esbuild/android-arm": {
      "version": "0.18.20",
      "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
@@ -2199,6 +2917,28 @@
      "dev": true,
      "optional": true
    },
    "@floating-ui/core": {
      "version": "1.4.1",
      "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.4.1.tgz",
      "integrity": "sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==",
      "requires": {
        "@floating-ui/utils": "^0.1.1"
      }
    },
    "@floating-ui/dom": {
      "version": "1.5.1",
      "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.1.tgz",
      "integrity": "sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==",
      "requires": {
        "@floating-ui/core": "^1.4.1",
        "@floating-ui/utils": "^0.1.1"
      }
    },
    "@floating-ui/utils": {
      "version": "0.1.1",
      "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.1.tgz",
      "integrity": "sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw=="
    },
    "@jridgewell/gen-mapping": {
      "version": "0.3.3",
      "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
@@ -2236,6 +2976,72 @@
        "@jridgewell/resolve-uri": "^3.1.0",
        "@jridgewell/sourcemap-codec": "^1.4.14"
      }
    },
    "@nodelib/fs.scandir": {
      "version": "2.1.5",
      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
      "dev": true,
      "requires": {
        "@nodelib/fs.stat": "2.0.5",
        "run-parallel": "^1.1.9"
      }
    },
    "@nodelib/fs.stat": {
      "version": "2.0.5",
      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
      "dev": true
    },
    "@nodelib/fs.walk": {
      "version": "1.2.8",
      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
      "dev": true,
      "requires": {
        "@nodelib/fs.scandir": "2.1.5",
        "fastq": "^1.6.0"
      }
    },
    "@popperjs/core": {
      "version": "npm:@sxzz/popperjs-es@2.11.7",
      "resolved": "https://registry.npmjs.org/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz",
      "integrity": "sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ=="
    },
    "@rollup/pluginutils": {
      "version": "5.0.3",
      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.3.tgz",
      "integrity": "sha512-hfllNN4a80rwNQ9QCxhxuHCGHMAvabXqxNdaChUSSadMre7t4iEUI6fFAhBOn/eIYTgYVhBv7vCLsAJ4u3lf3g==",
      "dev": true,
      "requires": {
        "@types/estree": "^1.0.0",
        "estree-walker": "^2.0.2",
        "picomatch": "^2.3.1"
      }
    },
    "@types/estree": {
      "version": "1.0.1",
      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz",
      "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==",
      "dev": true
    },
    "@types/lodash": {
      "version": "4.14.197",
      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.197.tgz",
      "integrity": "sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g=="
    },
    "@types/lodash-es": {
      "version": "4.17.8",
      "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.8.tgz",
      "integrity": "sha512-euY3XQcZmIzSy7YH5+Unb3b2X12Wtk54YWINBvvGQ5SmMvwb11JQskGsfkH/5HXK77Kr8GF0wkVDIxzAisWtog==",
      "requires": {
        "@types/lodash": "*"
      }
    },
    "@types/web-bluetooth": {
      "version": "0.0.16",
      "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.16.tgz",
      "integrity": "sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ=="
    },
    "@vitejs/plugin-vue": {
      "version": "4.3.1",
@@ -2382,6 +3188,52 @@
      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.4.tgz",
      "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
    },
    "@vueuse/core": {
      "version": "9.13.0",
      "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.13.0.tgz",
      "integrity": "sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==",
      "requires": {
        "@types/web-bluetooth": "^0.0.16",
        "@vueuse/metadata": "9.13.0",
        "@vueuse/shared": "9.13.0",
        "vue-demi": "*"
      },
      "dependencies": {
        "vue-demi": {
          "version": "0.14.5",
          "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz",
          "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==",
          "requires": {}
        }
      }
    },
    "@vueuse/metadata": {
      "version": "9.13.0",
      "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.13.0.tgz",
      "integrity": "sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ=="
    },
    "@vueuse/shared": {
      "version": "9.13.0",
      "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.13.0.tgz",
      "integrity": "sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==",
      "requires": {
        "vue-demi": "*"
      },
      "dependencies": {
        "vue-demi": {
          "version": "0.14.5",
          "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz",
          "integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==",
          "requires": {}
        }
      }
    },
    "acorn": {
      "version": "8.10.0",
      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz",
      "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==",
      "dev": true
    },
    "ansi-styles": {
      "version": "3.2.1",
      "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz",
@@ -2401,11 +3253,31 @@
        "picomatch": "^2.0.4"
      }
    },
    "async-validator": {
      "version": "4.2.5",
      "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz",
      "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
    },
    "balanced-match": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
      "dev": true
    },
    "binary-extensions": {
      "version": "2.2.0",
      "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz",
      "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
      "dev": true
    },
    "brace-expansion": {
      "version": "2.0.1",
      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
      "dev": true,
      "requires": {
        "balanced-match": "^1.0.0"
      }
    },
    "braces": {
      "version": "3.0.2",
@@ -2493,6 +3365,11 @@
      "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz",
      "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
    },
    "dayjs": {
      "version": "1.11.9",
      "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz",
      "integrity": "sha512-QvzAURSbQ0pKdIye2txOzNaHmxtUBXerpY0FJsFXUMKbIZeFm5ht1LS/jFsrncjnmtv8HsG0W2g6c0zUjZWmpA=="
    },
    "debug": {
      "version": "4.3.4",
      "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
@@ -2507,6 +3384,28 @@
      "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.495.tgz",
      "integrity": "sha512-mwknuemBZnoOCths4GtpU/SDuVMp3uQHKa2UNJT9/aVD6WVRjGpXOxRGX7lm6ILIenTdGXPSTCTDaWos5tEU8Q==",
      "dev": true
    },
    "element-plus": {
      "version": "2.3.9",
      "resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.3.9.tgz",
      "integrity": "sha512-TIOLnPl4cnoCPXqK3QYh+jpkthUBQnAM21O7o3Lhbse8v9pfrRXRTaBJtoEKnYNa8GZ4lZptUfH0PeZgDCNLUg==",
      "requires": {
        "@ctrl/tinycolor": "^3.4.1",
        "@element-plus/icons-vue": "^2.0.6",
        "@floating-ui/dom": "^1.0.1",
        "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
        "@types/lodash": "^4.14.182",
        "@types/lodash-es": "^4.17.6",
        "@vueuse/core": "^9.1.0",
        "async-validator": "^4.2.5",
        "dayjs": "^1.11.3",
        "escape-html": "^1.0.3",
        "lodash": "^4.17.21",
        "lodash-es": "^4.17.21",
        "lodash-unified": "^1.0.2",
        "memoize-one": "^6.0.0",
        "normalize-wheel-es": "^1.2.0"
      }
    },
    "esbuild": {
      "version": "0.18.20",
@@ -2544,6 +3443,11 @@
      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
      "dev": true
    },
    "escape-html": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
    },
    "escape-string-regexp": {
      "version": "1.0.5",
      "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
@@ -2554,6 +3458,28 @@
      "version": "2.0.2",
      "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
    },
    "fast-glob": {
      "version": "3.3.1",
      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz",
      "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==",
      "dev": true,
      "requires": {
        "@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"
      }
    },
    "fastq": {
      "version": "1.15.0",
      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
      "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
      "dev": true,
      "requires": {
        "reusify": "^1.0.4"
      }
    },
    "fill-range": {
      "version": "7.0.1",
@@ -2570,6 +3496,12 @@
      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
      "dev": true,
      "optional": true
    },
    "function-bind": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
      "dev": true
    },
    "gensync": {
      "version": "1.0.0-beta.2",
@@ -2591,6 +3523,15 @@
      "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz",
      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
      "dev": true
    },
    "has": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
      "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
      "dev": true,
      "requires": {
        "function-bind": "^1.1.1"
      }
    },
    "has-flag": {
      "version": "3.0.0",
@@ -2617,6 +3558,15 @@
      "dev": true,
      "requires": {
        "binary-extensions": "^2.0.0"
      }
    },
    "is-core-module": {
      "version": "2.13.0",
      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz",
      "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==",
      "dev": true,
      "requires": {
        "has": "^1.0.3"
      }
    },
    "is-extglob": {
@@ -2658,6 +3608,34 @@
      "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
      "dev": true
    },
    "jsonc-parser": {
      "version": "3.2.0",
      "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
      "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
      "dev": true
    },
    "local-pkg": {
      "version": "0.4.3",
      "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
      "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==",
      "dev": true
    },
    "lodash": {
      "version": "4.17.21",
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
    },
    "lodash-es": {
      "version": "4.17.21",
      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
      "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
    },
    "lodash-unified": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/lodash-unified/-/lodash-unified-1.0.3.tgz",
      "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==",
      "requires": {}
    },
    "lru-cache": {
      "version": "5.1.1",
      "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -2673,6 +3651,48 @@
      "integrity": "sha512-lNZdu7pewtq/ZvWUp9Wpf/x7WzMTsR26TWV03BRZrXFsv+BI6dy8RAiKgm1uM/kyR0rCfUcqvOlXKG66KhIGug==",
      "requires": {
        "@jridgewell/sourcemap-codec": "^1.4.15"
      }
    },
    "memoize-one": {
      "version": "6.0.0",
      "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz",
      "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw=="
    },
    "merge2": {
      "version": "1.4.1",
      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
      "dev": true
    },
    "micromatch": {
      "version": "4.0.5",
      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
      "dev": true,
      "requires": {
        "braces": "^3.0.2",
        "picomatch": "^2.3.1"
      }
    },
    "minimatch": {
      "version": "9.0.3",
      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
      "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
      "dev": true,
      "requires": {
        "brace-expansion": "^2.0.1"
      }
    },
    "mlly": {
      "version": "1.4.0",
      "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.0.tgz",
      "integrity": "sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==",
      "dev": true,
      "requires": {
        "acorn": "^8.9.0",
        "pathe": "^1.1.1",
        "pkg-types": "^1.0.3",
        "ufo": "^1.1.2"
      }
    },
    "ms": {
@@ -2696,6 +3716,23 @@
      "version": "3.0.0",
      "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
      "dev": true
    },
    "normalize-wheel-es": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz",
      "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw=="
    },
    "path-parse": {
      "version": "1.0.7",
      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
      "dev": true
    },
    "pathe": {
      "version": "1.1.1",
      "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz",
      "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==",
      "dev": true
    },
    "picocolors": {
@@ -2726,6 +3763,17 @@
        }
      }
    },
    "pkg-types": {
      "version": "1.0.3",
      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz",
      "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==",
      "dev": true,
      "requires": {
        "jsonc-parser": "^3.2.0",
        "mlly": "^1.2.0",
        "pathe": "^1.1.0"
      }
    },
    "postcss": {
      "version": "8.4.28",
      "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.28.tgz",
@@ -2736,6 +3784,12 @@
        "source-map-js": "^1.0.2"
      }
    },
    "queue-microtask": {
      "version": "1.2.3",
      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
      "dev": true
    },
    "readdirp": {
      "version": "3.6.0",
      "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
@@ -2745,6 +3799,23 @@
        "picomatch": "^2.2.1"
      }
    },
    "resolve": {
      "version": "1.22.4",
      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz",
      "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==",
      "dev": true,
      "requires": {
        "is-core-module": "^2.13.0",
        "path-parse": "^1.0.7",
        "supports-preserve-symlinks-flag": "^1.0.0"
      }
    },
    "reusify": {
      "version": "1.0.4",
      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
      "dev": true
    },
    "rollup": {
      "version": "3.28.0",
      "resolved": "https://registry.npmmirror.com/rollup/-/rollup-3.28.0.tgz",
@@ -2752,6 +3823,15 @@
      "dev": true,
      "requires": {
        "fsevents": "~2.3.2"
      }
    },
    "run-parallel": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
      "dev": true,
      "requires": {
        "queue-microtask": "^1.2.2"
      }
    },
    "sass": {
@@ -2765,6 +3845,12 @@
        "source-map-js": ">=0.6.2 <2.0.0"
      }
    },
    "scule": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/scule/-/scule-1.0.0.tgz",
      "integrity": "sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==",
      "dev": true
    },
    "semver": {
      "version": "6.3.1",
      "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz",
@@ -2776,6 +3862,15 @@
      "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
    },
    "strip-literal": {
      "version": "1.3.0",
      "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz",
      "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==",
      "dev": true,
      "requires": {
        "acorn": "^8.10.0"
      }
    },
    "supports-color": {
      "version": "5.5.0",
      "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz",
@@ -2784,6 +3879,12 @@
      "requires": {
        "has-flag": "^3.0.0"
      }
    },
    "supports-preserve-symlinks-flag": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
      "dev": true
    },
    "svg-tags": {
      "version": "1.0.0",
@@ -2804,6 +3905,85 @@
      "dev": true,
      "requires": {
        "is-number": "^7.0.0"
      }
    },
    "ufo": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.2.0.tgz",
      "integrity": "sha512-RsPyTbqORDNDxqAdQPQBpgqhWle1VcTSou/FraClYlHf6TZnQcGslpLcAphNR+sQW4q5lLWLbOsRlh9j24baQg==",
      "dev": true
    },
    "unimport": {
      "version": "3.1.3",
      "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.1.3.tgz",
      "integrity": "sha512-up4TE2yA+nMyyErGTjbYGVw95MriGa2hVRXQ3/JRp7984cwwqULcnBjHaovVpsO8tZc2j0fvgGu9yiBKOyxvYw==",
      "dev": true,
      "requires": {
        "@rollup/pluginutils": "^5.0.2",
        "escape-string-regexp": "^5.0.0",
        "fast-glob": "^3.3.1",
        "local-pkg": "^0.4.3",
        "magic-string": "^0.30.2",
        "mlly": "^1.4.0",
        "pathe": "^1.1.1",
        "pkg-types": "^1.0.3",
        "scule": "^1.0.0",
        "strip-literal": "^1.3.0",
        "unplugin": "^1.4.0"
      },
      "dependencies": {
        "escape-string-regexp": {
          "version": "5.0.0",
          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
          "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
          "dev": true
        }
      }
    },
    "unplugin": {
      "version": "1.4.0",
      "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.4.0.tgz",
      "integrity": "sha512-5x4eIEL6WgbzqGtF9UV8VEC/ehKptPXDS6L2b0mv4FRMkJxRtjaJfOWDd6a8+kYbqsjklix7yWP0N3SUepjXcg==",
      "dev": true,
      "requires": {
        "acorn": "^8.9.0",
        "chokidar": "^3.5.3",
        "webpack-sources": "^3.2.3",
        "webpack-virtual-modules": "^0.5.0"
      }
    },
    "unplugin-auto-import": {
      "version": "0.16.6",
      "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.16.6.tgz",
      "integrity": "sha512-M+YIITkx3C/Hg38hp8HmswP5mShUUyJOzpifv7RTlAbeFlO2Tyw0pwrogSSxnipHDPTtI8VHFBpkYkNKzYSuyA==",
      "dev": true,
      "requires": {
        "@antfu/utils": "^0.7.5",
        "@rollup/pluginutils": "^5.0.2",
        "fast-glob": "^3.3.0",
        "local-pkg": "^0.4.3",
        "magic-string": "^0.30.1",
        "minimatch": "^9.0.2",
        "unimport": "^3.0.14",
        "unplugin": "^1.3.2"
      }
    },
    "unplugin-vue-components": {
      "version": "0.25.1",
      "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.25.1.tgz",
      "integrity": "sha512-kzS2ZHVMaGU2XEO2keYQcMjNZkanDSGDdY96uQT9EPe+wqSZwwgbFfKVJ5ti0+8rGAcKHColwKUvctBhq2LJ3A==",
      "dev": true,
      "requires": {
        "@antfu/utils": "^0.7.4",
        "@rollup/pluginutils": "^5.0.2",
        "chokidar": "^3.5.3",
        "debug": "^4.3.4",
        "fast-glob": "^3.2.12",
        "local-pkg": "^0.4.3",
        "magic-string": "^0.30.0",
        "minimatch": "^9.0.1",
        "resolve": "^1.22.2",
        "unplugin": "^1.3.1"
      }
    },
    "update-browserslist-db": {
@@ -2848,6 +4028,18 @@
        "@vue/devtools-api": "^6.5.0"
      }
    },
    "webpack-sources": {
      "version": "3.2.3",
      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
      "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
      "dev": true
    },
    "webpack-virtual-modules": {
      "version": "0.5.0",
      "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz",
      "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==",
      "dev": true
    },
    "yallist": {
      "version": "3.1.1",
      "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz",
screen_standard/package.json
@@ -9,6 +9,7 @@
    "preview": "vite preview"
  },
  "dependencies": {
    "element-plus": "^2.3.9",
    "pinia": "^2.1.4",
    "vue": "^3.3.4",
    "vue-router": "^4.2.4"
@@ -17,6 +18,8 @@
    "@vitejs/plugin-vue": "^4.2.3",
    "@vitejs/plugin-vue-jsx": "^3.0.1",
    "sass": "^1.66.1",
    "unplugin-auto-import": "^0.16.6",
    "unplugin-vue-components": "^0.25.1",
    "vite": "^4.4.6"
  }
}
screen_standard/src/App.vue
@@ -5,10 +5,6 @@
<template>
  <AppLayout />
<<<<<<< HEAD
=======
>>>>>>> 5103535bcd7b012c0eda4cbb26968066b35704d1
</template>
<style scoped>
screen_standard/src/components/AppLayout.vue
@@ -1,13 +1,50 @@
<template>
  <div class="content">
    <div class="header">
      <div class="header-item" style="font-size: 20px;">豆米科技</div>
      <div class="header-item" style="font-size: 20px;">
        <el-dropdown trigger="click">
          <div class="eare-title">
            {{ tempCom.name}}
            <div class="right-icon">
              <img src="@/assets/img/ar_drop@2x.png" alt="">
            </div>
          </div>
          <template #dropdown>
            <el-dropdown-menu>
              <el-dropdown-item v-for="(item, index) in comList" :key="index" @click="selectCom(item, index)">{{item.name}}</el-dropdown-item>
            </el-dropdown-menu>
          </template>
        </el-dropdown>
      </div>
      <div class="title">DM云工厂车间大屏</div>
      <div class="header-item">天气</div>
      <div class="header-item right">
        <img v-if="!isFull" src="@/assets/img/ic_fullscreen@2x.png" class="full-ic" @click="fullChange">
        <img v-else src="@/assets/img/ic_exitfullscreen@2x.png" class="full-ic" @click="fullChange">
        <img src="@/assets/img/title_line@2x.png" class="right-line" alt="">
        <div class="date">
          <div class="time">{{ tempDate.time }}</div>
          <div class="day">{{ `${tempDate.date} ${tempDate.day}` }}</div>
        </div>
        <img src="@/assets/img/title_line@2x.png" class="right-line" alt="">
      </div>
    </div>
    <!-- 'background': `url(${getAssets(item.bgImg)})`, -->
    <div class="num-list">
      <div
        v-for="(item, index) in layoutList"
        :key="index"
        class="num-item"
        :style="{ 'background-image': `url(${getAssets(item.bgImg)})`}"
      >
        <img :src="getAssets(item.logo)" alt="">
        <div class="item-right">
          <div class="item-title">{{ item.name }}</div>
          <div class="num-value">1</div>
    </div>
    <div class="num-list">
      </div>
    </div>
    <RouterView />
  </div>
@@ -15,14 +52,83 @@
<script setup>
import { reactive } from 'vue';
import { getAssets } from '@/utils'
import { reactive, toRefs, onMounted } from 'vue';
import { RouterView } from 'vue-router'
const layoutList = [
  { bgImg: requir('@/assets/img/bg_zhixingzhong@2x.png'), name: '执行中计划数(个)', logo: requir('@/assets/img') }
  { bgImg: 'bg_zhixingzhong@2x.png', name: '执行中计划数(个)', logo: 'ic_zhixingzhong@2x.png' },
  { bgImg: 'bg_yanqijihua@2x.png', name: '延期计划数(个)', logo: 'ic_yanqijihua@2x.png' },
  { bgImg: 'bg_jinrirenshu@2x.png', name: '今日生产人数(人)', logo: 'ic_jinrirenshu@2x.png' },
  { bgImg: 'bg_jinrishebei@2x.png', name: '今日生产设备(台)', logo: 'ic_jinrishebei@2x.png' },
  { bgImg: 'bg_jinribuliang@2x.png', name: '今日不良品率(%)', logo: 'ic_jinribuliang@2x.png' },
]
const data = reactive({
  tempCom: { name: '豆米科技' },
  isFull: false,
  tempDate: {
    time: '',
    date: '',
    day: ''
  }
})
let { tempCom, isFull, tempDate } = toRefs(data)
const comList = [
  {name: '豆米'},
  {name: '大米'},
  {name: '小米'},
  {name: '黄米'},
]
const selectCom = (item, index) => {
  data.tempCom = item
}
const fullChange = () => {
  data.isFull = !data.isFull
  let element = document.documentElement;
  if (data.isFull) {   // å…¨å±
    if (element.requestFullscreen) {
      element.requestFullscreen();
    } else if (element.webkitRequestFullScreen) {
      element.webkitRequestFullScreen();
    } else if (element.mozRequestFullScreen) {
      element.mozRequestFullScreen();
    } else if (element.msRequestFullscreen) {
      // IE11
      element.msRequestFullscreen();
    }
  } else {  // è¿˜åŽŸ
    if (document.exitFullscreen) {
      document.exitFullscreen();
    } else if (document.webkitCancelFullScreen) {
      document.webkitCancelFullScreen();
    } else if (document.mozCancelFullScreen) {
      document.mozCancelFullScreen();
    } else if (document.msExitFullscreen) {
      document.msExitFullscreen();
    }
  }
  // data.isFull = !data.isFull
}
onMounted(() => {
  const week = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日',]
  setInterval(() => {
    let date = new Date()
    data.tempDate = {
      time: `${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}`,
      date: `${date.getFullYear()}/${date.getMonth()+1}/${date.getDate()}`,
      day: week[date.getDay()-1]
    }
  }, 1000)
  // console.log(date.getDay());
})
</script>
<style lang="scss" scoped>
@@ -42,10 +148,26 @@
    height: 74px;
    display: flex;
    padding-top: 1px;
    padding-left: 20px;
    justify-content: space-between;
    color: #fff;
    .header-item {
      width: 200px;
      width: 300px;
    }
    .eare-title {
      margin-top: 27px;
      color: #fff;
      height: 20px;
      font-size: 20px;
      font-family: SourceHanSansSC-Medium, SourceHanSansSC;
      font-weight: 500;
      // line-height: 74px;
      display: flex;
      .right-icon {
        width: 20px;
        height: 20px;
        margin-left: 8px;
      }
    }
    .title {
      margin-top: 15px;
@@ -55,10 +177,82 @@
      line-height: 25px;
      text-align: center;
    }
    .right {
      margin-top: 20px;
      height: 30px;
      display: flex;
      padding-right: 22px;
      flex-direction: row-reverse;
      .full-ic {
        margin-top: 2px;
        width: 30px;
        height: 30px;
      }
      .right-line {
        width: 2px;
        height: 34px;
        margin-left: 15px;
        margin-right: 15px;
      }
      .date {
        .time {
          height: 20px;
          font-size: 18px;
          font-weight: 500;
          color: #FFFFFF;
          line-height: 20px;
        }
        .day {
          height: 12px;
          font-size: 12px;
          font-weight: 400;
          color: #D2E0FF;
          line-height: 12px;
        }
      }
    }
  }
  .num-list {
    margin-top: 24px;
    display: flex;
    justify-content: space-between;
    height: 88px;
    color: white;
    .num-item {
      width: calc(25% - 50px);
      background-size: 100% 100%;
      margin-right: 25px;
      padding-left: 30px;
      padding-top: 12px;
      display: flex;
      &:last-child {
        margin-right: 0px;
      }
      img {
        width: 52px;
        height: 52px;
      }
      .item-right {
        margin-left: 12px;
        .item-title {
          height: 19px;
          font-size: 13px;
          font-weight: 400;
          color: rgba(255,255,255,0.9);
          line-height: 19px;
        }
        .num-value {
          height: 35px;
          font-size: 30px;
          font-weight: bold;
          color: #FFFFFF;
          line-height: 35px;
          background: linear-gradient(180deg, #EEEEEE 0%, #15CFFF 100%);
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
        }
      }
    }
  }
}
</style>
screen_standard/src/router/index.js
@@ -8,13 +8,13 @@
    {
      path: '/',
      name: 'home',
      component: HomeView
    },
    {
      path: '/index',
      name: 'index',
      component: indexView
    }
    },
    // {
    //   path: '/index',
    //   name: 'index',
    //   component: indexView
    // }
  ]
})
screen_standard/src/utils/index.js
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,4 @@
export function getAssets(url) {
  // console.log(url, new URL(`../assets/img/${url}`, import.meta.url).href);
  return new URL(`../assets/img/${url}`, import.meta.url).href
}
screen_standard/src/views/HomeView.vue
@@ -7,12 +7,6 @@
    </div>
 
    <div class="success_info_body" v-show="showFlag">
      <!-- æ ‡å‡†title可以调用组件 -->
      <div class="title_div">
        1213
      </div>
      <!-- å‚数名称、列数根据实际情况调整 -->
      <div class="table_body">
        <div class="table_th">
screen_standard/src/views/index.vue
@@ -1,34 +1,318 @@
<template>
    <div class="content">
        <div class="content_left">1</div>
    <div class="content1">
        <div class="content_left">
            <div class="content_left_item1">
                <div class="content_left_item1_head">
                    <span>当日员工产量TOP10</span>
                </div>
                <div class="content_left_item1_content">
                    <div class="content_left_item1_content_row" v-for="(item, index) in 10" :key="index">
                        <div class="content_left_item1_content_row_name">
                            <div :class="index > 2 ? 'num bg1' : 'num bg2'">{{ index + 1 }}</div>
                            <span>赵立{{ index }}</span>
                        </div>
                        <div class="content_left_item1_content_row_line">
                            <el-progress
                                :show-text="false"
                                :percentage="50">
                            </el-progress>
                        </div>
                        <div class="content_left_item1_content_row_num">342</div>
                    </div>
                </div>
            </div>
            <div class="content_left_item2">
                <div class="content_left_item2_head">
                    <span>仓库实时余量统计</span>
                </div>
                <div class="content_left_item2_content">
                    <div class="item2_content_head">
                        <div class="item2_content_head_item">物料名称 / å·¥åº</div>
                        <div class="item2_content_head_item">仓库</div>
                        <div class="item2_content_head_item">货架</div>
                        <div class="item2_content_head_item">数量</div>
                    </div>
                    <div @mouseenter="handleMouseEnter" @mouseleave="handleMouseLeave" class="main_container">
                        <div ref="scrollContainer" class="scroll_container">
                            <div v-for="(item, index) in listData" :key="item.id" :class="index % 2 == 0 ? 'scroll_item scroll_item_bg1' : 'scroll_item scroll_item_bg2'">
                                <span>{{ item.name }}</span>
                                <div class="scroll_item_row"></div>
                                <div class="scroll_item_row"></div>
                                <div class="scroll_item_row"></div>
                                <div class="scroll_item_row"></div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <div class="content_center">2</div>
        <div class="content_right">3</div>
    </div>
</template>
<script setup>
    import {reactive, ref, onMounted, onBeforeUnmount, onUnmounted, nextTick} from 'vue'
    let timer = ref(null)
    let scrollContainer = ref(null)
    let listData = reactive([
        {name: 'dom第一个'},
        {name: 'dom第二个'},
        {name: 'dom第三个'},
        {name: 'dom第四个'},
        {name: 'dom第五个'},
        {name: 'dom第六个'},
        {name: 'dom第七个'},
        {name: 'dom第八个'},
        {name: 'dom第九个'},
        {name: 'dom第十个'},
    ])
    start()
    // æ³¨ï¼šç¤ºä¾‹ä¸­çš„ listData å†™çš„æ˜¯é™æ€æ•°æ®ï¼Œå¯ä»¥ç›´æŽ¥è°ƒç”¨ start()
    // å¦‚果是接口获取 listData åˆ—表时,需要在 nextTick ä¸­è°ƒç”¨ start()
    // å¦åˆ™ï¼Œè¿›å…¥é¡µé¢ä¸ä¼šæ»šåŠ¨ã€‚å¿…é¡»é¼ æ ‡ç§»å…¥ç§»å‡ºæ‰ä¼šæ»šåŠ¨
    // ç”¨ nextTick çš„原因是需要等 dom å…ƒç´ åŠ è½½å®Œæ¯•åŽå†æ‰§è¡Œæ–¹æ³•
    // let chartData = reactive({
    //     data: []
    // })
    // function getSensorData() {
    //     GetSensorData().then(res=> {
    //         chartData.data = res.data.data
    //         nextTick(()=>{
    //             start()
    //         })
    //     })
    // }
    // onMounted(()=> {
    //     getSensorData()
    // })
    onBeforeUnmount(()=>{
        clearTimeout(timer.value)
    })
    onUnmounted(()=>{
        clearTimeout(timer.value)
    })
    function handleMouseEnter() {
        clearTimeout(timer.value)
    }
    function handleMouseLeave() {
        start()
    }
    // å¼€å¯å®šæ—¶å™¨
    function start() {
        clearTimeout(timer.value)
        // å®šæ—¶å™¨è§¦å‘周期
        let speed = ref(25)
        timer.value = setInterval(ListScroll, speed.value)
    }
    function ListScroll() {
        let scrollDom = scrollContainer.value
        // åˆ¤è¯»ç»„件是否渲染完成
        if(scrollDom.offsetHeight == 0) {
            scrollDom = scrollContainer.value
        }else {
            // å¦‚果列表数量过少不进行滚动
            if(scrollDom.children.length < 4) {
                clearTimeout(timer.value)
                return
            }
            // ç»„件进行滚动
            scrollDom.scrollTop += 1
            // åˆ¤æ–­æ˜¯å¦æ»šåŠ¨åˆ°åº•éƒ¨
            if(scrollDom.scrollTop == (scrollDom.scrollHeight - scrollDom.clientHeight)) {
                // èŽ·å–ç»„ä»¶ç¬¬ä¸€ä¸ªèŠ‚ç‚¹
                let first = scrollDom.children[0]
                // åˆ é™¤èŠ‚ç‚¹
                scrollDom.removeChild(first)
                // å°†è¯¥èŠ‚ç‚¹æ‹¼æŽ¥åˆ°ç»„ä»¶æœ€åŽ
                scrollDom.append(first)
            }
        }
    }
</script>
<style lang="scss" scoped>
    .content {
    .content1 {
        width: 100%;
        height: auto;
        display: flex;
        align-items: center;
        justify-content: space-between;
        .content_left {
            width: 920px;
            background-color: aquamarine;
            flex: 1;
            .content_left_item1 {
                width: 100%;
                margin-bottom: 20px;
                .content_left_item1_head {
                    background: url('@/assets/img/home_title_short@2x.png');
                    background-repeat: no-repeat;
                    background-size: 100% 100%;
                    width: 100%;
                    height: 38px;
                    line-height: 38px;
                    padding-left: 34px;
                    box-sizing: border-box;
                    span {
                        font-size: 16px;
                        font-family: SourceHanSansSC-Bold, SourceHanSansSC;
                        font-weight: bold;
                        color: #FFFFFF;
                        line-height: 24px;
                        text-shadow: 0px 0px 10px rgba(0,24,72,0.75);
                    }
                }
                .content_left_item1_content {
                    width: 100%;
                    height: 360px;
                    padding: 20px;
                    box-sizing: border-box;
                    background: linear-gradient(180deg, rgba(52,88,159,0) 0%, rgba(0,86,255,0.4) 100%);
                    .content_left_item1_content_row {
                        width: 100%;
                        display: flex;
                        align-items: center;
                        justify-content: space-between;
                        margin-bottom: 13px;
                        &:last-child {
                            margin: 0;
                        }
                        .content_left_item1_content_row_name {
                            flex-shrink: 0;
                            display: flex;
                            align-items: center;
                            span {
                                font-size: 13px;
                                font-family: SourceHanSansSC-Regular, SourceHanSansSC;
                                font-weight: 400;
                                color: #D2E0FF;
                                margin-left: 9px;
                            }
                            .num {
                                width: 20px;
                                height: 20px;
                                line-height: 20px;
                                text-align: center;
                                font-size: 12px;
                                font-family: SourceHanSansSC-Medium, SourceHanSansSC;
                                font-weight: 500;
                                color: #FFFFFF;
                            }
                            .bg1 {
                                background: url('@/assets/img/rank_blue@2x.png');
                                background-repeat: no-repeat;
                                background-size: 100% 100%;
                            }
                            .bg2 {
                                background: url('@/assets/img/rank_yellow@2x.png');
                                background-repeat: no-repeat;
                                background-size: 100% 100%;
                            }
                        }
                        .content_left_item1_content_row_line {
                            flex: 1;
                            margin: 0 15px;
                            &::v-deep(.el-progress-bar__outer) {
                                border-radius: 0%;
                                background: rgba(255,255,255,0.13);
                            }
                            &::v-deep(.el-progress-bar__inner) {
                                border-radius: 0%;
                                background: linear-gradient(270deg, #00B0FF 0%, #345BA3 100%);
                            }
                        }
                        .content_left_item1_content_row_num {
                            font-size: 13px;
                            font-family: SourceHanSansSC-Regular, SourceHanSansSC;
                            font-weight: 400;
                            color: #D2E0FF;
                        }
                    }
                }
            }
            .content_left_item2 {
                width: 100%;
                .content_left_item2_head {
                    background: url('@/assets/img/home_title_short@2x.png');
                    background-repeat: no-repeat;
                    background-size: 100% 100%;
                    width: 100%;
                    height: 38px;
                    line-height: 38px;
                    padding-left: 34px;
                    box-sizing: border-box;
                    span {
                        font-size: 16px;
                        font-family: SourceHanSansSC-Bold, SourceHanSansSC;
                        font-weight: bold;
                        color: #FFFFFF;
                        line-height: 24px;
                        text-shadow: 0px 0px 10px rgba(0,24,72,0.75);
                    }
                }
                .content_left_item2_content {
                    width: 100%;
                    height: 361px;
                    padding: 20px;
                    box-sizing: border-box;
                    background: linear-gradient(180deg, rgba(52,88,159,0) 0%, rgba(0,86,255,0.4) 100%);
                    .item2_content_head {
                        width: 100%;
                        height: 36px;
                        display: flex;
                        align-items: center;
                        background: rgba(52,88,159,0.5);
                        .item2_content_head_item {
                            flex: 1;
                            height: 100%;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            font-size: 13px;
                            font-family: PingFangSC-Medium, PingFang SC;
                            font-weight: 500;
                            color: #01D9FE;
                            &:first-child {
                                flex: 1.5;
                            }
                        }
                    }
                    .main_container {
                        width: 100%;
                        height: calc(100% - 36px);
                        .scroll_container {
                            width: 100%;
                            height: 100%;
                            overflow: hidden;
                            .scroll_item_bg1 {
                                background: rgba(52,88,159,0.2);
                            }
                            .scroll_item_bg2 {
                                background: rgba(52,88,159,0.5);
                            }
                            .scroll_item {
                                width: 100%;
                                height: 36px;
                                display: flex;
                                align-items: center;
                            }
                        }
                    }
                }
            }
        }
        .content_center {
            flex: 1;
            flex: 2;
            margin: 0 40px;
            background-color: aquamarine;
        }
        .content_right {
            width: 920px;
            flex: 1;
            background-color: aquamarine;
        }
    }
screen_standard/vite.config.js
@@ -4,6 +4,10 @@
import vue from '@vitejs/plugin-vue'
import vueJsx from '@vitejs/plugin-vue-jsx'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
// https://vitejs.dev/config/
export default defineConfig(({mode, command}) => {
  let env = loadEnv(mode, process.cwd(), '')
@@ -12,6 +16,12 @@
    plugins: [
      vue(),
      vueJsx(),
      AutoImport({
        resolvers: [ElementPlusResolver()],
      }),
      Components({
        resolvers: [ElementPlusResolver()],
      }),
    ],
    resolve: {
      alias: {
server/src/main/resources/mappers/PlansExtMapper.xml
@@ -298,7 +298,7 @@
    left join procedures b on a.PROCEDURE_ID =b.ID
    where ( a.`STATUS` in (1,4) or a.`STATUS`=6 and EXISTS(select e.id from workorder_record e where e.PLAN_ID = a.id and TO_DAYS(now())=TO_DAYS(e.CREATE_TIME)))
    and a.ROOT_DEPART_ID=#{rootDepartId} and a.DEPART_ID=#{departId}
    and b.DELETED=0 and a.ROOT_DEPART_ID=132
    and b.DELETED=0
    GROUP BY a.PROCEDURE_ID
    order by b.SORTNUM
  </select>
server/src/main/resources/mappers/WorkPlansExtMapper.xml
@@ -182,7 +182,7 @@
        a.DELETED = 0 AND a.ROOT_DEPART_ID = #{rootDepartId} AND a.DEPART_ID = #{departId}  AND a.`STATUS` = 1
  </select>
  <select id="selectStatisticsList" parameterType="doumeemes.dao.ext.dto.QueryWorkPlansDTO" resultType="doumeemes.dao.business.dto.statistics.WorkPlansPageModel">
    select a.status,a.code,a.id,a.NUM,m.id as materialId,m.name as categoryName,m.code as materialCode
    select a.status,a.id,a.NUM,m.id as materialId,m.name as categoryName,m.code as materialCode
   <!-- ,(select sum(b.num) from workorder_record b left join plans c on b.PLAN_ID=c.id where b.type=1 and b.DELETED=0 and c.WORK_PLANS_ID=a.id) as doneNum
    ,(select sum(b.QUALIFIED_NUM) from workorder_record b left join plans c on b.PLAN_ID=c.id where b.type=1 and b.DELETED=0 and c.WORK_PLANS_ID=a.id) as qualifiedNum
    -->,(select b.route_id from bom b where b.MATERIAL_ID=c.id and b.ROOT_DEPART_ID=a.ROOT_DEPART_ID) as routeId
@@ -190,7 +190,7 @@
    FROM `work_plans` `a`
    LEFT JOIN `material_distribute` c ON a.MATERIAL_ID=c.ID
    LEFT JOIN `material` m ON c.MATERIAL_ID=m.ID
    where ( a.status = or (a.status=6 and EXISTS(select b.id from workorder_record b left join plans c on b.PLAN_ID=c.id where b.type=1 and b.DELETED=0 and c.WORK_PLANS_ID=a.id) ))
    where ( (a.status=6 and EXISTS(select b.id from workorder_record b left join plans c on b.PLAN_ID=c.id where b.type=1 and b.DELETED=0 and c.WORK_PLANS_ID=a.id) ))
    and  a.deleted=0 and a.ROOT_DEPART_ID=#{rootDepartId} and a.DEPART_ID=#{departId}
    order by a.CREATE_TIME