From cb09d8183eb4d8400926bf3d3ec2f5428313bb85 Mon Sep 17 00:00:00 2001 From: Zhao Zhao Shen Date: Mon, 24 Feb 2025 15:57:21 +0800 Subject: [PATCH] init:first commit --- .eslintrc.js | 27 + Dockerfile | 4 + cola-web.tar | 0 deploy.sh | 17 + docker-compose.yml | 5 + package-lock.json | 422 ++++++++- package.json | 13 +- src/App.vue | 19 +- src/api/dashboard.js | 22 + src/api/inspection.js | 0 src/assets/apps.svg | 22 + src/components/GradientProgressBar.vue | 126 +++ src/components/HelloWorld.vue | 8 +- src/components/MessageBar.vue | 55 ++ src/components/ProcessGanttChart.vue | 424 +++++++++ src/components/ProcessStatusBar.vue | 116 +++ src/main.js | 32 +- src/plugins/message.js | 35 + src/router/index.js | 34 + src/store/index.js | 5 + src/store/modules/user.js | 48 + src/utils/request.js | 33 + src/views/Dashboard/ApplicationComponent.vue | 13 + src/views/Dashboard/index.vue | 867 ++++++++++++++++++ src/views/Inspection/InspectionForm.vue | 130 +++ src/views/Inspection/index.vue | 465 ++++++++++ .../layout/components/headerComponent.vue | 9 + src/views/layout/components/index.js | 3 + src/views/layout/components/mainComponent.vue | 11 + .../layout/components/siderComponent.vue | 10 + src/views/layout/vueLayout.vue | 203 ++++ vue.config.js | 18 +- 32 files changed, 3134 insertions(+), 62 deletions(-) create mode 100644 .eslintrc.js create mode 100644 Dockerfile create mode 100644 cola-web.tar create mode 100644 deploy.sh create mode 100644 docker-compose.yml create mode 100644 src/api/dashboard.js create mode 100644 src/api/inspection.js create mode 100644 src/assets/apps.svg create mode 100644 src/components/GradientProgressBar.vue create mode 100644 src/components/MessageBar.vue create mode 100644 src/components/ProcessGanttChart.vue create mode 100644 src/components/ProcessStatusBar.vue create mode 100644 src/plugins/message.js create mode 100644 src/router/index.js create mode 100644 src/store/index.js create mode 100644 src/store/modules/user.js create mode 100644 src/utils/request.js create mode 100644 src/views/Dashboard/ApplicationComponent.vue create mode 100644 src/views/Dashboard/index.vue create mode 100644 src/views/Inspection/InspectionForm.vue create mode 100644 src/views/Inspection/index.vue create mode 100644 src/views/layout/components/headerComponent.vue create mode 100644 src/views/layout/components/index.js create mode 100644 src/views/layout/components/mainComponent.vue create mode 100644 src/views/layout/components/siderComponent.vue create mode 100644 src/views/layout/vueLayout.vue diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..80d8c8b --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,27 @@ +module.exports = { + root: true, + env: { + node: true, + 'vue/setup-compiler-macros': true + }, + extends: [ + 'plugin:vue/vue3-essential', + '@vue/standard' + ], + parserOptions: { + ecmaVersion: 2020, + parser: '@babel/eslint-parser', + requireConfigFile: false + }, + rules: { + 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off', + 'vue/multi-word-component-names': 'off' + }, + globals: { + defineProps: 'readonly', + defineEmits: 'readonly', + defineExpose: 'readonly', + withDefaults: 'readonly' + } +} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..841191d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,4 @@ +FROM nginx:alpine +COPY dist/ /usr/share/nginx/html/ +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/cola-web.tar b/cola-web.tar new file mode 100644 index 0000000..e69de29 diff --git a/deploy.sh b/deploy.sh new file mode 100644 index 0000000..70d16cf --- /dev/null +++ b/deploy.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +# 执行 npm run build +npm run build + +# 创建新目录 +mkdir deployment_package + +# 复制 dist 文件夹和 nginx.conf 到新目录 +cp -r dist deployment_package/ +cp nginx.conf deployment_package/ + +# 切换到包含新目录、Dockerfile 的上级目录 +cd.. + +# 打包 +tar -czf deployment_package.tar.gz deployment_package/ Dockerfile \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..1442aff --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,5 @@ +services: + vue-app: + build: . + ports: + - "8090:80" diff --git a/package-lock.json b/package-lock.json index f297ce3..a76a8e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,8 +8,15 @@ "name": "ix-siemens", "version": "0.1.0", "dependencies": { + "@siemens/ix": "^2.5.0", + "@siemens/ix-icons": "^2.2.0", + "@siemens/ix-vue": "^2.5.0", + "axios": "^1.7.9", "core-js": "^3.8.3", - "vue": "^3.2.13" + "echarts": "^5.6.0", + "pinia": "^2.2.2", + "vue": "^3.2.13", + "vue-router": "^4.4.5" }, "devDependencies": { "@babel/core": "^7.12.16", @@ -1868,6 +1875,28 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@floating-ui/core": { + "version": "1.6.8", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.6.8.tgz", + "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==", + "dependencies": { + "@floating-ui/utils": "^0.2.8" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.11", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.6.11.tgz", + "integrity": "sha512-qkMCxSR24v2vGkhYDo/UzxfJN3D4syqSjyuTFz6C7XcpU1pASPRieNI0Kj5VP3/503mOfYiGY891ugBX1GlABQ==", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.8" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.8", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.8.tgz", + "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==" + }, "node_modules/@hapi/hoek": { "version": "9.3.0", "resolved": "https://registry.npmmirror.com/@hapi/hoek/-/hoek-9.3.0.tgz", @@ -2030,6 +2059,16 @@ "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", "dev": true }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmmirror.com/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, "node_modules/@sideway/address": { "version": "4.1.5", "resolved": "https://registry.npmmirror.com/@sideway/address/-/address-4.1.5.tgz", @@ -2051,6 +2090,48 @@ "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", "dev": true }, + "node_modules/@siemens/ix": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@siemens/ix/-/ix-2.5.0.tgz", + "integrity": "sha512-ms3B6rKJEN/VAEn55qoMcc91eK+7v0VRZs3eQGkxLt4nKUKVrhfBMz55Npx7KHug5cA+VIHdSEha5SdH8utd0w==", + "dependencies": { + "@floating-ui/dom": "^1.6.10", + "@stencil/core": "~4.17.0", + "@types/luxon": "^3.3.7", + "animejs": "~3.2.1", + "hyperlist": "^1.0.0", + "luxon": "^3.4.4" + }, + "peerDependencies": { + "@popperjs/core": "^2.11.0", + "@siemens/ix-icons": "^2.0.0", + "bootstrap": "~5.2.0" + } + }, + "node_modules/@siemens/ix-icons": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/@siemens/ix-icons/-/ix-icons-2.2.0.tgz", + "integrity": "sha512-GwIWARbWqDpT9xlvMboKm74B3K+WvbqeslgQSremaqBNmVn3ppbuwydXi1CLt5xTF49zFXZ4jc837wuUp/eI+w==", + "dependencies": { + "@stencil/core": "^4.12.6" + }, + "engines": { + "node": ">=18.x.x", + "pnpm": ">=9.x.x" + } + }, + "node_modules/@siemens/ix-vue": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@siemens/ix-vue/-/ix-vue-2.5.0.tgz", + "integrity": "sha512-pApnMwHlIo+mATu5cFjE5V9Wb/mpRLvIjCyvZQAqvR6wDugSSatwKXfZK4jBmoyXJha0n8hPrd+1qiKRhBb8/g==", + "dependencies": { + "@siemens/ix": "~2.5.0" + }, + "peerDependencies": { + "@siemens/ix-icons": "^2.0.0", + "vue": ">=3.2.45" + } + }, "node_modules/@soda/friendly-errors-webpack-plugin": { "version": "1.8.1", "resolved": "https://registry.npmmirror.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", @@ -2142,6 +2223,18 @@ "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", "dev": true }, + "node_modules/@stencil/core": { + "version": "4.17.2", + "resolved": "https://registry.npmmirror.com/@stencil/core/-/core-4.17.2.tgz", + "integrity": "sha512-MX7yaLmpTU9iZvCire9nhecTcE0qBlV0vPWrLMeIXewYN7/hb8B3NjnhQyBKC93FDPI8NBRmt6KIugLw9zcRZg==", + "bin": { + "stencil": "bin/stencil" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.10.0" + } + }, "node_modules/@trysound/sax": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz", @@ -2256,6 +2349,11 @@ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, + "node_modules/@types/luxon": { + "version": "3.4.2", + "resolved": "https://registry.npmmirror.com/@types/luxon/-/luxon-3.4.2.tgz", + "integrity": "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==" + }, "node_modules/@types/mime": { "version": "1.3.5", "resolved": "https://registry.npmmirror.com/@types/mime/-/mime-1.3.5.tgz", @@ -2996,6 +3094,11 @@ "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", "dev": true }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" + }, "node_modules/@vue/reactivity": { "version": "3.5.8", "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.8.tgz", @@ -3368,6 +3471,11 @@ "ajv": "^6.9.1" } }, + "node_modules/animejs": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/animejs/-/animejs-3.2.2.tgz", + "integrity": "sha512-Ao95qWLpDPXXM+WrmwcKbl6uNlC5tjnowlaRYtuVDHHoygjtIPfDUoK9NthrlZsQSKjZXlmji2TrBUAVbiH0LQ==" + }, "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -3500,6 +3608,11 @@ "lodash": "^4.17.14" } }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/at-least-node/-/at-least-node-1.0.0.tgz", @@ -3546,6 +3659,16 @@ "postcss": "^8.1.0" } }, + "node_modules/axios": { + "version": "1.7.9", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.7.9.tgz", + "integrity": "sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, "node_modules/babel-loader": { "version": "8.4.1", "resolved": "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.4.1.tgz", @@ -3761,6 +3884,25 @@ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true }, + "node_modules/bootstrap": { + "version": "5.2.3", + "resolved": "https://registry.npmmirror.com/bootstrap/-/bootstrap-5.2.3.tgz", + "integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "peer": true, + "peerDependencies": { + "@popperjs/core": "^2.11.6" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -3873,6 +4015,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz", @@ -4209,6 +4363,17 @@ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commander": { "version": "8.3.0", "resolved": "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz", @@ -4976,6 +5141,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz", @@ -5135,6 +5308,19 @@ "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", "dev": true }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz", @@ -5150,6 +5336,20 @@ "node": ">=6.0.0" } }, + "node_modules/echarts": { + "version": "5.6.0", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.6.0.tgz", + "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.6.1" + } + }, + "node_modules/echarts/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz", @@ -5251,13 +5451,9 @@ } }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4" - }, + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "engines": { "node": ">= 0.4" } @@ -5266,7 +5462,6 @@ "version": "1.3.0", "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "dev": true, "engines": { "node": ">= 0.4" } @@ -5277,6 +5472,31 @@ "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", "dev": true }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", @@ -6205,7 +6425,6 @@ "version": "1.15.9", "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz", "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "dev": true, "funding": [ { "type": "individual", @@ -6221,6 +6440,20 @@ } } }, + "node_modules/form-data": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.2.tgz", + "integrity": "sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz", @@ -6297,7 +6530,6 @@ "version": "1.1.2", "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6327,16 +6559,20 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dev": true, + "version": "1.2.7", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -6345,6 +6581,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "4.1.0", "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz", @@ -6426,12 +6674,11 @@ } }, "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -6485,11 +6732,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "engines": { "node": ">= 0.4" }, @@ -6497,11 +6743,13 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, "engines": { "node": ">= 0.4" }, @@ -6519,7 +6767,6 @@ "version": "2.0.2", "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, "dependencies": { "function-bind": "^1.1.2" }, @@ -6783,6 +7030,11 @@ "node": ">=10.17.0" } }, + "node_modules/hyperlist": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/hyperlist/-/hyperlist-1.0.0.tgz", + "integrity": "sha512-1qAjO29EJW/mPyqY+9wFjruD2YWur1dPsPYmt9RvMX6P+8Cr2UmT75MCWjjK+1/4Jxc3sm/G3Kr8DzGgEDRG+Q==" + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -7628,6 +7880,14 @@ "yallist": "^3.0.2" } }, + "node_modules/luxon": { + "version": "3.5.0", + "resolved": "https://registry.npmmirror.com/luxon/-/luxon-3.5.0.tgz", + "integrity": "sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ==", + "engines": { + "node": ">=12" + } + }, "node_modules/magic-string": { "version": "0.30.11", "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.11.tgz", @@ -7651,6 +7911,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz", @@ -7749,7 +8017,6 @@ "version": "1.52.0", "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -7758,7 +8025,6 @@ "version": "2.1.35", "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -8552,6 +8818,56 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pinia": { + "version": "2.2.2", + "resolved": "https://registry.npmmirror.com/pinia/-/pinia-2.2.2.tgz", + "integrity": "sha512-ja2XqFWZC36mupU4z1ZzxeTApV7DOw44cV4dhQ9sGwun+N89v/XP7+j7q6TanS1u1tdbK4r+1BUx7heMaIdagA==", + "dependencies": { + "@vue/devtools-api": "^6.6.3", + "vue-demi": "^0.14.10" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.3.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/pinia/node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -9220,6 +9536,11 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/pseudomap/-/pseudomap-1.0.2.tgz", @@ -10950,6 +11271,20 @@ "node": ">=8" } }, + "node_modules/vue-router": { + "version": "4.4.5", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.4.5.tgz", + "integrity": "sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, "node_modules/vue-style-loader": { "version": "4.1.3", "resolved": "https://registry.npmmirror.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz", @@ -11644,6 +11979,19 @@ "resolved": "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz", "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", "dev": true + }, + "node_modules/zrender": { + "version": "5.6.1", + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.1.tgz", + "integrity": "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==", + "dependencies": { + "tslib": "2.3.0" + } + }, + "node_modules/zrender/node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" } } } diff --git a/package.json b/package.json index 715c343..43053db 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,15 @@ "lint": "vue-cli-service lint" }, "dependencies": { + "@siemens/ix": "^2.5.0", + "@siemens/ix-icons": "^2.2.0", + "@siemens/ix-vue": "^2.5.0", + "axios": "^1.7.9", "core-js": "^3.8.3", - "vue": "^3.2.13" + "echarts": "^5.6.0", + "pinia": "^2.2.2", + "vue": "^3.2.13", + "vue-router": "^4.4.5" }, "devDependencies": { "@babel/core": "^7.12.16", @@ -32,7 +39,9 @@ "parserOptions": { "parser": "@babel/eslint-parser" }, - "rules": {} + "rules": { + "vue/multi-word-component-names": "off" + } }, "browserslist": [ "> 1%", diff --git a/src/App.vue b/src/App.vue index 591a031..bd338dd 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,17 +1,12 @@ - diff --git a/src/api/dashboard.js b/src/api/dashboard.js new file mode 100644 index 0000000..02397c6 --- /dev/null +++ b/src/api/dashboard.js @@ -0,0 +1,22 @@ +import request from '@/utils/request'; + +export function getCurrentReport() { + return request({ + url: '/Report/current', + method: 'get' + }); +} + +export function getHistoryReport() { + return request({ + url: '/devicedata/gethtml?name=9b889443bab24a249f43679663074e8c', + method: 'get' + }); +} + +export function getGanttData(deviceId, inputTime) { + return request({ + url: `/State?deviceId=${deviceId}&inputTime=${inputTime}`, + method: 'get' + }); +} \ No newline at end of file diff --git a/src/api/inspection.js b/src/api/inspection.js new file mode 100644 index 0000000..e69de29 diff --git a/src/assets/apps.svg b/src/assets/apps.svg new file mode 100644 index 0000000..037b954 --- /dev/null +++ b/src/assets/apps.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/src/components/GradientProgressBar.vue b/src/components/GradientProgressBar.vue new file mode 100644 index 0000000..9b66b0b --- /dev/null +++ b/src/components/GradientProgressBar.vue @@ -0,0 +1,126 @@ + + + + + \ No newline at end of file diff --git a/src/components/HelloWorld.vue b/src/components/HelloWorld.vue index 879051a..c00e68a 100644 --- a/src/components/HelloWorld.vue +++ b/src/components/HelloWorld.vue @@ -30,13 +30,7 @@ - diff --git a/src/components/MessageBar.vue b/src/components/MessageBar.vue new file mode 100644 index 0000000..b06a394 --- /dev/null +++ b/src/components/MessageBar.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/components/ProcessGanttChart.vue b/src/components/ProcessGanttChart.vue new file mode 100644 index 0000000..249cf4f --- /dev/null +++ b/src/components/ProcessGanttChart.vue @@ -0,0 +1,424 @@ + + + + + \ No newline at end of file diff --git a/src/components/ProcessStatusBar.vue b/src/components/ProcessStatusBar.vue new file mode 100644 index 0000000..4f2d07d --- /dev/null +++ b/src/components/ProcessStatusBar.vue @@ -0,0 +1,116 @@ + + + + + \ No newline at end of file diff --git a/src/main.js b/src/main.js index 01433bc..02ae6a8 100644 --- a/src/main.js +++ b/src/main.js @@ -1,4 +1,30 @@ -import { createApp } from 'vue' -import App from './App.vue' +/*** + * + * router 路由 + * + * ix-siemens 西门子框架 + * + * pinia 状态管理 + * + * + * echarts 图表 + * +*/ +import { createApp } from 'vue'; +import App from './App.vue'; +import router from './router'; +import pinia from './store'; +import * as echarts from 'echarts'; +import MessagePlugin from './plugins/message'; -createApp(App).mount('#app') +// ix-siemens +import '@siemens/ix/dist/siemens-ix/siemens-ix.css'; +import { ixPlugin } from '@siemens/ix-vue'; + +const app = createApp(App); + +// 全局挂载echarts +app.config.globalProperties.$echarts = echarts; + +// 使用use将文件挂载上去 +app.use(router).use(pinia).use(ixPlugin).use(MessagePlugin).mount('#app'); \ No newline at end of file diff --git a/src/plugins/message.js b/src/plugins/message.js new file mode 100644 index 0000000..ffa6340 --- /dev/null +++ b/src/plugins/message.js @@ -0,0 +1,35 @@ +import { createApp, h } from 'vue'; +import MessageBar from '@/components/MessageBar.vue'; + +const MessagePlugin = { + install(app) { + const showMessage = (type, message, action) => { + const container = document.createElement('div'); + container.style.position = 'fixed'; + container.style.bottom = '20px'; + container.style.right = '20px'; + document.body.appendChild(container); + + const appInstance = createApp({ + render() { + return h(MessageBar, { type, message, action }); + }, + }); + + appInstance.mount(container); + + setTimeout(() => { + appInstance.unmount(); + document.body.removeChild(container); + }, 5000); // 自动卸载组件 + }; + + app.config.globalProperties.$message = { + info: (message, action) => showMessage('info', message, action), + danger: (message, action) => showMessage('danger', message, action), + warning: (message, action) => showMessage('warning', message, action), + }; + }, +}; + +export default MessagePlugin; diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..f666845 --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,34 @@ +import { createRouter, createWebHashHistory } from 'vue-router' + +// ...existing code... + +export const routes = [ + { + path: '/', + component: () => import('@/views/layout/vueLayout.vue'), + redirect: '/dashboard', + children: [ + { + path: 'dashboard', + name: 'MainPage', + component: () => import('@/views/Dashboard/index.vue'), + exact: true + }, + { + path: 'inspection', + name: 'InspectionPage', + component: () => import('@/views/Inspection/index.vue'), + exact: true + } + ] + } +] + +const router = createRouter({ + history: createWebHashHistory(), + routes +}) + +// ...existing code... + +export default router \ No newline at end of file diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..dba0e14 --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,5 @@ +// src/store/index.js +import {createPinia} from 'pinia' + +const pinia = createPinia() +export default pinia \ No newline at end of file diff --git a/src/store/modules/user.js b/src/store/modules/user.js new file mode 100644 index 0000000..1bd8aa1 --- /dev/null +++ b/src/store/modules/user.js @@ -0,0 +1,48 @@ +import {defineStore} from 'pinia' +import {ref} from 'vue' + +const useUserStore = defineStore('user', () => { + const userInfo = ref({}) + const loginStatus = ref(false) + const token = ref('') + + /** + * 登录 + */ + function handleLogin() { + if(Math.random() > 0.8){ + loginStatus.value = true + token.value = String(new Date().getTime()) + userInfo.value = { + name: 'admin', + avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif?imageView2/1/w/80/h/80', + } + resolve('登录成功') + }else { + reject('登录失败') + } + } + + /** + * 退出登录 + */ + function handleLogout() { + return new Promise((resolve) => { + loginStatus.value = false + token.value = '' + userInfo.value = {} + resolve() + }) + + } + + return { + userInfo, + loginStatus, + token, + handleLogin, + handleLogout + } +}) + +export default useUserStore \ No newline at end of file diff --git a/src/utils/request.js b/src/utils/request.js new file mode 100644 index 0000000..e0fdc89 --- /dev/null +++ b/src/utils/request.js @@ -0,0 +1,33 @@ +import axios from 'axios'; + +const service = axios.create({ + baseURL: 'http://192.168.1.199:8080/api', // 接口的基础路径'http://cs-vsc.siemens.com.cn:8005',// + timeout: 5000, // 请求超时时间 + headers: { + "Access-Control-Allow-Origin": "*", + "Content-Type": "application/json;charset=utf-8" + }, +}); + +// 请求拦截器 +service.interceptors.request.use( + config => { + // 可以在这里添加请求头等配置 + return config; + }, + error => { + return Promise.reject(error); + } +); + +// 响应拦截器 +service.interceptors.response.use( + response => { + return response.data; + }, + error => { + return Promise.reject(error); + } +); + +export default service; diff --git a/src/views/Dashboard/ApplicationComponent.vue b/src/views/Dashboard/ApplicationComponent.vue new file mode 100644 index 0000000..3d9a188 --- /dev/null +++ b/src/views/Dashboard/ApplicationComponent.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/src/views/Dashboard/index.vue b/src/views/Dashboard/index.vue new file mode 100644 index 0000000..47997d0 --- /dev/null +++ b/src/views/Dashboard/index.vue @@ -0,0 +1,867 @@ + + + + + diff --git a/src/views/Inspection/InspectionForm.vue b/src/views/Inspection/InspectionForm.vue new file mode 100644 index 0000000..4d98c1c --- /dev/null +++ b/src/views/Inspection/InspectionForm.vue @@ -0,0 +1,130 @@ + + + + + diff --git a/src/views/Inspection/index.vue b/src/views/Inspection/index.vue new file mode 100644 index 0000000..ec8cde1 --- /dev/null +++ b/src/views/Inspection/index.vue @@ -0,0 +1,465 @@ + + + + + diff --git a/src/views/layout/components/headerComponent.vue b/src/views/layout/components/headerComponent.vue new file mode 100644 index 0000000..0c9541a --- /dev/null +++ b/src/views/layout/components/headerComponent.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/src/views/layout/components/index.js b/src/views/layout/components/index.js new file mode 100644 index 0000000..b183c29 --- /dev/null +++ b/src/views/layout/components/index.js @@ -0,0 +1,3 @@ +export {default as HeaderComponent} from './headerComponent.vue' +export {default as SiderComponent} from './siderComponent.vue' +export {default as AppMainComponent} from './mainComponent.vue' \ No newline at end of file diff --git a/src/views/layout/components/mainComponent.vue b/src/views/layout/components/mainComponent.vue new file mode 100644 index 0000000..77aca48 --- /dev/null +++ b/src/views/layout/components/mainComponent.vue @@ -0,0 +1,11 @@ + + + \ No newline at end of file diff --git a/src/views/layout/components/siderComponent.vue b/src/views/layout/components/siderComponent.vue new file mode 100644 index 0000000..e6ca0d0 --- /dev/null +++ b/src/views/layout/components/siderComponent.vue @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/src/views/layout/vueLayout.vue b/src/views/layout/vueLayout.vue new file mode 100644 index 0000000..ebb0e73 --- /dev/null +++ b/src/views/layout/vueLayout.vue @@ -0,0 +1,203 @@ + + + + + \ No newline at end of file diff --git a/vue.config.js b/vue.config.js index 910e297..1c2059b 100644 --- a/vue.config.js +++ b/vue.config.js @@ -1,4 +1,20 @@ const { defineConfig } = require('@vue/cli-service') module.exports = defineConfig({ - transpileDependencies: true + publicPath: '/', + transpileDependencies: true, + lintOnSave: false, + devServer: { + historyApiFallback: true, + proxy: { + '/api': { + target: 'http://192.168.1.199:8080', + changeOrigin: true + }, + // '/test-api': { + // target: 'http://cs-vsc.siemens.com.cn:8005', + // changeOrigin: true, + // pathRewrite: { '^/test-api': '' } + // } + } + } })