Merge branch 'master' of https://gitcode.com/hk_openRepo/OpenRepo_Portal into dev-shenjianbin
This commit is contained in:
@@ -34,9 +34,9 @@
|
||||
<d-table ref="table" :data="baseTreeTableData1" >
|
||||
<d-column width="20px" type="index">
|
||||
</d-column>
|
||||
<d-column field="name" header="组件版本名称" show-overflow-tooltip></d-column>
|
||||
<d-column field="name" header="软件版本名称" show-overflow-tooltip></d-column>
|
||||
<d-column field="groupid" header="groupid"></d-column>
|
||||
<d-column field="code" filterable :filter-list="filterList" @filter-change="handleFilterChange" header="组件编号">
|
||||
<d-column field="code" filterable :filter-list="filterList" @filter-change="handleFilterChange" header="软件编号">
|
||||
<template #default="scope">
|
||||
<a class="devui-link" @click="showDetail = true">{{ scope.row.code }}</a>
|
||||
</template>
|
||||
@@ -44,7 +44,7 @@
|
||||
<d-column field="packageName" filterable :filter-list="packageFilterList" @filter-change="handleFilterChange" header="packageName"></d-column>
|
||||
<d-column field="version" filterable :filter-list="versionFilterList" @filter-change="handleFilterChange" header="version"></d-column>
|
||||
<d-column field="language" filterable :filter-list="languageFilterList" @filter-change="handleFilterChange" header="编程语言"></d-column>
|
||||
<d-column field="number" header="组件漏洞数量">
|
||||
<d-column field="number" header="软件漏洞数量">
|
||||
<template #default="scope">
|
||||
<a class="devui-link" @click="showDetail = true">{{ scope.row.number }}</a>
|
||||
</template>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="flex align-center justify-start">
|
||||
<d-search icon-position="left" style="width: 380px" placeholder="请输入搜索组件名称"></d-search>
|
||||
<d-checkbox class="ml-10" label="只显示有漏洞的组件" :isShowTitle="false" v-model="checked" />
|
||||
<d-search icon-position="left" style="width: 380px" placeholder="请输入搜索软件名称"></d-search>
|
||||
<d-checkbox class="ml-10" label="只显示有漏洞的软件" :isShowTitle="false" v-model="checked" />
|
||||
</div>
|
||||
<Card simple class="jyh-card mt-3">
|
||||
<div class="clear-padding">
|
||||
|
||||
@@ -157,12 +157,12 @@
|
||||
|
||||
<Card simple class="jyh-card mb-4">
|
||||
<div class="card-title">网络安全</div>
|
||||
<d-row class="mb-3">
|
||||
<d-col :span="24">
|
||||
<span class="card-key width-160">软件评分</span>
|
||||
<span class="card-val">{{ ReleaseInfo.networkSecurity.softwareRating || '--' }}</span>
|
||||
</d-col>
|
||||
</d-row>
|
||||
<!-- <d-row class="mb-3">-->
|
||||
<!-- <d-col :span="24">-->
|
||||
<!-- <span class="card-key width-160">软件评分</span>-->
|
||||
<!-- <span class="card-val">{{ ReleaseInfo.networkSecurity.softwareRating || '--' }}</span>-->
|
||||
<!-- </d-col>-->
|
||||
<!-- </d-row>-->
|
||||
<d-row class="mb-3">
|
||||
<d-col :span="24">
|
||||
<span class="card-key width-160">社区安全问题求助</span>
|
||||
@@ -289,12 +289,12 @@
|
||||
<script setup lang="ts">
|
||||
|
||||
import { ref, defineEmits, onMounted,reactive } from 'vue';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
import { discussDetailType, userInfoType } from '@/api/discussion/types';
|
||||
import { Message } from 'vue-devui/message';
|
||||
import { useClipboard } from '@vueuse/core/index';
|
||||
import { releaseInfo } from '@/api/jyh';
|
||||
|
||||
const route = useRoute();
|
||||
const emits = defineEmits(['changeTabs']);
|
||||
|
||||
// 触发事件的方法
|
||||
@@ -340,15 +340,18 @@ const handleCopy = event => {
|
||||
};
|
||||
|
||||
|
||||
const getReleaseInfo = async() => {
|
||||
const { data, error } = await releaseInfo({ repoId: '123',releaseId: '123' });
|
||||
const getReleaseInfo = async(versionId) => {
|
||||
const { data, error } = await releaseInfo({ softwareId: versionId });
|
||||
if (!error && data) {
|
||||
ReleaseInfo.value = data.data;
|
||||
}
|
||||
};
|
||||
|
||||
onMounted(async() => {
|
||||
getReleaseInfo();
|
||||
onMounted(() => {
|
||||
const versionId = route.params.versionId; // 获取路由参数 versionId
|
||||
if (versionId) {
|
||||
getReleaseInfo(versionId); // 调用接口获取数据
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
@@ -9,14 +9,16 @@
|
||||
<div class="header-top">
|
||||
<GAvatar style="margin-right: 12px" :src="avatarUrl" name="Vue" :width="40" :height="40"></GAvatar>
|
||||
<div>
|
||||
<div class="header-title1">{{ softwareData.name }}</div>
|
||||
<div class="header-title1">{{ ReleaseInfo.basicInfo.softwareName || '--' }}</div>
|
||||
<div class="header-div">
|
||||
<span class="span1">版本:</span><span class="span2">{{ softwareData.version }}</span>
|
||||
<span class="span1">版本:</span><span class="span2">{{ ReleaseInfo.basicInfo.softwareVersion || '--' }}</span>
|
||||
<span class="split"></span>
|
||||
<!-- <span class="span1">生命周期状态:</span><span class="span2">{{ softwareData.lifecycle }}</span>-->
|
||||
<!-- <span class="split"></span>-->
|
||||
<span class="span1">软件评分:</span><span class="span2">{{ ReleaseInfo.networkSecurity.softwareRating || '--' }}</span>
|
||||
<span class="split"></span>
|
||||
<span class="span1">集成风险:</span>
|
||||
<d-tag color="#F6933B">{{ softwareData.risk }}</d-tag>
|
||||
<d-tag color="#F6933B">{{ ReleaseInfo.referenceInfo.integrationRisk || '--' }}</d-tag>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fr">
|
||||
@@ -35,11 +37,11 @@
|
||||
<d-tabs class="jyh-tabs jyh-tabs-2" type="wrapped" v-model="selectTab">
|
||||
<d-tab id="bbxx" title="版本信息"></d-tab>
|
||||
<d-tab id="ylgx" title="依赖关系"></d-tab>
|
||||
<d-tab id="ldxx" title="漏洞信息"></d-tab>
|
||||
<d-tab id="SBOM" title="SBOM"></d-tab>
|
||||
<d-tab id="communityInfo" title="开发者社区信息"></d-tab>
|
||||
<d-tab id="ldxx" title="漏洞信息"></d-tab>
|
||||
<d-tab id="ai" title="AI修复建议"></d-tab>
|
||||
<d-tab id="licenseInfo" title="许可证信息"></d-tab>
|
||||
<d-tab id="communityInfo" title="开发者社区信息"></d-tab>
|
||||
</d-tabs>
|
||||
</div>
|
||||
<div class="version-detail-content">
|
||||
@@ -55,7 +57,7 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, watch } from 'vue';
|
||||
import { ref, reactive, watch, onMounted } from 'vue';
|
||||
import { useRouter, useRoute } from 'vue-router';
|
||||
import { getOrgInfo } from '@/views/Org/hooks/orgInfo';
|
||||
import VulnerabilitiesList from './VulnerabilitiesList.vue';
|
||||
@@ -69,6 +71,7 @@ const { namespace } = getOrgInfo();
|
||||
const route = useRoute(); // 获取路由对象
|
||||
const avatarUrl = '/src/assets/imgs/jyh/工程首字母图标.png';
|
||||
import SubscriptionModal from '@/views/Jyh/Version/Detail/SubscriptionModal.vue';
|
||||
import { releaseInfo } from '@/api/jyh';
|
||||
|
||||
const selectTab = ref('bbxx');
|
||||
|
||||
@@ -76,6 +79,28 @@ const selectTab = ref('bbxx');
|
||||
const item = ref('');
|
||||
const deleteModal = ref();
|
||||
const deletevModels = ref(false);
|
||||
const ReleaseInfo = ref({
|
||||
basicInfo: {},
|
||||
copyRightReportList: [],
|
||||
entityList: [],
|
||||
networkSecurity: {},
|
||||
openSourceLicenseList: [],
|
||||
referenceInfo: {},
|
||||
});
|
||||
|
||||
const getReleaseInfo = async(versionId) => {
|
||||
const { data, error } = await releaseInfo({ softwareId: versionId });
|
||||
if (!error && data) {
|
||||
ReleaseInfo.value = data.data;
|
||||
}
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
const versionId = route.params.versionId; // 获取路由参数 versionId
|
||||
if (versionId) {
|
||||
getReleaseInfo(versionId); // 调用接口获取数据
|
||||
}
|
||||
});
|
||||
|
||||
// 监听路由的 query.tab 变化
|
||||
watch(
|
||||
|
||||
Reference in New Issue
Block a user