diff --git a/package-lock.json b/package-lock.json index acdd36e..380709f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,8 +9,6 @@ "version": "0.1.0", "dependencies": { "@element-plus/icons-vue": "^2.3.1", - "@headlessui/vue": "^1.7.22", - "@heroicons/vue": "^2.1.4", "@vuepic/vue-datepicker": "^8.8.0", "axios": "^1.7.2", "core-js": "^3.8.3", @@ -38,14 +36,10 @@ "@vue/eslint-config-typescript": "^9.1.0", "@vue/test-utils": "^2.0.0-0", "@vue/vue3-jest": "^27.0.0-alpha.1", - "autoprefixer": "^10.4.19", "babel-jest": "^27.0.6", - "daisyui": "^4.12.10", "eslint": "^7.32.0", "eslint-plugin-vue": "^8.0.3", "jest": "^27.0.5", - "postcss": "^8.4.39", - "tailwindcss": "^3.4.4", "ts-jest": "^27.0.4", "typescript": "~4.5.5" } @@ -64,19 +58,6 @@ "node": "8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 21" } }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@ampproject/remapping": { "version": "2.3.0", "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz", @@ -1895,8 +1876,9 @@ }, "node_modules/@element-plus/icons-vue": { "version": "2.3.1", - "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", + "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz", "integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==", + "license": "MIT", "peerDependencies": { "vue": "^3.2.0" } @@ -2018,30 +2000,6 @@ "@hapi/hoek": "^9.0.0" } }, - "node_modules/@headlessui/vue": { - "version": "1.7.22", - "resolved": "https://registry.npmjs.org/@headlessui/vue/-/vue-1.7.22.tgz", - "integrity": "sha512-Hoffjoolq1rY+LOfJ+B/OvkhuBXXBFgd8oBlN+l1TApma2dB0En0ucFZrwQtb33SmcCqd32EQd0y07oziXWNYg==", - "license": "MIT", - "dependencies": { - "@tanstack/vue-virtual": "^3.0.0-beta.60" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/@heroicons/vue": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@heroicons/vue/-/vue-2.1.4.tgz", - "integrity": "sha512-wykVSZ/fqEG49lIeHgFGT9TCvBw9THuRTtA/sPp7FVk3iBob/HcmitMcLDwtXOW82TXb38HeLRl1/pcElPeSdg==", - "license": "MIT", - "peerDependencies": { - "vue": ">= 3" - } - }, "node_modules/@humanwhocodes/config-array": { "version": "0.5.0", "resolved": "https://registry.npmmirror.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", @@ -3078,32 +3036,6 @@ "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", "dev": true }, - "node_modules/@tanstack/virtual-core": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.8.1.tgz", - "integrity": "sha512-uNtAwenT276M9QYCjTBoHZ8X3MUeCRoGK59zPi92hMIxdfS9AyHjkDWJ94WroDxnv48UE+hIeo21BU84jKc8aQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/vue-virtual": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/@tanstack/vue-virtual/-/vue-virtual-3.8.1.tgz", - "integrity": "sha512-uhty1LzUbbcVc5zdMMSUjUt/ECTlMCtK49Ww7dH2m4lNNLGYwkj5SbfrAD8uCZxV1VeV7DRMXqhwUTELyR5rrA==", - "license": "MIT", - "dependencies": { - "@tanstack/virtual-core": "3.8.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "vue": "^2.7.0 || ^3.0.0" - } - }, "node_modules/@tootallnate/once": { "version": "1.1.2", "resolved": "https://registry.npmmirror.com/@tootallnate/once/-/once-1.1.2.tgz", @@ -5192,13 +5124,6 @@ } ] }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true, - "license": "MIT" - }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz", @@ -5257,7 +5182,7 @@ }, "node_modules/autoprefixer": { "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "resolved": "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-10.4.19.tgz", "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", "dev": true, "funding": [ @@ -5274,7 +5199,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "browserslist": "^4.23.0", "caniuse-lite": "^1.0.30001599", @@ -5863,16 +5787,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, "node_modules/caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -6679,17 +6593,6 @@ "url": "https://github.com/sponsors/fb55" } }, - "node_modules/css-selector-tokenizer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.8.0.tgz", - "integrity": "sha512-Jd6Ig3/pe62/qe5SBPTN8h8LeUg/pT4lLgtavPf7updwwHpvFzxvOQBHYj2LZDMjUnBzgvIUSjRcf6oT5HzHFg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "fastparse": "^1.1.2" - } - }, "node_modules/css-tree": { "version": "1.1.3", "resolved": "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz", @@ -6844,36 +6747,6 @@ "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, - "node_modules/culori": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/culori/-/culori-3.3.0.tgz", - "integrity": "sha512-pHJg+jbuFsCjz9iclQBqyL3B2HLCBF71BwVNujUYEvCeQMvV97R59MNK3R2+jgJ3a1fcZgI9B3vYgz8lzr/BFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/daisyui": { - "version": "4.12.10", - "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-4.12.10.tgz", - "integrity": "sha512-jp1RAuzbHhGdXmn957Z2XsTZStXGHzFfF0FgIOZj3Wv9sH7OZgLfXTRZNfKVYxltGUOBsG1kbWAdF5SrqjebvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "css-selector-tokenizer": "^0.8", - "culori": "^3", - "picocolors": "^1", - "postcss-js": "^4" - }, - "engines": { - "node": ">=16.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/daisyui" - } - }, "node_modules/data-urls": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/data-urls/-/data-urls-2.0.0.tgz", @@ -7179,13 +7052,6 @@ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/diff-sequences": { "version": "27.5.1", "resolved": "https://registry.npmmirror.com/diff-sequences/-/diff-sequences-27.5.1.tgz", @@ -7207,13 +7073,6 @@ "node": ">=8" } }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true, - "license": "MIT" - }, "node_modules/dns-packet": { "version": "5.6.1", "resolved": "https://registry.npmmirror.com/dns-packet/-/dns-packet-5.6.1.tgz", @@ -8471,13 +8330,6 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "node_modules/fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true, - "license": "MIT" - }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz", @@ -12328,16 +12180,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jiti": { - "version": "1.21.6", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", - "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, "node_modules/joi": { "version": "17.13.1", "resolved": "https://registry.npmmirror.com/joi/-/joi-17.13.1.tgz", @@ -13600,16 +13442,6 @@ "node": ">=0.10.0" } }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, "node_modules/object-inspect": { "version": "1.13.1", "resolved": "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.1.tgz", @@ -13891,13 +13723,6 @@ "node": ">=6" } }, - "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, "node_modules/param-case": { "version": "3.0.4", "resolved": "https://registry.npmmirror.com/param-case/-/param-case-3.0.4.tgz", @@ -14077,16 +13902,6 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/pirates": { "version": "4.0.6", "resolved": "https://registry.npmmirror.com/pirates/-/pirates-4.0.6.tgz", @@ -14132,9 +13947,9 @@ } }, "node_modules/postcss": { - "version": "8.4.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.39.tgz", - "integrity": "sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==", + "version": "8.4.38", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "funding": [ { "type": "opencollective", @@ -14149,10 +13964,9 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", + "picocolors": "^1.0.0", "source-map-js": "^1.2.0" }, "engines": { @@ -14254,106 +14068,6 @@ "postcss": "^8.2.15" } }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", - "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "lilconfig": "^3.0.0", - "yaml": "^2.3.4" - }, - "engines": { - "node": ">= 14" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", - "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antonk52" - } - }, - "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", - "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", - "dev": true, - "license": "ISC", - "bin": { - "yaml": "bin.mjs" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/postcss-loader": { "version": "6.2.1", "resolved": "https://registry.npmmirror.com/postcss-loader/-/postcss-loader-6.2.1.tgz", @@ -14561,26 +14275,6 @@ "postcss": "^8.1.0" } }, - "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, "node_modules/postcss-normalize-charset": { "version": "5.1.0", "resolved": "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", @@ -15085,16 +14779,6 @@ "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^2.3.0" - } - }, "node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-5.2.0.tgz", @@ -16127,99 +15811,6 @@ "postcss": "^8.2.15" } }, - "node_modules/sucrase": { - "version": "3.35.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", - "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "^10.3.10", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/sucrase/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, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/sucrase/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/sucrase/node_modules/glob": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", - "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", - "dev": true, - "license": "ISC", - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sucrase/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sucrase/node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", @@ -16358,44 +15949,6 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "node_modules/tailwindcss": { - "version": "3.4.4", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", - "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.0", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.21.0", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/tapable": { "version": "1.1.3", "resolved": "https://registry.npmmirror.com/tapable/-/tapable-1.1.3.tgz", @@ -16686,13 +16239,6 @@ "node": ">=8" } }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true, - "license": "Apache-2.0" - }, "node_modules/ts-jest": { "version": "27.1.5", "resolved": "https://registry.npmmirror.com/ts-jest/-/ts-jest-27.1.5.tgz", diff --git a/package.json b/package.json index 1b14cf8..3373ef5 100644 --- a/package.json +++ b/package.json @@ -6,13 +6,10 @@ "serve": "vue-cli-service serve", "build": "vue-cli-service build", "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "build:css": "npx tailwindcss -i ./src/assets/css/input.css -o ./src/assets/css/output.css --watch" + "lint": "vue-cli-service lint" }, "dependencies": { "@element-plus/icons-vue": "^2.3.1", - "@headlessui/vue": "^1.7.22", - "@heroicons/vue": "^2.1.4", "@vuepic/vue-datepicker": "^8.8.0", "axios": "^1.7.2", "core-js": "^3.8.3", @@ -40,14 +37,10 @@ "@vue/eslint-config-typescript": "^9.1.0", "@vue/test-utils": "^2.0.0-0", "@vue/vue3-jest": "^27.0.0-alpha.1", - "autoprefixer": "^10.4.19", "babel-jest": "^27.0.6", - "daisyui": "^4.12.10", "eslint": "^7.32.0", "eslint-plugin-vue": "^8.0.3", "jest": "^27.0.5", - "postcss": "^8.4.39", - "tailwindcss": "^3.4.4", "ts-jest": "^27.0.4", "typescript": "~4.5.5" }, diff --git a/src/App.vue b/src/App.vue index aa7aa53..bed1b09 100644 --- a/src/App.vue +++ b/src/App.vue @@ -12,25 +12,6 @@ export default { IndexPage } } -const debounce = (fn, delay) => { - let timer - return (...args) => { - if (timer) { - clearTimeout(timer) - } - timer = setTimeout(() => { - fn(...args) - }, delay) - } -} - -const _ResizeObserver = window.ResizeObserver; -window.ResizeObserver = class ResizeObserver extends _ResizeObserver{ - constructor(callback) { - callback = debounce(callback, 200); - super(callback); - } -} const siderBarWidth = ref("200px"); const toggleMenu = ()=>{ if(siderBarWidth.value == "200px") diff --git a/src/assets/css/global.css b/src/assets/css/global.css index 853305f..a9d0345 100644 --- a/src/assets/css/global.css +++ b/src/assets/css/global.css @@ -3,7 +3,7 @@ padding: 0; /* 设置所有对话框的header颜色固定 */ .el-dialog__header{ - background-color: #158484; + background-color: #1890ff; font-size: 28px; display: flex; justify-content: center; diff --git a/src/components/AsideMenu.vue b/src/components/AsideMenu.vue index 208ca20..9366154 100644 --- a/src/components/AsideMenu.vue +++ b/src/components/AsideMenu.vue @@ -1,134 +1,159 @@ -/** - @brief: CSS设计 - @date: 2024年6月20日 - @author: myz -*/ +/** @brief: CSS设计 @date: 2024年6月20日 @author: myz */ \ No newline at end of file +.el-menu--line { + background-color: #000c17 !important; +} +.el-menu--line.el-menu-item { + background-color: #000c17 !important; + padding-left: 49px !important; +} +.el-menu-item:hover { + color: #ffd04b !important; +} +.el-menu-item:hover i { + color: #ffd04b; +} +.el-menu-item.is-active { + background-color: #1890ff !important; + border-radius: 5px; + margin-right: 1px; + margin-left: 1px; +} +.el-menu-item { + font-size: 17px !important; + height: 48px; + line-height: 47px; + margin-right: 1px; + margin-left: 1px; +} +.el-menu-item i { + font-size: 20px !important; +} + diff --git a/src/components/HeaderPage.vue b/src/components/HeaderPage.vue index 72c9f5e..2879a5e 100644 --- a/src/components/HeaderPage.vue +++ b/src/components/HeaderPage.vue @@ -1,42 +1,41 @@ \ No newline at end of file + diff --git a/src/components/components_cluespage/AddDialog.vue b/src/components/components_cluespage/AddDialog.vue index 5d9a0a2..ae29722 100644 --- a/src/components/components_cluespage/AddDialog.vue +++ b/src/components/components_cluespage/AddDialog.vue @@ -1,84 +1,89 @@ - \ No newline at end of file + diff --git a/src/components/components_cluespage/EditDialog.vue b/src/components/components_cluespage/EditDialog.vue index 8822be2..5454c8c 100644 --- a/src/components/components_cluespage/EditDialog.vue +++ b/src/components/components_cluespage/EditDialog.vue @@ -1,105 +1,119 @@ - \ No newline at end of file + diff --git a/src/components/graph/Entity4Form.vue b/src/components/graph/Entity4Form.vue index 04c6d05..5554275 100644 --- a/src/components/graph/Entity4Form.vue +++ b/src/components/graph/Entity4Form.vue @@ -16,7 +16,7 @@
选择统计指标 - + -
+
- 选择实体列 - + 选择横轴 +
-
-
- 选择统计指标 - - - -
-
-
-
- 请选择起始日期列 - - - -
-
-
+
- 图形样式 - + 选择竖轴 +
-
+
+
+ 图形样式 + + + +
+
+
+ + + - - - - \ No newline at end of file + .el-row { + margin-top: 5px; + margin-bottom: 10px; + } + + .demo-select { + display: flex; + width: 100%; + padding: 0; + flex-wrap: wrap; + } + + .demo-select .block { + padding: 10px 0; + text-align: center; + border-right: solid 1px var(--el-border-color); + flex: 1; + } + + .demo-select .block:last-child { + border-right: none; + } + + .demo-select .demonstration { + display: block; + color: var(--el-text-color-secondary); + font-size: 14px; + margin-bottom: 20px; + } + + .demo-date-picker { + display: flex; + width: 100%; + padding: 0; + flex-wrap: wrap; + } + + .demo-date-picker .block { + padding: 30px 0; + text-align: center; + border-right: solid 1px var(--el-border-color); + flex: 1; + } + + .demo-date-picker .block:last-child { + border-right: none; + } + + .demo-date-picker .demonstration { + display: block; + color: var(--el-text-color-secondary); + font-size: 14px; + margin-bottom: 20px; + } + + + \ No newline at end of file diff --git a/src/main.ts b/src/main.ts index 3cfc286..0268947 100644 --- a/src/main.ts +++ b/src/main.ts @@ -5,7 +5,6 @@ import store from './store' import ElementPlus from 'element-plus' import 'element-plus/dist/index.css' import './assets/css/global.css' -import './assets/css/tailwind.css' import * as ElementPlusIconsVue from '@element-plus/icons-vue' import axios from 'axios' import NetErrorHandler from '@/api/netErrorHandler'; diff --git a/src/views/CluesPage.vue b/src/views/CluesPage.vue index a5e6c0c..0474e76 100644 --- a/src/views/CluesPage.vue +++ b/src/views/CluesPage.vue @@ -1,521 +1,545 @@ \ No newline at end of file + diff --git a/src/views/HomePage.vue b/src/views/HomePage.vue index 81cbafc..5bda59d 100644 --- a/src/views/HomePage.vue +++ b/src/views/HomePage.vue @@ -1,61 +1,56 @@ @@ -106,8 +85,6 @@ export default { data() { return { - ISmul4:false, - selectedColumnData:Array, xz:[], yz:[], pageTitle:'图形可视化', @@ -121,7 +98,6 @@ export default { stype:'', srow:'', srow2:'', - srow3:'', gap:'', monthKey:'', chartType: 'bar', @@ -152,25 +128,6 @@ export default { // } // }, computed: { - entity() - { - if (this.selectedEntity=='entity5') - return 1; - else - return 0; - }, - columnData() { - if (this.srow) - { - let name=this.srow - const uniqueSet = new Set(this.mytable.map(item => item[name])); - // 将 Set 转换为数组形式 - const uniqueArray = Array.from(uniqueSet).map(name => ({ name: name })); - return uniqueArray; - } - else - return ''; - }, convertedColumns() { return this.mycolumns.map(item => { return { value: item.prop, label: item.label }; @@ -202,77 +159,9 @@ export default { console.log('Parsed columns:', this.mycolumns,this.table); }, methods: { - handleSelectionChange(selection) { - // 在这里处理选择变化,selection 是选中的行数据数组 - let obj=selection.map(item=>item.name) - console.log(obj) - this.selectedColumnData =selection.map(item=>item.name) - - console.log( this.selectedColumnData); - console.log('选择的行数据:', selection); - }, returnHome(){ - window.history.back(); }, - extractThreeColumns(tableData) { - let extractedData = tableData.map(row => ({ - month: row[this.srow3], - product: row[this.srow], - amount: row[this.srow2] - })); - - return extractedData; -}, - count_sum_time() - { - - this.hasUpperContent = true; - let counts = {}; - let salesData=this.extractThreeColumns(this.mytable); - console.log(salesData) - // 遍历销售记录数组,填充 counts 对象 - salesData.forEach(record => { - let { month, product, amount } = record; - let currentMonth=new Date(month) - let monthKey1 = currentMonth.getFullYear() + '-' + (currentMonth.getMonth() + 1); - if (!counts[monthKey1]) { - counts[monthKey1] = {}; - } - if ( !counts[monthKey1][product]) - counts[monthKey1][product] = amount; - else - counts[monthKey1][product] += amount; - }); - - // 现在 counts 对象包含了每个月份每种产品的销售额信息 - - const products = this.selectedColumnData; - let years = Array.from(new Set(salesData.map(record => new Date(record.month).getFullYear()+ '-' + (new Date(record.month).getMonth() + 1)))).sort(); - - // Create the structure similar to 'source' - let result = [['product', ...years]]; - - products.forEach(product => { - let rowData = [product]; -for (let i = 0; i < years.length; i++) { - rowData.push(0); -} - result.push(rowData); - }); - products.forEach(product=> - { - years.forEach(year => { - if (counts[year][product]) - result[products.indexOf(product)+1][years.indexOf(year)+1]+=counts[year][product]; - else - result[products.indexOf(product)+1][years.indexOf(year)+1]+=0; - }); - } - ) - console.log(result) - return result; -}, countsumbystring() { // 创建一个对象来存储每个名字对应的实数总和 this.hasUpperContent = true; @@ -295,98 +184,6 @@ for (let i = 0; i < years.length; i++) { // 返回结果对象 return sumByName; }, - do_entity4() - {let counts=[]; - for (let i=0;i1) - { - this.ISmul4=true; - } - }, - handleSelectedRow3(value) { - console.log('Selected Row3:', value); - this.srow3=value }, handleSelectedChartType(value) { @@ -620,18 +409,7 @@ currentDate.setDate(currentDate.getDate()+1); }); return counts; }, - generateSeries(source) { - // 根据数据源的长度动态生成对应数量的 series - const series = []; - for (let i = 0; i < source.length - 1; i++) { - if (i < 3) { - series.push({ type: 'bar', seriesLayoutBy: 'row' }); // 第一个 grid 的 series - } else { - series.push({ type: 'bar', xAxisIndex: 1, yAxisIndex: 1 }); // 第二个 grid 的 series - } - } - return series; - }, + drawChart(counts) { try { @@ -639,17 +417,8 @@ currentDate.setDate(currentDate.getDate()+1); this.chartInstance = echarts.init(chartContainer); let option; - if (!this.entity) - { if (this.stype === 'bar' || this.stype == 'line') { option = { - toolbox: { - feature: { - dataView: { show: true, readOnly: false }, - restore: { show: true }, - saveAsImage: { show: true } - } - }, xAxis: { type: 'category', data: Object.keys(counts), @@ -672,15 +441,6 @@ currentDate.setDate(currentDate.getDate()+1); } else if (this.stype === 'pie') { const data = Object.entries(counts).map(([name, value]) => ({ value, name })); option = { - toolbox: { - show: true, - feature: { - dataView: { show: true, readOnly: false }, - - restore: { show: true }, - saveAsImage: { show: true } - } - }, series: [{ type: 'pie', radius: '60%', @@ -689,35 +449,7 @@ currentDate.setDate(currentDate.getDate()+1); xAxis: { show: false }, // 不显示区间横轴 }; } - } - else{ - option = { - legend: {}, - tooltip: {}, - toolbox: { - feature: { - dataView: { show: true, readOnly: false }, - restore: { show: true }, - saveAsImage: { show: true } - } - }, - dataset: { - source: counts - }, - xAxis: [ - { type: 'category', gridIndex: 0 }, - { type: 'category', gridIndex: 1 } - ], - yAxis: [{ gridIndex: 0 }, { gridIndex: 1 }], - grid: [{ bottom: '55%' }, { top: '55%' }], - series: this.generateSeries(counts) -}; - } - if (this.selectedEntity=='entity4') - { - option=this.generateOptions(counts); - console.log(option) - } + this.chartInstance.setOption(option); }catch(error) { @@ -781,16 +513,16 @@ currentDate.setDate(currentDate.getDate()+1); } }, - handletwodata(srow,srow2) { + handletwodata() { if (!this.mytable || this.mytable.length === 0) { alert("没有数据"); } else { - if (!srow || !srow2) { + if (!this.srow || !this.srow2) { return null; } else { const combinedData = this.mytable.map(row => { - if (row && row[srow] !== undefined) { - return [row[srow], row[srow2]]; + if (row && row[this.srow] !== undefined) { + return [row[this.srow], row[this.srow2]]; } else { return [null, null]; // 如果选定的属性不存在,返回默认值或者处理错误 } @@ -807,7 +539,7 @@ currentDate.setDate(currentDate.getDate()+1); console.log(this.columns) try{ this.handledata(); - this.handletwodata(this.srow,this.srow2[0]); + this.handletwodata(); } catch(error) { alert("请选择数据") } @@ -830,13 +562,20 @@ currentDate.setDate(currentDate.getDate()+1); const counts=this.countDataByInterval(); setTimeout(()=>this.drawChart(counts),500); }else if(this.selectedEntity=='entity4'){ - let counts=this.do_entity4(); - console.log(counts) + if (this.srow2!='entity'){ + const counts=this.countsumbystring(); setTimeout(()=>this.drawChart(counts),500); + } else { + const counts=this.countStrings(); + setTimeout(()=>this.drawChart(counts),500); + } } else if (this.selectedEntity=='entity5'){ - const counts=this.count_sum_time(); - console.log(counts) + this.hasUpperContent = true; + const counts={} + for (let i = 0; i < this.xz.length; i++) { + counts[this.xz[i]] = this.yz[i]; + } setTimeout(()=>this.drawChart(counts),500);} else { this.$message.warning('请选择实体'); @@ -847,31 +586,44 @@ currentDate.setDate(currentDate.getDate()+1); diff --git a/vue.config.js b/vue.config.js index 910e297..5339a6b 100644 --- a/vue.config.js +++ b/vue.config.js @@ -1,4 +1,5 @@ const { defineConfig } = require('@vue/cli-service') module.exports = defineConfig({ - transpileDependencies: true + transpileDependencies: true, + lintOnSave:false, })