From 170d42921b55b466801b7725dcfb986adbfa7db3 Mon Sep 17 00:00:00 2001 From: shenjianbin <997186306@qq.com> Date: Sat, 15 Mar 2025 13:18:02 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=BC=8F=E6=B4=9E?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/repo/index.ts | 11 + src/api/repo/types.ts | 5 + .../Version/Detail/VulnerabilitiesList.vue | 17 +- .../Version/Detail/VulnerabilityDetail.vue | 204 ++++++++++++++++++ 4 files changed, 235 insertions(+), 2 deletions(-) create mode 100644 src/views/Jyh/Version/Detail/VulnerabilityDetail.vue diff --git a/src/api/repo/index.ts b/src/api/repo/index.ts index 7c9f060..3ba175c 100644 --- a/src/api/repo/index.ts +++ b/src/api/repo/index.ts @@ -1542,3 +1542,14 @@ export const getOriginalComment = (params: types.DiscussionCommentProps): Promis }) ); } + +// 获取漏洞数据 +export const getVulnDetail = (params: types.VulnDetailProps): Promise => { + return reqCatch(() => + request({ + url: `/api/v1/repo/vulnerability/info`, + method: 'get', + params, + }) + ); +} diff --git a/src/api/repo/types.ts b/src/api/repo/types.ts index afc8aeb..c3b50a3 100644 --- a/src/api/repo/types.ts +++ b/src/api/repo/types.ts @@ -207,3 +207,8 @@ export interface DiscussionCommentProps { discussionId: string | number, } +export interface VulnDetailProps { + repoId: string, + id: string, +} + diff --git a/src/views/Jyh/Version/Detail/VulnerabilitiesList.vue b/src/views/Jyh/Version/Detail/VulnerabilitiesList.vue index 13414f5..09d5a08 100644 --- a/src/views/Jyh/Version/Detail/VulnerabilitiesList.vue +++ b/src/views/Jyh/Version/Detail/VulnerabilitiesList.vue @@ -11,7 +11,7 @@ @filter-change="handleFilterChange" > 你确认删除此项:{{ item.cla_name }} ? + + + + + @@ -110,9 +115,10 @@ import { ref, reactive } from 'vue'; import { getGroupClaList, setGroupClaStatus, deleteGroupCla } from '@/api/cla'; import { useRouter, useRoute } from 'vue-router'; import { GModal } from '@/components/Setting/index'; -import { reqCatch } from '@/utils/catch'; +import { reqCatch } from '@/utils/catch'; import { getOrgInfo } from '@/views/Org/hooks/orgInfo'; import { Message } from 'vue-devui'; +import VulnerabilityDetail from '@/views/Jyh/Version/Detail/VulnerabilityDetail.vue' const { namespace } = getOrgInfo(); const tableData = ref([ @@ -233,6 +239,13 @@ const setClaStatus = async (row: any) => { const signCla = (row: any) => { router.push('/cla/' + row.object_id); }; + +const vulnDetailVisable = ref(false); +const currentVuln = ref(); +const openVulnDetail = (row) => { + vulnDetailVisable.value = true; + currentVuln.value = row; +} \ No newline at end of file From 3d02396e5a8e0b714cc563f48d4e100f88d93190 Mon Sep 17 00:00:00 2001 From: shenjianbin <997186306@qq.com> Date: Sat, 15 Mar 2025 15:06:17 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E9=A2=84=E8=AD=A6=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PersonalCenter/Detail/EarlyWarning.vue | 35 +++++- .../Detail/EarlyWarningDetail.vue | 106 ++++++++++++++++++ 2 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 src/views/Jyh/PersonalCenter/Detail/EarlyWarningDetail.vue diff --git a/src/views/Jyh/PersonalCenter/Detail/EarlyWarning.vue b/src/views/Jyh/PersonalCenter/Detail/EarlyWarning.vue index ecb1de5..8f12ab2 100644 --- a/src/views/Jyh/PersonalCenter/Detail/EarlyWarning.vue +++ b/src/views/Jyh/PersonalCenter/Detail/EarlyWarning.vue @@ -9,21 +9,39 @@ :data="licenseTableData" > - + + + + + + + + + diff --git a/src/views/Jyh/PersonalCenter/Detail/EarlyWarningDetail.vue b/src/views/Jyh/PersonalCenter/Detail/EarlyWarningDetail.vue new file mode 100644 index 0000000..31078a3 --- /dev/null +++ b/src/views/Jyh/PersonalCenter/Detail/EarlyWarningDetail.vue @@ -0,0 +1,106 @@ + + + + + \ No newline at end of file From 42c7e6363d731435a1bf6a6c27fb5cda42e30201 Mon Sep 17 00:00:00 2001 From: shenjianbin <997186306@qq.com> Date: Sat, 15 Mar 2025 15:07:17 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E9=A2=84=E8=AD=A6=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/Jyh/PersonalCenter/Detail/EarlyWarningDetail.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/Jyh/PersonalCenter/Detail/EarlyWarningDetail.vue b/src/views/Jyh/PersonalCenter/Detail/EarlyWarningDetail.vue index 31078a3..52c10a3 100644 --- a/src/views/Jyh/PersonalCenter/Detail/EarlyWarningDetail.vue +++ b/src/views/Jyh/PersonalCenter/Detail/EarlyWarningDetail.vue @@ -37,7 +37,7 @@ const warningData = ref({ fixMethod: '升级Apache Ignite至安全版本:2.17.0', fromTime: '2025-2-20' }); - +// warningData.value = propsData.warningData; const confirm = () => { emit('close'); }; From 192d8e7519ea1f032c87705194616df7fa44848d Mon Sep 17 00:00:00 2001 From: shenjianbin <997186306@qq.com> Date: Sat, 15 Mar 2025 15:12:20 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E9=A2=84=E8=AD=A6=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Jyh/PersonalCenter/Detail/EarlyWarning.vue | 10 ---------- .../PersonalCenter/Detail/EarlyWarningPerson.vue | 16 +++++++++++++++- 2 files changed, 15 insertions(+), 11 deletions(-) diff --git a/src/views/Jyh/PersonalCenter/Detail/EarlyWarning.vue b/src/views/Jyh/PersonalCenter/Detail/EarlyWarning.vue index 26b785a..ca97a06 100644 --- a/src/views/Jyh/PersonalCenter/Detail/EarlyWarning.vue +++ b/src/views/Jyh/PersonalCenter/Detail/EarlyWarning.vue @@ -15,16 +15,6 @@ import { ref } from 'vue'; import EarlyWarningPerson from './EarlyWarningPerson.vue'; import EarlyWarningOrganization from './EarlyWarningOrganization.vue'; const selectTab = ref('gryj'); - -const warningModalVisable = ref(false); -const currentWarning = ref(); -const openWarningDetail = (row) => { - warningModalVisable.value = true; - currentWarning.value = row; -}; -const colseWarningDetail = () => { - warningModalVisable.value = false; -}; \ No newline at end of file diff --git a/src/views/Jyh/Version/Detail/index.vue b/src/views/Jyh/Version/Detail/index.vue index c6f73d5..0007e1f 100644 --- a/src/views/Jyh/Version/Detail/index.vue +++ b/src/views/Jyh/Version/Detail/index.vue @@ -9,18 +9,27 @@
-
vue
+
{{ softwareData.name }}
- 版本:3.5.13 + 版本:{{ softwareData.version }} - 生命周期状态:选型中 + 生命周期状态:{{ softwareData.lifecycle }} 集成风险: - 低风险 + {{ softwareData.risk }}
- 订阅 + 订阅 +
@@ -56,6 +65,7 @@ import AIRepair from '../../AIRepair/index.vue'; import LicenseInfo from '../../LicenseInfo/index.vue'; const { namespace } = getOrgInfo(); const avatarUrl = '/src/assets/imgs/jyh/工程首字母图标.png'; +import SubscriptionModal from '@/views/Jyh/Version/Detail/SubscriptionModal.vue'; const selectTab = ref('bbxx'); @@ -140,6 +150,21 @@ const setClaStatus = async (row: any) => { const signCla = (row: any) => { router.push('/cla/' + row.object_id); }; + +const softwareData = ref({ + name: 'vue', + version: '3.5.13', + lifecycle: '选中型', + risk: '低风险', +}); + +const subscribeModalVisable = ref(false); +const openSubscription = () => { + subscribeModalVisable.value = true; +}; +const colseSubscription = () => { + subscribeModalVisable.value = false; +}; + + \ No newline at end of file From a1f573b7291e42110cddc772658dc4fe881f1d1a Mon Sep 17 00:00:00 2001 From: shenjianbin <997186306@qq.com> Date: Sat, 15 Mar 2025 17:37:22 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E9=82=80=E8=AF=B7=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Detail/InvitationNoticeList.vue | 74 +++++++++++++++++++ src/views/Jyh/PersonalCenter/index.vue | 3 + 2 files changed, 77 insertions(+) create mode 100644 src/views/Jyh/PersonalCenter/Detail/InvitationNoticeList.vue diff --git a/src/views/Jyh/PersonalCenter/Detail/InvitationNoticeList.vue b/src/views/Jyh/PersonalCenter/Detail/InvitationNoticeList.vue new file mode 100644 index 0000000..08b08d2 --- /dev/null +++ b/src/views/Jyh/PersonalCenter/Detail/InvitationNoticeList.vue @@ -0,0 +1,74 @@ + + + + + \ No newline at end of file diff --git a/src/views/Jyh/PersonalCenter/index.vue b/src/views/Jyh/PersonalCenter/index.vue index bba0934..863bbd6 100644 --- a/src/views/Jyh/PersonalCenter/index.vue +++ b/src/views/Jyh/PersonalCenter/index.vue @@ -23,6 +23,7 @@ + @@ -30,6 +31,7 @@ + @@ -41,6 +43,7 @@ import { getOrgInfo } from '@/views/Org/hooks/orgInfo'; import EarlyWarning from './Detail/EarlyWarning.vue'; import SubscribeList from './Detail/SubscribeList.vue'; import OrganizationManage from './OrganizationManage/OrganizationManage.vue'; +import InvitationNoticeList from './Detail/InvitationNoticeList.vue'; const { namespace } = getOrgInfo(); const avatarUrl = '/src/assets/imgs/avatar/male.png'; From ad85fc3ecf44d5f1b1f70920d12ae32a4680d8e9 Mon Sep 17 00:00:00 2001 From: shenjianbin <997186306@qq.com> Date: Sat, 15 Mar 2025 18:02:45 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E8=AE=A2=E9=98=85=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Jyh/Version/Detail/SubscriptionModal.vue | 64 +++++++++++-------- 1 file changed, 38 insertions(+), 26 deletions(-) diff --git a/src/views/Jyh/Version/Detail/SubscriptionModal.vue b/src/views/Jyh/Version/Detail/SubscriptionModal.vue index 6bc26c0..8718412 100644 --- a/src/views/Jyh/Version/Detail/SubscriptionModal.vue +++ b/src/views/Jyh/Version/Detail/SubscriptionModal.vue @@ -2,17 +2,21 @@ @@ -23,18 +27,30 @@ import { computed, ref } from 'vue'; const props = defineProps(['softwareData']); const emit = defineEmits(['close']); -const subscribeType = ref(''); -const isError = ref(false); -const typeChange = () => { - isError.value = false; -} +const formRef = ref(null); +const formData = ref({ + subscribeType: '', + subscribeText: '', +}); +const rules = { + subscribeType: [{ required: true, message: '请选择', trigger: 'change' }], + subscribeText: [{ required: true, message: '不能为空', trigger: 'blur' }], +}; +const textLabel = ref(''); const confirm = () => { - if (!subscribeType.value) { - isError.value = true; - return; + (formRef?.value as any)?.validate((isValid: boolean, invalidFields: any) => { + if (!isValid) { + return; + } + emit('close'); + }); +}; +const typeChange = () => { + if (formData.value.subscribeType === '0') { + textLabel.value = '手机号'; + } else if (formData.value.subscribeType === '1') { + textLabel.value = '邮箱地址'; } - isError.value = false; - emit('close'); }; @@ -54,14 +70,10 @@ const confirm = () => { align-items: center; border-radius: 4px; background: #F2F5FC; - padding: 20px; + padding: 20px 32px 0; - >span { - margin-right: 20px; - color: #808080; - font-family: HarmonyOS Sans SC; - font-weight: regular; - font-size: 14px; + form { + width: 100%; } }