Browse Source

Merge branch 'master' into bzkf30

bzkf30 2 years ago
parent
commit
785626d1c9

+ 2 - 0
.gitignore

@@ -26,3 +26,5 @@ dist-ssr
 *.zip
 
 _*
+components.d.ts
+auto-import.d.ts

+ 1 - 2
components.d.ts

@@ -14,9 +14,7 @@ declare module '@vue/runtime-core' {
     ElDialog: typeof import('element-plus/es')['ElDialog']
     ElForm: typeof import('element-plus/es')['ElForm']
     ElFormItem: typeof import('element-plus/es')['ElFormItem']
-    ElImage: typeof import('element-plus/es')['ElImage']
     ElInput: typeof import('element-plus/es')['ElInput']
-    ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
     ElLink: typeof import('element-plus/es')['ElLink']
     ElMenu: typeof import('element-plus/es')['ElMenu']
     ElMenuItem: typeof import('element-plus/es')['ElMenuItem']
@@ -40,6 +38,7 @@ declare module '@vue/runtime-core' {
     ImportButton: typeof import('./src/components/ImportButton/index.vue')['default']
     ItemTable: typeof import('./src/components/ItemTable/index.vue')['default']
     Loading: typeof import('element-plus/es')['ElLoadingDirective']
+    PreviewAttach: typeof import('./src/components/PreviewAttach/index.vue')['default']
     RemoteCascader: typeof import('./src/components/RemoteCascader/index.vue')['default']
     RemoteCascaderClass: typeof import('./src/components/RemoteCascaderClass/index.vue')['default']
     RemoteDictionarySelect: typeof import('./src/components/RemoteDictionarySelect/index.vue')['default']

+ 9 - 2
package.json

@@ -4,8 +4,14 @@
   "version": "0.0.0",
   "scripts": {
     "dev": "vite --host 0.0.0.0",
+    "dev:xdhq": "vite --host 0.0.0.0 --mode xdhq",
+    "dev:xdjy": "vite --host 0.0.0.0 --mode xdjy",
+    "dev:xdjx": "vite --host 0.0.0.0 --mode xdjx",
     "build": "vite build",
-    "check":"vue-tsc --noEmit",
+    "build:xdhq": "vite build --mode xdhq",
+    "build:xdjy": "vite build --mode xdjy",
+    "build:xdjx": "vite build --mode xdjx",
+    "check": "vue-tsc --noEmit",
     "preview": "vite preview",
     "plop": "plop",
     "plopf": "plop --force"
@@ -28,11 +34,12 @@
   "devDependencies": {
     "@types/lodash-es": "^4.17.6",
     "@vitejs/plugin-vue": "^2.3.4",
+    "magic-string": "^0.30.0",
     "sass": "^1.56.1",
     "typescript": "^4.9.3",
     "unplugin-auto-import": "^0.8.8",
     "unplugin-vue-components": "^0.19.9",
-    "vite": "^2.9.15",
+    "vite": "3",
     "vite-plugin-windicss": "^1.8.8",
     "vue-tsc": "0.38.2",
     "windicss": "^3.5.6"

+ 123 - 91
pnpm-lock.yaml

@@ -10,6 +10,7 @@ specifiers:
   echarts: ^5.4.0
   element-plus: ^2.2.26
   lodash-es: ^4.17.21
+  magic-string: ^0.30.0
   plop: ^3.1.1
   print-js: ^1.6.0
   sass: ^1.56.1
@@ -18,7 +19,7 @@ specifiers:
   typescript: ^4.9.3
   unplugin-auto-import: ^0.8.8
   unplugin-vue-components: ^0.19.9
-  vite: ^2.9.15
+  vite: '3'
   vite-plugin-windicss: ^1.8.8
   vue: ^3.2.45
   vue-router: ^4.1.6
@@ -42,13 +43,14 @@ dependencies:
 
 devDependencies:
   '@types/lodash-es': 4.17.6
-  '@vitejs/plugin-vue': 2.3.4_vite@2.9.15+vue@3.2.45
+  '@vitejs/plugin-vue': 2.3.4_vite@3.2.5+vue@3.2.45
+  magic-string: 0.30.0
   sass: 1.56.1
   typescript: 4.9.3
-  unplugin-auto-import: 0.8.8_xbmdkanscfjoi4rlzcxf6weili
-  unplugin-vue-components: 0.19.9_vite@2.9.15+vue@3.2.45
-  vite: 2.9.15_sass@1.56.1
-  vite-plugin-windicss: 1.8.8_vite@2.9.15
+  unplugin-auto-import: 0.8.8_7uowu7srotm3easmgtixt32uva
+  unplugin-vue-components: 0.19.9_vite@3.2.5+vue@3.2.45
+  vite: 3.2.5_sass@1.56.1
+  vite-plugin-windicss: 1.8.8_vite@3.2.5
   vue-tsc: 0.38.2_typescript@4.9.3
   windicss: 3.5.6
 
@@ -94,8 +96,17 @@ packages:
       vue: 3.2.45
     dev: false
 
-  /@esbuild/linux-loong64/0.14.54:
-    resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==}
+  /@esbuild/android-arm/0.15.18:
+    resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==}
+    engines: {node: '>=12'}
+    cpu: [arm]
+    os: [android]
+    requiresBuild: true
+    dev: true
+    optional: true
+
+  /@esbuild/linux-loong64/0.15.18:
+    resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==}
     engines: {node: '>=12'}
     cpu: [loong64]
     os: [linux]
@@ -113,6 +124,10 @@ packages:
       '@floating-ui/core': 1.0.2
     dev: false
 
+  /@jridgewell/sourcemap-codec/1.4.14:
+    resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
+    dev: true
+
   /@nodelib/fs.scandir/2.1.5:
     resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
     engines: {node: '>= 8'}
@@ -181,14 +196,14 @@ packages:
   /@types/web-bluetooth/0.0.16:
     resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
 
-  /@vitejs/plugin-vue/2.3.4_vite@2.9.15+vue@3.2.45:
+  /@vitejs/plugin-vue/2.3.4_vite@3.2.5+vue@3.2.45:
     resolution: {integrity: sha512-IfFNbtkbIm36O9KB8QodlwwYvTEsJb4Lll4c2IwB3VHc2gie2mSPtSzL0eYay7X2jd/2WX02FjSGTWR6OPr/zg==}
     engines: {node: '>=12.0.0'}
     peerDependencies:
       vite: ^2.5.10
       vue: ^3.2.25
     dependencies:
-      vite: 2.9.15_sass@1.56.1
+      vite: 3.2.5_sass@1.56.1
       vue: 3.2.45
     dev: true
 
@@ -727,8 +742,8 @@ packages:
     resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
     dev: false
 
-  /esbuild-android-64/0.14.54:
-    resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==}
+  /esbuild-android-64/0.15.18:
+    resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==}
     engines: {node: '>=12'}
     cpu: [x64]
     os: [android]
@@ -736,8 +751,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-android-arm64/0.14.54:
-    resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==}
+  /esbuild-android-arm64/0.15.18:
+    resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==}
     engines: {node: '>=12'}
     cpu: [arm64]
     os: [android]
@@ -745,8 +760,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-darwin-64/0.14.54:
-    resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==}
+  /esbuild-darwin-64/0.15.18:
+    resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==}
     engines: {node: '>=12'}
     cpu: [x64]
     os: [darwin]
@@ -754,8 +769,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-darwin-arm64/0.14.54:
-    resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==}
+  /esbuild-darwin-arm64/0.15.18:
+    resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==}
     engines: {node: '>=12'}
     cpu: [arm64]
     os: [darwin]
@@ -763,8 +778,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-freebsd-64/0.14.54:
-    resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==}
+  /esbuild-freebsd-64/0.15.18:
+    resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==}
     engines: {node: '>=12'}
     cpu: [x64]
     os: [freebsd]
@@ -772,8 +787,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-freebsd-arm64/0.14.54:
-    resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==}
+  /esbuild-freebsd-arm64/0.15.18:
+    resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==}
     engines: {node: '>=12'}
     cpu: [arm64]
     os: [freebsd]
@@ -781,8 +796,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-linux-32/0.14.54:
-    resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==}
+  /esbuild-linux-32/0.15.18:
+    resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==}
     engines: {node: '>=12'}
     cpu: [ia32]
     os: [linux]
@@ -790,8 +805,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-linux-64/0.14.54:
-    resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==}
+  /esbuild-linux-64/0.15.18:
+    resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==}
     engines: {node: '>=12'}
     cpu: [x64]
     os: [linux]
@@ -799,8 +814,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-linux-arm/0.14.54:
-    resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==}
+  /esbuild-linux-arm/0.15.18:
+    resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==}
     engines: {node: '>=12'}
     cpu: [arm]
     os: [linux]
@@ -808,8 +823,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-linux-arm64/0.14.54:
-    resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==}
+  /esbuild-linux-arm64/0.15.18:
+    resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==}
     engines: {node: '>=12'}
     cpu: [arm64]
     os: [linux]
@@ -817,8 +832,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-linux-mips64le/0.14.54:
-    resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==}
+  /esbuild-linux-mips64le/0.15.18:
+    resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==}
     engines: {node: '>=12'}
     cpu: [mips64el]
     os: [linux]
@@ -826,8 +841,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-linux-ppc64le/0.14.54:
-    resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==}
+  /esbuild-linux-ppc64le/0.15.18:
+    resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==}
     engines: {node: '>=12'}
     cpu: [ppc64]
     os: [linux]
@@ -835,8 +850,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-linux-riscv64/0.14.54:
-    resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==}
+  /esbuild-linux-riscv64/0.15.18:
+    resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==}
     engines: {node: '>=12'}
     cpu: [riscv64]
     os: [linux]
@@ -844,8 +859,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-linux-s390x/0.14.54:
-    resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==}
+  /esbuild-linux-s390x/0.15.18:
+    resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==}
     engines: {node: '>=12'}
     cpu: [s390x]
     os: [linux]
@@ -853,8 +868,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-netbsd-64/0.14.54:
-    resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==}
+  /esbuild-netbsd-64/0.15.18:
+    resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==}
     engines: {node: '>=12'}
     cpu: [x64]
     os: [netbsd]
@@ -862,8 +877,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-openbsd-64/0.14.54:
-    resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==}
+  /esbuild-openbsd-64/0.15.18:
+    resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==}
     engines: {node: '>=12'}
     cpu: [x64]
     os: [openbsd]
@@ -871,8 +886,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-sunos-64/0.14.54:
-    resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==}
+  /esbuild-sunos-64/0.15.18:
+    resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==}
     engines: {node: '>=12'}
     cpu: [x64]
     os: [sunos]
@@ -880,8 +895,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-windows-32/0.14.54:
-    resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==}
+  /esbuild-windows-32/0.15.18:
+    resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==}
     engines: {node: '>=12'}
     cpu: [ia32]
     os: [win32]
@@ -889,8 +904,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-windows-64/0.14.54:
-    resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==}
+  /esbuild-windows-64/0.15.18:
+    resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==}
     engines: {node: '>=12'}
     cpu: [x64]
     os: [win32]
@@ -898,8 +913,8 @@ packages:
     dev: true
     optional: true
 
-  /esbuild-windows-arm64/0.14.54:
-    resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==}
+  /esbuild-windows-arm64/0.15.18:
+    resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==}
     engines: {node: '>=12'}
     cpu: [arm64]
     os: [win32]
@@ -907,33 +922,34 @@ packages:
     dev: true
     optional: true
 
-  /esbuild/0.14.54:
-    resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==}
+  /esbuild/0.15.18:
+    resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==}
     engines: {node: '>=12'}
     hasBin: true
     requiresBuild: true
     optionalDependencies:
-      '@esbuild/linux-loong64': 0.14.54
-      esbuild-android-64: 0.14.54
-      esbuild-android-arm64: 0.14.54
-      esbuild-darwin-64: 0.14.54
-      esbuild-darwin-arm64: 0.14.54
-      esbuild-freebsd-64: 0.14.54
-      esbuild-freebsd-arm64: 0.14.54
-      esbuild-linux-32: 0.14.54
-      esbuild-linux-64: 0.14.54
-      esbuild-linux-arm: 0.14.54
-      esbuild-linux-arm64: 0.14.54
-      esbuild-linux-mips64le: 0.14.54
-      esbuild-linux-ppc64le: 0.14.54
-      esbuild-linux-riscv64: 0.14.54
-      esbuild-linux-s390x: 0.14.54
-      esbuild-netbsd-64: 0.14.54
-      esbuild-openbsd-64: 0.14.54
-      esbuild-sunos-64: 0.14.54
-      esbuild-windows-32: 0.14.54
-      esbuild-windows-64: 0.14.54
-      esbuild-windows-arm64: 0.14.54
+      '@esbuild/android-arm': 0.15.18
+      '@esbuild/linux-loong64': 0.15.18
+      esbuild-android-64: 0.15.18
+      esbuild-android-arm64: 0.15.18
+      esbuild-darwin-64: 0.15.18
+      esbuild-darwin-arm64: 0.15.18
+      esbuild-freebsd-64: 0.15.18
+      esbuild-freebsd-arm64: 0.15.18
+      esbuild-linux-32: 0.15.18
+      esbuild-linux-64: 0.15.18
+      esbuild-linux-arm: 0.15.18
+      esbuild-linux-arm64: 0.15.18
+      esbuild-linux-mips64le: 0.15.18
+      esbuild-linux-ppc64le: 0.15.18
+      esbuild-linux-riscv64: 0.15.18
+      esbuild-linux-s390x: 0.15.18
+      esbuild-netbsd-64: 0.15.18
+      esbuild-openbsd-64: 0.15.18
+      esbuild-sunos-64: 0.15.18
+      esbuild-windows-32: 0.15.18
+      esbuild-windows-64: 0.15.18
+      esbuild-windows-arm64: 0.15.18
     dev: true
 
   /escape-html/1.0.3:
@@ -1443,6 +1459,13 @@ packages:
       sourcemap-codec: 1.4.8
     dev: true
 
+  /magic-string/0.30.0:
+    resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==}
+    engines: {node: '>=12'}
+    dependencies:
+      '@jridgewell/sourcemap-codec': 1.4.14
+    dev: true
+
   /make-iterator/1.0.1:
     resolution: {integrity: sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==}
     engines: {node: '>=0.10.0'}
@@ -1839,8 +1862,8 @@ packages:
       glob: 7.2.3
     dev: false
 
-  /rollup/2.77.3:
-    resolution: {integrity: sha512-/qxNTG7FbmefJWoeeYJFbHehJ2HNWnjkAFRKzWN/45eNBBF/r8lo992CwcJXEzyVxs5FmfId+vTSTQDb+bxA+g==}
+  /rollup/2.79.1:
+    resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==}
     engines: {node: '>=10.0.0'}
     hasBin: true
     optionalDependencies:
@@ -2050,7 +2073,7 @@ packages:
     engines: {node: '>=0.10.0'}
     dev: false
 
-  /unimport/0.2.10_vite@2.9.15:
+  /unimport/0.2.10_vite@3.2.5:
     resolution: {integrity: sha512-HoQ0ZDzHJboRYJ4/YxtMAATxiya/s5C2UE6jLFNj1e0D6Qfq6Pw2P40L+ALCkjLwLhR8l2VROE7kba/AaFtdQg==}
     dependencies:
       '@rollup/pluginutils': 4.2.1
@@ -2062,7 +2085,7 @@ packages:
       pathe: 0.3.9
       scule: 0.2.1
       strip-literal: 0.4.2
-      unplugin: 0.7.2_vite@2.9.15
+      unplugin: 0.7.2_vite@3.2.5
     transitivePeerDependencies:
       - esbuild
       - rollup
@@ -2070,7 +2093,7 @@ packages:
       - webpack
     dev: true
 
-  /unplugin-auto-import/0.8.8_xbmdkanscfjoi4rlzcxf6weili:
+  /unplugin-auto-import/0.8.8_7uowu7srotm3easmgtixt32uva:
     resolution: {integrity: sha512-cVZ79zMR1v4VCZ9emFTUnltmazCc2B4hObyVrxJdlgJ2sK8qub6JfjFt38rCF6MVEddkHiWCU6wZR1qbdqe+ig==}
     engines: {node: '>=14'}
     peerDependencies:
@@ -2084,8 +2107,8 @@ packages:
       '@vueuse/core': 9.6.0_vue@3.2.45
       local-pkg: 0.4.2
       magic-string: 0.26.7
-      unimport: 0.2.10_vite@2.9.15
-      unplugin: 0.7.2_vite@2.9.15
+      unimport: 0.2.10_vite@3.2.5
+      unplugin: 0.7.2_vite@3.2.5
     transitivePeerDependencies:
       - esbuild
       - rollup
@@ -2093,7 +2116,7 @@ packages:
       - webpack
     dev: true
 
-  /unplugin-vue-components/0.19.9_vite@2.9.15+vue@3.2.45:
+  /unplugin-vue-components/0.19.9_vite@3.2.5+vue@3.2.45:
     resolution: {integrity: sha512-i5mZtg85euPWZrGswFkoa9pf4WjKCP5qOjnwOyg3KOKVzFjnP3osCdrunQMjtoMKehTdz1vV6baZH8bZR4PNgg==}
     engines: {node: '>=14'}
     peerDependencies:
@@ -2115,7 +2138,7 @@ packages:
       magic-string: 0.26.7
       minimatch: 5.1.1
       resolve: 1.22.1
-      unplugin: 0.7.2_vite@2.9.15
+      unplugin: 0.7.2_vite@3.2.5
       vue: 3.2.45
     transitivePeerDependencies:
       - esbuild
@@ -2125,7 +2148,7 @@ packages:
       - webpack
     dev: true
 
-  /unplugin/0.7.2_vite@2.9.15:
+  /unplugin/0.7.2_vite@3.2.5:
     resolution: {integrity: sha512-m7thX4jP8l5sETpLdUASoDOGOcHaOVtgNyrYlToyQUvILUtEzEnngRBrHnAX3IKqooJVmXpoa/CwQ/QqzvGaHQ==}
     peerDependencies:
       esbuild: '>=0.13'
@@ -2144,7 +2167,7 @@ packages:
     dependencies:
       acorn: 8.8.1
       chokidar: 3.5.3
-      vite: 2.9.15_sass@1.56.1
+      vite: 3.2.5_sass@1.56.1
       webpack-sources: 3.2.3
       webpack-virtual-modules: 0.4.6
     dev: true
@@ -2170,7 +2193,7 @@ packages:
     engines: {node: '>= 10.13.0'}
     dev: false
 
-  /vite-plugin-windicss/1.8.8_vite@2.9.15:
+  /vite-plugin-windicss/1.8.8_vite@3.2.5:
     resolution: {integrity: sha512-iyu+ZX0NmhNEUaLPv7xtC+EFRBpWMmw0nhd9a9upayfuNG/thwslKiQKmRB7U/dG0k/2oWLvPDvN/B9i7oRgSA==}
     peerDependencies:
       vite: ^2.0.1 || ^3.0.0
@@ -2178,32 +2201,41 @@ packages:
       '@windicss/plugin-utils': 1.8.8
       debug: 4.3.4
       kolorist: 1.6.0
-      vite: 2.9.15_sass@1.56.1
+      vite: 3.2.5_sass@1.56.1
       windicss: 3.5.6
     transitivePeerDependencies:
       - supports-color
     dev: true
 
-  /vite/2.9.15_sass@1.56.1:
-    resolution: {integrity: sha512-fzMt2jK4vQ3yK56te3Kqpkaeq9DkcZfBbzHwYpobasvgYmP2SoAr6Aic05CsB4CzCZbsDv4sujX3pkEGhLabVQ==}
-    engines: {node: '>=12.2.0'}
+  /vite/3.2.5_sass@1.56.1:
+    resolution: {integrity: sha512-4mVEpXpSOgrssFZAOmGIr85wPHKvaDAcXqxVxVRZhljkJOMZi1ibLibzjLHzJvcok8BMguLc7g1W6W/GqZbLdQ==}
+    engines: {node: ^14.18.0 || >=16.0.0}
     hasBin: true
     peerDependencies:
+      '@types/node': '>= 14'
       less: '*'
       sass: '*'
       stylus: '*'
+      sugarss: '*'
+      terser: ^5.4.0
     peerDependenciesMeta:
+      '@types/node':
+        optional: true
       less:
         optional: true
       sass:
         optional: true
       stylus:
         optional: true
+      sugarss:
+        optional: true
+      terser:
+        optional: true
     dependencies:
-      esbuild: 0.14.54
+      esbuild: 0.15.18
       postcss: 8.4.19
       resolve: 1.22.1
-      rollup: 2.77.3
+      rollup: 2.79.1
       sass: 1.56.1
     optionalDependencies:
       fsevents: 2.3.2

+ 1 - 1
src/components/FileLink/index.vue

@@ -11,7 +11,7 @@ const props = defineProps<{
 const files = ref(props.file.split(";").map(str => {
     const [part, name] = str.split("|")
     return {
-        url: window.GLOBAL_CONFIG.oss + part,
+        url: window.GLOBAL_CONFIG.oss + '/' + part,
         name: name ?? part
     }
 }))

+ 8 - 8
src/components/ImportButton/index.vue

@@ -17,7 +17,7 @@ const handleTableRowBtns_import = ({ file }: { file: File }) => {
     url: props.importKey ? `${props.url}/import?${props.importKey}` : `${props.url}/import`,
     data: { file },
     onUploadProgress(progressEvent: { loaded: number, total: number }) {
-      percentage.value = ~~(progressEvent.loaded / progressEvent.total * 100 | 0)
+      percentage.value = ~~((progressEvent.loaded / progressEvent.total * 100 - 1) | 0)
     },
   } as AxiosRequestConfig).then((res: any) => {
     loading.value = false
@@ -26,18 +26,18 @@ const handleTableRowBtns_import = ({ file }: { file: File }) => {
   })
 }
 const handleTableRowBtns_export = () => {
-  if(props.exportKey){
+  if (props.exportKey) {
     let name = props.exportKey.split('=')[0];
     let id = props.exportKey.split('=')[1];
-    let data:any = {};
-    data[name]=id;
+    let data: any = {};
+    data[name] = id;
     data.limit = 1;
-    if(id=='837'){
+    if (id == '837') {
       download(`/template/xls/报修类别导入模版.xls`, data);
     }
-    
-  }else{
-    download(`${props.url}/index`, { limit: 1});
+
+  } else {
+    download(`${props.url}/index`, { limit: 1 });
   }
 }
 </script>

+ 21 - 16
src/pages/xdjx/jxjhgl/bkzjh/detail.vue

@@ -20,6 +20,7 @@ type TYPE_TABLE_FIELD = {
   'xjb_cjr': string; // 创建人
   'xjb_cjrq': string; // 创建日期
   'xjb_jhnr': string; // 计划内容
+  'xjb_fj'?: string
 }
 // #endregion
 
@@ -68,33 +69,38 @@ init()
           <div>{{ detail_Data.team_name }}</div>
         </div>
         <!-- <div class="flex">
-          <div>适用学期编号</div>
-          <div>{{detail_Data.team_id}}</div>
-        </div> -->
+            <div>适用学期编号</div>
+            <div>{{detail_Data.team_id}}</div>
+          </div> -->
         <div class="flex mr-30">
           <div>适用年级名称:</div>
           <div>{{ detail_Data.grade_name }}</div>
         </div>
         <!-- <div class="flex">
-          <div>适用年级编号</div>
-          <div>{{detail_Data.grade_id}}</div>
-        </div> -->
+            <div>适用年级编号</div>
+            <div>{{detail_Data.grade_id}}</div>
+          </div> -->
         <!-- <div class="flex">
-          <div>适用学科编号</div>
-          <div>{{detail_Data.subject_id}}</div>
-        </div> -->
+            <div>适用学科编号</div>
+            <div>{{detail_Data.subject_id}}</div>
+          </div> -->
         <div class="flex mr-30">
           <div>适用学科名称:</div>
           <div>{{ detail_Data.subject_name }}</div>
         </div>
         <!-- <div class="flex">
-          <div>创建人</div>
-          <div>{{detail_Data.xjb_cjr}}</div>
-        </div> -->
+            <div>创建人</div>
+            <div>{{detail_Data.xjb_cjr}}</div>
+          </div> -->
         <!-- <div class="flex">
-          <div>创建日期</div>
-          <div>{{detail_Data.xjb_cjrq}}</div>
-        </div> -->
+            <div>创建日期</div>
+            <div>{{detail_Data.xjb_cjrq}}</div>
+          </div> -->
+      </div>
+
+      <div class="flex mr-30">
+        <div>附件:</div>
+        <file-link :file="detail_Data.xjb_fj"></file-link>
       </div>
 
       <div class="flex flex-auto bg-gray-100 text-gray-600 p-4 text-sm">
@@ -103,5 +109,4 @@ init()
       </div>
     </template>
   </div>
-
 </template>

+ 21 - 17
src/pages/xdjx/jxjhgl/jsjxjh/detail.vue

@@ -20,6 +20,7 @@ type TYPE_TABLE_FIELD = {
   'xjj_jhnr': string; // 计划内容
   'xjj_jhmc': string; // 计划名称
   'team_name': string; // 适用学期名称
+  'xjj_fj'?: string
 }
 // #endregion
 
@@ -88,7 +89,7 @@ init()
       <div class="flex">
         <div>适用学期名称</div><div>{{detail_Data.team_name}}</div>
       </div>
-    </template>      
+    </template>
   </div>
 
 </template> -->
@@ -106,33 +107,37 @@ init()
           <div>{{ detail_Data.team_name }}</div>
         </div>
         <!-- <div class="flex">
-          <div>适用学期编号</div>
-          <div>{{detail_Data.team_id}}</div>
-        </div> -->
+            <div>适用学期编号</div>
+            <div>{{detail_Data.team_id}}</div>
+          </div> -->
         <div class="flex mr-30">
           <div>适用年级名称:</div>
           <div>{{ detail_Data.grade_name }}</div>
         </div>
         <!-- <div class="flex">
-          <div>适用年级编号</div>
-          <div>{{detail_Data.grade_id}}</div>
-        </div> -->
+            <div>适用年级编号</div>
+            <div>{{detail_Data.grade_id}}</div>
+          </div> -->
         <!-- <div class="flex">
-          <div>适用学科编号</div>
-          <div>{{detail_Data.subject_id}}</div>
-        </div> -->
+            <div>适用学科编号</div>
+            <div>{{detail_Data.subject_id}}</div>
+          </div> -->
         <div class="flex mr-30">
           <div>适用学科名称:</div>
           <div>{{ detail_Data.subject_name }}</div>
         </div>
         <!-- <div class="flex">
-          <div>创建人</div>
-          <div>{{detail_Data.xjj_cjr}}</div>
-        </div> -->
+            <div>创建人</div>
+            <div>{{detail_Data.xjj_cjr}}</div>
+          </div> -->
         <!-- <div class="flex">
-          <div>创建日期</div>
-          <div>{{detail_Data.xjj_cjrq}}</div>
-        </div> -->
+            <div>创建日期</div>
+            <div>{{detail_Data.xjj_cjrq}}</div>
+          </div> -->
+      </div>
+      <div class="flex mr-30">
+        <div>附件:</div>
+        <file-link :file="detail_Data.xjj_fj"></file-link>
       </div>
 
       <div class="flex flex-auto bg-gray-100 text-gray-600 p-4 text-sm">
@@ -141,5 +146,4 @@ init()
       </div>
     </template>
   </div>
-
 </template>

+ 6 - 2
src/router/index.ts

@@ -1,10 +1,14 @@
 import { createRouter, createWebHashHistory, RouteRecordRaw } from 'vue-router';
 import { RouteRecordDetailRaw } from './routes.d';
-import { app_ready,app_routes } from '~/store/app';
+import { app_ready, app_routes } from '~/store/app';
 
 // import localRoutes from './routes/xdjx';
 // import localRoutes from './routes/xdjy';
-import localRoutes from './routes/xdhq';
+// import localRoutes from './routes/xdhq';
+
+const localRoutes = (await import(`./routes/${import.meta.env.MODE}.ts`))['default'] as RouteRecordDetailRaw[]
+console.log('localRoutes :>> ', localRoutes);
+
 
 const router = createRouter({
   history: createWebHashHistory(),

+ 1 - 0
tsconfig.node.json

@@ -7,5 +7,6 @@
   },
   "include": [
     "vite.config.ts",
+    "plugins/*.ts"
   ]
 }

+ 24 - 6
vite.config.ts

@@ -7,12 +7,12 @@ import Components from 'unplugin-vue-components/vite'
 import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
 
 // https://vitejs.dev/config/
-export default defineConfig(({ command }) => {
+export default defineConfig(({ command, mode }) => {
 
   const config: UserConfigExport = {
-    // base:'/app/xdjx/',
+    base:'/app/xdjx/',
     // base: '/app/xdjy/',
-    base: '/app/xdhq/',
+    // base: '/app/xdhq/',
     resolve: {
       alias: {
         '~': `${path.resolve(__dirname, 'src')}`,
@@ -51,16 +51,34 @@ export default defineConfig(({ command }) => {
         }
       }
     },
+    server: {
+      port: 3000
+    }
 
   }
 
   if (command === 'serve') {
-    config.base = "/"
-  } else {
-
+    config.base = '/'
+  }
+  if (command === 'build') {
+    switch (mode) {
+      case 'xdhq':
+        config.base = '/app/xdhq/'
+        break;
+      case 'xdjy':
+        config.base = '/app/xdjy/'
+        break;
+      case 'xdjx':
+        config.base = '/app/xdjx/'
+        break;
+      default:
+        config.base = '/'
+    }
   }
 
 
+
+
   return config
 }