问题清单修复

This commit is contained in:
BianLzhaoMin 2024-12-17 10:57:09 +08:00
parent 951969a184
commit a2da73df83
6 changed files with 307 additions and 6508 deletions

5
components.d.ts vendored
View File

@ -20,13 +20,10 @@ declare module 'vue' {
ElCollapse: typeof import('element-plus/es')['ElCollapse']
ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem']
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
ElCountdown: typeof import('element-plus/es')['ElCountdown']
ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
ElDialog: typeof import('element-plus/es')['ElDialog']
ElEmpty: typeof import('element-plus/es')['ElEmpty']
ElForm: typeof import('element-plus/es')['ElForm']
ElFormItem: typeof import('element-plus/es')['ElFormItem']
ElHeader: typeof import('element-plus/es')['ElHeader']
ElIcon: typeof import('element-plus/es')['ElIcon']
ElImage: typeof import('element-plus/es')['ElImage']
ElInput: typeof import('element-plus/es')['ElInput']
@ -34,7 +31,6 @@ declare module 'vue' {
ElMenu: typeof import('element-plus/es')['ElMenu']
ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
ElOption: typeof import('element-plus/es')['ElOption']
ElPageHeader: typeof import('element-plus/es')['ElPageHeader']
ElPagination: typeof import('element-plus/es')['ElPagination']
ElPopconfirm: typeof import('element-plus/es')['ElPopconfirm']
ElProgress: typeof import('element-plus/es')['ElProgress']
@ -44,7 +40,6 @@ declare module 'vue' {
ElSelect: typeof import('element-plus/es')['ElSelect']
ElStep: typeof import('element-plus/es')['ElStep']
ElSteps: typeof import('element-plus/es')['ElSteps']
ElSwitch: typeof import('element-plus/es')['ElSwitch']
ElTable: typeof import('element-plus/es')['ElTable']
ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
ElTag: typeof import('element-plus/es')['ElTag']

6143
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,7 @@
"@vitejs/plugin-vue-jsx": "^3.0.2",
"@vue/tsconfig": "^0.4.0",
"npm-run-all2": "^6.1.1",
"sass": "^1.69.5",
"sass": "^1.32.13",
"typescript": "~5.2.0",
"unplugin-auto-import": "^0.17.1",
"unplugin-vue-components": "^0.25.2",

View File

@ -10,22 +10,22 @@ importers:
dependencies:
'@element-plus/icons-vue':
specifier: ^2.3.1
version: 2.3.1(vue@3.5.13)
version: 2.3.1(vue@3.5.13(typescript@5.2.2))
'@js-preview/docx':
specifier: ^1.6.2
version: 1.6.2
'@vue-office/docx':
specifier: ^1.6.2
version: 1.6.2(vue-demi@0.14.10)(vue@3.5.13)
version: 1.6.2(vue-demi@0.14.10(vue@3.5.13(typescript@5.2.2)))(vue@3.5.13(typescript@5.2.2))
'@vueuse/core':
specifier: ^10.6.1
version: 10.11.1(vue@3.5.13)
version: 10.11.1(vue@3.5.13(typescript@5.2.2))
axios:
specifier: ^1.6.2
version: 1.7.9
element-plus:
specifier: ^2.4.3
version: 2.9.1(vue@3.5.13)
version: 2.9.1(vue@3.5.13(typescript@5.2.2))
file-saver:
specifier: ^2.0.5
version: 2.0.5
@ -43,13 +43,13 @@ importers:
version: 0.2.0
pinia:
specifier: ^2.1.7
version: 2.3.0(typescript@5.2.2)(vue@3.5.13)
version: 2.3.0(typescript@5.2.2)(vue@3.5.13(typescript@5.2.2))
pinia-plugin-persist:
specifier: ^1.0.0
version: 1.0.0(pinia@2.3.0)(vue@3.5.13)
version: 1.0.0(pinia@2.3.0(typescript@5.2.2)(vue@3.5.13(typescript@5.2.2)))(vue@3.5.13(typescript@5.2.2))
vite-plugin-html:
specifier: ^3.2.0
version: 3.2.2(vite@4.5.5)
version: 3.2.2(vite@4.5.5(@types/node@18.19.68)(sass@1.32.13)(terser@5.37.0))
vite-plugin-zip-file:
specifier: ^2.2.0
version: 2.2.0
@ -58,13 +58,13 @@ importers:
version: 3.5.13(typescript@5.2.2)
vue-demi:
specifier: ^0.14.10
version: 0.14.10(vue@3.5.13)
version: 0.14.10(vue@3.5.13(typescript@5.2.2))
vue-qrcode:
specifier: ^2.2.2
version: 2.2.2(qrcode@1.5.4)(vue@3.5.13)
version: 2.2.2(qrcode@1.5.4)(vue@3.5.13(typescript@5.2.2))
vue-router:
specifier: ^4.2.5
version: 4.5.0(vue@3.5.13)
version: 4.5.0(vue@3.5.13(typescript@5.2.2))
devDependencies:
'@tsconfig/node18':
specifier: ^18.2.2
@ -77,10 +77,10 @@ importers:
version: 0.2.3
'@vitejs/plugin-vue':
specifier: ^4.4.0
version: 4.6.2(vite@4.5.5)(vue@3.5.13)
version: 4.6.2(vite@4.5.5(@types/node@18.19.68)(sass@1.32.13)(terser@5.37.0))(vue@3.5.13(typescript@5.2.2))
'@vitejs/plugin-vue-jsx':
specifier: ^3.0.2
version: 3.1.0(vite@4.5.5)(vue@3.5.13)
version: 3.1.0(vite@4.5.5(@types/node@18.19.68)(sass@1.32.13)(terser@5.37.0))(vue@3.5.13(typescript@5.2.2))
'@vue/tsconfig':
specifier: ^0.4.0
version: 0.4.0
@ -88,20 +88,20 @@ importers:
specifier: ^6.1.1
version: 6.2.6
sass:
specifier: ^1.69.5
version: 1.83.0
specifier: ^1.32.13
version: 1.32.13
typescript:
specifier: ~5.2.0
version: 5.2.2
unplugin-auto-import:
specifier: ^0.17.1
version: 0.17.8(@vueuse/core@10.11.1)
version: 0.17.8(@vueuse/core@10.11.1(vue@3.5.13(typescript@5.2.2)))(rollup@3.29.5)
unplugin-vue-components:
specifier: ^0.25.2
version: 0.25.2(vue@3.5.13)
version: 0.25.2(@babel/parser@7.26.3)(rollup@3.29.5)(vue@3.5.13(typescript@5.2.2))
vite:
specifier: ^4.4.11
version: 4.5.5(@types/node@18.19.68)(sass@1.83.0)
version: 4.5.5(@types/node@18.19.68)(sass@1.32.13)(terser@5.37.0)
vue-tsc:
specifier: ^1.8.19
version: 1.8.27(typescript@5.2.2)
@ -414,94 +414,6 @@ packages:
resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
engines: {node: '>= 8'}
'@parcel/watcher-android-arm64@2.5.0':
resolution: {integrity: sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==}
engines: {node: '>= 10.0.0'}
cpu: [arm64]
os: [android]
'@parcel/watcher-darwin-arm64@2.5.0':
resolution: {integrity: sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==}
engines: {node: '>= 10.0.0'}
cpu: [arm64]
os: [darwin]
'@parcel/watcher-darwin-x64@2.5.0':
resolution: {integrity: sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==}
engines: {node: '>= 10.0.0'}
cpu: [x64]
os: [darwin]
'@parcel/watcher-freebsd-x64@2.5.0':
resolution: {integrity: sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==}
engines: {node: '>= 10.0.0'}
cpu: [x64]
os: [freebsd]
'@parcel/watcher-linux-arm-glibc@2.5.0':
resolution: {integrity: sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==}
engines: {node: '>= 10.0.0'}
cpu: [arm]
os: [linux]
libc: [glibc]
'@parcel/watcher-linux-arm-musl@2.5.0':
resolution: {integrity: sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==}
engines: {node: '>= 10.0.0'}
cpu: [arm]
os: [linux]
libc: [musl]
'@parcel/watcher-linux-arm64-glibc@2.5.0':
resolution: {integrity: sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==}
engines: {node: '>= 10.0.0'}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@parcel/watcher-linux-arm64-musl@2.5.0':
resolution: {integrity: sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==}
engines: {node: '>= 10.0.0'}
cpu: [arm64]
os: [linux]
libc: [musl]
'@parcel/watcher-linux-x64-glibc@2.5.0':
resolution: {integrity: sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==}
engines: {node: '>= 10.0.0'}
cpu: [x64]
os: [linux]
libc: [glibc]
'@parcel/watcher-linux-x64-musl@2.5.0':
resolution: {integrity: sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==}
engines: {node: '>= 10.0.0'}
cpu: [x64]
os: [linux]
libc: [musl]
'@parcel/watcher-win32-arm64@2.5.0':
resolution: {integrity: sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==}
engines: {node: '>= 10.0.0'}
cpu: [arm64]
os: [win32]
'@parcel/watcher-win32-ia32@2.5.0':
resolution: {integrity: sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==}
engines: {node: '>= 10.0.0'}
cpu: [ia32]
os: [win32]
'@parcel/watcher-win32-x64@2.5.0':
resolution: {integrity: sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==}
engines: {node: '>= 10.0.0'}
cpu: [x64]
os: [win32]
'@parcel/watcher@2.5.0':
resolution: {integrity: sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==}
engines: {node: '>= 10.0.0'}
'@rollup/pluginutils@4.2.1':
resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
engines: {node: '>= 8.0.0'}
@ -731,10 +643,6 @@ packages:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
chokidar@4.0.1:
resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==}
engines: {node: '>= 14.16.0'}
clean-css@5.3.3:
resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
engines: {node: '>= 10.0'}
@ -822,11 +730,6 @@ packages:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'}
detect-libc@1.0.3:
resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
engines: {node: '>=0.10'}
hasBin: true
dijkstrajs@1.0.3:
resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==}
@ -988,9 +891,6 @@ packages:
immediate@3.0.6:
resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
immutable@5.0.3:
resolution: {integrity: sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==}
inherits@2.0.4:
resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
@ -1152,9 +1052,6 @@ packages:
no-case@3.0.4:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
node-addon-api@7.1.1:
resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
node-html-parser@5.4.2:
resolution: {integrity: sha512-RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==}
@ -1295,10 +1192,6 @@ packages:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
readdirp@4.0.2:
resolution: {integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==}
engines: {node: '>= 14.16.0'}
relateurl@0.2.7:
resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
engines: {node: '>= 0.10'}
@ -1329,9 +1222,9 @@ packages:
safe-buffer@5.1.2:
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
sass@1.83.0:
resolution: {integrity: sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw==}
engines: {node: '>=14.0.0'}
sass@1.32.13:
resolution: {integrity: sha512-dEgI9nShraqP7cXQH+lEXVf73WOPCse0QlFzSD8k+1TcOxCMwVXfQlr0jtoluZysQOyJGnfr21dLvYKDJq8HkA==}
engines: {node: '>=8.9.0'}
hasBin: true
scule@1.3.0:
@ -1764,7 +1657,7 @@ snapshots:
'@ctrl/tinycolor@3.6.1': {}
'@element-plus/icons-vue@2.3.1(vue@3.5.13)':
'@element-plus/icons-vue@2.3.1(vue@3.5.13(typescript@5.2.2))':
dependencies:
vue: 3.5.13(typescript@5.2.2)
@ -1881,77 +1774,18 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1
'@parcel/watcher-android-arm64@2.5.0':
optional: true
'@parcel/watcher-darwin-arm64@2.5.0':
optional: true
'@parcel/watcher-darwin-x64@2.5.0':
optional: true
'@parcel/watcher-freebsd-x64@2.5.0':
optional: true
'@parcel/watcher-linux-arm-glibc@2.5.0':
optional: true
'@parcel/watcher-linux-arm-musl@2.5.0':
optional: true
'@parcel/watcher-linux-arm64-glibc@2.5.0':
optional: true
'@parcel/watcher-linux-arm64-musl@2.5.0':
optional: true
'@parcel/watcher-linux-x64-glibc@2.5.0':
optional: true
'@parcel/watcher-linux-x64-musl@2.5.0':
optional: true
'@parcel/watcher-win32-arm64@2.5.0':
optional: true
'@parcel/watcher-win32-ia32@2.5.0':
optional: true
'@parcel/watcher-win32-x64@2.5.0':
optional: true
'@parcel/watcher@2.5.0':
dependencies:
detect-libc: 1.0.3
is-glob: 4.0.3
micromatch: 4.0.8
node-addon-api: 7.1.1
optionalDependencies:
'@parcel/watcher-android-arm64': 2.5.0
'@parcel/watcher-darwin-arm64': 2.5.0
'@parcel/watcher-darwin-x64': 2.5.0
'@parcel/watcher-freebsd-x64': 2.5.0
'@parcel/watcher-linux-arm-glibc': 2.5.0
'@parcel/watcher-linux-arm-musl': 2.5.0
'@parcel/watcher-linux-arm64-glibc': 2.5.0
'@parcel/watcher-linux-arm64-musl': 2.5.0
'@parcel/watcher-linux-x64-glibc': 2.5.0
'@parcel/watcher-linux-x64-musl': 2.5.0
'@parcel/watcher-win32-arm64': 2.5.0
'@parcel/watcher-win32-ia32': 2.5.0
'@parcel/watcher-win32-x64': 2.5.0
optional: true
'@rollup/pluginutils@4.2.1':
dependencies:
estree-walker: 2.0.2
picomatch: 2.3.1
'@rollup/pluginutils@5.1.4':
'@rollup/pluginutils@5.1.4(rollup@3.29.5)':
dependencies:
'@types/estree': 1.0.6
estree-walker: 2.0.2
picomatch: 4.0.2
optionalDependencies:
rollup: 3.29.5
'@sxzz/popperjs-es@2.11.7': {}
@ -1975,19 +1809,19 @@ snapshots:
'@types/web-bluetooth@0.0.20': {}
'@vitejs/plugin-vue-jsx@3.1.0(vite@4.5.5)(vue@3.5.13)':
'@vitejs/plugin-vue-jsx@3.1.0(vite@4.5.5(@types/node@18.19.68)(sass@1.32.13)(terser@5.37.0))(vue@3.5.13(typescript@5.2.2))':
dependencies:
'@babel/core': 7.26.0
'@babel/plugin-transform-typescript': 7.26.3(@babel/core@7.26.0)
'@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.0)
vite: 4.5.5(@types/node@18.19.68)(sass@1.83.0)
vite: 4.5.5(@types/node@18.19.68)(sass@1.32.13)(terser@5.37.0)
vue: 3.5.13(typescript@5.2.2)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-vue@4.6.2(vite@4.5.5)(vue@3.5.13)':
'@vitejs/plugin-vue@4.6.2(vite@4.5.5(@types/node@18.19.68)(sass@1.32.13)(terser@5.37.0))(vue@3.5.13(typescript@5.2.2))':
dependencies:
vite: 4.5.5(@types/node@18.19.68)(sass@1.83.0)
vite: 4.5.5(@types/node@18.19.68)(sass@1.32.13)(terser@5.37.0)
vue: 3.5.13(typescript@5.2.2)
'@volar/language-core@1.11.1':
@ -2003,16 +1837,15 @@ snapshots:
'@volar/language-core': 1.11.1
path-browserify: 1.0.1
'@vue-office/docx@1.6.2(vue-demi@0.14.10)(vue@3.5.13)':
'@vue-office/docx@1.6.2(vue-demi@0.14.10(vue@3.5.13(typescript@5.2.2)))(vue@3.5.13(typescript@5.2.2))':
dependencies:
vue: 3.5.13(typescript@5.2.2)
vue-demi: 0.14.10(vue@3.5.13)
vue-demi: 0.14.10(vue@3.5.13(typescript@5.2.2))
'@vue/babel-helper-vue-transform-on@1.2.5': {}
'@vue/babel-plugin-jsx@1.2.5(@babel/core@7.26.0)':
dependencies:
'@babel/core': 7.26.0
'@babel/helper-module-imports': 7.25.9
'@babel/helper-plugin-utils': 7.25.9
'@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0)
@ -2023,6 +1856,8 @@ snapshots:
'@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.26.0)
html-tags: 3.3.1
svg-tags: 1.0.0
optionalDependencies:
'@babel/core': 7.26.0
transitivePeerDependencies:
- supports-color
@ -2079,8 +1914,9 @@ snapshots:
minimatch: 9.0.5
muggle-string: 0.3.1
path-browserify: 1.0.1
typescript: 5.2.2
vue-template-compiler: 2.7.16
optionalDependencies:
typescript: 5.2.2
'@vue/reactivity@3.5.13':
dependencies:
@ -2098,7 +1934,7 @@ snapshots:
'@vue/shared': 3.5.13
csstype: 3.1.3
'@vue/server-renderer@3.5.13(vue@3.5.13)':
'@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.2.2))':
dependencies:
'@vue/compiler-ssr': 3.5.13
'@vue/shared': 3.5.13
@ -2108,22 +1944,22 @@ snapshots:
'@vue/tsconfig@0.4.0': {}
'@vueuse/core@10.11.1(vue@3.5.13)':
'@vueuse/core@10.11.1(vue@3.5.13(typescript@5.2.2))':
dependencies:
'@types/web-bluetooth': 0.0.20
'@vueuse/metadata': 10.11.1
'@vueuse/shared': 10.11.1(vue@3.5.13)
vue-demi: 0.14.10(vue@3.5.13)
'@vueuse/shared': 10.11.1(vue@3.5.13(typescript@5.2.2))
vue-demi: 0.14.10(vue@3.5.13(typescript@5.2.2))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
'@vueuse/core@9.13.0(vue@3.5.13)':
'@vueuse/core@9.13.0(vue@3.5.13(typescript@5.2.2))':
dependencies:
'@types/web-bluetooth': 0.0.16
'@vueuse/metadata': 9.13.0
'@vueuse/shared': 9.13.0(vue@3.5.13)
vue-demi: 0.14.10(vue@3.5.13)
'@vueuse/shared': 9.13.0(vue@3.5.13(typescript@5.2.2))
vue-demi: 0.14.10(vue@3.5.13(typescript@5.2.2))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@ -2132,16 +1968,16 @@ snapshots:
'@vueuse/metadata@9.13.0': {}
'@vueuse/shared@10.11.1(vue@3.5.13)':
'@vueuse/shared@10.11.1(vue@3.5.13(typescript@5.2.2))':
dependencies:
vue-demi: 0.14.10(vue@3.5.13)
vue-demi: 0.14.10(vue@3.5.13(typescript@5.2.2))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
'@vueuse/shared@9.13.0(vue@3.5.13)':
'@vueuse/shared@9.13.0(vue@3.5.13(typescript@5.2.2))':
dependencies:
vue-demi: 0.14.10(vue@3.5.13)
vue-demi: 0.14.10(vue@3.5.13(typescript@5.2.2))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@ -2229,10 +2065,6 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
chokidar@4.0.1:
dependencies:
readdirp: 4.0.2
clean-css@5.3.3:
dependencies:
source-map: 0.6.1
@ -2303,9 +2135,6 @@ snapshots:
delayed-stream@1.0.0: {}
detect-libc@1.0.3:
optional: true
dijkstrajs@1.0.3: {}
dom-serializer@1.4.1:
@ -2341,15 +2170,15 @@ snapshots:
electron-to-chromium@1.5.73: {}
element-plus@2.9.1(vue@3.5.13):
element-plus@2.9.1(vue@3.5.13(typescript@5.2.2)):
dependencies:
'@ctrl/tinycolor': 3.6.1
'@element-plus/icons-vue': 2.3.1(vue@3.5.13)
'@element-plus/icons-vue': 2.3.1(vue@3.5.13(typescript@5.2.2))
'@floating-ui/dom': 1.6.12
'@popperjs/core': '@sxzz/popperjs-es@2.11.7'
'@types/lodash': 4.17.13
'@types/lodash-es': 4.17.12
'@vueuse/core': 9.13.0(vue@3.5.13)
'@vueuse/core': 9.13.0(vue@3.5.13(typescript@5.2.2))
async-validator: 4.2.5
dayjs: 1.11.13
escape-html: 1.0.3
@ -2485,8 +2314,6 @@ snapshots:
immediate@3.0.6: {}
immutable@5.0.3: {}
inherits@2.0.4: {}
is-binary-path@2.1.0:
@ -2631,9 +2458,6 @@ snapshots:
lower-case: 2.0.2
tslib: 2.8.1
node-addon-api@7.1.1:
optional: true
node-html-parser@5.4.2:
dependencies:
css-select: 4.3.0
@ -2706,18 +2530,19 @@ snapshots:
pidtree@0.6.0: {}
pinia-plugin-persist@1.0.0(pinia@2.3.0)(vue@3.5.13):
pinia-plugin-persist@1.0.0(pinia@2.3.0(typescript@5.2.2)(vue@3.5.13(typescript@5.2.2)))(vue@3.5.13(typescript@5.2.2)):
dependencies:
pinia: 2.3.0(typescript@5.2.2)(vue@3.5.13)
pinia: 2.3.0(typescript@5.2.2)(vue@3.5.13(typescript@5.2.2))
vue: 3.5.13(typescript@5.2.2)
vue-demi: 0.12.5(vue@3.5.13)
vue-demi: 0.12.5(vue@3.5.13(typescript@5.2.2))
pinia@2.3.0(typescript@5.2.2)(vue@3.5.13):
pinia@2.3.0(typescript@5.2.2)(vue@3.5.13(typescript@5.2.2)):
dependencies:
'@vue/devtools-api': 6.6.4
typescript: 5.2.2
vue: 3.5.13(typescript@5.2.2)
vue-demi: 0.14.10(vue@3.5.13)
vue-demi: 0.14.10(vue@3.5.13(typescript@5.2.2))
optionalDependencies:
typescript: 5.2.2
transitivePeerDependencies:
- '@vue/composition-api'
@ -2766,8 +2591,6 @@ snapshots:
dependencies:
picomatch: 2.3.1
readdirp@4.0.2: {}
relateurl@0.2.7: {}
require-directory@2.1.1: {}
@ -2792,13 +2615,9 @@ snapshots:
safe-buffer@5.1.2: {}
sass@1.83.0:
sass@1.32.13:
dependencies:
chokidar: 4.0.1
immutable: 5.0.3
source-map-js: 1.2.1
optionalDependencies:
'@parcel/watcher': 2.5.0
chokidar: 3.6.0
scule@1.3.0: {}
@ -2872,9 +2691,9 @@ snapshots:
undici-types@5.26.5: {}
unimport@3.14.5:
unimport@3.14.5(rollup@3.29.5):
dependencies:
'@rollup/pluginutils': 5.1.4
'@rollup/pluginutils': 5.1.4(rollup@3.29.5)
acorn: 8.14.0
escape-string-regexp: 5.0.0
estree-walker: 3.0.3
@ -2893,24 +2712,25 @@ snapshots:
universalify@2.0.1: {}
unplugin-auto-import@0.17.8(@vueuse/core@10.11.1):
unplugin-auto-import@0.17.8(@vueuse/core@10.11.1(vue@3.5.13(typescript@5.2.2)))(rollup@3.29.5):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4
'@vueuse/core': 10.11.1(vue@3.5.13)
'@rollup/pluginutils': 5.1.4(rollup@3.29.5)
fast-glob: 3.3.2
local-pkg: 0.5.1
magic-string: 0.30.17
minimatch: 9.0.5
unimport: 3.14.5
unimport: 3.14.5(rollup@3.29.5)
unplugin: 1.16.0
optionalDependencies:
'@vueuse/core': 10.11.1(vue@3.5.13(typescript@5.2.2))
transitivePeerDependencies:
- rollup
unplugin-vue-components@0.25.2(vue@3.5.13):
unplugin-vue-components@0.25.2(@babel/parser@7.26.3)(rollup@3.29.5)(vue@3.5.13(typescript@5.2.2)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4
'@rollup/pluginutils': 5.1.4(rollup@3.29.5)
chokidar: 3.6.0
debug: 4.4.0
fast-glob: 3.3.2
@ -2920,6 +2740,8 @@ snapshots:
resolve: 1.22.9
unplugin: 1.16.0
vue: 3.5.13(typescript@5.2.2)
optionalDependencies:
'@babel/parser': 7.26.3
transitivePeerDependencies:
- rollup
- supports-color
@ -2937,7 +2759,7 @@ snapshots:
util-deprecate@1.0.2: {}
vite-plugin-html@3.2.2(vite@4.5.5):
vite-plugin-html@3.2.2(vite@4.5.5(@types/node@18.19.68)(sass@1.32.13)(terser@5.37.0)):
dependencies:
'@rollup/pluginutils': 4.2.1
colorette: 2.0.20
@ -2951,37 +2773,38 @@ snapshots:
html-minifier-terser: 6.1.0
node-html-parser: 5.4.2
pathe: 0.2.0
vite: 4.5.5(@types/node@18.19.68)(sass@1.83.0)
vite: 4.5.5(@types/node@18.19.68)(sass@1.32.13)(terser@5.37.0)
vite-plugin-zip-file@2.2.0:
dependencies:
jszip: 3.10.1
vite@4.5.5(@types/node@18.19.68)(sass@1.83.0):
vite@4.5.5(@types/node@18.19.68)(sass@1.32.13)(terser@5.37.0):
dependencies:
'@types/node': 18.19.68
esbuild: 0.18.20
postcss: 8.4.49
rollup: 3.29.5
sass: 1.83.0
optionalDependencies:
'@types/node': 18.19.68
fsevents: 2.3.3
sass: 1.32.13
terser: 5.37.0
vue-demi@0.12.5(vue@3.5.13):
vue-demi@0.12.5(vue@3.5.13(typescript@5.2.2)):
dependencies:
vue: 3.5.13(typescript@5.2.2)
vue-demi@0.14.10(vue@3.5.13):
vue-demi@0.14.10(vue@3.5.13(typescript@5.2.2)):
dependencies:
vue: 3.5.13(typescript@5.2.2)
vue-qrcode@2.2.2(qrcode@1.5.4)(vue@3.5.13):
vue-qrcode@2.2.2(qrcode@1.5.4)(vue@3.5.13(typescript@5.2.2)):
dependencies:
qrcode: 1.5.4
tslib: 2.8.1
vue: 3.5.13(typescript@5.2.2)
vue-router@4.5.0(vue@3.5.13):
vue-router@4.5.0(vue@3.5.13(typescript@5.2.2)):
dependencies:
'@vue/devtools-api': 6.6.4
vue: 3.5.13(typescript@5.2.2)
@ -3003,8 +2826,9 @@ snapshots:
'@vue/compiler-dom': 3.5.13
'@vue/compiler-sfc': 3.5.13
'@vue/runtime-dom': 3.5.13
'@vue/server-renderer': 3.5.13(vue@3.5.13)
'@vue/server-renderer': 3.5.13(vue@3.5.13(typescript@5.2.2))
'@vue/shared': 3.5.13
optionalDependencies:
typescript: 5.2.2
webpack-virtual-modules@0.6.2: {}

View File

@ -1,7 +1,7 @@
<template>
<!-- 新增修改对话框 -->
<el-dialog
width="70%"
width="90%"
@close="onClose"
destroy-on-close
:title="dialogTitle"
@ -44,13 +44,7 @@
}"
@selection-change="handleSelectionChange"
>
<el-table-column
align="center"
width="55"
type="selection"
:selectable="selectable"
/>
<el-table-column align="center" label="装备信息">
<el-table-column align="center" label="装备信息" width="310">
<template #default="{ row }">
<div
style="
@ -96,18 +90,21 @@
>
</template>
</el-table-column>
<!-- <el-table-column align="center" label="维修费用">
<el-table-column align="center" label="维修费用">
<template #default="{ row }">
<el-input
inputmode="numeric"
v-model="row.repairPrice"
placeholder="请输入"
v-if="row.isEdit"
/>
</template>
</el-table-column>
<el-table-column align="center" label="维修附件">
<template #default="{ row }">
<template #default="scope">
<UploadComponentNew
v-if="scope.row.isEdit"
:currentIndex="scope.$index"
:maxSize="2"
:minLimit="0"
width="100px"
@ -129,12 +126,18 @@
</el-table-column>
<el-table-column align="center" label="报废费用">
<template #default="{ row }">
<el-input inputmode="numeric" v-model="row.scrapPrice" placeholder="请输入"
<el-input
v-if="row.isEdit"
inputmode="numeric"
v-model="row.scrapPrice"
placeholder="请输入"
/></template>
</el-table-column>
<el-table-column align="center" label="报废附件">
<template #default="{ row }">
<template #default="scope">
<UploadComponentNew
v-if="scope.row.isEdit"
:currentIndex="scope.$index"
:maxSize="2"
:minLimit="0"
width="100px"
@ -144,7 +147,7 @@
:autoUpload="true"
:actionUrl="uploadUrl"
:acceptTypeList="['.jpg', '.png']"
@onFileChange="onRepairFileChange"
@onFileChange="onScrapFileChange"
>
<template v-slot:default>
<el-button type="primary" size="small" class="primary-lease">
@ -160,12 +163,15 @@
inputmode="numeric"
v-model="row.lossPrice"
placeholder="请输入"
v-if="row.isEdit"
/>
</template>
</el-table-column>
<el-table-column align="center" label="丢失附件">
<template #default="{ row }">
<template #default="scope">
<UploadComponentNew
v-if="scope.row.isEdit"
:currentIndex="scope.$index"
:maxSize="2"
:minLimit="0"
width="100px"
@ -175,7 +181,7 @@
:autoUpload="true"
:actionUrl="uploadUrl"
:acceptTypeList="['.jpg', '.png']"
@onFileChange="onRepairFileChange"
@onFileChange="onLossFileChange"
>
<template v-slot:default>
<el-button type="primary" size="small" class="primary-lease">
@ -186,20 +192,20 @@
</template>
</el-table-column>
<el-table-column align="center" label="操作">
<template #default="scope">
<template #default="{ row }">
<el-button
type="primary"
size="small"
@click="onEditDeviceInfo(scope)"
@click="onEditDeviceInfo(row)"
class="primary-lease"
>
编辑
{{ row.isEdit ? '取消编辑' : '编辑' }}
</el-button>
</template>
</el-table-column> -->
</el-table-column>
</el-table>
<TitleTip :titleText="`维修费用`" />
<!-- <TitleTip :titleText="`维修费用`" />
<el-form
:model="item"
:key="item.newId"
@ -556,7 +562,7 @@
</el-button>
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<div style="text-align: right; margin-top: 10px">
<el-button type="primary" class="primary-lease" @click="onCancel">取消</el-button>
@ -738,6 +744,7 @@ const scrapFormRefList = ref<any>([])
const viewFileInfoList = ref<any>([])
const repairFormRefList = ref<any>([])
const selectList = ref<any>([])
const isEdit = ref(false)
const uploadUrl = import.meta.env.VITE_API_URL + '/file/upload'
const lossFormList: any = ref([])
@ -1016,19 +1023,34 @@ const getOrderDetailsData = async () => {
if (props.type === 1) {
const { data: res }: any = await getOrderDetailsByIdApi({
orderId: props.orderId,
maId: props.maId,
// maId: props.maId,
})
orderDetails.value = res
repairSelect.value = JSON.parse(JSON.stringify(res.detailsList)).filter(
(e: any) => e.orderStatus == 5,
)
lossSelect.value = JSON.parse(JSON.stringify(res.detailsList)).filter(
(e: any) => e.orderStatus == 5,
)
scrapSelect.value = JSON.parse(JSON.stringify(res.detailsList)).filter(
(e: any) => e.orderStatus == 5,
)
orderDetails.value.orderId = props.orderId
orderDetails.value.detailsList = orderDetails.value.detailsList.map((e: any) => {
return {
...e,
isEdit: false,
repairPrice: '',
scrapPrice: '',
lossPrice: '',
repairInfoList: [],
scrapInfoList: [],
lossInfoList: [],
}
})
// orderDetails.value = res
// repairSelect.value = JSON.parse(JSON.stringify(res.detailsList)).filter(
// (e: any) => e.orderStatus == 5,
// )
// lossSelect.value = JSON.parse(JSON.stringify(res.detailsList)).filter(
// (e: any) => e.orderStatus == 5,
// )
// scrapSelect.value = JSON.parse(JSON.stringify(res.detailsList)).filter(
// (e: any) => e.orderStatus == 5,
// )
// orderDetails.value.orderId = props.orderId
} else {
const { data: res }: any = await getOverhaulApi(props.orderId)
overhaulDetails.value = res
@ -1041,115 +1063,215 @@ const getOrderDetailsData = async () => {
//
const onSubmit = async (type: boolean) => {
let isRepair = false
for (let index = 0; index < repairFormList.value.length; index++) {
try {
const valid = await new Promise((resolve) => {
repairFormRefList.value[index].validate((valid: any) => {
resolve(valid)
})
})
// let isRepair = false
// for (let index = 0; index < repairFormList.value.length; index++) {
// try {
// const valid = await new Promise((resolve) => {
// repairFormRefList.value[index].validate((valid: any) => {
// resolve(valid)
// })
// })
if (!valid) {
isRepair = true
throw new Error('表单校验失败')
}
} catch (error) {}
}
if (isRepair) return
for (let index = 0; index < scrapFormList.value.length; index++) {
try {
const valid = await new Promise((resolve) => {
scrapFormRefList.value[index].validate((valid: any) => {
resolve(valid)
})
})
// if (!valid) {
// isRepair = true
// throw new Error('')
// }
// } catch (error) {}
// }
// if (isRepair) return
// for (let index = 0; index < scrapFormList.value.length; index++) {
// try {
// const valid = await new Promise((resolve) => {
// scrapFormRefList.value[index].validate((valid: any) => {
// resolve(valid)
// })
// })
if (!valid) {
isRepair = true
throw new Error('表单校验失败')
}
} catch (error) {}
}
if (isRepair) return
for (let index = 0; index < lossFormList.value.length; index++) {
try {
const valid = await new Promise((resolve) => {
lossFormRefList.value[index].validate((valid: any) => {
resolve(valid)
})
})
// if (!valid) {
// isRepair = true
// throw new Error('')
// }
// } catch (error) {}
// }
// if (isRepair) return
// for (let index = 0; index < lossFormList.value.length; index++) {
// try {
// const valid = await new Promise((resolve) => {
// lossFormRefList.value[index].validate((valid: any) => {
// resolve(valid)
// })
// })
if (!valid) {
isRepair = true
throw new Error('表单校验失败')
}
} catch (error) {}
}
if (isRepair) return
const { orderId, code } = orderDetails.value
const res: any = await setAddLeaseRepairApi({
// if (!valid) {
// isRepair = true
// throw new Error('')
// }
// } catch (error) {}
// }
// if (isRepair) return
// const { orderId, code } = orderDetails.value
// const res: any = await setAddLeaseRepairApi({
// code,
// orderId,
// maId: props.maId,
// repairRecordList: repairFormList.value,
// scrapRecordList: scrapFormList.value,
// lossRecordList: lossFormList.value,
// })
// if (res.code === 200) {
// ElMessage({
// type: 'success',
// message: '',
// })
// emits('update:addOrEditDialogVisible', false)
// emits('onChangeGetList')
// }
const { code } = orderDetails.value
// const params = {
// maId: selectList.value[0].maId,
// num: '',
// typeId: '',
// repairNum: 0,
// repairPrice: 0,
// deviceName: '',
// fileInfoList: [],
// }
// repairPrice: '',
// scrapPrice: '',
// lossPrice: '',
// repairInfoList: [],
// scrapInfoList: [],
// lossInfoList: [],
// newId,
// maId: selectList.value[0].maId,
// num: '',
// typeId: '',
// lossNum: 0,
// lossPrice: 0,
// deviceName: '',
// fileInfoList: [],
// newId,
// maId: selectList.value[0].maId,
// num: '',
// typeId: '',
// scrapNum: 0,
// scrapPrice: 0,
// deviceName: '',
// scrapReason: '',
// fileInfoList: [],
let repairRecordList = []
let scrapRecordList = []
let lossRecordList = []
orderDetails.value.detailsList.forEach((e: any) => {
console.log(e.repairPrice, '**')
if (e.repairPrice * 1 > 0) {
repairRecordList.push({
num: 1,
maId: e.maId,
typeId: e.typeId,
repairNum: 1,
repairPrice: e.repairPrice,
deviceName: e.deviceName,
fileInfoList: e.repairInfoList,
})
}
if (e.scrapPrice * 1 > 0) {
scrapRecordList.push({
num: 1,
maId: e.maId,
typeId: e.typeId,
scrapNum: 1,
scrapPrice: e.scrapPrice,
deviceName: e.deviceName,
scrapReason: '无',
fileInfoList: e.scrapInfoList,
})
}
if (e.lossPrice * 1 > 0) {
lossRecordList.push({
num: 1,
maId: e.maId,
typeId: e.typeId,
lossNum: 1,
lossPrice: e.lossPrice,
deviceName: e.deviceName,
fileInfoList: e.lossInfoList,
})
}
})
const params = {
code,
orderId,
maId: props.maId,
orderId: props.orderId,
// maId: props.maId,
repairRecordList: repairFormList.value,
scrapRecordList: scrapFormList.value,
lossRecordList: lossFormList.value,
})
if (res.code === 200) {
ElMessage({
type: 'success',
message: '提交成功',
})
emits('update:addOrEditDialogVisible', false)
emits('onChangeGetList')
}
console.log(params, '提交参数--*--')
}
// repairInfoList: [],
// scrapInfoList: [],
// lossInfoList: [],
//
const onRepairFileChange = (fileList: any, index: number) => {
repairFormList.value[index].fileInfoList = []
// repairFormList.value[index].fileInfoList = []
orderDetails.value.detailsList[index].repairInfoList = []
const fileListTemp = fileList.map((e: any) => {
return {
fileType: 0,
taskType: 19,
fileUrl: e.url,
fileName: e.name,
modelId: repairFormList.value[index].maId,
modelId: orderDetails.value.detailsList[index].modelId,
// modelId: repairFormList.value[index].maId,
}
})
repairFormRefList.value[index].clearValidate('fileInfoList')
repairFormList.value[index].fileInfoList.push(...fileListTemp)
// repairFormRefList.value[index].clearValidate('fileInfoList')
// repairFormList.value[index].fileInfoList.push(...fileListTemp)
orderDetails.value.detailsList[index].repairInfoList.push(...fileListTemp)
}
const onScrapFileChange = (fileList: any, index: number) => {
scrapFormList.value[index].fileInfoList = []
// scrapFormList.value[index].fileInfoList = []
orderDetails.value.detailsList[index].scrapInfoList = []
const fileListTemp = fileList.map((e: any) => {
return {
fileType: 1,
taskType: 19,
fileUrl: e.url,
fileName: e.name,
modelId: scrapFormList.value[index].maId,
modelId: orderDetails.value.detailsList[index].modelId,
// modelId: scrapFormList.value[index].maId,
}
})
scrapFormRefList.value[index].clearValidate('fileInfoList')
scrapFormList.value[index].fileInfoList.push(...fileListTemp)
// scrapFormRefList.value[index].clearValidate('fileInfoList')
// scrapFormList.value[index].fileInfoList.push(...fileListTemp)
orderDetails.value.detailsList[index].scrapInfoList.push(...fileListTemp)
}
const onLossFileChange = (fileList: any, index: number) => {
lossFormList.value[index].fileInfoList = []
// lossFormList.value[index].fileInfoList = []
orderDetails.value.detailsList[index].lossInfoList = []
const fileListTemp = fileList.map((e: any) => {
return {
fileType: 2,
taskType: 19,
fileUrl: e.url,
fileName: e.name,
modelId: lossFormList.value[index].maId,
// modelId: lossFormList.value[index].maId,
modelId: orderDetails.value.detailsList[index].modelId,
}
})
lossFormRefList.value[index].clearValidate('fileInfoList')
lossFormList.value[index].fileInfoList.push(...fileListTemp)
// lossFormRefList.value[index].clearValidate('fileInfoList')
// lossFormList.value[index].fileInfoList.push(...fileListTemp)
orderDetails.value.detailsList[index].lossInfoList.push(...fileListTemp)
}
//
@ -1190,7 +1312,9 @@ const handleSelectionChange = (list: any) => {
selectList.value = list
}
// const onEditDeviceInfo
const onEditDeviceInfo = (row: any) => {
row.isEdit = !row.isEdit
}
watch(
() => props.orderId,

View File

@ -68,8 +68,7 @@ export default ({ mode }: any) => {
preprocessorOptions: {
scss: {
// 两种方式都可以
additionalData: "@import '@/style/scss/index.scss';"
additionalData: "@import '@/style/scss/index.scss';",
}
}
},