diff --git a/GVSDServiceServer/venom_ui/package-lock.json b/GVSDServiceServer/venom_ui/package-lock.json index 5734a16e..6099b58c 100644 --- a/GVSDServiceServer/venom_ui/package-lock.json +++ b/GVSDServiceServer/venom_ui/package-lock.json @@ -8,6 +8,7 @@ "name": "venom-ui", "version": "1.0.0", "dependencies": { + "@element-plus/icons-vue": "^2.3.2", "element-plus": "^2.14.3", "vue": "^3.5.40" }, diff --git a/GVSDServiceServer/venom_ui/package.json b/GVSDServiceServer/venom_ui/package.json index dfc84679..6a31695d 100644 --- a/GVSDServiceServer/venom_ui/package.json +++ b/GVSDServiceServer/venom_ui/package.json @@ -8,6 +8,7 @@ "build": "vite build" }, "dependencies": { + "@element-plus/icons-vue": "^2.3.2", "element-plus": "^2.14.3", "vue": "^3.5.40" }, diff --git a/GVSDServiceServer/venom_ui/src/App.vue b/GVSDServiceServer/venom_ui/src/App.vue index c80f6b15..c8576925 100644 --- a/GVSDServiceServer/venom_ui/src/App.vue +++ b/GVSDServiceServer/venom_ui/src/App.vue @@ -6,9 +6,22 @@ * 配置视图:编辑包说明/配置内容、发布新版本、查看发布历史 * * 视图切换在组件内部完成(不占用宿主路由),符合「远端页面自理」的微前端约定。 + * 样式仅依赖 Element Plus 的 CSS 变量,自动适配宿主明/暗主题。 */ import { computed, onMounted, reactive, ref } from 'vue' import { ElMessage } from 'element-plus' +import { + ArrowLeft, + Box, + Clock, + Collection, + Finished, + Plus, + Promotion, + Refresh, + Search, + User, +} from '@element-plus/icons-vue' import { venomApi, type RemoteContext, @@ -37,6 +50,11 @@ const createForm = reactive({ PackageName: '', PackageDesc: '', ConfigText: '' } const configForm = reactive({ PackageDesc: '', ConfigText: '' }) const releaseForm = reactive({ Version: '', Notes: '' }) +/** 全部软件包的发布次数合计(列表概览用) */ +const totalReleases = computed(() => + packages.value.reduce((sum, p) => sum + (p.ReleaseCount || 0), 0), +) + async function loadPackages(): Promise { loading.value = true try { @@ -158,119 +176,204 @@ onMounted(loadPackages)