Files
Situation-Awareness-Platfor…/src/views/Jyh/Version/Detail/SBOM.vue

109 lines
2.6 KiB
Vue
Raw Normal View History

2025-03-15 12:37:16 +08:00
<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" />
2025-03-15 12:37:16 +08:00
</div>
<Card simple class="jyh-card mt-3">
<div class="clear-padding">
<d-table :indent="32" @check-change="treeCheckChange" :data="baseTreeTableData1" row-key="id">
2025-03-15 17:33:05 +08:00
<d-column field="firstName" header="组织名称" show-overflow-tooltip>
<template #default="scope">
<a class="devui-link" @click="showDetail = true">{{ scope.row.firstName }}</a>
</template>
</d-column>
2025-03-15 12:37:16 +08:00
<d-column field="lastName" header="版本"></d-column>
</d-table>
</div>
</Card>
2025-03-15 17:33:05 +08:00
<d-drawer v-model="showDetail" style="width: 800px; padding: 20px">
<SBOMDetail @close="showDetail = false" />
</d-drawer>
2025-03-15 12:37:16 +08:00
</template>
<script setup lang="ts">
2025-03-19 13:04:13 +08:00
import { ref, reactive, onMounted } from 'vue';
2025-03-15 17:33:05 +08:00
import SBOMDetail from './SBOMDetail.vue';
2025-03-19 13:04:13 +08:00
import { dependencyTree } from '@/api/jyh';
import { useRoute } from 'vue-router';
2025-03-15 12:37:16 +08:00
const checked = ref(false);
2025-03-19 13:04:13 +08:00
const route = useRoute(); // 获取路由对象
2025-03-15 17:33:05 +08:00
const showDetail = ref(false);
2025-03-15 12:37:16 +08:00
const baseTreeTableData1 = ref([
{
id: '1',
firstName: 'openssl',
lastName: 'N.A.',
children: [
{
id: '2',
firstName: 'ssl',
lastName: 'N.A.',
children: [
{
id: '3',
firstName: 'ssl',
lastName: 'N.A.'
},
{
id: '4',
firstName: 'crypto',
lastName: 'N.A.'
}
]
}
]
},
{
id: '5',
firstName: 'Text-Template-1.56',
lastName: 'N.A.',
children: [
{
id: '6',
firstName: 'ssl',
lastName: 'N.A.',
children: [
{
id: '7',
firstName: 'ssl',
lastName: 'N.A.'
},
{
id: '8',
firstName: 'crypto',
lastName: 'N.A.'
}
]
}
]
},
{
id: '9',
firstName: 'Text-Template-1.56',
lastName: 'N.A.'
}
]);
const treeCheckChange = (val, row, selection) => {
console.log('treeCheckChange', selection);
};
2025-03-19 13:04:13 +08:00
onMounted(async () => {
await dependencyTree(Number(route.params.versionId));
});
2025-03-15 12:37:16 +08:00
</script>
<style scoped lang="scss">
.clear-padding {
margin: -16px -20px;
}
:deep(.devui-table__cell) {
display: flex;
align-items: center;
.devui-table__tree-operate {
transform: translateY(-3px);
}
}
</style>