diff --git a/packages/ui/certd-client/src/style/common.less b/packages/ui/certd-client/src/style/common.less index 0b09736c..f66261cb 100644 --- a/packages/ui/certd-client/src/style/common.less +++ b/packages/ui/certd-client/src/style/common.less @@ -295,4 +295,9 @@ h1, h2, h3, h4, h5, h6 { .w-50\%{ width: 50%; +} + + +.ant-drawer-content-wrapper { + max-width: 90vw; } \ No newline at end of file diff --git a/packages/ui/certd-client/src/views/certd/monitor/cert/api.ts b/packages/ui/certd-client/src/views/certd/monitor/cert/api.ts index ee752f84..70b02370 100644 --- a/packages/ui/certd-client/src/views/certd/monitor/cert/api.ts +++ b/packages/ui/certd-client/src/views/certd/monitor/cert/api.ts @@ -1,4 +1,5 @@ import { request } from "/src/api/service"; +import { CertInfo } from "/@/views/certd/pipeline/api"; const apiPrefix = "/monitor/cert"; export const certInfoApi = { @@ -53,5 +54,12 @@ export const certInfoApi = { method: "post", data: body }); + }, + async GetCert(id: number): Promise { + return await request({ + url: apiPrefix + "/getCert", + method: "post", + params: { id: id } + }); } }; diff --git a/packages/ui/certd-client/src/views/certd/monitor/cert/crud.tsx b/packages/ui/certd-client/src/views/certd/monitor/cert/crud.tsx index c302e154..381e33b8 100644 --- a/packages/ui/certd-client/src/views/certd/monitor/cert/crud.tsx +++ b/packages/ui/certd-client/src/views/certd/monitor/cert/crud.tsx @@ -5,6 +5,10 @@ import { certInfoApi } from "./api"; import dayjs from "dayjs"; import { useUserStore } from "/@/store/modules/user"; import { useRouter } from "vue-router"; +import { useModal } from "/@/use/use-modal"; +import * as api from "/@/views/certd/pipeline/api"; +import { notification } from "ant-design-vue"; +import CertView from "/@/views/certd/pipeline/cert-view.vue"; export default function ({ crudExpose, context }: CreateCrudOptionsProps): CreateCrudOptionsRet { const { t } = useI18n(); @@ -30,6 +34,26 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat }; const { openCrudFormDialog } = useFormWrapper(); const router = useRouter(); + + const model = useModal(); + const viewCert = async (row: any) => { + const cert = await api.GetCert(row.id); + if (!cert) { + notification.error({ message: "证书还未生成,请先运行流水线" }); + return; + } + + model.success({ + title: "查看证书", + maskClosable: true, + okText: "关闭", + width: 800, + content: () => { + return ; + } + }); + }; + return { crudOptions: { request: { @@ -120,6 +144,15 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat fixed: "right", buttons: { view: { show: false }, + viewCert: { + order: 3, + title: "查看证书", + type: "link", + icon: "ph:certificate", + async click({ row }) { + await viewCert(row); + } + }, copy: { show: false }, edit: { show: false }, remove: { show: false } diff --git a/packages/ui/certd-client/src/views/certd/pipeline/group/crud.tsx b/packages/ui/certd-client/src/views/certd/pipeline/group/crud.tsx index 378d6cea..c8f53a6c 100644 --- a/packages/ui/certd-client/src/views/certd/pipeline/group/crud.tsx +++ b/packages/ui/certd-client/src/views/certd/pipeline/group/crud.tsx @@ -29,6 +29,17 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat return { crudOptions: { + settings: { + plugins: { + mobile: { + props: { + rowHandle: { + width: 160 + } + } + } + } + }, request: { pageRequest, addRequest, diff --git a/packages/ui/certd-client/src/views/certd/pipeline/pipeline/component/notification-form/index.vue b/packages/ui/certd-client/src/views/certd/pipeline/pipeline/component/notification-form/index.vue index cce9ba40..660e4c2e 100644 --- a/packages/ui/certd-client/src/views/certd/pipeline/pipeline/component/notification-form/index.vue +++ b/packages/ui/certd-client/src/views/certd/pipeline/pipeline/component/notification-form/index.vue @@ -1,12 +1,5 @@