diff --git a/work/package-lock.json b/work/package-lock.json index e72ec69..34d9690 100644 --- a/work/package-lock.json +++ b/work/package-lock.json @@ -8,22 +8,28 @@ "name": "testvue3", "version": "0.0.0", "dependencies": { + "@types/file-saver": "^2.0.7", "@vueup/vue-quill": "^1.2.0", "@wangeditor/editor": "^5.1.23", "@wangeditor/editor-for-vue": "^5.1.12", "axios": "^1.7.9", "date-fns": "^4.1.0", + "dayjs": "^1.11.13", "echart": "^0.1.3", "echarts": "^5.5.1", "element-plus": "^2.9.0", + "elements": "^0.6.0", + "file-saver": "^2.0.5", "pinia": "^2.2.6", "quill": "^2.0.3", "vue": "^3.5.13", "vue-quill-editor": "^3.0.6", - "vue-router": "^4.4.5" + "vue-router": "^4.4.5", + "xlsx": "^0.18.5" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", + "sass-embedded": "^1.83.0", "vite": "^6.0.1", "vite-plugin-vue-devtools": "^7.6.5" } @@ -508,6 +514,13 @@ "node": ">=6.9.0" } }, + "node_modules/@bufbuild/protobuf": { + "version": "2.2.3", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@bufbuild/protobuf/-/protobuf-2.2.3.tgz", + "integrity": "sha512-tFQoXHJdkEOSwj5tRIZSPNUuXK3RaR7T1nUrPgbYX1pUbvqqaaZAsfo+NXBPsz5rZMSKVFrgK1WL8Q/MSLvprg==", + "dev": true, + "license": "(Apache-2.0 AND BSD-3-Clause)" + }, "node_modules/@ctrl/tinycolor": { "version": "3.6.1", "resolved": "https://mirrors.huaweicloud.com/repository/npm/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz", @@ -712,6 +725,12 @@ "resolved": "https://registry.npmmirror.com/@types/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ==" }, + "node_modules/@types/file-saver": { + "version": "2.0.7", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/@types/file-saver/-/file-saver-2.0.7.tgz", + "integrity": "sha512-dNKVfHd/jk0SkR/exKGj2ggkB45MAkzvWCaqLUUgkyjITkGNzH8H+yUwr+BLJUBjZOe9w8X3wgmXhZDRg1ED6A==", + "license": "MIT" + }, "node_modules/@types/lodash": { "version": "4.17.13", "resolved": "https://mirrors.huaweicloud.com/repository/npm/@types/lodash/-/lodash-4.17.13.tgz", @@ -1284,6 +1303,15 @@ "node": ">= 0.6" } }, + "node_modules/adler-32": { + "version": "1.3.1", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/adler-32/-/adler-32-1.3.1.tgz", + "integrity": "sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://mirrors.huaweicloud.com/repository/npm/any-promise/-/any-promise-1.3.0.tgz", @@ -1356,6 +1384,13 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer-builder": { + "version": "0.2.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/buffer-builder/-/buffer-builder-0.2.0.tgz", + "integrity": "sha512-7VPMEPuYznPSoR21NE1zvd2Xna6c/CloiZCfcMXR1Jny6PjX0N4Nsa38zcBFo/FMK+BlA+FLKbJCQ0i2yxp+Xg==", + "dev": true, + "license": "MIT/X11" + }, "node_modules/bundle-name": { "version": "4.1.0", "resolved": "https://mirrors.huaweicloud.com/repository/npm/bundle-name/-/bundle-name-4.1.0.tgz", @@ -1406,6 +1441,19 @@ ], "license": "CC-BY-4.0" }, + "node_modules/cfb": { + "version": "1.2.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/cfb/-/cfb-1.2.2.tgz", + "integrity": "sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==", + "license": "Apache-2.0", + "dependencies": { + "adler-32": "~1.3.0", + "crc-32": "~1.2.0" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/clone": { "version": "2.1.2", "resolved": "https://registry.npmmirror.com/clone/-/clone-2.1.2.tgz", @@ -1424,6 +1472,22 @@ "node": ">= 0.12.0" } }, + "node_modules/codepage": { + "version": "1.15.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/codepage/-/codepage-1.15.0.tgz", + "integrity": "sha512-3g6NUTPd/YtuuGrhMnOMRjFc+LJw/bnMp3+0r/Wcz3IXUuCosKRJvMphm5+Q+bvTVGcJJuRvVLuYba+WojaFaA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/colorjs.io": { + "version": "0.5.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/colorjs.io/-/colorjs.io-0.5.2.tgz", + "integrity": "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==", + "dev": true, + "license": "MIT" + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://mirrors.huaweicloud.com/repository/npm/combined-stream/-/combined-stream-1.0.8.tgz", @@ -1498,6 +1562,18 @@ "url": "https://github.com/sponsors/mesqueeb" } }, + "node_modules/crc-32": { + "version": "1.2.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/crc-32/-/crc-32-1.2.2.tgz", + "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==", + "license": "Apache-2.0", + "bin": { + "crc32": "bin/crc32.njs" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://mirrors.huaweicloud.com/repository/npm/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -1715,6 +1791,20 @@ "vue": "^3.2.0" } }, + "node_modules/elements": { + "version": "0.6.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/elements/-/elements-0.6.0.tgz", + "integrity": "sha512-i/PEUAMJxPcjk03mUD0ihNmnutoc/c6/gPJ3rKR8ETIZNCVAavrWPcoVX8HmEzKqY1SBLZulAQMM6nF5a6oWRg==", + "license": "MIT (http://mootools.net/license.txt)", + "dependencies": { + "mout": "^0.11.0", + "prime": "^0.5.0", + "slick": "^1.12.2" + }, + "engines": { + "node": "*" + } + }, "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://mirrors.huaweicloud.com/repository/npm/encodeurl/-/encodeurl-1.0.2.tgz", @@ -1934,6 +2024,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==", + "license": "MIT" + }, "node_modules/follow-redirects": { "version": "1.15.9", "resolved": "https://mirrors.huaweicloud.com/repository/npm/follow-redirects/-/follow-redirects-1.15.9.tgz", @@ -1968,6 +2064,15 @@ "node": ">= 6" } }, + "node_modules/frac": { + "version": "1.1.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/frac/-/frac-1.1.2.tgz", + "integrity": "sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, "node_modules/fresh": { "version": "0.5.2", "resolved": "https://mirrors.huaweicloud.com/repository/npm/fresh/-/fresh-0.5.2.tgz", @@ -2036,6 +2141,16 @@ "dev": true, "license": "ISC" }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/has-symbols": { "version": "1.1.0", "resolved": "https://mirrors.huaweicloud.com/repository/npm/has-symbols/-/has-symbols-1.1.0.tgz", @@ -2157,6 +2272,13 @@ "url": "https://opencollective.com/immer" } }, + "node_modules/immutable": { + "version": "5.0.3", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/immutable/-/immutable-5.0.3.tgz", + "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==", + "dev": true, + "license": "MIT" + }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://mirrors.huaweicloud.com/repository/npm/inherits/-/inherits-2.0.4.tgz", @@ -2603,6 +2725,12 @@ "dev": true, "license": "MIT" }, + "node_modules/mout": { + "version": "0.11.1", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/mout/-/mout-0.11.1.tgz", + "integrity": "sha512-pK9VNiLE3QgGBrC/3ICAscwOLU7oTNeK2l32uqNAioBYtB2tQAfSsGDNChUlk7CP23126mc5lUt6+na9FlN8JA==", + "license": "MIT" + }, "node_modules/mrmime": { "version": "2.0.0", "resolved": "https://mirrors.huaweicloud.com/repository/npm/mrmime/-/mrmime-2.0.0.tgz", @@ -2897,6 +3025,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/prime": { + "version": "0.5.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/prime/-/prime-0.5.0.tgz", + "integrity": "sha512-Ic75Ki5IFgotMS4QFgalL/xw/s1Zg3Flp4IzOjaq3ZldB2x/Lc5HvbAOkMb4GA8T1iIhtWBTbxAWpZxu9UJQeA==", + "license": "MIT", + "dependencies": { + "mout": "^0.11.0" + } + }, "node_modules/prismjs": { "version": "1.29.0", "resolved": "https://registry.npmmirror.com/prismjs/-/prismjs-1.29.0.tgz", @@ -3001,6 +3138,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://mirrors.huaweicloud.com/repository/npm/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -3021,6 +3168,391 @@ ], "license": "MIT" }, + "node_modules/sass-embedded": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded/-/sass-embedded-1.83.0.tgz", + "integrity": "sha512-/8cYZeL39evUqe0o//193na51Q1VWZ61qhxioQvLJwOtWIrX+PgNhCyD8RSuTtmzc4+6+waFZf899bfp/MCUwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@bufbuild/protobuf": "^2.0.0", + "buffer-builder": "^0.2.0", + "colorjs.io": "^0.5.0", + "immutable": "^5.0.2", + "rxjs": "^7.4.0", + "supports-color": "^8.1.1", + "sync-child-process": "^1.0.2", + "varint": "^6.0.0" + }, + "bin": { + "sass": "dist/bin/sass.js" + }, + "engines": { + "node": ">=16.0.0" + }, + "optionalDependencies": { + "sass-embedded-android-arm": "1.83.0", + "sass-embedded-android-arm64": "1.83.0", + "sass-embedded-android-ia32": "1.83.0", + "sass-embedded-android-riscv64": "1.83.0", + "sass-embedded-android-x64": "1.83.0", + "sass-embedded-darwin-arm64": "1.83.0", + "sass-embedded-darwin-x64": "1.83.0", + "sass-embedded-linux-arm": "1.83.0", + "sass-embedded-linux-arm64": "1.83.0", + "sass-embedded-linux-ia32": "1.83.0", + "sass-embedded-linux-musl-arm": "1.83.0", + "sass-embedded-linux-musl-arm64": "1.83.0", + "sass-embedded-linux-musl-ia32": "1.83.0", + "sass-embedded-linux-musl-riscv64": "1.83.0", + "sass-embedded-linux-musl-x64": "1.83.0", + "sass-embedded-linux-riscv64": "1.83.0", + "sass-embedded-linux-x64": "1.83.0", + "sass-embedded-win32-arm64": "1.83.0", + "sass-embedded-win32-ia32": "1.83.0", + "sass-embedded-win32-x64": "1.83.0" + } + }, + "node_modules/sass-embedded-android-arm": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-android-arm/-/sass-embedded-android-arm-1.83.0.tgz", + "integrity": "sha512-uwFSXzJlfbd4Px189xE5l+cxN8+TQpXdQgJec7TIrb4HEY7imabtpYufpVdqUVwT1/uiis5V4+qIEC4Vl5XObQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-arm64": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.83.0.tgz", + "integrity": "sha512-GBiCvM4a2rkWBLdYDxI6XYnprfk5U5c81g69RC2X6kqPuzxzx8qTArQ9M6keFK4+iDQ5N9QTwFCr0KbZTn+ZNQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-ia32": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-android-ia32/-/sass-embedded-android-ia32-1.83.0.tgz", + "integrity": "sha512-5ATPdGo2SICqAhiJl/Z8KQ23zH4sGgobGgux0TnrNtt83uHZ+r+To/ubVJ7xTkZxed+KJZnIpolGD8dQyQqoTg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-riscv64": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.83.0.tgz", + "integrity": "sha512-aveknUOB8GZewOzVn2Uwk+DKcncTR50Q6vtzslNMGbYnxtgQNHzy8A1qVEviNUruex+pHofppeMK4iMPFAbiEQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-android-x64": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-android-x64/-/sass-embedded-android-x64-1.83.0.tgz", + "integrity": "sha512-WqIay/72ncyf9Ph4vS742J3a73wZihWmzFUwpn1OD6lme1Aj4eWzWIve5IVnlTEJgcZcDHu6ECID9IZgehJKoA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-darwin-arm64": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.83.0.tgz", + "integrity": "sha512-XQl9QqgxFFIPm/CzHhmppse5o9ocxrbaAdC2/DAnlAqvYWBBtgFqPjGoYlej13h9SzfvNoogx+y9r+Ap+e+hYg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-darwin-x64": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.83.0.tgz", + "integrity": "sha512-ERQ7Tvp1kFOW3ux4VDFIxb7tkYXHYc+zJpcrbs0hzcIO5ilIRU2tIOK1OrNwrFO6Qxyf7AUuBwYKLAtIU/Nz7g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-arm": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.83.0.tgz", + "integrity": "sha512-baG9RYBJxUFmqwDNC9h9ZFElgJoyO3jgHGjzEZ1wHhIS9anpG+zZQvO8bHx3dBpKEImX+DBeLX+CxsFR9n81gQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-arm64": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.83.0.tgz", + "integrity": "sha512-syEAVTJt4qhaMLxrSwOWa46zdqHJdnqJkLUK+t9aCr8xqBZLPxSUeIGji76uOehQZ1C+KGFj6n9xstHN6wzOJw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-ia32": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-linux-ia32/-/sass-embedded-linux-ia32-1.83.0.tgz", + "integrity": "sha512-RRBxQxMpoxu5+XcSSc6QR/o9asEwUzR8AbCS83RaXcdTIHTa/CccQsiAoDDoPlRsMTLqnzs0LKL4CfOsf7zBbA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-arm": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.83.0.tgz", + "integrity": "sha512-Yc7u2TelCfBab+PRob9/MNJFh3EooMiz4urvhejXkihTiKSHGCv5YqDdtWzvyb9tY2Jb7YtYREVuHwfdVn3dTQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-arm64": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.83.0.tgz", + "integrity": "sha512-Y7juhPHClUO2H5O+u+StRy6SEAcwZ+hTEk5WJdEmo1Bb1gDtfHvJaWB/iFZJ2tW0W1e865AZeUrC4OcOFjyAQA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-ia32": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-linux-musl-ia32/-/sass-embedded-linux-musl-ia32-1.83.0.tgz", + "integrity": "sha512-arQeYwGmwXV8byx5G1PtSzZWW1jbkfR5qrIHMEbTFSAvAxpqjgSvCvrHMOFd73FcMxVaYh4BX9LQNbKinkbEdg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-riscv64": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.83.0.tgz", + "integrity": "sha512-E6uzlIWz59rut+Z3XR6mLG915zNzv07ISvj3GUNZENdHM7dF8GQ//ANoIpl5PljMQKp89GnYdvo6kj2gnaBf/g==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-musl-x64": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.83.0.tgz", + "integrity": "sha512-eAMK6tyGqvqr21r9g8BnR3fQc1rYFj85RGduSQ3xkITZ6jOAnOhuU94N5fwRS852Hpws0lXhET+7JHXgg3U18w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-riscv64": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.83.0.tgz", + "integrity": "sha512-Ojpi78pTv02sy2fUYirRGXHLY3fPnV/bvwuC2i5LwPQw2LpCcFyFTtN0c5h4LJDk9P6wr+/ZB/JXU8tHIOlK+Q==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-linux-x64": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.83.0.tgz", + "integrity": "sha512-3iLjlXdoPfgZRtX4odhRvka1BQs5mAXqfCtDIQBgh/o0JnGPzJIWWl9bYLpHxK8qb+uyVBxXYgXpI0sCzArBOw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-win32-arm64": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.83.0.tgz", + "integrity": "sha512-iOHw/8/t2dlTW3lOFwG5eUbiwhEyGWawivlKWJ8lkXH7fjMpVx2VO9zCFAm8RvY9xOHJ9sf1L7g5bx3EnNP9BQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-win32-ia32": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-win32-ia32/-/sass-embedded-win32-ia32-1.83.0.tgz", + "integrity": "sha512-2PxNXJ8Pad4geVcTXY4rkyTr5AwbF8nfrCTDv0ulbTvPhzX2mMKEGcBZUXWn5BeHZTBc6whNMfS7d5fQXR9dDQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/sass-embedded-win32-x64": { + "version": "1.83.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.83.0.tgz", + "integrity": "sha512-muBXkFngM6eLTNqOV0FQi7Dv9s+YRQ42Yem26mosdan/GmJQc81deto6uDTgrYn+bzFNmiXcOdfm+0MkTWK3OQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/scroll-into-view-if-needed": { "version": "2.2.31", "resolved": "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz", @@ -3117,6 +3649,15 @@ "slate": ">=0.65.3" } }, + "node_modules/slick": { + "version": "1.12.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/slick/-/slick-1.12.2.tgz", + "integrity": "sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==", + "license": "MIT (http://mootools.net/license.txt)", + "engines": { + "node": "*" + } + }, "node_modules/snabbdom": { "version": "3.6.2", "resolved": "https://registry.npmmirror.com/snabbdom/-/snabbdom-3.6.2.tgz", @@ -3144,6 +3685,18 @@ "node": ">=0.10.0" } }, + "node_modules/ssf": { + "version": "0.11.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/ssf/-/ssf-0.11.2.tgz", + "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==", + "license": "Apache-2.0", + "dependencies": { + "frac": "~1.1.2" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/ssr-window": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/ssr-window/-/ssr-window-3.0.0.tgz", @@ -3184,12 +3737,51 @@ "node": ">=16" } }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, "node_modules/svg-tags": { "version": "1.0.0", "resolved": "https://mirrors.huaweicloud.com/repository/npm/svg-tags/-/svg-tags-1.0.0.tgz", "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", "dev": true }, + "node_modules/sync-child-process": { + "version": "1.0.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sync-child-process/-/sync-child-process-1.0.2.tgz", + "integrity": "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "sync-message-port": "^1.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/sync-message-port": { + "version": "1.1.3", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/sync-message-port/-/sync-message-port-1.1.3.tgz", + "integrity": "sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/tiny-warning": { "version": "1.0.3", "resolved": "https://registry.npmmirror.com/tiny-warning/-/tiny-warning-1.0.3.tgz", @@ -3307,6 +3899,13 @@ "integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==", "license": "MIT" }, + "node_modules/varint": { + "version": "6.0.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/varint/-/varint-6.0.0.tgz", + "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==", + "dev": true, + "license": "MIT" + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://mirrors.huaweicloud.com/repository/npm/vary/-/vary-1.1.2.tgz", @@ -3613,6 +4212,45 @@ "resolved": "https://registry.npmmirror.com/wildcard/-/wildcard-1.1.2.tgz", "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==" }, + "node_modules/wmf": { + "version": "1.0.2", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/wmf/-/wmf-1.0.2.tgz", + "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/word": { + "version": "0.3.0", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/word/-/word-0.3.0.tgz", + "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/xlsx": { + "version": "0.18.5", + "resolved": "https://mirrors.huaweicloud.com/repository/npm/xlsx/-/xlsx-0.18.5.tgz", + "integrity": "sha512-dmg3LCjBPHZnQp5/F/+nnTa+miPJxUXB6vtk42YjBBKayDNagxGEeIdWApkYPOf3Z3pm3k62Knjzp7lMeTEtFQ==", + "license": "Apache-2.0", + "dependencies": { + "adler-32": "~1.3.0", + "cfb": "~1.2.1", + "codepage": "~1.15.0", + "crc-32": "~1.2.1", + "ssf": "~0.11.2", + "wmf": "~1.0.1", + "word": "~0.3.0" + }, + "bin": { + "xlsx": "bin/xlsx.njs" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/yallist": { "version": "3.1.1", "resolved": "https://mirrors.huaweicloud.com/repository/npm/yallist/-/yallist-3.1.1.tgz", diff --git a/work/package.json b/work/package.json index c624660..121af1b 100644 --- a/work/package.json +++ b/work/package.json @@ -9,22 +9,28 @@ "preview": "vite preview" }, "dependencies": { + "@types/file-saver": "^2.0.7", "@vueup/vue-quill": "^1.2.0", "@wangeditor/editor": "^5.1.23", "@wangeditor/editor-for-vue": "^5.1.12", "axios": "^1.7.9", "date-fns": "^4.1.0", + "dayjs": "^1.11.13", "echart": "^0.1.3", "echarts": "^5.5.1", "element-plus": "^2.9.0", + "elements": "^0.6.0", + "file-saver": "^2.0.5", "pinia": "^2.2.6", "quill": "^2.0.3", "vue": "^3.5.13", "vue-quill-editor": "^3.0.6", - "vue-router": "^4.4.5" + "vue-router": "^4.4.5", + "xlsx": "^0.18.5" }, "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", + "sass-embedded": "^1.83.0", "vite": "^6.0.1", "vite-plugin-vue-devtools": "^7.6.5" }, diff --git a/work/src/api/index.js b/work/src/api/index.js index 4b9536d..e294042 100644 --- a/work/src/api/index.js +++ b/work/src/api/index.js @@ -9,7 +9,7 @@ service.interceptors.request.use( config => { // 假设你的token存储在Vuex、Pinia或者本地存储中,这里直接用一个变量代替 // 请确保在实际应用中从安全的地方获取token - const token = "9H0l5gBX0kPIbYe1rBrnbZi0+fEeMx8pywnIlrmTxo5EOPR/wjWDV7w7+ZUseiBtf9kFa/atmNx6QfSpv5w"; + const token = "9ior41AF0xTIbIG2pRnnbZi0+fEeMx8pywnIlrmTwo5FbqJ9lWrSWOxp9MkpKiNtedtUafqvzIwpFKrwuMs"; if (token) { config.headers['token'] = ` ${token}`; } diff --git a/work/src/assets/login/denglu.png b/work/src/assets/login/denglu.png new file mode 100644 index 0000000..21d812a Binary files /dev/null and b/work/src/assets/login/denglu.png differ diff --git a/work/src/assets/login/mima.png b/work/src/assets/login/mima.png new file mode 100644 index 0000000..f1f24e2 Binary files /dev/null and b/work/src/assets/login/mima.png differ diff --git a/work/src/router/index.js b/work/src/router/index.js index 1d8e592..772ec8d 100644 --- a/work/src/router/index.js +++ b/work/src/router/index.js @@ -1,29 +1,11 @@ -import { createRouter, createWebHistory } from 'vue-router' -import HomeView from '../views/HomeView.vue' -import LoginView from '../views/LoginView.vue' -import AddWorkView from '../views/AddWorkView.vue' -import WorksShowView from '../views/WorksShowView.vue' +import { createRouter, createWebHistory } from 'vue-router'; +import WorksShowView from '../views/WorksShowView.vue'; import DoHomeworkView from "@/views/DoHomeworkView.vue"; const router = createRouter({ - history: createWebHistory(import.meta.env.BASE_URL), + history: createWebHistory(), routes: [ { - path: '/', - name: 'login', - component: LoginView, - }, - { - path: '/home', - name: 'home', - component: HomeView, - }, - { - path:'/addwork', - name:'addwork', - component: AddWorkView - }, - { path: '/show', name: 'workshow', component: WorksShowView diff --git a/work/src/stores/token.js b/work/src/stores/token.js new file mode 100644 index 0000000..2394bb6 --- /dev/null +++ b/work/src/stores/token.js @@ -0,0 +1,22 @@ +import {defineStore} from 'pinia'; +/* +使用pinia进行状态管理,不能刷新页面 +Vue中将一些全局的数据保存在某个位置,Vue项目的任何一个组件中,都可以访问它 +*/ +export const useTokenStore = defineStore('token',{ + //状态管理 + state:()=>({ + token: sessionStorage.getItem('token'), + }), + actions:{ + changeToken(token){ + this.token = token; + //长久保存token + sessionStorage.setItem('token', token) + }, + clear(){ + this.token = null; + sessionStorage.removeItem('token'); + } + } +}); \ No newline at end of file diff --git a/work/src/stores/user.js b/work/src/stores/user.js new file mode 100644 index 0000000..673c4f9 --- /dev/null +++ b/work/src/stores/user.js @@ -0,0 +1,22 @@ +import {defineStore} from 'pinia'; +/* +使用pinia进行状态管理,不能刷新页面 +Vue中将一些全局的数据保存在某个位置,Vue项目的任何一个组件中,都可以访问它 +*/ +export const useUserStore = defineStore('user',{ + //状态管理 + state:()=>({ + user: JSON.parse(sessionStorage.getItem('user')), + }), + actions:{ + changeUser(user){ + this.user = user; + //长久保存token + sessionStorage.setItem('user', JSON.stringify(user)); //sessionStorage中只能保存字符串 + }, + clear(){ + this.user = null; + sessionStorage.removeItem('user'); + } + } +}); \ No newline at end of file diff --git a/work/src/views/AddWorkView.vue b/work/src/views/AddWorkView.vue deleted file mode 100644 index 0287120..0000000 --- a/work/src/views/AddWorkView.vue +++ /dev/null @@ -1,270 +0,0 @@ - - - - - \ No newline at end of file diff --git a/work/src/views/DoHomeworkView.vue b/work/src/views/DoHomeworkView.vue index 7f5d8da..712894e 100644 --- a/work/src/views/DoHomeworkView.vue +++ b/work/src/views/DoHomeworkView.vue @@ -98,7 +98,6 @@ import '@wangeditor/editor/dist/css/style.css' // 引入 css import { onBeforeUnmount } from 'vue' import { Editor, Toolbar } from '@wangeditor/editor-for-vue' import {useRoute, useRouter} from "vue-router"; -import axios from "axios"; const router = useRouter(); const route = useRoute(); @@ -191,8 +190,6 @@ questionList.value.forEach(() => { selectedAnswers.value.push([]); }); - - // 上一个页面传递的参数 groupId function submit() { homework.value = []; diff --git a/work/src/views/HomeView.vue b/work/src/views/HomeView.vue deleted file mode 100644 index c8774c5..0000000 --- a/work/src/views/HomeView.vue +++ /dev/null @@ -1,110 +0,0 @@ - - - - - \ No newline at end of file diff --git a/work/src/views/LoginView.vue b/work/src/views/LoginView.vue deleted file mode 100644 index 5aff4aa..0000000 --- a/work/src/views/LoginView.vue +++ /dev/null @@ -1,10 +0,0 @@ - - - - \ No newline at end of file diff --git a/work/src/views/WorksShowView.vue b/work/src/views/WorksShowView.vue index cd623e4..3fc87f3 100644 --- a/work/src/views/WorksShowView.vue +++ b/work/src/views/WorksShowView.vue @@ -12,6 +12,8 @@ const works = ref([]); function loadWorks() { ShowApi.getWorks().then(result => { works.value = result.data; + console.log(works.value); + console.log(result.data); works.value.forEach(work => { let date = work.endData; work.endData = format(new Date(date), 'yyyy-MM-dd'); @@ -53,8 +55,8 @@ function writeWorks(id,sub){
未提交
已提交
-
- 写作业 +
+ 写作业
diff --git a/work/vite.config.js b/work/vite.config.js index 1cbcb2a..7baeba2 100644 --- a/work/vite.config.js +++ b/work/vite.config.js @@ -5,21 +5,27 @@ import vue from '@vitejs/plugin-vue' // https://vite.dev/config/ export default defineConfig({ - plugins: [ - vue(), - ], - resolve: { - alias: { - '@': fileURLToPath(new URL('./src', import.meta.url)) - }, + plugins: [ + vue(), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) }, - server: { - proxy: { - '/api': { - target: 'http://192.168.8.191:8080', - changeOrigin: true, - rewrite: (path) => path.replace(/^\/api/, '') - } - } + }, + server: { + proxy: { + '/api': { + target: 'http://192.168.8.191:8080', + changeOrigin: true, + rewrite: (path) => path.replace(/^\/api/, '') + }, + // 第二个代理配置,对应/otherApi路径的请求转发到第二个IP地址 + // '/otherApi': { + // target: 'http://192.168.8.191:8080', + // changeOrigin: true, + // rewrite: (path) => path.replace(/^\/otherApi/, '') + // } } -}) \ No newline at end of file + } +})