diff --git a/packages/ui/certd-client/public/static/images/ent/admin_mode.png b/packages/ui/certd-client/public/static/images/ent/admin_mode.png new file mode 100644 index 000000000..aa42f96e7 Binary files /dev/null and b/packages/ui/certd-client/public/static/images/ent/admin_mode.png differ diff --git a/packages/ui/certd-client/src/views/sys/enterprise/project/detail/crud.tsx b/packages/ui/certd-client/src/views/sys/enterprise/project/detail/crud.tsx index 437b73a74..a29bdd507 100644 --- a/packages/ui/certd-client/src/views/sys/enterprise/project/detail/crud.tsx +++ b/packages/ui/certd-client/src/views/sys/enterprise/project/detail/crud.tsx @@ -7,6 +7,7 @@ import { useSettingStore } from "/@/store/settings"; import { useUserStore } from "/@/store/user"; import { useI18n } from "/src/locales"; import { userDict } from "../../dicts"; +import { useDicts } from "/@/views/certd/dicts"; export default function ({ crudExpose, context }: CreateCrudOptionsProps): CreateCrudOptionsRet { const router = useRouter(); @@ -35,6 +36,8 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat const selectedRowKeys: Ref = ref([]); context.selectedRowKeys = selectedRowKeys; + const { projectMemberStatusDict } = useDicts(); + return { crudOptions: { settings: { @@ -133,6 +136,27 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat width: 200, }, }, + status: { + title: t("certd.ent.projectMemberStatus"), + type: "dict-select", + dict: projectMemberStatusDict, + search: { + show: true, + }, + form: { + show: true, + }, + column: { + width: 200, + cellRender: ({ row }) => { + return ( +
+ +
+ ); + }, + }, + }, createTime: { title: t("certd.createTime"), type: "datetime", diff --git a/packages/ui/certd-client/src/views/sys/enterprise/project/index.vue b/packages/ui/certd-client/src/views/sys/enterprise/project/index.vue index 0022b28a1..f89d92e85 100644 --- a/packages/ui/certd-client/src/views/sys/enterprise/project/index.vue +++ b/packages/ui/certd-client/src/views/sys/enterprise/project/index.vue @@ -12,6 +12,7 @@ + @@ -22,7 +23,8 @@ import createCrudOptions from "./crud"; import { message, Modal } from "ant-design-vue"; import { DeleteBatch } from "./api"; import { useI18n } from "/src/locales"; - +import { useProjectStore } from "/@/store/project"; +import AdminModeIntro from "./intro.vue"; const { t } = useI18n(); defineOptions({ @@ -30,6 +32,7 @@ defineOptions({ }); const { crudBinding, crudRef, crudExpose, context } = useFs({ createCrudOptions }); +const projectStore = useProjectStore(); const selectedRowKeys = context.selectedRowKeys; const handleBatchDelete = () => { if (selectedRowKeys.value?.length > 0) { diff --git a/packages/ui/certd-client/src/views/sys/enterprise/project/intro.vue b/packages/ui/certd-client/src/views/sys/enterprise/project/intro.vue new file mode 100644 index 000000000..c8bd57d0b --- /dev/null +++ b/packages/ui/certd-client/src/views/sys/enterprise/project/intro.vue @@ -0,0 +1,75 @@ + + + + + diff --git a/packages/ui/certd-client/src/views/sys/settings/tabs/mode.vue b/packages/ui/certd-client/src/views/sys/settings/tabs/mode.vue index c23734319..5ba3f39b2 100644 --- a/packages/ui/certd-client/src/views/sys/settings/tabs/mode.vue +++ b/packages/ui/certd-client/src/views/sys/settings/tabs/mode.vue @@ -2,7 +2,12 @@
- +
+ + +
+
SaaS模式:每个用户管理自己的流水线和授权资源,独立使用。
+
企业模式:企业内部员工使用,通过项目合作管理流水线证书和授权资源。
@@ -30,14 +35,14 @@ defineOptions({ const adminModeDict = dict({ data: [ - { - label: t("certd.sys.setting.enterpriseMode"), - value: "enterprise", - }, { label: t("certd.sys.setting.saasMode"), value: "saas", }, + { + label: t("certd.sys.setting.enterpriseMode"), + value: "enterprise", + }, ], });