From 37340838b6a61a94b86bfa13cf5da88b26f1315a Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Tue, 10 Feb 2026 01:57:11 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E7=BA=A7=E7=AE=A1=E7=90=86=E6=A8=A1=E5=BC=8F=EF=BC=8C=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=AE=A1=E7=90=86=EF=BC=8C=E7=BB=86=E5=88=86=E6=9D=83?= =?UTF-8?q?=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/certd-client/src/components/index.ts | 2 + .../src/components/project-selector/api.ts | 9 ++ .../src/components/project-selector/index.vue | 43 +++++++ .../certd-client/src/layout/layout-basic.vue | 5 + .../src/locales/langs/en-US/certd.ts | 22 +++- .../src/locales/langs/zh-CN/certd.ts | 26 ++++- .../src/router/source/modules/certd.ts | 53 --------- .../src/router/source/modules/sys.ts | 24 ++++ .../ui/certd-client/src/store/project/api.ts | 9 ++ .../certd-client/src/store/project/index.ts | 86 ++++++++++++++ .../access/access-selector/access/crud.tsx | 11 ++ .../src/views/certd/access/crud.tsx | 13 +++ .../src/views/certd/history/crud.tsx | 22 ++-- .../src/views/certd/monitor/cert/crud.tsx | 10 +- .../src/views/certd/monitor/site/crud.tsx | 14 +++ .../src/views/certd/notification/common.tsx | 9 ++ .../src/views/certd/notification/crud.tsx | 7 ++ .../notification-selector/modal/crud.tsx | 5 + .../src/views/certd/open/openkey/crud.tsx | 11 ++ .../src/views/certd/pipeline/crud.tsx | 9 +- .../src/views/certd/pipeline/group/crud.tsx | 14 +++ .../views/certd/pipeline/template/crud.tsx | 14 +++ .../src/views/sys/enterprise/dicts.ts | 11 ++ .../src/views/sys/enterprise/project/crud.tsx | 16 ++- .../sys/enterprise/project/detail/crud.tsx | 33 +++--- .../sys/enterprise/project/detail/index.vue | 8 +- .../src/views/sys/settings/index.vue | 2 +- .../src/views/sys/settings/tabs/mode.vue | 6 +- .../db/migration/v10038__admin_mode.sql | 2 + .../sys/enterprise/project-controller.ts | 6 +- .../enterprise/project-member-controller.ts | 56 ++++++++- .../user/enterprise/project-controller.ts | 2 +- .../modules/sys/enterprise/entity/project.ts | 3 + .../service/project-member-service.ts | 22 ++++ .../sys/enterprise/service/project-service.ts | 109 ++++++++++++++---- 35 files changed, 559 insertions(+), 135 deletions(-) create mode 100644 packages/ui/certd-client/src/components/project-selector/api.ts create mode 100644 packages/ui/certd-client/src/components/project-selector/index.vue create mode 100644 packages/ui/certd-client/src/store/project/api.ts create mode 100644 packages/ui/certd-client/src/store/project/index.ts create mode 100644 packages/ui/certd-client/src/views/sys/enterprise/dicts.ts diff --git a/packages/ui/certd-client/src/components/index.ts b/packages/ui/certd-client/src/components/index.ts index d751e9c7d..fdb3d94a5 100644 --- a/packages/ui/certd-client/src/components/index.ts +++ b/packages/ui/certd-client/src/components/index.ts @@ -16,6 +16,7 @@ import { defineAsyncComponent } from "vue"; import NotificationSelector from "../views/certd/notification/notification-selector/index.vue"; import EmailSelector from "./email-selector/index.vue"; import ValidTimeFormat from "./valid-time-format.vue"; +import ProjectSelector from "./project-selector/index.vue"; export default { install(app: any) { app.component( @@ -45,5 +46,6 @@ export default { app.component("ExpiresTimeText", ExpiresTimeText); app.use(vip); app.use(Plugins); + app.component("ProjectSelector", ProjectSelector); }, }; diff --git a/packages/ui/certd-client/src/components/project-selector/api.ts b/packages/ui/certd-client/src/components/project-selector/api.ts new file mode 100644 index 000000000..f50033e89 --- /dev/null +++ b/packages/ui/certd-client/src/components/project-selector/api.ts @@ -0,0 +1,9 @@ +import { request } from "/src/api/service"; + +export async function MyProjectList() { + return await request({ + url: "/enterprise/project/list", + method: "post", + data: {}, + }); +} diff --git a/packages/ui/certd-client/src/components/project-selector/index.vue b/packages/ui/certd-client/src/components/project-selector/index.vue new file mode 100644 index 000000000..c7a579699 --- /dev/null +++ b/packages/ui/certd-client/src/components/project-selector/index.vue @@ -0,0 +1,43 @@ + + + + diff --git a/packages/ui/certd-client/src/layout/layout-basic.vue b/packages/ui/certd-client/src/layout/layout-basic.vue index 5d79e9c69..4b0ae6414 100644 --- a/packages/ui/certd-client/src/layout/layout-basic.vue +++ b/packages/ui/certd-client/src/layout/layout-basic.vue @@ -81,6 +81,11 @@ provide("fn:ai.open", openChat);