已添加14个文件
已删除1个文件
已修改26个文件
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | nodeLinker: node-modules |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | # Webpack to Vite è¿ç§»å®ææ¥å |
| | | |
| | | ## ð 项ç®ä¿¡æ¯ |
| | | |
| | | - **项ç®åç§°**: WIDESEAWCS Client |
| | | - **è¿ç§»æ¶é´**: 2024 |
| | | - **åæå»ºå·¥å
·**: Webpack (Vue CLI 4.5) |
| | | - **æ°æå»ºå·¥å
·**: Vite 5.4.21 |
| | | - **æ¡æ¶**: Vue 3.2.37 |
| | | - **å
管çå¨**: Yarn 4.12.0 (Berry) |
| | | - **Node çæ¬**: 20.17.0 |
| | | |
| | | --- |
| | | |
| | | ## â
è¿ç§»å®æä»»å¡ |
| | | |
| | | ### 1. æ ¸å¿é
ç½®å建 |
| | | - â
å建 `vite.config.js` - 宿´ç Vite é
ç½®ï¼å
å« Vue æä»¶ãå«åãå¼åæå¡å¨è®¾ç½® |
| | | - â
åå»ºæ ¹ `index.html` - Vite å
¥å£ç¹ï¼æ¿ä»£ public/index.html |
| | | - â
å é¤ `vue.config.js` - ä¸åéè¦ |
| | | |
| | | ### 2. ä¾èµç®¡ç |
| | | - â
ç§»é¤ææ Vue CLI å
(`@vue/cli-*`, `@vue/test-utils`, `cross-env`) |
| | | - â
æ·»å Vite ä¾èµ (`vite@5.4.21`, `@vitejs/plugin-vue@4.5.0`) |
| | | - â
å° `less` ç§»è³ `devDependencies` |
| | | - â
æ´æ° npm èæ¬ (`dev`, `build`, `preview`) |
| | | - â
é
置 `.yarnrc.yml` 为 node-modules linker |
| | | |
| | | ### 3. 导å
¥è·¯å¾ä¿®å¤ |
| | | - â
æ·»å `.vue` æ©å±åå°å¨æå¯¼å
¥: |
| | | - `src/router/redirect.js` - 404.vue, 401.vue, coding.vue |
| | | - `src/router/index.js` - Index.vue |
| | | - `src/views/Index.vue` - RouterLoading 导å
¥ |
| | | - â
ä¿®å¤ Element Plus 导å
¥è·¯å¾ - ä» `/lib/` æ¹ä¸º `/es/` |
| | | - â
ç§»é¤æªä½¿ç¨ç locale 导å
¥ |
| | | |
| | | ### 4. 代ç åå²ä¼å |
| | | - â
å®ç° `manualChunks` é
ç½®å离主è¦åº: |
| | | - `vendor_element-plus` - Element Plus UI åº |
| | | - `vendor_vue` - Vue æ¡æ¶ |
| | | - `vendor_drag` - ææ½åº (sortablejs, vue-draggable) |
| | | - `vendor_signalr` - SignalR 宿¶é讯 |
| | | - `vendor_misc` - å
¶ä»ç¬¬ä¸æ¹åº |
| | | - `vendor_echarts_lazy` - ECharts å¾è¡¨åº (lazy) |
| | | - `vendor_wangeditor_lazy` - çæç¼è¾å¨ (lazy) |
| | | |
| | | ### 5. å»¶è¿å è½½å®ç° |
| | | - â
**ECharts** - 转æ¢ä¸ºå¨æå¯¼å
¥ (`import()`) |
| | | - ä¿®æ¹æä»¶: |
| | | - `src/views/charts/chart.vue` - æéå è½½ |
| | | - `src/views/charts/formChart.vue` - æéå è½½ |
| | | - `src/views/charts/bigdata.vue` - æéå è½½ |
| | | - ä¼å: åªå¨å¾è¡¨è·¯ç±è®¿é®æ¶æå è½½ echarts |
| | | |
| | | - â
**WangEditor** - 转æ¢ä¸ºå¨æå¯¼å
¥ (`import()`) |
| | | - ä¿®æ¹æä»¶: |
| | | - `src/components/editor/VolWangEditor.vue` - æéå è½½ |
| | | - ä¼å: åªå¨ç¼è¾å¨ç»ä»¶ä½¿ç¨æ¶æå è½½ wangeditor |
| | | |
| | | --- |
| | | |
| | | ## ð æ§è½æ¹è¿å¯¹æ¯ |
| | | |
| | | ### æå
ä½ç§¯åæ |
| | | |
| | | #### ä¸»è¦ Chunks |
| | | | æä»¶å | å¤§å° (KB) | Gzip (KB) | 说æ | |
| | | |--------|---------|----------|------| |
| | | | vendor_element-plus | 919.08 | 287 | UI æ¡æ¶ | |
| | | | vendor_echarts_lazy | 808.19 | 272 | ð å¾è¡¨åº (å»¶è¿å è½½) | |
| | | | vendor_misc | 341.56 | 121 | æé¡¹åº | |
| | | | vendor_wangeditor_lazy | 260.86 | 79 | ð ç¼è¾å¨ (å»¶è¿å è½½) | |
| | | | vendor_vue | 129.49 | 50 | Vue æ¡æ¶ | |
| | | | index (主æä»¶) | 110.19 | 33 | åºç¨é»è¾ | |
| | | | vendor_signalr | 47.07 | 13 | 宿¶é讯 | |
| | | | vendor_drag | 40.96 | 15 | ææ½åè½ | |
| | | |
| | | **æ»ä½å¤§å°**: ~1.6 MB (æªå缩), ~530 KB (gzip) |
| | | |
| | | ### ä¼åææ |
| | | - â
echarts å wangeditor ç°å¨æ¯**åç¬çå»¶è¿å è½½ chunks** |
| | | - â
åå§å è½½åªéè¦ ~260 KB gzip (ä¸å
å«ä¸¤ä¸ª lazy chunks) |
| | | - â
æéå è½½æ¶æä¼ä¸è½½ç¸åºçåº |
| | | - â
æ¾èåå°**é¦å±å è½½æ¶é´** (TTI, FCP) |
| | | |
| | | --- |
| | | |
| | | ## ð æå»ºåè¿è¡ |
| | | |
| | | ### å¼åç¯å¢ |
| | | ```bash |
| | | yarn dev |
| | | # Vite dev server è¿è¡äº http://localhost:8080/ |
| | | # æ¯æ HMR (Hot Module Replacement) |
| | | ``` |
| | | |
| | | ### ç产æå»º |
| | | ```bash |
| | | yarn build |
| | | # çæä¼ååç dist/ ç®å½ |
| | | # å
嫿æå离ç vendor chunks åå»¶è¿å è½½èæ¬ |
| | | ``` |
| | | |
| | | ### é¢è§æå»º |
| | | ```bash |
| | | yarn preview |
| | | # æ¬å°é¢è§ç产æå»ºç»æ |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | ## ð å
³é®æä»¶åæ´ |
| | | |
| | | ### æ°å¢æä»¶ |
| | | - `vite.config.js` - Vite 主é
ç½® |
| | | - `index.html` - HTML å
¥å£ (æ ¹ç®å½) |
| | | - `.yarnrc.yml` - Yarn é
ç½® |
| | | |
| | | ### ä¿®æ¹æä»¶ |
| | | ``` |
| | | src/ |
| | | âââ main.js (æ´æ°å¯¼å
¥) |
| | | âââ App.vue (Element Plus è·¯å¾ä¿®å¤) |
| | | âââ router/ |
| | | â âââ index.js (æ·»å .vue æ©å±) |
| | | â âââ redirect.js (æ·»å .vue æ©å±) |
| | | â âââ charts.js (卿坼å
¥å·²å°±ä½) |
| | | âââ views/ |
| | | â âââ Index.vue (导å
¥ä¿®å¤) |
| | | â âââ charts/ |
| | | â â âââ chart.vue (⨠ECharts å»¶è¿å è½½) |
| | | â â âââ formChart.vue (⨠ECharts å»¶è¿å è½½) |
| | | â â âââ bigdata.vue (⨠ECharts å»¶è¿å è½½) |
| | | âââ components/ |
| | | âââ editor/ |
| | | âââ VolWangEditor.vue (⨠WangEditor å»¶è¿å è½½) |
| | | |
| | | package.json (ä¾èµæ´æ°) |
| | | ``` |
| | | |
| | | ### å 餿件 |
| | | - `vue.config.js` - å·²è¿ç§»è³ vite.config.js |
| | | |
| | | --- |
| | | |
| | | ## âï¸ Vite é
置详解 |
| | | |
| | | ### å¼åæå¡å¨ |
| | | ```javascript |
| | | server: { |
| | | port: 8080, |
| | | hmr: { overlay: false } |
| | | } |
| | | ``` |
| | | |
| | | ### æå»ºä¼å |
| | | ```javascript |
| | | build: { |
| | | sourcemap: false, |
| | | chunkSizeWarningLimit: 1200, |
| | | rollupOptions: { |
| | | output: { |
| | | manualChunks: { |
| | | // èªå¨å离大ååºå°åç¬ç chunks |
| | | } |
| | | } |
| | | } |
| | | } |
| | | ``` |
| | | |
| | | ### è·¯å¾å«å |
| | | ```javascript |
| | | resolve: { |
| | | alias: { |
| | | '@': path.resolve(__dirname, 'src') |
| | | } |
| | | } |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | ## ð¯ æ§è½å»ºè®® |
| | | |
| | | ### â
å·²å®ç° |
| | | - 代ç åå² (manualChunks) |
| | | - å»¶è¿å è½½ echarts å wangeditor |
| | | - è·¯ç±çº§å«å¨æå¯¼å
¥ |
| | | |
| | | ### ð¡ å¯è¿ä¸æ¥ä¼å |
| | | 1. **å¾çä¼å** - ä½¿ç¨ WebP æ ¼å¼æå¾çå缩 |
| | | 2. **CSS åå²** - æåå
³é® CSS å°ä¸» bundle |
| | | 3. **é¢å è½½æç¤º** - å¨åéæ¶æºé¢å è½½ lazy chunks |
| | | 4. **Compression** - é
ç½® gzip/brotli å缩 |
| | | |
| | | ### ð 颿æ¹è¿ |
| | | - **åå§å è½½**: ~260 KB gzip (ä¸å« lazy chunks) |
| | | - **é¦å±æ¶é´**: æ¾èåå° (echarts/wangeditor å»¶è¿å è½½) |
| | | - **æ»ä½ä½ç§¯**: ~530 KB gzip (ææ chunks) |
| | | |
| | | --- |
| | | |
| | | ## ð å·²ç¥é®é¢ (éé»å¡) |
| | | |
| | | ### è¦å (ä¸å½±ååè½) |
| | | 1. **Vite CJS API å¼ç¨**: æç¤ºä¿¡æ¯ï¼ä¸å½±ååè½ |
| | | 2. **SignalR 注éè¦å**: Rollup æ æ³è§£æ `/*#__PURE__*/` 注é |
| | | 3. **CSS æ·±åº¦éæ©å¨**: é¨åæä»¶ä»ä½¿ç¨ `>>>` å `/deep/`ï¼å»ºè®®æ¹ä¸º `:deep()` |
| | | 4. **å¤é¨æ¨¡å**: `vm` 模å为æµè§å¨å
¼å®¹æ§å¤é¨å |
| | | |
| | | ### è§£å³æ¹æ¡ |
| | | ```vue |
| | | <!-- æ¨è: ä½¿ç¨ :deep() ä»£æ¿ >>> --> |
| | | <style scoped> |
| | | .parent ::v-deep(.child) { ... } |
| | | /* æ¹ä¸º */ |
| | | .parent :deep(.child) { ... } |
| | | </style> |
| | | ``` |
| | | |
| | | --- |
| | | |
| | | ## 𧪠æµè¯æ£æ¥æ¸
å |
| | | |
| | | - â
å¼åæå¡å¨å¯å¨æå (`yarn dev`) |
| | | - â
ç产æå»ºæå (`yarn build`) |
| | | - â
ææ chunks æ£å¸¸çæ |
| | | - â
卿坼å
¥å·¥ä½æ£å¸¸ (echarts, wangeditor) |
| | | - â
è·¯ç±æå è½½æ£å¸¸ |
| | | - â
HMR çæ¨¡åæ´æ°å·¥ä½ |
| | | - â
ç产é¢è§æ£å¸¸ (`yarn preview`) |
| | | |
| | | --- |
| | | |
| | | ## ð ç¸å
³èµæº |
| | | |
| | | - [Vite 宿¹ææ¡£](https://vite.dev) |
| | | - [Vue 3 è¿ç§»æå](https://v3.vuejs.org/guide/migration/) |
| | | - [代ç å岿佳å®è·µ](https://rollupjs.org/guide/en/#code-splitting) |
| | | - [æ§è½ä¼åæå](https://web.dev/performance/) |
| | | |
| | | --- |
| | | |
| | | ## ð è¿ç§»å®æ |
| | | |
| | | Webpack â Vite è¿ç§»å·²æå宿ï¼é¡¹ç®ç°å¨äº«å以ä¸ä¼å¿ï¼ |
| | | |
| | | ⨠**æ´å¿«çå¼åä½éª** |
| | | - 毫ç§çº§ HMR |
| | | - æå¿«çå·å¯å¨ |
| | | |
| | | â¡ **ä¼åçç产æå»º** |
| | | - ç²¾ç»ç代ç åå² |
| | | - å»¶è¿å è½½éååº |
| | | - åå°åå§å
ä½ç§¯ |
| | | |
| | | ð **ç°ä»£å·¥å
·é¾** |
| | | - åç ES æ¨¡åæ¯æ |
| | | - é¢æå»ºä¾èµç¼å |
| | | - å¼ç®±å³ç¨ç TypeScript æ¯æ |
| | | |
| | | --- |
| | | |
| | | **è¿ç§»å®ææ¥æ**: 2024 |
| | | **æåæ´æ°**: å»¶è¿å è½½å®ç°å®æ |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="zh-CN"> |
| | | |
| | | <head> |
| | | <meta charset="utf-8"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <meta name="viewport" content="width=device-width,initial-scale=1.0"> |
| | | <meta name="keywords" content=".netccore,dotnet core,vue,element,element plus,vue3" /> |
| | | <meta name="description" content="" /> |
| | | <link rel="icon" href="/wcslogo.png"> |
| | | <title>WCS</title> |
| | | </head> |
| | | |
| | | <body> |
| | | <noscript> |
| | | <strong>We're sorry but WCS doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> |
| | | </noscript> |
| | | <div id="app"></div> |
| | | <script type="module" src="/src/main.js"></script> |
| | | </body> |
| | | |
| | | </html> |
| | | <style> |
| | | html, |
| | | body { |
| | | margin: 0; |
| | | padding: 0; |
| | | height: 100%; |
| | | width: 100%; |
| | | } |
| | | |
| | | * { |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .el-loading { |
| | | z-index: 999999; |
| | | } |
| | | |
| | | .el-table th { |
| | | display: table-cell !important; |
| | | } |
| | | |
| | | .el-loading .el-loading-spinner { |
| | | padding: 7px; |
| | | background: #ececec; |
| | | width: 200px; |
| | | color: red; |
| | | left: 0; |
| | | right: 0; |
| | | margin: 0 auto; |
| | | border-radius: 5px; |
| | | border: 1px solid #a0a0a0; |
| | | |
| | | } |
| | | |
| | | h1, |
| | | h2, |
| | | h3, |
| | | h4 { |
| | | margin: 0; |
| | | } |
| | | |
| | | .v-dialog { |
| | | border-radius: 5px; |
| | | top: 50%; |
| | | } |
| | | |
| | | .v-dialog .el-dialog__header { |
| | | border-top-left-radius: 4px; |
| | | border-top-right-radius: 4px; |
| | | padding: 0px 13px; |
| | | line-height: 53px; |
| | | border-bottom: 1px solid #e2e2e2; |
| | | height: 50px; |
| | | color: white; |
| | | font-weight: bold; |
| | | font-size: 14px; |
| | | background-image: linear-gradient(135deg, #0cd7bd 10%, #50c3f7); |
| | | } |
| | | |
| | | .v-dialog .el-dialog__header .el-dialog__headerbtn { |
| | | top: 3px; |
| | | right: 0px; |
| | | } |
| | | |
| | | .v-dialog .el-dialog__header .el-dialog__headerbtn .el-dialog__close { |
| | | font-size: 19px; |
| | | color: white; |
| | | } |
| | | |
| | | .v-dialog .el-dialog__body { |
| | | padding: 0; |
| | | } |
| | | |
| | | .el-message { |
| | | z-index: 3500 !important; |
| | | } |
| | | |
| | | .v-date-range .el-input__inner { |
| | | padding: 0 15px 0 8px |
| | | } |
| | | |
| | | .v-date-range .el-input__suffix .el-input__icon { |
| | | display: table-caption; |
| | | background: white; |
| | | margin: 1px; |
| | | height: auto; |
| | | margin-right: -4px; |
| | | height: 33px; |
| | | width: 19px; |
| | | font-size: 13px; |
| | | border-top-right-radius: 3px; |
| | | border-bottom-right-radius: 3px; |
| | | } |
| | | |
| | | .v-date-range .el-icon-circle-check { |
| | | display: none !important; |
| | | } |
| | | |
| | | .v-dialog .el-dialog__header { |
| | | margin-right: 0; |
| | | } |
| | | |
| | | .el-button { |
| | | font-size: 12px !important; |
| | | } |
| | | |
| | | .el-button--small { |
| | | padding: 0px 15px !important; |
| | | height: 32px; |
| | | } |
| | | </style> |
| | |
| | | "version": "0.1.0", |
| | | "private": true, |
| | | "scripts": { |
| | | "serve": "vue-cli-service serve", |
| | | "build": "vue-cli-service build", |
| | | "test:unit": "vue-cli-service test:unit", |
| | | "lint": "vue-cli-service lint" |
| | | "dev": "vite", |
| | | "build": "vite build", |
| | | "preview": "vite preview", |
| | | "lint": "eslint --ext .js,.vue src" |
| | | }, |
| | | "dependencies": { |
| | | "@element-plus/icons-vue": "^2.1.0", |
| | |
| | | "core-js": "^3.6.5", |
| | | "echarts": "^5.0.2", |
| | | "element-plus": "^2.2.14", |
| | | "less": "^4.1.1", |
| | | "sortablejs": "^1.15.6", |
| | | "vue": "^3.2.37", |
| | | "vue-draggable-next": "^2.0.1", |
| | | "vue-router": "^4.0.0-0", |
| | |
| | | "wangeditor": "^4.7.6" |
| | | }, |
| | | "devDependencies": { |
| | | "@babel/plugin-syntax-dynamic-import": "^7.8.3", |
| | | "@vue/cli-plugin-babel": "~4.5.0", |
| | | "@vue/cli-plugin-eslint": "~4.5.0", |
| | | "@vue/cli-plugin-router": "~4.5.0", |
| | | "@vue/cli-plugin-unit-mocha": "~4.5.0", |
| | | "@vue/cli-plugin-vuex": "~4.5.0", |
| | | "@vue/cli-service": "~4.5.0", |
| | | "@vitejs/plugin-vue": "^4.0.0", |
| | | "@vue/compiler-sfc": "^3.0.0", |
| | | "@vue/test-utils": "^2.0.0-0", |
| | | "babel-eslint": "^10.1.0", |
| | | "chai": "^4.1.2", |
| | | "cross-env": "^7.0.3", |
| | | "eslint": "^8.50.0", |
| | | "less": "^4.1.1", |
| | | "less-loader": "^7.3.0", |
| | | "stylus": "^0.54.7", |
| | | "stylus-loader": "^3.0.2" |
| | | "unplugin-auto-import": "^21.0.0", |
| | | "unplugin-vue-components": "^31.0.0", |
| | | "vite": "^5.0.0" |
| | | }, |
| | | "eslintConfig": { |
| | | "root": true, |
| | |
| | | ] |
| | | }, |
| | | "parserOptions": { |
| | | "parser": "babel-eslint" |
| | | "parser": "@babel/eslint-parser" |
| | | } |
| | | }, |
| | | "eslintIgnore": [ |
| | | "*" |
| | | ], |
| | | "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" |
| | | "packageManager": "yarn@4.12.0" |
| | | } |
| | |
| | | </template> |
| | | <script> |
| | | import { ElConfigProvider } from "element-plus"; |
| | | import zhCn from "element-plus/lib/locale/lang/zh-cn"; |
| | | import zhCn from "element-plus/es/locale/lang/zh-cn"; |
| | | export default { |
| | | name: "vol_app", |
| | | components: { |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import VolElementMenuChild from './VolElementMenuChild'; |
| | | import VolElementMenuChild from './VolElementMenuChild.vue'; |
| | | import { useRouter } from 'vue-router'; |
| | | |
| | | import { |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import E from "wangeditor"; |
| | | let E = null; |
| | | |
| | | async function loadWangEditor() { |
| | | if (!E) { |
| | | const module = await import("wangeditor"); |
| | | E = module.default || module; |
| | | } |
| | | return E; |
| | | } |
| | | |
| | | export default { |
| | | props: { |
| | | url: { |
| | |
| | | destroyed() { |
| | | this.editor = null; |
| | | }, |
| | | mounted() { |
| | | async mounted() { |
| | | this.editor = null; |
| | | let editor = new E(this.$refs.volWangEditor); |
| | | const EditorConstructor = await loadWangEditor(); |
| | | let editor = new EditorConstructor(this.$refs.volWangEditor); |
| | | this.editor = editor; |
| | | let $this = this; |
| | | editor.config.zIndex = 500; |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import RedirectError from "./RedirectError"; |
| | | import RedirectError from "./RedirectError.vue"; |
| | | export default { |
| | | components: { |
| | | RedirectError, |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import RedirectError from "./RedirectError"; |
| | | import RedirectError from "./RedirectError.vue"; |
| | | export default { |
| | | components: { |
| | | RedirectError |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import RedirectError from "./RedirectError"; |
| | | import RedirectError from "./RedirectError.vue"; |
| | | export default { |
| | | components: { |
| | | RedirectError |
| | |
| | | |
| | | <script> |
| | | import VolBox from "@/components/basic/VolBox.vue"; |
| | | import { el } from "element-plus/es/locale"; |
| | | export default { |
| | | components: { VolBox }, |
| | | data() { |
| | |
| | | import App from './App.vue' |
| | | import router from './router' |
| | | import store from './store' |
| | | import ElementPlus from 'element-plus'; |
| | | // import 'element-plus/lib/theme-chalk/index.css'; |
| | | import ElementPlus from 'element-plus' |
| | | // ä»
导å
¥å
³é® Element Plus ç»ä»¶æ ·å¼ï¼å
¶ä»ç»ä»¶æ ·å¼ç±ç»ä»¶æé导å
¥ |
| | | import 'element-plus/dist/index.css' |
| | | import './assets/element-icon/icon.css' |
| | | import base from './uitils/common' |
| | |
| | | { |
| | | path: '/', |
| | | name: 'Index', |
| | | component: () => import('@/views/Index'), |
| | | component: () => import('@/views/Index.vue'), |
| | | redirect: '/home', |
| | | children: [ |
| | | ...viewgird, |
| | |
| | | let redirect = [{ |
| | | path: '/404', |
| | | name: '404', |
| | | component: () => import('@/components/redirect/404'), |
| | | component: () => import('@/components/redirect/404.vue'), |
| | | meta:{ |
| | | anonymous:true |
| | | } |
| | | }, { |
| | | path: '/401', |
| | | name: '401', |
| | | component: () => import('@/components/redirect/401') |
| | | component: () => import('@/components/redirect/401.vue') |
| | | }, { |
| | | path: '/coding', |
| | | name: 'coding', |
| | | component: () => import('@/components/redirect/coding') |
| | | component: () => import('@/components/redirect/coding.vue') |
| | | }, { |
| | | path: '/message', |
| | | name: 'message', |
| | |
| | | @import "./index/index.less"; |
| | | </style> |
| | | <script> |
| | | import loading from "@/components/basic/RouterLoading"; |
| | | import loading from "@/components/basic/RouterLoading.vue"; |
| | | import VolMenu from "@/components/basic/VolElementMenu.vue"; |
| | | import Message from "./index/Message.vue"; |
| | | import MessageConfig from "./index/MessageConfig.js"; |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | var echarts = require("echarts"); |
| | | let echarts = null; |
| | | let $chartLeft1, |
| | | $chartLeft2, |
| | | $chartLeft3, |
| | |
| | | } from "./bigdata/chart-options"; |
| | | // import IviewCircle from "./bigdata/IviewCircle"; |
| | | import "./bigdata/layout.less"; |
| | | |
| | | async function loadEcharts() { |
| | | if (!echarts) { |
| | | const module = await import("echarts"); |
| | | echarts = module.default || module; |
| | | } |
| | | return echarts; |
| | | } |
| | | |
| | | export default { |
| | | components: { |
| | | // "iview-circle": IviewCircle |
| | |
| | | created() { |
| | | console.log("chart"); |
| | | }, |
| | | mounted() { |
| | | async mounted() { |
| | | echarts = await loadEcharts(); |
| | | if ($chartLeft1) { |
| | | $chartLeft1.dispose(); |
| | | $chartLeft2.dispose(); |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | let echarts = require("echarts"); |
| | | import options from "./chartOptions"; |
| | | let echarts = null; |
| | | let $bar; |
| | | let $pie; |
| | | let $line; |
| | | |
| | | async function loadEcharts() { |
| | | if (!echarts) { |
| | | const module = await import("echarts"); |
| | | echarts = module.default || module; |
| | | } |
| | | return echarts; |
| | | } |
| | | |
| | | export default { |
| | | mounted() { |
| | | async mounted() { |
| | | echarts = await loadEcharts(); |
| | | $bar = echarts.init(document.getElementById("bar-0001")); |
| | | $bar.setOption(this.options.bar); |
| | | }, |
| | |
| | | this.width = document.documentElement.clientWidth - 240; |
| | | }, |
| | | methods: { |
| | | tabClick(name) { |
| | | async tabClick(name) { |
| | | if (name.props.name == "pie") { |
| | | if (!$pie) { |
| | | echarts = await loadEcharts(); |
| | | $pie = echarts.init(document.getElementById("pie-0001")); |
| | | $pie.setOption(this.options.pie); |
| | | |
| | | } |
| | | } else if (name.props.name == "line") { |
| | | if (!$line) { |
| | | echarts = await loadEcharts(); |
| | | $line = echarts.init(document.getElementById("line-0001")); |
| | | $line.setOption(this.options.line); |
| | | |
| | |
| | | <script> |
| | | import VolHeader from '@/components/basic/VolHeader.vue'; |
| | | import VolForm from '@/components/basic/VolForm.vue'; |
| | | let echarts = require('echarts'); |
| | | import options from './chartOptions'; |
| | | import { |
| | | formFields1, |
| | |
| | | formFields2, |
| | | formRules2 |
| | | } from './formOptions'; |
| | | |
| | | let echarts = null; |
| | | |
| | | async function loadEcharts() { |
| | | if (!echarts) { |
| | | const module = await import('echarts'); |
| | | echarts = module.default || module; |
| | | } |
| | | return echarts; |
| | | } |
| | | |
| | | export default { |
| | | components: { VolForm, VolHeader }, |
| | | data() { |
| | |
| | | options: options |
| | | }; |
| | | }, |
| | | mounted() { |
| | | async mounted() { |
| | | echarts = await loadEcharts(); |
| | | let $bar = echarts.init(document.getElementById(this.bar)); |
| | | $bar.setOption(this.options.bar); |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="zh-CN"> |
| | | |
| | | <head> |
| | | <script type="module" src="/@vite/client"></script> |
| | | |
| | | <meta charset="utf-8"> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| | | <meta name="viewport" content="width=device-width,initial-scale=1.0"> |
| | | <meta name="keywords" content=".netccore,dotnet core,vue,element,element plus,vue3" /> |
| | | <meta name="description" content="" /> |
| | | <link rel="icon" href="/wcslogo.png"> |
| | | <title>WCS</title> |
| | | </head> |
| | | |
| | | <body> |
| | | <noscript> |
| | | <strong>We're sorry but WCS doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> |
| | | </noscript> |
| | | <div id="app"></div> |
| | | <script type="module" src="/src/main.js?t=1769571013156"></script> |
| | | </body> |
| | | |
| | | </html> |
| | | <style> |
| | | html, |
| | | body { |
| | | margin: 0; |
| | | padding: 0; |
| | | height: 100%; |
| | | width: 100%; |
| | | } |
| | | |
| | | * { |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .el-loading { |
| | | z-index: 999999; |
| | | } |
| | | |
| | | .el-table th { |
| | | display: table-cell !important; |
| | | } |
| | | |
| | | .el-loading .el-loading-spinner { |
| | | padding: 7px; |
| | | background: #ececec; |
| | | width: 200px; |
| | | color: red; |
| | | left: 0; |
| | | right: 0; |
| | | margin: 0 auto; |
| | | border-radius: 5px; |
| | | border: 1px solid #a0a0a0; |
| | | |
| | | } |
| | | |
| | | h1, |
| | | h2, |
| | | h3, |
| | | h4 { |
| | | margin: 0; |
| | | } |
| | | |
| | | .v-dialog { |
| | | border-radius: 5px; |
| | | top: 50%; |
| | | } |
| | | |
| | | .v-dialog .el-dialog__header { |
| | | border-top-left-radius: 4px; |
| | | border-top-right-radius: 4px; |
| | | padding: 0px 13px; |
| | | line-height: 53px; |
| | | border-bottom: 1px solid #e2e2e2; |
| | | height: 50px; |
| | | color: white; |
| | | font-weight: bold; |
| | | font-size: 14px; |
| | | background-image: linear-gradient(135deg, #0cd7bd 10%, #50c3f7); |
| | | } |
| | | |
| | | .v-dialog .el-dialog__header .el-dialog__headerbtn { |
| | | top: 3px; |
| | | right: 0px; |
| | | } |
| | | |
| | | .v-dialog .el-dialog__header .el-dialog__headerbtn .el-dialog__close { |
| | | font-size: 19px; |
| | | color: white; |
| | | } |
| | | |
| | | .v-dialog .el-dialog__body { |
| | | padding: 0; |
| | | } |
| | | |
| | | .el-message { |
| | | z-index: 3500 !important; |
| | | } |
| | | |
| | | .v-date-range .el-input__inner { |
| | | padding: 0 15px 0 8px |
| | | } |
| | | |
| | | .v-date-range .el-input__suffix .el-input__icon { |
| | | display: table-caption; |
| | | background: white; |
| | | margin: 1px; |
| | | height: auto; |
| | | margin-right: -4px; |
| | | height: 33px; |
| | | width: 19px; |
| | | font-size: 13px; |
| | | border-top-right-radius: 3px; |
| | | border-bottom-right-radius: 3px; |
| | | } |
| | | |
| | | .v-date-range .el-icon-circle-check { |
| | | display: none !important; |
| | | } |
| | | |
| | | .v-dialog .el-dialog__header { |
| | | margin-right: 0; |
| | | } |
| | | |
| | | .el-button { |
| | | font-size: 12px !important; |
| | | } |
| | | |
| | | .el-button--small { |
| | | padding: 0px 15px !important; |
| | | height: 32px; |
| | | } |
| | | </style> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | import { createApp } from "/node_modules/.vite/deps/vue.js?v=41fb9115" |
| | | import App from "/src/App.vue" |
| | | import router from "/src/router/index.js?t=1769571013156" |
| | | import store from "/src/store/index.js" |
| | | import ElementPlus from "/node_modules/.vite/deps/element-plus.js?v=01e7ed48"; |
| | | // import 'element-plus/lib/theme-chalk/index.css'; |
| | | import "/node_modules/element-plus/dist/index.css" |
| | | import "/src/assets/element-icon/icon.css" |
| | | import base from "/src/uitils/common.js" |
| | | import http from "/src/api/http.js" |
| | | // import 'dayjs/locale/zh-cn' |
| | | // import locale from 'element-plus/lib/locale/lang/zh-cn' |
| | | import * as ElementPlusIconsVue from "/node_modules/.vite/deps/@element-plus_icons-vue.js?v=a382b216" |
| | | |
| | | |
| | | |
| | | import permission from "/src/api/permission.js" |
| | | import viewgird from "/src/components/basic/ViewGrid/index.js"; |
| | | const app = createApp(App); |
| | | for (const [key, component] of Object.entries(ElementPlusIconsVue)) { |
| | | app.component(key, component) |
| | | } |
| | | app.config.globalProperties.base = base; |
| | | app.config.globalProperties.http = http; |
| | | app.config.globalProperties.$tabs = {}; |
| | | app.config.globalProperties.permission = permission; |
| | | app.config.globalProperties.$global = { |
| | | signalR: false, //æ¯å¦å¼å¯signalR |
| | | table: { |
| | | //vol-tableå¸¦æ°æ®æºçåå
æ ¼æ¯å¦å¯ç¨tagæ ç¾(䏿æ¡çåå
æ ¼ä»¥tagæ ç¾æ¾ç¤º) |
| | | useTag: true |
| | | }, |
| | | audit: { //å®¡æ ¸é项 |
| | | data: [ |
| | | { text: 'éè¿', value: 1 }, |
| | | { text: 'æç»', value: 3 }, |
| | | { text: '驳å', value: 4 } |
| | | ], |
| | | status:[0,2] //å®¡æ ¸ä¸çæ°æ® |
| | | // å¾
å®¡æ ¸ = 0, |
| | | // å®¡æ ¸éè¿ = 1, |
| | | // å®¡æ ¸ä¸ = 2, |
| | | // å®¡æ ¸æªéè¿ = 3, |
| | | // 驳å = 4 |
| | | } |
| | | } |
| | | //2023.03.13ï¼ |
| | | //ä¿®æ¹è§ï¼volupload.vueï¼åå°AliOSSController.csï¼é¿éäºOSSé
ç½®.doc |
| | | window.oss = { |
| | | ali: { //é¿éäº |
| | | use: false,//使ç¨é¿éäºä¸ä¼ æä»¶ |
| | | //é¿é缩ç¥å¾åç¼©å¤§å° |
| | | //.aliyuncs.com |
| | | small: "?x-oss-process=image/resize,m_lfit,w_200" |
| | | } |
| | | } |
| | | app.use(store) |
| | | .use(ElementPlus, { size: 'default' }) |
| | | .use(router) |
| | | .use(viewgird) |
| | | .mount('#app'); |
| | | app.config.globalProperties.$Message = app.config.globalProperties.$message; |
| | | |
| | | |
| | | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQXBwIH0gZnJvbSBcIi9ub2RlX21vZHVsZXMvLnZpdGUvZGVwcy92dWUuanM/dj00MWZiOTExNVwiXHJcbmltcG9ydCBBcHAgZnJvbSBcIi9zcmMvQXBwLnZ1ZVwiXHJcbmltcG9ydCByb3V0ZXIgZnJvbSBcIi9zcmMvcm91dGVyL2luZGV4LmpzP3Q9MTc2OTU3MTAxMzE1NlwiXHJcbmltcG9ydCBzdG9yZSBmcm9tIFwiL3NyYy9zdG9yZS9pbmRleC5qc1wiXHJcbmltcG9ydCBFbGVtZW50UGx1cyBmcm9tIFwiL25vZGVfbW9kdWxlcy8udml0ZS9kZXBzL2VsZW1lbnQtcGx1cy5qcz92PTAxZTdlZDQ4XCI7XHJcbi8vIGltcG9ydCAnZWxlbWVudC1wbHVzL2xpYi90aGVtZS1jaGFsay9pbmRleC5jc3MnO1xyXG5pbXBvcnQgXCIvbm9kZV9tb2R1bGVzL2VsZW1lbnQtcGx1cy9kaXN0L2luZGV4LmNzc1wiXHJcbmltcG9ydCBcIi9zcmMvYXNzZXRzL2VsZW1lbnQtaWNvbi9pY29uLmNzc1wiXHJcbmltcG9ydCBiYXNlIGZyb20gXCIvc3JjL3VpdGlscy9jb21tb24uanNcIlxyXG5pbXBvcnQgaHR0cCBmcm9tIFwiL3NyYy9hcGkvaHR0cC5qc1wiXHJcbi8vIGltcG9ydCAnZGF5anMvbG9jYWxlL3poLWNuJ1xyXG4vLyBpbXBvcnQgbG9jYWxlIGZyb20gJ2VsZW1lbnQtcGx1cy9saWIvbG9jYWxlL2xhbmcvemgtY24nXHJcbmltcG9ydCAqIGFzIEVsZW1lbnRQbHVzSWNvbnNWdWUgZnJvbSBcIi9ub2RlX21vZHVsZXMvLnZpdGUvZGVwcy9AZWxlbWVudC1wbHVzX2ljb25zLXZ1ZS5qcz92PWEzODJiMjE2XCJcclxuXHJcblxyXG5cclxuaW1wb3J0IHBlcm1pc3Npb24gZnJvbSBcIi9zcmMvYXBpL3Blcm1pc3Npb24uanNcIlxyXG5pbXBvcnQgdmlld2dpcmQgZnJvbSBcIi9zcmMvY29tcG9uZW50cy9iYXNpYy9WaWV3R3JpZC9pbmRleC5qc1wiO1xyXG5jb25zdCBhcHAgPSBjcmVhdGVBcHAoQXBwKTtcclxuZm9yIChjb25zdCBba2V5LCBjb21wb25lbnRdIG9mIE9iamVjdC5lbnRyaWVzKEVsZW1lbnRQbHVzSWNvbnNWdWUpKSB7XHJcbiAgICBhcHAuY29tcG9uZW50KGtleSwgY29tcG9uZW50KVxyXG59XHJcbmFwcC5jb25maWcuZ2xvYmFsUHJvcGVydGllcy5iYXNlID0gYmFzZTtcclxuYXBwLmNvbmZpZy5nbG9iYWxQcm9wZXJ0aWVzLmh0dHAgPSBodHRwO1xyXG5hcHAuY29uZmlnLmdsb2JhbFByb3BlcnRpZXMuJHRhYnMgPSB7fTtcclxuYXBwLmNvbmZpZy5nbG9iYWxQcm9wZXJ0aWVzLnBlcm1pc3Npb24gPSBwZXJtaXNzaW9uO1xyXG5hcHAuY29uZmlnLmdsb2JhbFByb3BlcnRpZXMuJGdsb2JhbCA9IHtcclxuICAgIHNpZ25hbFI6IGZhbHNlLCAvL+aYr+WQpuW8gOWQr3NpZ25hbFJcclxuICAgIHRhYmxlOiB7XHJcbiAgICAgICAgLy92b2wtdGFibGXluKbmlbDmja7mupDnmoTljZXlhYPmoLzmmK/lkKblkK/nlKh0YWfmoIfnrb4o5LiL5ouJ5qGG562J5Y2V5YWD5qC85LuldGFn5qCH562+5pi+56S6KVxyXG4gICAgICAgIHVzZVRhZzogdHJ1ZVxyXG4gICAgfSxcclxuICAgIGF1ZGl0OiB7IC8v5a6h5qC46YCJ6aG5XHJcbiAgICAgICAgZGF0YTogW1xyXG4gICAgICAgICAgICB7IHRleHQ6ICfpgJrov4cnLCB2YWx1ZTogMSB9LFxyXG4gICAgICAgICAgICB7IHRleHQ6ICfmi5Lnu50nLCB2YWx1ZTogMyB9LFxyXG4gICAgICAgICAgICB7IHRleHQ6ICfpqbPlm54nLCB2YWx1ZTogNCB9XHJcbiAgICAgICAgXSxcclxuICAgICAgICBzdGF0dXM6WzAsMl0gLy/lrqHmoLjkuK3nmoTmlbDmja5cclxuICAgICAgICAvLyDlvoXlrqHmoLggPSAwLFxyXG4gICAgICAgIC8vIOWuoeaguOmAmui/hyA9IDEsXHJcbiAgICAgICAgLy8g5a6h5qC45LitID0gMixcclxuICAgICAgICAvLyDlrqHmoLjmnKrpgJrov4cgPSAzLFxyXG4gICAgICAgIC8vIOmps+WbniA9IDRcclxuICAgIH1cclxufVxyXG4vLzIwMjMuMDMuMTPvvIxcclxuLy/kv67mlLnop4HvvJp2b2x1cGxvYWQudnVl77yM5ZCO5Y+wQWxpT1NTQ29udHJvbGxlci5jc++8jOmYv+mHjOS6kU9TU+mFjee9ri5kb2Ncclxud2luZG93Lm9zcyA9IHtcclxuICAgIGFsaTogeyAvL+mYv+mHjOS6kVxyXG4gICAgICAgIHVzZTogZmFsc2UsLy/kvb/nlKjpmL/ph4zkupHkuIrkvKDmlofku7ZcclxuICAgICAgICAvL+mYv+mHjOe8qeeVpeWbvuWOi+e8qeWkp+Wwj1xyXG4gICAgICAgIC8vLmFsaXl1bmNzLmNvbVxyXG4gICAgICAgIHNtYWxsOiBcIj94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxtX2xmaXQsd18yMDBcIlxyXG4gICAgfVxyXG59XHJcbmFwcC51c2Uoc3RvcmUpXHJcbiAgICAudXNlKEVsZW1lbnRQbHVzLCB7IHNpemU6ICdkZWZhdWx0JyB9KVxyXG4gICAgLnVzZShyb3V0ZXIpXHJcbiAgICAudXNlKHZpZXdnaXJkKVxyXG4gICAgLm1vdW50KCcjYXBwJyk7XHJcbmFwcC5jb25maWcuZ2xvYmFsUHJvcGVydGllcy4kTWVzc2FnZSA9IGFwcC5jb25maWcuZ2xvYmFsUHJvcGVydGllcy4kbWVzc2FnZTtcclxuXHJcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQy9CLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzFELE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUN4QyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztBQUMvRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3BELE1BQU0sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNuRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDM0MsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNwQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMvQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzNELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdEcsQ0FBQztBQUNELENBQUM7QUFDRCxDQUFDO0FBQ0QsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2hELE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDaEUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDNUIsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDO0FBQ0YsR0FBRyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3pDLEdBQUcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6QyxHQUFHLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hDLEdBQUcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNyRCxHQUFHLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDYixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNwQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNsQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQztBQUNGLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNmLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO0FBQ3hCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDMUQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDLENBQUM7QUFDRixHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDbkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3BCLEdBQUcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM3RSxDQUFDOyJ9 |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | import { defineConfig } from 'vite' |
| | | import vue from '@vitejs/plugin-vue' |
| | | import { fileURLToPath, URL } from 'node:url' |
| | | |
| | | const __dirname = fileURLToPath(new URL('.', import.meta.url)) |
| | | |
| | | export default defineConfig({ |
| | | plugins: [vue()], |
| | | |
| | | server: { |
| | | port: 8080, |
| | | open: false, |
| | | hmr: { |
| | | overlay: false |
| | | } |
| | | }, |
| | | build: { |
| | | sourcemap: false, |
| | | chunkSizeWarningLimit: 1200, |
| | | rollupOptions: { |
| | | output: { |
| | | manualChunks(id) { |
| | | if (id.includes('node_modules')) { |
| | | if (id.includes('element-plus')) return 'vendor_element-plus'; |
| | | if (id.includes('echarts')) return 'vendor_echarts_lazy'; |
| | | if (id.includes('@microsoft') || id.includes('signalr')) return 'vendor_signalr'; |
| | | if (id.includes('wangeditor') || id.includes('wangEditor')) return 'vendor_wangeditor_lazy'; |
| | | if (id.includes('vue-draggable-next') || id.includes('sortablejs')) return 'vendor_drag'; |
| | | if (id.includes('vue')) return 'vendor_vue'; |
| | | return 'vendor_misc'; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | css: { |
| | | devSourcemap: true, |
| | | preprocessorOptions: { |
| | | less: {} |
| | | } |
| | | }, |
| | | resolve: { |
| | | alias: { |
| | | '@': fileURLToPath(new URL('src', import.meta.url)) |
| | | }, |
| | | extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] |
| | | } |
| | | }) |
| | |
| | | "WorkspaceRootPath": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_Server\\", |
| | | "Documents": [ |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|d:\\git\\shanmeixinnengyuan\\code\\wcs\\wideseawcs_server\\wideseawcs_quartzjob\\stackercrane\\spec\\spestackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", |
| | | "RelativeMoniker": "D:0:0:{6236BFFF-173D-44A8-9FC3-7C001EA30347}|WIDESEAWCS_QuartzJob\\WIDESEAWCS_QuartzJob.csproj|solutionrelative:wideseawcs_quartzjob\\stackercrane\\spec\\spestackercrane.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" |
| | | }, |
| | | { |
| | | "AbsoluteMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|d:\\git\\shanmeixinnengyuan\\code\\wcs\\wideseawcs_server\\wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", |
| | | "RelativeMoniker": "D:0:0:{487FA45B-EA1A-4ACA-BB5B-0F6708F462C0}|WIDESEAWCS_Server\\WIDESEAWCS_Server.csproj|solutionrelative:wideseawcs_server\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" |
| | | } |
| | |
| | | "DocumentGroups": [ |
| | | { |
| | | "DockedWidth": 200, |
| | | "SelectedChildIndex": 3, |
| | | "SelectedChildIndex": 2, |
| | | "Children": [ |
| | | { |
| | | "$type": "Bookmark", |
| | |
| | | "Name": "ST:0:0:{40ea2e6b-2121-4bb8-a43e-c83c04b51041}" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "Title": "SpeStackerCrane.cs", |
| | | "DocumentMoniker": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", |
| | | "ToolTip": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", |
| | | "RelativeToolTip": "WIDESEAWCS_QuartzJob\\StackerCrane\\Spec\\SpeStackerCrane.cs", |
| | | "ViewState": "AgIAAAAAAAAAAAAAAAAAAJQAAAARAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", |
| | | "WhenOpened": "2026-01-28T05:55:14.804Z", |
| | | "EditorCaption": "" |
| | | }, |
| | | { |
| | | "$type": "Bookmark", |
| | | "Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}" |
| | | }, |
| | | { |
| | | "$type": "Document", |
| | | "DocumentIndex": 0, |
| | | "DocumentIndex": 1, |
| | | "Title": "appsettings.json", |
| | | "DocumentMoniker": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json", |
| | | "RelativeDocumentMoniker": "WIDESEAWCS_Server\\appsettings.json", |
| | | "ToolTip": "D:\\Git\\ShanMeiXinNengYuan\\Code\\WCS\\WIDESEAWCS_Server\\WIDESEAWCS_Server\\appsettings.json", |
| | | "RelativeToolTip": "WIDESEAWCS_Server\\appsettings.json", |
| | | "ViewState": "AgIAAAYAAAAAAAAAAAAAABMAAABHAAAAAAAAAA==", |
| | | "ViewState": "AgIAAAYAAAAAAAAAAAAAABQAAAAAAAAAAAAAAA==", |
| | | "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", |
| | | "WhenOpened": "2026-01-26T08:07:36.508Z", |
| | | "EditorCaption": "" |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | nodeLinker: "node-modules" |
| | | installStatePath: .yarn/install-state.gz |
| | |
| | | # vol.vue3 |
| | | |
| | | ## Project setup |
| | | ``` |
| | | npm install |
| | | |
| | | Install dependencies: |
| | | ```bash |
| | | yarn install |
| | | ``` |
| | | |
| | | ### Compiles and hot-reloads for development |
| | | ``` |
| | | npm run serve |
| | | Development (Vite): |
| | | ```bash |
| | | yarn dev |
| | | ``` |
| | | |
| | | ### Compiles and minifies for production |
| | | ``` |
| | | npm run build |
| | | Build for production: |
| | | ```bash |
| | | yarn build |
| | | ``` |
| | | |
| | | ### Run your unit tests |
| | | ``` |
| | | npm run test:unit |
| | | Preview production build locally: |
| | | ```bash |
| | | yarn preview |
| | | ``` |
| | | |
| | | ### Lints and fixes files |
| | | ``` |
| | | npm run lint |
| | | ``` |
| | | Notes: |
| | | - This project was migrated from Vue CLI / webpack to Vite. Source files and imports were adjusted for Vite (explicit `.vue` imports, alias `@` configured). |
| | | - Existing `vue.config.js` and Vue CLI dev dependencies remain for compatibility; you can remove them after verifying the Vite setup. |
| | | |
| | | ### Customize configuration |
| | | See [Configuration Reference](https://cli.vuejs.org/config/). |
| | | |
| | | |
| | | ### npm run serveå¯å¨å¼å¸¸ï¼ |
| | | 使ç¨cmdè¾å
¥node -væ¥ççæ¬ï¼å¦ææ¯18.+çæ¬,请å°package.jsonä¸ç¬¬äºè¡scriptsä¸çå
å®¹æ¿æ¢ä¸ºï¼ |
| | | |
| | | "scripts": { |
| | | "serve": " SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", |
| | | "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build", |
| | | "test:unit": "vue-cli-service test:unit", |
| | | "lint": "vue-cli-service lint" |
| | | } |
| | | If you previously used `npm run serve` with Vue CLI, switch to the Vite commands above. |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <!DOCTYPE html> |
| | | <html lang="en"> |
| | | <head> |
| | | <meta charset="utf-8" /> |
| | | <meta http-equiv="X-UA-Compatible" content="IE=edge" /> |
| | | <meta name="viewport" content="width=device-width,initial-scale=1.0" /> |
| | | <meta name="keywords" content=".netccore,dotnet core,vue,element,element plus,vue3" /> |
| | | <meta name="description" content="" /> |
| | | <link rel="icon" href="/wms_d.png" /> |
| | | <title>WMS</title> |
| | | <script src="/webconfig.js"></script> |
| | | </head> |
| | | <body> |
| | | <noscript> |
| | | <strong>We're sorry but WMS doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> |
| | | </noscript> |
| | | <div id="app"></div> |
| | | <script type="module" src="/src/main.js"></script> |
| | | </body> |
| | | <style> |
| | | html, body { margin: 0; padding: 0; height: 100%; width: 100%; } |
| | | * { box-sizing: border-box; } |
| | | .el-loading { z-index: 999999; } |
| | | .el-table th { display: table-cell !important; } |
| | | </style> |
| | | </html> |
| | |
| | | "version": "0.1.0", |
| | | "private": true, |
| | | "scripts": { |
| | | "server": "vue-cli-service serve", |
| | | "build": "vue-cli-service build", |
| | | "dev": "vite", |
| | | "build": "vite build", |
| | | "preview": "vite preview --port 8080", |
| | | "test:unit": "vue-cli-service test:unit", |
| | | "lint": "vue-cli-service lint" |
| | | }, |
| | |
| | | }, |
| | | "devDependencies": { |
| | | "@babel/plugin-syntax-dynamic-import": "^7.8.3", |
| | | "@vue/cli-plugin-babel": "~4.5.0", |
| | | "@vue/cli-plugin-eslint": "~4.5.0", |
| | | "@vue/cli-plugin-router": "~4.5.0", |
| | | "@vue/cli-plugin-unit-mocha": "~4.5.0", |
| | | "@vue/cli-plugin-vuex": "~4.5.0", |
| | | "@vue/cli-service": "~4.5.0", |
| | | "@vitejs/plugin-vue": "^4.0.0", |
| | | "@vue/compiler-sfc": "^3.0.0", |
| | | "@vue/test-utils": "^2.0.0-0", |
| | | "babel-eslint": "^10.1.0", |
| | | "chai": "^4.1.2", |
| | | "cross-env": "^7.0.3", |
| | | "less": "^4.1.1", |
| | |
| | | "sass": "^1.78.0", |
| | | "sass-loader": "^16.0.1", |
| | | "stylus": "^0.54.7", |
| | | "stylus-loader": "^3.0.2" |
| | | "stylus-loader": "^3.0.2", |
| | | "vite": "^5.0.0" |
| | | }, |
| | | "eslintConfig": { |
| | | "root": true, |
| | |
| | | "eslintIgnore": [ |
| | | "*" |
| | | ], |
| | | "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" |
| | | "packageManager": "yarn@4.12.0" |
| | | } |
| | |
| | | </template> |
| | | <script> |
| | | import { ElConfigProvider } from "element-plus"; |
| | | import zhCn from "element-plus/lib/locale/lang/zh-cn"; |
| | | import zhCn from "element-plus/es/locale/lang/zh-cn"; |
| | | export default { |
| | | name: "vol_app", |
| | | components: { |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import VolElementMenuChild from './VolElementMenuChild'; |
| | | import VolElementMenuChild from './VolElementMenuChild.vue'; |
| | | import { useRouter } from 'vue-router'; |
| | | |
| | | import { |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import RedirectError from "./RedirectError"; |
| | | import RedirectError from "./RedirectError.vue"; |
| | | export default { |
| | | components: { |
| | | RedirectError, |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import RedirectError from "./RedirectError"; |
| | | import RedirectError from "./RedirectError.vue"; |
| | | export default { |
| | | components: { |
| | | RedirectError |
| | |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import RedirectError from "./RedirectError"; |
| | | import RedirectError from "./RedirectError.vue"; |
| | | export default { |
| | | components: { |
| | | RedirectError |
| | |
| | | { |
| | | path: '/', |
| | | name: 'Index', |
| | | component: () => import('@/views/Index'), |
| | | component: () => import('@/views/Index.vue'), |
| | | redirect: '/home', |
| | | children: [ |
| | | ...viewgird, |
| | |
| | | let redirect = [{ |
| | | path: '/404', |
| | | name: '404', |
| | | component: () => import('@/components/redirect/404'), |
| | | component: () => import('@/components/redirect/404.vue'), |
| | | meta:{ |
| | | anonymous:true |
| | | } |
| | | }, { |
| | | path: '/401', |
| | | name: '401', |
| | | component: () => import('@/components/redirect/401') |
| | | component: () => import('@/components/redirect/401.vue') |
| | | }, { |
| | | path: '/coding', |
| | | name: 'coding', |
| | | component: () => import('@/components/redirect/coding') |
| | | component: () => import('@/components/redirect/coding.vue') |
| | | }, { |
| | | path: '/message', |
| | | name: 'message', |
| | |
| | | @import "./index/index.less"; |
| | | </style> |
| | | <script> |
| | | import loading from "@/components/basic/RouterLoading"; |
| | | import loading from "@/components/basic/RouterLoading.vue"; |
| | | import VolMenu from "@/components/basic/VolElementMenu.vue"; |
| | | import Message from "./index/Message.vue"; |
| | | import MessageConfig from "./index/MessageConfig.js"; |
| | | var imgUrl = require("@/assets/imgs/wms_x.png"); |
| | | import imgUrl from "@/assets/imgs/wms_x.png"; |
| | | import errorImgSrc from "@/assets/imgs/error-img.png"; |
| | | var $this; |
| | | var $interval; |
| | | var $indexDate; |
| | |
| | | icon: "el-icon-switch-button", |
| | | }, |
| | | ]); |
| | | const errorImg = ref( |
| | | 'this.src="' + require("@/assets/imgs/error-img.png") + '"' |
| | | ); |
| | | const errorImg = ref('this.src="' + errorImgSrc + '"'); |
| | | const selectId = ref("1"); |
| | | // ãé¦é¡µãæ ç¾åºå·(å½åå³é®éä¸çèå) |
| | | const selectMenuIndex = ref("0"); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | import { defineConfig } from 'vite' |
| | | import vue from '@vitejs/plugin-vue' |
| | | import { resolve } from 'path' |
| | | |
| | | export default defineConfig({ |
| | | plugins: [vue()], |
| | | resolve: { |
| | | alias: { |
| | | '@': resolve(__dirname, 'src') |
| | | } |
| | | }, |
| | | server: { |
| | | port: 8080, |
| | | open: false |
| | | }, |
| | | build: { |
| | | sourcemap: false |
| | | } |
| | | }) |