提交 ba7c470d authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 321f7316
...@@ -121,6 +121,7 @@ ...@@ -121,6 +121,7 @@
"useBrowserLocation": true, "useBrowserLocation": true,
"useCached": true, "useCached": true,
"useClipboard": true, "useClipboard": true,
"useCloned": true,
"useColorMode": true, "useColorMode": true,
"useConfirmDialog": true, "useConfirmDialog": true,
"useCounter": true, "useCounter": true,
......
...@@ -122,6 +122,7 @@ declare global { ...@@ -122,6 +122,7 @@ declare global {
const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation'] const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation']
const useCached: typeof import('@vueuse/core')['useCached'] const useCached: typeof import('@vueuse/core')['useCached']
const useClipboard: typeof import('@vueuse/core')['useClipboard'] const useClipboard: typeof import('@vueuse/core')['useClipboard']
const useCloned: typeof import('@vueuse/core')['useCloned']
const useColorMode: typeof import('@vueuse/core')['useColorMode'] const useColorMode: typeof import('@vueuse/core')['useColorMode']
const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog'] const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog']
const useCounter: typeof import('@vueuse/core')['useCounter'] const useCounter: typeof import('@vueuse/core')['useCounter']
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
"@element-plus/icons-vue": "^2.0.9", "@element-plus/icons-vue": "^2.0.9",
"@tinymce/tinymce-vue": "^5.0.0", "@tinymce/tinymce-vue": "^5.0.0",
"@vant/area-data": "^1.3.2", "@vant/area-data": "^1.3.2",
"@vueuse/core": "^9.1.1", "@vueuse/core": "^9.2.0",
"ali-oss": "^6.17.1", "ali-oss": "^6.17.1",
"axios": "^0.27.2", "axios": "^0.27.2",
"blueimp-md5": "^2.19.0", "blueimp-md5": "^2.19.0",
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
"@types/qs": "^6.9.7", "@types/qs": "^6.9.7",
"@types/ua-parser-js": "^0.7.36", "@types/ua-parser-js": "^0.7.36",
"@types/video.js": "^7.3.46", "@types/video.js": "^7.3.46",
"@vitejs/plugin-vue": "^3.0.3", "@vitejs/plugin-vue": "^3.1.0",
"@vue/eslint-config-typescript": "^11.0.0", "@vue/eslint-config-typescript": "^11.0.0",
"@vue/tsconfig": "^0.1.3", "@vue/tsconfig": "^0.1.3",
"chalk": "^5.0.1", "chalk": "^5.0.1",
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
"sass": "^1.54.8", "sass": "^1.54.8",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"unplugin-auto-import": "^0.11.2", "unplugin-auto-import": "^0.11.2",
"vite": "^3.0.9", "vite": "^3.1.0",
"vite-plugin-checker": "^0.5.1", "vite-plugin-checker": "^0.5.1",
"vue-tsc": "^0.40.5" "vue-tsc": "^0.40.5"
} }
...@@ -201,9 +201,9 @@ ...@@ -201,9 +201,9 @@
} }
}, },
"node_modules/@esbuild/linux-loong64": { "node_modules/@esbuild/linux-loong64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz",
"integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", "integrity": "sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw==",
"cpu": [ "cpu": [
"loong64" "loong64"
], ],
...@@ -624,9 +624,9 @@ ...@@ -624,9 +624,9 @@
} }
}, },
"node_modules/@vitejs/plugin-vue": { "node_modules/@vitejs/plugin-vue": {
"version": "3.0.3", "version": "3.1.0",
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-3.0.3.tgz", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.1.0.tgz",
"integrity": "sha512-U4zNBlz9mg+TA+i+5QPc3N5lQvdUXENZLO2h0Wdzp56gI1MWhqJOv+6R+d4kOzoaSSq6TnGPBdZAXKOe4lXy6g==", "integrity": "sha512-fmxtHPjSOEIRg6vHYDaem+97iwCUg/uSIaTzp98lhELt2ISOQuDo2hbkBdXod0g15IhfPMQmAxh4heUks2zvDA==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": "^14.18.0 || >=16.0.0" "node": "^14.18.0 || >=16.0.0"
...@@ -850,14 +850,17 @@ ...@@ -850,14 +850,17 @@
} }
}, },
"node_modules/@vueuse/core": { "node_modules/@vueuse/core": {
"version": "9.1.1", "version": "9.2.0",
"resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.1.1.tgz", "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.2.0.tgz",
"integrity": "sha512-QfuaNWRDMQcCUwXylCyYhPC3ScS9Tiiz4J0chdwr3vOemBwRToSywq8MP+ZegKYFnbETzRY8G/5zC+ca30wrRQ==", "integrity": "sha512-/MZ6qpz6uSyaXrtoeBWQzAKRG3N7CvfVWvQxiM3ei3Xe5ydOjjtVbo7lGl9p8dECV93j7W8s63A8H0kFLpLyxg==",
"dependencies": { "dependencies": {
"@types/web-bluetooth": "^0.0.15", "@types/web-bluetooth": "^0.0.15",
"@vueuse/metadata": "9.1.1", "@vueuse/metadata": "9.2.0",
"@vueuse/shared": "9.1.1", "@vueuse/shared": "9.2.0",
"vue-demi": "*" "vue-demi": "*"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
} }
}, },
"node_modules/@vueuse/core/node_modules/vue-demi": { "node_modules/@vueuse/core/node_modules/vue-demi": {
...@@ -883,21 +886,27 @@ ...@@ -883,21 +886,27 @@
} }
}, },
"node_modules/@vueuse/metadata": { "node_modules/@vueuse/metadata": {
"version": "9.1.1", "version": "9.2.0",
"resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.1.1.tgz", "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.2.0.tgz",
"integrity": "sha512-XZ2KtSW+85LLHB/IdGILPAtbIVHasPsAW7aqz3BRMzJdAQWRiM/FGa1OKBwLbXtUw/AmjKYFlZJo7eOFIBXRog==" "integrity": "sha512-exN4KE6iquxDCdt72BgEhb3tlOpECtD61AUdXnUqBTIUCl70x1Ar/QXo3bYcvxmdMS2/peQyfeTzBjRTpvL5xw==",
"funding": {
"url": "https://github.com/sponsors/antfu"
}
}, },
"node_modules/@vueuse/shared": { "node_modules/@vueuse/shared": {
"version": "9.1.1", "version": "9.2.0",
"resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.1.1.tgz", "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.2.0.tgz",
"integrity": "sha512-c+IfcOYmHiHqoEa3ED1Tbpue5GHmoUmTp8PtO4YbczthtY155Rt6DmWhjxMLXBF1Bcidagxljmp/7xtAzEHXLw==", "integrity": "sha512-NnRp/noSWuXW0dKhZK5D0YLrDi0nmZ18UeEgwXQq7Ul5TTP93lcNnKjrHtd68j2xFB/l59yPGFlCryL692bnrA==",
"dependencies": { "dependencies": {
"vue-demi": "*" "vue-demi": "*"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
} }
}, },
"node_modules/@vueuse/shared/node_modules/vue-demi": { "node_modules/@vueuse/shared/node_modules/vue-demi": {
"version": "0.13.11", "version": "0.13.11",
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz", "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz",
"integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
"hasInstallScript": true, "hasInstallScript": true,
"bin": { "bin": {
...@@ -907,6 +916,9 @@ ...@@ -907,6 +916,9 @@
"engines": { "engines": {
"node": ">=12" "node": ">=12"
}, },
"funding": {
"url": "https://github.com/sponsors/antfu"
},
"peerDependencies": { "peerDependencies": {
"@vue/composition-api": "^1.0.0-rc.1", "@vue/composition-api": "^1.0.0-rc.1",
"vue": "^3.0.0-0 || ^2.6.0" "vue": "^3.0.0-0 || ^2.6.0"
...@@ -1574,9 +1586,9 @@ ...@@ -1574,9 +1586,9 @@
} }
}, },
"node_modules/esbuild": { "node_modules/esbuild": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.7.tgz",
"integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", "integrity": "sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==",
"dev": true, "dev": true,
"hasInstallScript": true, "hasInstallScript": true,
"bin": { "bin": {
...@@ -1586,33 +1598,33 @@ ...@@ -1586,33 +1598,33 @@
"node": ">=12" "node": ">=12"
}, },
"optionalDependencies": { "optionalDependencies": {
"@esbuild/linux-loong64": "0.14.54", "@esbuild/linux-loong64": "0.15.7",
"esbuild-android-64": "0.14.54", "esbuild-android-64": "0.15.7",
"esbuild-android-arm64": "0.14.54", "esbuild-android-arm64": "0.15.7",
"esbuild-darwin-64": "0.14.54", "esbuild-darwin-64": "0.15.7",
"esbuild-darwin-arm64": "0.14.54", "esbuild-darwin-arm64": "0.15.7",
"esbuild-freebsd-64": "0.14.54", "esbuild-freebsd-64": "0.15.7",
"esbuild-freebsd-arm64": "0.14.54", "esbuild-freebsd-arm64": "0.15.7",
"esbuild-linux-32": "0.14.54", "esbuild-linux-32": "0.15.7",
"esbuild-linux-64": "0.14.54", "esbuild-linux-64": "0.15.7",
"esbuild-linux-arm": "0.14.54", "esbuild-linux-arm": "0.15.7",
"esbuild-linux-arm64": "0.14.54", "esbuild-linux-arm64": "0.15.7",
"esbuild-linux-mips64le": "0.14.54", "esbuild-linux-mips64le": "0.15.7",
"esbuild-linux-ppc64le": "0.14.54", "esbuild-linux-ppc64le": "0.15.7",
"esbuild-linux-riscv64": "0.14.54", "esbuild-linux-riscv64": "0.15.7",
"esbuild-linux-s390x": "0.14.54", "esbuild-linux-s390x": "0.15.7",
"esbuild-netbsd-64": "0.14.54", "esbuild-netbsd-64": "0.15.7",
"esbuild-openbsd-64": "0.14.54", "esbuild-openbsd-64": "0.15.7",
"esbuild-sunos-64": "0.14.54", "esbuild-sunos-64": "0.15.7",
"esbuild-windows-32": "0.14.54", "esbuild-windows-32": "0.15.7",
"esbuild-windows-64": "0.14.54", "esbuild-windows-64": "0.15.7",
"esbuild-windows-arm64": "0.14.54" "esbuild-windows-arm64": "0.15.7"
} }
}, },
"node_modules/esbuild-android-64": { "node_modules/esbuild-android-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz",
"integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", "integrity": "sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
...@@ -1626,9 +1638,9 @@ ...@@ -1626,9 +1638,9 @@
} }
}, },
"node_modules/esbuild-android-arm64": { "node_modules/esbuild-android-arm64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz",
"integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", "integrity": "sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
...@@ -1642,9 +1654,9 @@ ...@@ -1642,9 +1654,9 @@
} }
}, },
"node_modules/esbuild-darwin-64": { "node_modules/esbuild-darwin-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz",
"integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", "integrity": "sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
...@@ -1658,9 +1670,9 @@ ...@@ -1658,9 +1670,9 @@
} }
}, },
"node_modules/esbuild-darwin-arm64": { "node_modules/esbuild-darwin-arm64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz",
"integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", "integrity": "sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
...@@ -1674,9 +1686,9 @@ ...@@ -1674,9 +1686,9 @@
} }
}, },
"node_modules/esbuild-freebsd-64": { "node_modules/esbuild-freebsd-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz",
"integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", "integrity": "sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
...@@ -1690,9 +1702,9 @@ ...@@ -1690,9 +1702,9 @@
} }
}, },
"node_modules/esbuild-freebsd-arm64": { "node_modules/esbuild-freebsd-arm64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz",
"integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", "integrity": "sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
...@@ -1706,9 +1718,9 @@ ...@@ -1706,9 +1718,9 @@
} }
}, },
"node_modules/esbuild-linux-32": { "node_modules/esbuild-linux-32": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz",
"integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", "integrity": "sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
...@@ -1722,9 +1734,9 @@ ...@@ -1722,9 +1734,9 @@
} }
}, },
"node_modules/esbuild-linux-64": { "node_modules/esbuild-linux-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz",
"integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", "integrity": "sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
...@@ -1738,9 +1750,9 @@ ...@@ -1738,9 +1750,9 @@
} }
}, },
"node_modules/esbuild-linux-arm": { "node_modules/esbuild-linux-arm": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz",
"integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", "integrity": "sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ==",
"cpu": [ "cpu": [
"arm" "arm"
], ],
...@@ -1754,9 +1766,9 @@ ...@@ -1754,9 +1766,9 @@
} }
}, },
"node_modules/esbuild-linux-arm64": { "node_modules/esbuild-linux-arm64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz",
"integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", "integrity": "sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
...@@ -1770,9 +1782,9 @@ ...@@ -1770,9 +1782,9 @@
} }
}, },
"node_modules/esbuild-linux-mips64le": { "node_modules/esbuild-linux-mips64le": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz",
"integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", "integrity": "sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw==",
"cpu": [ "cpu": [
"mips64el" "mips64el"
], ],
...@@ -1786,9 +1798,9 @@ ...@@ -1786,9 +1798,9 @@
} }
}, },
"node_modules/esbuild-linux-ppc64le": { "node_modules/esbuild-linux-ppc64le": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz",
"integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", "integrity": "sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw==",
"cpu": [ "cpu": [
"ppc64" "ppc64"
], ],
...@@ -1802,9 +1814,9 @@ ...@@ -1802,9 +1814,9 @@
} }
}, },
"node_modules/esbuild-linux-riscv64": { "node_modules/esbuild-linux-riscv64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz",
"integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", "integrity": "sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g==",
"cpu": [ "cpu": [
"riscv64" "riscv64"
], ],
...@@ -1818,9 +1830,9 @@ ...@@ -1818,9 +1830,9 @@
} }
}, },
"node_modules/esbuild-linux-s390x": { "node_modules/esbuild-linux-s390x": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz",
"integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", "integrity": "sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ==",
"cpu": [ "cpu": [
"s390x" "s390x"
], ],
...@@ -1834,9 +1846,9 @@ ...@@ -1834,9 +1846,9 @@
} }
}, },
"node_modules/esbuild-netbsd-64": { "node_modules/esbuild-netbsd-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz",
"integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", "integrity": "sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
...@@ -1850,9 +1862,9 @@ ...@@ -1850,9 +1862,9 @@
} }
}, },
"node_modules/esbuild-openbsd-64": { "node_modules/esbuild-openbsd-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz",
"integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", "integrity": "sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
...@@ -1866,9 +1878,9 @@ ...@@ -1866,9 +1878,9 @@
} }
}, },
"node_modules/esbuild-sunos-64": { "node_modules/esbuild-sunos-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz",
"integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", "integrity": "sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
...@@ -1882,9 +1894,9 @@ ...@@ -1882,9 +1894,9 @@
} }
}, },
"node_modules/esbuild-windows-32": { "node_modules/esbuild-windows-32": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz",
"integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", "integrity": "sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA==",
"cpu": [ "cpu": [
"ia32" "ia32"
], ],
...@@ -1898,9 +1910,9 @@ ...@@ -1898,9 +1910,9 @@
} }
}, },
"node_modules/esbuild-windows-64": { "node_modules/esbuild-windows-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz",
"integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", "integrity": "sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
...@@ -1914,9 +1926,9 @@ ...@@ -1914,9 +1926,9 @@
} }
}, },
"node_modules/esbuild-windows-arm64": { "node_modules/esbuild-windows-arm64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz",
"integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", "integrity": "sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
...@@ -3763,9 +3775,9 @@ ...@@ -3763,9 +3775,9 @@
} }
}, },
"node_modules/rollup": { "node_modules/rollup": {
"version": "2.77.2", "version": "2.78.1",
"resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.77.2.tgz", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz",
"integrity": "sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==", "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==",
"dev": true, "dev": true,
"bin": { "bin": {
"rollup": "dist/bin/rollup" "rollup": "dist/bin/rollup"
...@@ -4448,15 +4460,15 @@ ...@@ -4448,15 +4460,15 @@
} }
}, },
"node_modules/vite": { "node_modules/vite": {
"version": "3.0.9", "version": "3.1.0",
"resolved": "https://registry.npmmirror.com/vite/-/vite-3.0.9.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.0.tgz",
"integrity": "sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==", "integrity": "sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"esbuild": "^0.14.47", "esbuild": "^0.15.6",
"postcss": "^8.4.16", "postcss": "^8.4.16",
"resolve": "^1.22.1", "resolve": "^1.22.1",
"rollup": ">=2.75.6 <2.77.0 || ~2.77.0" "rollup": "~2.78.0"
}, },
"bin": { "bin": {
"vite": "bin/vite.js" "vite": "bin/vite.js"
...@@ -4947,9 +4959,9 @@ ...@@ -4947,9 +4959,9 @@
"requires": {} "requires": {}
}, },
"@esbuild/linux-loong64": { "@esbuild/linux-loong64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz",
"integrity": "sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==", "integrity": "sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
...@@ -5268,9 +5280,9 @@ ...@@ -5268,9 +5280,9 @@
} }
}, },
"@vitejs/plugin-vue": { "@vitejs/plugin-vue": {
"version": "3.0.3", "version": "3.1.0",
"resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-3.0.3.tgz", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.1.0.tgz",
"integrity": "sha512-U4zNBlz9mg+TA+i+5QPc3N5lQvdUXENZLO2h0Wdzp56gI1MWhqJOv+6R+d4kOzoaSSq6TnGPBdZAXKOe4lXy6g==", "integrity": "sha512-fmxtHPjSOEIRg6vHYDaem+97iwCUg/uSIaTzp98lhELt2ISOQuDo2hbkBdXod0g15IhfPMQmAxh4heUks2zvDA==",
"dev": true, "dev": true,
"requires": {} "requires": {}
}, },
...@@ -5467,13 +5479,13 @@ ...@@ -5467,13 +5479,13 @@
"requires": {} "requires": {}
}, },
"@vueuse/core": { "@vueuse/core": {
"version": "9.1.1", "version": "9.2.0",
"resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-9.1.1.tgz", "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-9.2.0.tgz",
"integrity": "sha512-QfuaNWRDMQcCUwXylCyYhPC3ScS9Tiiz4J0chdwr3vOemBwRToSywq8MP+ZegKYFnbETzRY8G/5zC+ca30wrRQ==", "integrity": "sha512-/MZ6qpz6uSyaXrtoeBWQzAKRG3N7CvfVWvQxiM3ei3Xe5ydOjjtVbo7lGl9p8dECV93j7W8s63A8H0kFLpLyxg==",
"requires": { "requires": {
"@types/web-bluetooth": "^0.0.15", "@types/web-bluetooth": "^0.0.15",
"@vueuse/metadata": "9.1.1", "@vueuse/metadata": "9.2.0",
"@vueuse/shared": "9.1.1", "@vueuse/shared": "9.2.0",
"vue-demi": "*" "vue-demi": "*"
}, },
"dependencies": { "dependencies": {
...@@ -5486,21 +5498,21 @@ ...@@ -5486,21 +5498,21 @@
} }
}, },
"@vueuse/metadata": { "@vueuse/metadata": {
"version": "9.1.1", "version": "9.2.0",
"resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-9.1.1.tgz", "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-9.2.0.tgz",
"integrity": "sha512-XZ2KtSW+85LLHB/IdGILPAtbIVHasPsAW7aqz3BRMzJdAQWRiM/FGa1OKBwLbXtUw/AmjKYFlZJo7eOFIBXRog==" "integrity": "sha512-exN4KE6iquxDCdt72BgEhb3tlOpECtD61AUdXnUqBTIUCl70x1Ar/QXo3bYcvxmdMS2/peQyfeTzBjRTpvL5xw=="
}, },
"@vueuse/shared": { "@vueuse/shared": {
"version": "9.1.1", "version": "9.2.0",
"resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-9.1.1.tgz", "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-9.2.0.tgz",
"integrity": "sha512-c+IfcOYmHiHqoEa3ED1Tbpue5GHmoUmTp8PtO4YbczthtY155Rt6DmWhjxMLXBF1Bcidagxljmp/7xtAzEHXLw==", "integrity": "sha512-NnRp/noSWuXW0dKhZK5D0YLrDi0nmZ18UeEgwXQq7Ul5TTP93lcNnKjrHtd68j2xFB/l59yPGFlCryL692bnrA==",
"requires": { "requires": {
"vue-demi": "*" "vue-demi": "*"
}, },
"dependencies": { "dependencies": {
"vue-demi": { "vue-demi": {
"version": "0.13.11", "version": "0.13.11",
"resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz", "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz",
"integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
"requires": {} "requires": {}
} }
...@@ -6034,171 +6046,171 @@ ...@@ -6034,171 +6046,171 @@
"integrity": "sha512-OclLMSug+k2A0JKuf494im25ANRBVW8qsjmwbgX7lQ8P82H21PQ1PWkoYwb9y5yMBS69BPlwtzdIFClo3+7kOQ==" "integrity": "sha512-OclLMSug+k2A0JKuf494im25ANRBVW8qsjmwbgX7lQ8P82H21PQ1PWkoYwb9y5yMBS69BPlwtzdIFClo3+7kOQ=="
}, },
"esbuild": { "esbuild": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.15.7.tgz",
"integrity": "sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==", "integrity": "sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@esbuild/linux-loong64": "0.14.54", "@esbuild/linux-loong64": "0.15.7",
"esbuild-android-64": "0.14.54", "esbuild-android-64": "0.15.7",
"esbuild-android-arm64": "0.14.54", "esbuild-android-arm64": "0.15.7",
"esbuild-darwin-64": "0.14.54", "esbuild-darwin-64": "0.15.7",
"esbuild-darwin-arm64": "0.14.54", "esbuild-darwin-arm64": "0.15.7",
"esbuild-freebsd-64": "0.14.54", "esbuild-freebsd-64": "0.15.7",
"esbuild-freebsd-arm64": "0.14.54", "esbuild-freebsd-arm64": "0.15.7",
"esbuild-linux-32": "0.14.54", "esbuild-linux-32": "0.15.7",
"esbuild-linux-64": "0.14.54", "esbuild-linux-64": "0.15.7",
"esbuild-linux-arm": "0.14.54", "esbuild-linux-arm": "0.15.7",
"esbuild-linux-arm64": "0.14.54", "esbuild-linux-arm64": "0.15.7",
"esbuild-linux-mips64le": "0.14.54", "esbuild-linux-mips64le": "0.15.7",
"esbuild-linux-ppc64le": "0.14.54", "esbuild-linux-ppc64le": "0.15.7",
"esbuild-linux-riscv64": "0.14.54", "esbuild-linux-riscv64": "0.15.7",
"esbuild-linux-s390x": "0.14.54", "esbuild-linux-s390x": "0.15.7",
"esbuild-netbsd-64": "0.14.54", "esbuild-netbsd-64": "0.15.7",
"esbuild-openbsd-64": "0.14.54", "esbuild-openbsd-64": "0.15.7",
"esbuild-sunos-64": "0.14.54", "esbuild-sunos-64": "0.15.7",
"esbuild-windows-32": "0.14.54", "esbuild-windows-32": "0.15.7",
"esbuild-windows-64": "0.14.54", "esbuild-windows-64": "0.15.7",
"esbuild-windows-arm64": "0.14.54" "esbuild-windows-arm64": "0.15.7"
} }
}, },
"esbuild-android-64": { "esbuild-android-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz",
"integrity": "sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==", "integrity": "sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-android-arm64": { "esbuild-android-arm64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz",
"integrity": "sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==", "integrity": "sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-darwin-64": { "esbuild-darwin-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz",
"integrity": "sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==", "integrity": "sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-darwin-arm64": { "esbuild-darwin-arm64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz",
"integrity": "sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==", "integrity": "sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-freebsd-64": { "esbuild-freebsd-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz",
"integrity": "sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==", "integrity": "sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-freebsd-arm64": { "esbuild-freebsd-arm64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz",
"integrity": "sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==", "integrity": "sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-linux-32": { "esbuild-linux-32": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz",
"integrity": "sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==", "integrity": "sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-linux-64": { "esbuild-linux-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz",
"integrity": "sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==", "integrity": "sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-linux-arm": { "esbuild-linux-arm": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz",
"integrity": "sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==", "integrity": "sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-linux-arm64": { "esbuild-linux-arm64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz",
"integrity": "sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==", "integrity": "sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-linux-mips64le": { "esbuild-linux-mips64le": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz",
"integrity": "sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==", "integrity": "sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-linux-ppc64le": { "esbuild-linux-ppc64le": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz",
"integrity": "sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==", "integrity": "sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-linux-riscv64": { "esbuild-linux-riscv64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz",
"integrity": "sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==", "integrity": "sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-linux-s390x": { "esbuild-linux-s390x": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz",
"integrity": "sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==", "integrity": "sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-netbsd-64": { "esbuild-netbsd-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz",
"integrity": "sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==", "integrity": "sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-openbsd-64": { "esbuild-openbsd-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz",
"integrity": "sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==", "integrity": "sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-sunos-64": { "esbuild-sunos-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz",
"integrity": "sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==", "integrity": "sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-windows-32": { "esbuild-windows-32": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz",
"integrity": "sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==", "integrity": "sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-windows-64": { "esbuild-windows-64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz",
"integrity": "sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==", "integrity": "sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"esbuild-windows-arm64": { "esbuild-windows-arm64": {
"version": "0.14.54", "version": "0.15.7",
"resolved": "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz", "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz",
"integrity": "sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==", "integrity": "sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw==",
"dev": true, "dev": true,
"optional": true "optional": true
}, },
...@@ -7662,9 +7674,9 @@ ...@@ -7662,9 +7674,9 @@
} }
}, },
"rollup": { "rollup": {
"version": "2.77.2", "version": "2.78.1",
"resolved": "https://registry.npmmirror.com/rollup/-/rollup-2.77.2.tgz", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.78.1.tgz",
"integrity": "sha512-m/4YzYgLcpMQbxX3NmAqDvwLATZzxt8bIegO78FZLl+lAgKJBd1DRAOeEiZcKOIOPjxE6ewHWHNgGEalFXuz1g==", "integrity": "sha512-VeeCgtGi4P+o9hIg+xz4qQpRl6R401LWEXBmxYKOV4zlF82lyhgh2hTZnheFUbANE8l2A41F458iwj2vEYaXJg==",
"dev": true, "dev": true,
"requires": { "requires": {
"fsevents": "~2.3.2" "fsevents": "~2.3.2"
...@@ -8197,16 +8209,16 @@ ...@@ -8197,16 +8209,16 @@
} }
}, },
"vite": { "vite": {
"version": "3.0.9", "version": "3.1.0",
"resolved": "https://registry.npmmirror.com/vite/-/vite-3.0.9.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-3.1.0.tgz",
"integrity": "sha512-waYABTM+G6DBTCpYAxvevpG50UOlZuynR0ckTK5PawNVt7ebX6X7wNXHaGIO6wYYFXSM7/WcuFuO2QzhBB6aMw==", "integrity": "sha512-YBg3dUicDpDWFCGttmvMbVyS9ydjntwEjwXRj2KBFwSB8SxmGcudo1yb8FW5+M/G86aS8x828ujnzUVdsLjs9g==",
"dev": true, "dev": true,
"requires": { "requires": {
"esbuild": "^0.14.47", "esbuild": "^0.15.6",
"fsevents": "~2.3.2", "fsevents": "~2.3.2",
"postcss": "^8.4.16", "postcss": "^8.4.16",
"resolve": "^1.22.1", "resolve": "^1.22.1",
"rollup": ">=2.75.6 <2.77.0 || ~2.77.0" "rollup": "~2.78.0"
} }
}, },
"vite-plugin-checker": { "vite-plugin-checker": {
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
"@element-plus/icons-vue": "^2.0.9", "@element-plus/icons-vue": "^2.0.9",
"@tinymce/tinymce-vue": "^5.0.0", "@tinymce/tinymce-vue": "^5.0.0",
"@vant/area-data": "^1.3.2", "@vant/area-data": "^1.3.2",
"@vueuse/core": "^9.1.1", "@vueuse/core": "^9.2.0",
"ali-oss": "^6.17.1", "ali-oss": "^6.17.1",
"axios": "^0.27.2", "axios": "^0.27.2",
"blueimp-md5": "^2.19.0", "blueimp-md5": "^2.19.0",
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
"@types/qs": "^6.9.7", "@types/qs": "^6.9.7",
"@types/ua-parser-js": "^0.7.36", "@types/ua-parser-js": "^0.7.36",
"@types/video.js": "^7.3.46", "@types/video.js": "^7.3.46",
"@vitejs/plugin-vue": "^3.0.3", "@vitejs/plugin-vue": "^3.1.0",
"@vue/eslint-config-typescript": "^11.0.0", "@vue/eslint-config-typescript": "^11.0.0",
"@vue/tsconfig": "^0.1.3", "@vue/tsconfig": "^0.1.3",
"chalk": "^5.0.1", "chalk": "^5.0.1",
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
"sass": "^1.54.8", "sass": "^1.54.8",
"typescript": "~4.7.4", "typescript": "~4.7.4",
"unplugin-auto-import": "^0.11.2", "unplugin-auto-import": "^0.11.2",
"vite": "^3.0.9", "vite": "^3.1.0",
"vite-plugin-checker": "^0.5.1", "vite-plugin-checker": "^0.5.1",
"vue-tsc": "^0.40.5" "vue-tsc": "^0.40.5"
} }
......
...@@ -83,11 +83,3 @@ textarea:focus { ...@@ -83,11 +83,3 @@ textarea:focus {
margin-right: 0 !important; margin-right: 0 !important;
border-bottom: 1px solid #e6e6e6; border-bottom: 1px solid #e6e6e6;
} }
.descriptions-box {
margin-bottom: 20px;
}
.descriptions-box .el-descriptions__body {
padding: 30px 30px 10px;
border-radius: 12px;
}
...@@ -32,7 +32,7 @@ function handleClick(data: MessageType) { ...@@ -32,7 +32,7 @@ function handleClick(data: MessageType) {
// 指导老师 // 指导老师
// 实验评分 // 实验评分
if (payload?.channel === 1) { if (payload?.channel === 1) {
router.push({ path: '/admin/lab/record', query: payload }) router.push({ path: '/teacher/lab/record', query: payload })
} }
} else { } else {
// 学生 // 学生
......
<script setup lang="ts"> <script setup lang="ts">
defineProps<{ title?: string }>() interface Props {
title?: string
hasCardBackground?: boolean
hasBodyBackground?: boolean
}
withDefaults(defineProps<Props>(), { hasBodyBackground: true })
</script> </script>
<template> <template>
<div class="app-card"> <div class="app-card" :class="{ 'has-background': hasCardBackground }">
<div class="app-card-hd"> <div class="app-card-hd">
<slot name="header"> <slot name="header">
<h2 class="app-card-hd__title" v-if="title">{{ title }}</h2> <h2 class="app-card-hd__title" v-if="title">{{ title }}</h2>
...@@ -12,7 +17,7 @@ defineProps<{ title?: string }>() ...@@ -12,7 +17,7 @@ defineProps<{ title?: string }>()
</div> </div>
</slot> </slot>
</div> </div>
<div class="app-card-bd"> <div class="app-card-bd" :class="{ 'has-background': hasBodyBackground }">
<slot></slot> <slot></slot>
</div> </div>
</div> </div>
...@@ -20,10 +25,12 @@ defineProps<{ title?: string }>() ...@@ -20,10 +25,12 @@ defineProps<{ title?: string }>()
<style lang="scss"> <style lang="scss">
.app-card { .app-card {
// background: #fff; &.has-background {
// box-shadow: 0 1px 6px 0 rgb(228 232 235 / 20%); background: #fff;
// border-radius: 6px; box-shadow: 0 1px 6px 0 rgb(228 232 235 / 20%);
// padding: 20px; border-radius: 6px;
padding: 20px;
}
} }
.app-card + .app-card { .app-card + .app-card {
margin-top: 20px; margin-top: 20px;
...@@ -40,4 +47,11 @@ defineProps<{ title?: string }>() ...@@ -40,4 +47,11 @@ defineProps<{ title?: string }>()
line-height: 1; line-height: 1;
color: #333333; color: #333333;
} }
.app-card-bd {
&.has-background {
padding: 20px;
background-color: #fff;
border-radius: 12px;
}
}
</style> </style>
...@@ -165,7 +165,7 @@ defineExpose({ refetch, tableRef }) ...@@ -165,7 +165,7 @@ defineExpose({ refetch, tableRef })
</el-form-item> </el-form-item>
</el-form> </el-form>
</div> </div>
<div class="table-list-hd-aside"><slot name="header-aside" /></div> <!-- <div class="table-list-hd-aside"><slot name="header-aside" /></div> -->
</div> </div>
<div class="table-list-buttons"><slot name="header-buttons"></slot></div> <div class="table-list-buttons"><slot name="header-buttons"></slot></div>
<slot></slot> <slot></slot>
...@@ -223,12 +223,15 @@ defineExpose({ refetch, tableRef }) ...@@ -223,12 +223,15 @@ defineExpose({ refetch, tableRef })
.table-list-hd { .table-list-hd {
display: flex; display: flex;
margin-bottom: 20px; margin-bottom: 20px;
&:empty {
display: none;
}
} }
.table-list-filter { .table-list-filter {
flex: 1; flex: 1;
padding: 30px 30px 10px; // padding: 30px 30px 10px;
background: #fff; // background: #f8f8f8;
border-radius: 12px; // border-radius: 12px;
} }
.table-list-buttons { .table-list-buttons {
margin-bottom: 20px; margin-bottom: 20px;
......
<script setup lang="ts">
import type { FormInstance, FormRules } from 'element-plus'
import type { ContestItem, ExperimentCreateItem } from '../types'
import { ElMessage } from 'element-plus'
import { createExperiment, updateExperiment } from '../api'
import { useMapStore } from '@/stores/map'
interface Props {
data?: ContestItem | null
}
const props = defineProps<Props>()
const emit = defineEmits<{
(e: 'update'): void
(e: 'update:modelValue', visible: boolean): void
}>()
// 数据状态
const status = useMapStore().getMapValuesByKey('system_status')
const formRef = $ref<FormInstance>()
const form = reactive<ExperimentCreateItem>({
organ_id: '',
status: '1',
course_id: '',
name: '',
length: 10,
type: '',
score: 100,
teachers_id: '',
teachers_ids: []
})
watchEffect(() => {
if (!props.data) return
const score = parseFloat(props.data.score)
const length = parseFloat(props.data.length)
const teachers_ids = props.data.teacher.map(item => item.id)
Object.assign(form, props.data, { score, length, teachers_ids })
})
const rules = ref<FormRules>({
name: [{ required: true, message: '请输入赛项名称' }]
})
const isUpdate = $computed(() => {
return !!form.id
})
// 提交
function handleSubmit() {
formRef?.validate().then(() => {
const params = {
...form,
teachers_id: form.teachers_ids?.join(',') || ''
}
isUpdate ? handleUpdate(params) : handleCreate(params)
})
}
// 新增
function handleCreate(params: ExperimentCreateItem) {
createExperiment(params).then(() => {
ElMessage({ message: '创建成功', type: 'success' })
emit('update')
emit('update:modelValue', false)
})
}
// 修改
function handleUpdate(params: ExperimentCreateItem) {
updateExperiment(params).then(() => {
ElMessage({ message: '修改成功', type: 'success' })
emit('update')
emit('update:modelValue', false)
})
}
</script>
<template>
<el-dialog
title="评分规则"
:close-on-click-modal="false"
width="800px"
@update:modelValue="$emit('update:modelValue')"
>
<el-form ref="formRef" :model="form" :rules="rules" label-width="160px">
<el-form-item label="赛项名称" prop="name">
<el-input v-model="form.name" :disabled="isUpdate" />
</el-form-item>
<el-form-item label="多人评分" prop="status">
<el-radio-group v-model="form.status">
<el-radio v-for="item in status" :key="item.id" :label="item.value">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="多人评分成绩计算规则" prop="status">
<el-radio-group v-model="form.status">
<el-radio v-for="item in status" :key="item.id" :label="item.value">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="最低评分人数" prop="status">
<el-input v-model="form.name" :disabled="isUpdate" />
</el-form-item>
<el-form-item>
<el-table>
<el-table-column prop="date" label="评分规则">
<template #default="{ row }">
<el-input />
</template>
</el-table-column>
<el-table-column prop="date" label="评分方法">
<template #default="{ row }">
<el-input />
</template>
</el-table-column>
<el-table-column prop="date" label="关联考试">
<template #default="{ row }">
<el-input />
</template>
</el-table-column>
<el-table-column prop="date" label="分值">
<template #default="{ row }">
<el-input />
</template>
</el-table-column>
<el-table-column prop="date" label="占比(%)">
<template #default="{ row }">
<el-input />
</template>
</el-table-column>
<el-table-column prop="date" label="操作">
<template #default="{ row }">
<el-button type="text">删除</el-button>
</template>
</el-table-column>
</el-table>
</el-form-item>
<el-row justify="center">
<el-button type="primary" round auto-insert-space @click="handleSubmit">保存</el-button>
<el-button round auto-insert-space @click="$emit('update:modelValue', false)">取消</el-button>
</el-row>
</el-form>
</el-dialog>
</template>
...@@ -3,6 +3,7 @@ import type { ContestItem } from '../types' ...@@ -3,6 +3,7 @@ import type { ContestItem } from '../types'
import { getContestItem } from '../api' import { getContestItem } from '../api'
const ViewBook = defineAsyncComponent(() => import('../components/ViewBook.vue')) const ViewBook = defineAsyncComponent(() => import('../components/ViewBook.vue'))
const ViewVideo = defineAsyncComponent(() => import('../components/ViewVideo.vue')) const ViewVideo = defineAsyncComponent(() => import('../components/ViewVideo.vue'))
const JudgingRulesDialog = defineAsyncComponent(() => import('../components/JudgingRulesDialog.vue'))
interface Props { interface Props {
id: string id: string
...@@ -11,18 +12,21 @@ const props = defineProps<Props>() ...@@ -11,18 +12,21 @@ const props = defineProps<Props>()
let detail = $ref<ContestItem | null>(null) let detail = $ref<ContestItem | null>(null)
provide('detail', $$(detail)) provide('detail', $$(detail))
function fetchInfo() { function fetchInfo() {
getContestItem({ experiment_id: props.id }).then(res => { getContestItem({ experiment_id: props.id }).then(res => {
detail = res.data detail = res.data
}) })
} }
onMounted(() => fetchInfo) onMounted(fetchInfo)
const judgingRulesVisible = $ref(true)
</script> </script>
<template> <template>
<AppCard title="赛项管理"> <AppCard title="赛项信息">
<template #header-aside> <template #header-aside>
<el-button type="primary">评分规则</el-button> <el-button type="primary" @click="judgingRulesVisible = true">评分规则</el-button>
<el-button type="primary">评分专家</el-button> <el-button type="primary">评分专家</el-button>
<el-button type="primary">参赛选手</el-button> <el-button type="primary">参赛选手</el-button>
<el-button type="primary">评分细则</el-button> <el-button type="primary">评分细则</el-button>
...@@ -33,13 +37,12 @@ onMounted(() => fetchInfo) ...@@ -33,13 +37,12 @@ onMounted(() => fetchInfo)
<el-descriptions-item label="赛项课程:">{{ detail.course_name }}</el-descriptions-item> <el-descriptions-item label="赛项课程:">{{ detail.course_name }}</el-descriptions-item>
<el-descriptions-item label="所属机构/学校:">{{ detail.organ_id_name }}</el-descriptions-item> <el-descriptions-item label="所属机构/学校:">{{ detail.organ_id_name }}</el-descriptions-item>
</el-descriptions> </el-descriptions>
<el-tabs> </AppCard>
<el-tab-pane label="训练指导书" lazy> <AppCard title="训练指导书">
<ViewBook></ViewBook> <ViewBook></ViewBook>
</el-tab-pane> </AppCard>
<el-tab-pane label="操作视频" lazy> <AppCard title="操作视频">
<ViewVideo></ViewVideo> <ViewVideo></ViewVideo>
</el-tab-pane>
</el-tabs>
</AppCard> </AppCard>
<JudgingRulesDialog v-model="judgingRulesVisible" v-if="judgingRulesVisible"></JudgingRulesDialog>
</template> </template>
...@@ -58,7 +58,7 @@ function handleRefetch() { ...@@ -58,7 +58,7 @@ function handleRefetch() {
<template #table-x="{ row }"> <template #table-x="{ row }">
<el-button type="primary" link> <el-button type="primary" link>
<router-link <router-link
:to="`/admin/system/experiment/group/${row.id}`" :to="`/admin/lab/experiment/group/${row.id}`"
target="_blank" target="_blank"
v-permission="'v1-backend-experiment-team-view'" v-permission="'v1-backend-experiment-team-view'"
>小组成员</router-link >小组成员</router-link
......
...@@ -3,9 +3,9 @@ import AppLayout from '@/components/layout/Index.vue' ...@@ -3,9 +3,9 @@ import AppLayout from '@/components/layout/Index.vue'
export const routes: Array<RouteRecordRaw> = [ export const routes: Array<RouteRecordRaw> = [
{ {
path: '/admin/system', path: '/admin/lab',
component: AppLayout, component: AppLayout,
redirect: '/admin/system/experiment', redirect: '/admin/lab/experiment',
children: [ children: [
{ path: 'experiment', component: () => import('./views/Index.vue') }, { path: 'experiment', component: () => import('./views/Index.vue') },
{ path: 'experiment/:id', component: () => import('./views/View.vue'), props: true }, { path: 'experiment/:id', component: () => import('./views/View.vue'), props: true },
......
...@@ -67,10 +67,10 @@ function onUpdateSuccess() { ...@@ -67,10 +67,10 @@ function onUpdateSuccess() {
<template #table-x="{ row }: { row: ExperimentItem }"> <template #table-x="{ row }: { row: ExperimentItem }">
<el-button type="primary" round v-permission="'v1-backend-experiment-view'"> <el-button type="primary" round v-permission="'v1-backend-experiment-view'">
<router-link :to="`/admin/system/experiment/${row.id}`" target="_blank">查看</router-link> <router-link :to="`/admin/lab/experiment/${row.id}`" target="_blank">查看</router-link>
</el-button> </el-button>
<!-- <el-button type="primary" round v-permission="'v1-backend-experiment-view'"> <!-- <el-button type="primary" round v-permission="'v1-backend-experiment-view'">
<router-link :to="`/admin/system/experiment/${row.id}`" target="_blank">关联班级与分组</router-link> <router-link :to="`/admin/lab/experiment/${row.id}`" target="_blank">关联班级与分组</router-link>
</el-button> --> </el-button> -->
<el-button type="primary" round @click="handleUpdate(row)" v-permission="'v1-backend-experiment-update'" <el-button type="primary" round @click="handleUpdate(row)" v-permission="'v1-backend-experiment-update'"
>编辑</el-button >编辑</el-button
......
...@@ -14,19 +14,19 @@ onMounted(() => { ...@@ -14,19 +14,19 @@ onMounted(() => {
}) })
function handleChange(id: string, type: number) { function handleChange(id: string, type: number) {
if (type === 1) { if (type === 1) {
router.push({ path: '/admin/lab/book', query: { experiment_id: id } }) router.push({ path: '/teacher/lab/book', query: { experiment_id: id } })
} else if (type === 2) { } else if (type === 2) {
router.push({ path: '/admin/lab/video', query: { experiment_id: id } }) router.push({ path: '/teacher/lab/video', query: { experiment_id: id } })
} }
} }
</script> </script>
<template> <template>
<div class="bg"> <div class="bg">
<router-link to="/admin/lab/book" class="link1"></router-link> <router-link to="/teacher/lab/book" class="link1"></router-link>
<router-link to="/admin/lab/record" class="link2"></router-link> <router-link to="/teacher/lab/record" class="link2"></router-link>
<router-link to="/admin/lab/video" class="link3"></router-link> <router-link to="/teacher/lab/video" class="link3"></router-link>
<router-link to="/admin/lab/discuss" class="link4"></router-link> <router-link to="/teacher/lab/discuss" class="link4"></router-link>
</div> </div>
<div class="select-group"> <div class="select-group">
<el-select size="large" placeholder="实验指导书" @change="handleChange($event, 1)"> <el-select size="large" placeholder="实验指导书" @change="handleChange($event, 1)">
......
...@@ -22,7 +22,7 @@ const genFileClassNames = $computed(() => { ...@@ -22,7 +22,7 @@ const genFileClassNames = $computed(() => {
<div class="button-group"> <div class="button-group">
<el-tooltip effect="dark" content="查看"> <el-tooltip effect="dark" content="查看">
<div class="button icon-view" v-permission="'v1-teacher-book-view'"> <div class="button icon-view" v-permission="'v1-teacher-book-view'">
<router-link :to="`/admin/lab/book/${data.id}`" target="_blank"></router-link> <router-link :to="`/teacher/lab/book/${data.id}`" target="_blank"></router-link>
</div> </div>
</el-tooltip> </el-tooltip>
<el-tooltip effect="dark" content="编辑"> <el-tooltip effect="dark" content="编辑">
......
...@@ -3,11 +3,11 @@ import AppLayout from '@/components/layout/Index.vue' ...@@ -3,11 +3,11 @@ import AppLayout from '@/components/layout/Index.vue'
export const routes: Array<RouteRecordRaw> = [ export const routes: Array<RouteRecordRaw> = [
{ {
path: '/admin/lab', path: '/teacher/lab',
redirect: '/admin/lab/book' redirect: '/teacher/lab/book'
}, },
{ {
path: '/admin/lab/book', path: '/teacher/lab/book',
component: AppLayout, component: AppLayout,
children: [ children: [
{ path: '', component: () => import('./views/Index.vue') }, { path: '', component: () => import('./views/Index.vue') },
......
...@@ -56,7 +56,7 @@ function onUpdateSuccess() { ...@@ -56,7 +56,7 @@ function onUpdateSuccess() {
</script> </script>
<template> <template>
<AppCard title="实验指导书管理"> <AppCard title="实验指导书管理" :hasBodyBackground="false">
<AppList v-bind="listOptions" ref="appList"> <AppList v-bind="listOptions" ref="appList">
<template #header-buttons> <template #header-buttons>
<el-button type="primary" :icon="CirclePlus" @click="handleAdd" v-permission="'v1-teacher-book-create'" <el-button type="primary" :icon="CirclePlus" @click="handleAdd" v-permission="'v1-teacher-book-create'"
...@@ -75,6 +75,11 @@ function onUpdateSuccess() { ...@@ -75,6 +75,11 @@ function onUpdateSuccess() {
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>
:deep(.table-list-filter) {
padding: 30px 30px 10px;
background: #fff;
border-radius: 12px;
}
.list-card { .list-card {
display: grid; display: grid;
grid-template-columns: repeat(4, 1fr); grid-template-columns: repeat(4, 1fr);
......
...@@ -3,7 +3,7 @@ import AppLayout from '@/components/layout/Index.vue' ...@@ -3,7 +3,7 @@ import AppLayout from '@/components/layout/Index.vue'
export const routes: Array<RouteRecordRaw> = [ export const routes: Array<RouteRecordRaw> = [
{ {
path: '/admin/lab/record', path: '/teacher/lab/discuss',
component: AppLayout, component: AppLayout,
children: [{ path: '', component: () => import('./views/Index.vue') }] children: [{ path: '', component: () => import('./views/Index.vue') }]
} }
......
...@@ -3,7 +3,7 @@ import AppLayout from '@/components/layout/Index.vue' ...@@ -3,7 +3,7 @@ import AppLayout from '@/components/layout/Index.vue'
export const routes: Array<RouteRecordRaw> = [ export const routes: Array<RouteRecordRaw> = [
{ {
path: '/admin/lab/discuss', path: '/teacher/lab/record',
component: AppLayout, component: AppLayout,
children: [{ path: '', component: () => import('./views/Index.vue') }] children: [{ path: '', component: () => import('./views/Index.vue') }]
} }
......
...@@ -9,7 +9,7 @@ defineProps<Props>() ...@@ -9,7 +9,7 @@ defineProps<Props>()
<template> <template>
<div class="list-item"> <div class="list-item">
<div class="list-item-pic"> <div class="list-item-pic">
<router-link :to="`/admin/lab/video/${data.id}`" target="_blank"> <router-link :to="`/teacher/lab/video/${data.id}`" target="_blank">
<el-image :src="data.cover" fit="cover"> <el-image :src="data.cover" fit="cover">
<template #error> <template #error>
<img src="/images/video_poster.png" /> <img src="/images/video_poster.png" />
...@@ -21,7 +21,7 @@ defineProps<Props>() ...@@ -21,7 +21,7 @@ defineProps<Props>()
<div class="list-item-main"> <div class="list-item-main">
<p>{{ data.name }}</p> <p>{{ data.name }}</p>
<div class="buttons"> <div class="buttons">
<router-link :to="`/admin/lab/video/${data.id}`" target="_blank" v-permission="'v1-teacher-video-view'"> <router-link :to="`/teacher/lab/video/${data.id}`" target="_blank" v-permission="'v1-teacher-video-view'">
<el-button type="primary" auto-insert-space>查看</el-button> <el-button type="primary" auto-insert-space>查看</el-button>
</router-link> </router-link>
<el-button <el-button
......
...@@ -3,7 +3,7 @@ import AppLayout from '@/components/layout/Index.vue' ...@@ -3,7 +3,7 @@ import AppLayout from '@/components/layout/Index.vue'
export const routes: Array<RouteRecordRaw> = [ export const routes: Array<RouteRecordRaw> = [
{ {
path: '/admin/lab/video', path: '/teacher/lab/video',
component: AppLayout, component: AppLayout,
children: [ children: [
{ path: '', component: () => import('./views/Index.vue') }, { path: '', component: () => import('./views/Index.vue') },
......
...@@ -56,7 +56,7 @@ function onUpdateSuccess() { ...@@ -56,7 +56,7 @@ function onUpdateSuccess() {
</script> </script>
<template> <template>
<AppCard title="实验操作视频管理"> <AppCard title="实验操作视频管理" :has-body-background="false">
<AppList v-bind="listOptions" ref="appList"> <AppList v-bind="listOptions" ref="appList">
<template #header-buttons> <template #header-buttons>
<el-button type="primary" :icon="CirclePlus" @click="handleAdd" v-permission="'v1-teacher-video-create'" <el-button type="primary" :icon="CirclePlus" @click="handleAdd" v-permission="'v1-teacher-video-create'"
...@@ -75,6 +75,11 @@ function onUpdateSuccess() { ...@@ -75,6 +75,11 @@ function onUpdateSuccess() {
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>
:deep(.table-list-filter) {
padding: 30px 30px 10px;
background: #fff;
border-radius: 12px;
}
.list-card { .list-card {
display: grid; display: grid;
grid-template-columns: repeat(5, 1fr); grid-template-columns: repeat(5, 1fr);
......
...@@ -30,27 +30,27 @@ const studentMenus: IMenuItem[] = [ ...@@ -30,27 +30,27 @@ const studentMenus: IMenuItem[] = [
const adminMenus: IMenuItem[] = [ const adminMenus: IMenuItem[] = [
{ {
name: '智能营销', name: '智能营销',
path: '/admin/lab', path: '/teacher/lab',
tag: 'v1-teacher', tag: 'v1-teacher',
children: [ children: [
{ {
name: '实验指导书管理', name: '实验指导书管理',
path: '/admin/lab/book', path: '/teacher/lab/book',
tag: 'v1-teacher-book' tag: 'v1-teacher-book'
}, },
{ {
name: '实验操作视频管理', name: '实验操作视频管理',
path: '/admin/lab/video', path: '/teacher/lab/video',
tag: 'v1-teacher-video' tag: 'v1-teacher-video'
}, },
{ {
name: '实验讨论交流', name: '实验讨论交流',
path: '/admin/lab/discuss', path: '/teacher/lab/discuss',
tag: 'v1-teacher-discussion' tag: 'v1-teacher-discussion'
}, },
{ {
name: '实验成绩管理', name: '实验成绩管理',
path: '/admin/lab/record', path: '/teacher/lab/record',
tag: 'v1-teacher-record' tag: 'v1-teacher-record'
} }
] ]
...@@ -83,12 +83,12 @@ const adminMenus: IMenuItem[] = [ ...@@ -83,12 +83,12 @@ const adminMenus: IMenuItem[] = [
}, },
{ {
name: '系统管理', name: '系统管理',
path: '/admin/system', path: '/admin/lab',
tag: 'v1-backend-experiment', tag: 'v1-backend-experiment',
children: [ children: [
{ {
name: '实验管理', name: '实验管理',
path: '/admin/system/experiment', path: '/admin/lab/experiment',
tag: 'v1-backend-experiment' tag: 'v1-backend-experiment'
} }
] ]
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论