chore: admin mode

This commit is contained in:
xiaojunnuo
2026-02-05 19:01:03 +08:00
parent 1f68faddb9
commit 66d0d0e213
13 changed files with 168 additions and 25 deletions
@@ -0,0 +1,22 @@
import { dict } from "@fast-crud/fast-crud";
export const projectPermissionDict = dict({
data: [
{
label: "read",
value: "只读",
},
{
label: "write",
value: "读写",
},
{
label: "admin",
value: "管理员",
},
],
});
export const projectDict = dict({
url: "/sys/enterprise/project/list",
});
@@ -14,6 +14,7 @@ import GroupSelector from "/@/views/certd/pipeline/group/group-selector.vue";
import { statusUtil } from "/@/views/certd/pipeline/pipeline/utils/util.status";
import { useCertViewer } from "/@/views/certd/pipeline/use";
import { useI18n } from "/src/locales";
import { projectDict } from "../dicts";
export default function ({ crudExpose, context: { selectedRowKeys, openCertApplyDialog } }: CreateCrudOptionsProps): CreateCrudOptionsRet {
const router = useRouter();
@@ -294,6 +295,11 @@ export default function ({ crudExpose, context: { selectedRowKeys, openCertApply
width: 100,
},
},
projectId: {
title: t("certd.fields.projectName"),
type: "number",
dict: projectDict,
},
title: {
title: t("certd.fields.pipelineName"),
type: "link",
@@ -74,7 +74,7 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
},
name: {
title: t("certd.ent.projectName"),
type: "text",
type: "link",
search: {
show: true,
},
@@ -85,6 +85,13 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
},
column: {
width: 200,
cellRender({ row }) {
return (
<router-link to={`/sys/enterprise/project/member`} query={{ projectId: row.id }}>
{row.name}
</router-link>
);
},
},
},
disabled: {
@@ -2,7 +2,7 @@
<div class="sys-settings-form sys-settings-mode">
<a-form :model="formState" name="basic" :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }" autocomplete="off" @finish="onFinish">
<a-form-item :label="t('certd.adminMode')" :name="['public', 'adminMode']">
<fs-dict-radio v-model:checked="formState.public.adminMode" :dict="adminModeDict" />
<fs-dict-radio v-model:value="formState.public.adminMode" :dict="adminModeDict" />
</a-form-item>
<a-form-item label=" " :colon="false" :wrapper-col="{ span: 8 }">
@@ -20,22 +20,25 @@ import { merge } from "lodash-es";
import { useSettingStore } from "/@/store/settings";
import { notification } from "ant-design-vue";
import { useI18n } from "/src/locales";
import { dict } from "@fast-crud/fast-crud";
const { t } = useI18n();
defineOptions({
name: "SettingMode",
});
const adminModeDict = [
{
label: t("certd.adminMode.enterpriseMode"),
value: "enterprise",
},
{
label: t("certd.adminMode.saasMode"),
value: "saas",
},
];
const adminModeDict = dict({
data: [
{
label: t("certd.adminMode.enterpriseMode"),
value: "enterprise",
},
{
label: t("certd.adminMode.saasMode"),
value: "saas",
},
],
});
const formState = reactive<Partial<SysSettings>>({
public: {},