From fb832df8e1d4ca37d901440bb170db4ffa8aab92 Mon Sep 17 00:00:00 2001
From: yumaojun03 <719118794@qq.com>
Date: Sun, 10 Aug 2025 13:54:58 +0800
Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85dashboard?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
devcloud/web/package-lock.json | 81 +++++
devcloud/web/package.json | 1 +
devcloud/web/src/layout/DashboardLayout.vue | 154 ++++++++
devcloud/web/src/layout/FrontendLayout.vue | 192 ++++++++++
.../{BackendLayout.vue => MenuLayout.vue} | 135 ++++---
.../web/src/layout/components/HeaderNav.vue | 125 +++++++
devcloud/web/src/pages/HomePage.vue | 17 -
devcloud/web/src/pages/LoginPage.vue | 2 +-
.../web/src/pages/dashboard/DashboardPage.vue | 337 ++++++++++++++++++
.../dashboard/components/BuildStatusChar.vue | 9 +
.../dashboard/components/DeployChart.vue | 9 +
devcloud/web/src/pages/develop/SprintPage.vue | 13 +
.../web/src/pages/frontend/ProductPage.vue | 248 +++++++++++++
.../web/src/pages/mpaas/ApplicatonPage.vue | 11 -
.../SecretPage.vue => project/AppPage.vue} | 0
devcloud/web/src/router/index.js | 63 +++-
devcloud/web/src/router/interceptor.js | 20 ++
17 files changed, 1324 insertions(+), 93 deletions(-)
create mode 100644 devcloud/web/src/layout/DashboardLayout.vue
create mode 100644 devcloud/web/src/layout/FrontendLayout.vue
rename devcloud/web/src/layout/{BackendLayout.vue => MenuLayout.vue} (75%)
create mode 100644 devcloud/web/src/layout/components/HeaderNav.vue
delete mode 100644 devcloud/web/src/pages/HomePage.vue
create mode 100644 devcloud/web/src/pages/dashboard/DashboardPage.vue
create mode 100644 devcloud/web/src/pages/dashboard/components/BuildStatusChar.vue
create mode 100644 devcloud/web/src/pages/dashboard/components/DeployChart.vue
create mode 100644 devcloud/web/src/pages/develop/SprintPage.vue
create mode 100644 devcloud/web/src/pages/frontend/ProductPage.vue
delete mode 100644 devcloud/web/src/pages/mpaas/ApplicatonPage.vue
rename devcloud/web/src/pages/{cmdb/SecretPage.vue => project/AppPage.vue} (100%)
create mode 100644 devcloud/web/src/router/interceptor.js
diff --git a/devcloud/web/package-lock.json b/devcloud/web/package-lock.json
index e05b0c0..788c10c 100644
--- a/devcloud/web/package-lock.json
+++ b/devcloud/web/package-lock.json
@@ -11,6 +11,7 @@
"@vueuse/core": "^13.6.0",
"axios": "^1.11.0",
"vue": "^3.5.18",
+ "vue-echarts": "^7.0.3",
"vue-router": "^4.5.1"
},
"devDependencies": {
@@ -2388,6 +2389,24 @@
"node": ">= 0.4"
}
},
+ "node_modules/echarts": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.6.0.tgz",
+ "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==",
+ "license": "Apache-2.0",
+ "peer": true,
+ "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==",
+ "license": "0BSD",
+ "peer": true
+ },
"node_modules/electron-to-chromium": {
"version": "1.5.194",
"resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.194.tgz",
@@ -4647,6 +4666,51 @@
}
}
},
+ "node_modules/vue-demi": {
+ "version": "0.13.11",
+ "resolved": "https://registry.npmmirror.com/vue-demi/-/vue-demi-0.13.11.tgz",
+ "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
+ "hasInstallScript": true,
+ "license": "MIT",
+ "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/vue-echarts": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmmirror.com/vue-echarts/-/vue-echarts-7.0.3.tgz",
+ "integrity": "sha512-/jSxNwOsw5+dYAUcwSfkLwKPuzTQ0Cepz1LxCOpj2QcHrrmUa/Ql0eQqMmc1rTPQVrh2JQ29n2dhq75ZcHvRDw==",
+ "license": "MIT",
+ "dependencies": {
+ "vue-demi": "^0.13.11"
+ },
+ "peerDependencies": {
+ "@vue/runtime-core": "^3.0.0",
+ "echarts": "^5.5.1",
+ "vue": "^2.7.0 || ^3.1.1"
+ },
+ "peerDependenciesMeta": {
+ "@vue/runtime-core": {
+ "optional": true
+ }
+ }
+ },
"node_modules/vue-eslint-parser": {
"version": "10.2.0",
"resolved": "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-10.2.0.tgz",
@@ -4771,6 +4835,23 @@
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
+ },
+ "node_modules/zrender": {
+ "version": "5.6.1",
+ "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.1.tgz",
+ "integrity": "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==",
+ "license": "BSD-3-Clause",
+ "peer": true,
+ "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==",
+ "license": "0BSD",
+ "peer": true
}
}
}
diff --git a/devcloud/web/package.json b/devcloud/web/package.json
index 9ef7bea..b4edd0f 100644
--- a/devcloud/web/package.json
+++ b/devcloud/web/package.json
@@ -17,6 +17,7 @@
"@vueuse/core": "^13.6.0",
"axios": "^1.11.0",
"vue": "^3.5.18",
+ "vue-echarts": "^7.0.3",
"vue-router": "^4.5.1"
},
"devDependencies": {
diff --git a/devcloud/web/src/layout/DashboardLayout.vue b/devcloud/web/src/layout/DashboardLayout.vue
new file mode 100644
index 0000000..61835e7
--- /dev/null
+++ b/devcloud/web/src/layout/DashboardLayout.vue
@@ -0,0 +1,154 @@
+
+ 研发交付平台
+