可信代码库-智能匹配列表申请入库功能点击弹框提示

This commit is contained in:
付民康
2025-06-26 11:14:26 +08:00
parent 4242bd8cfe
commit efc1f38d61
4 changed files with 44 additions and 9 deletions

View File

@@ -163,7 +163,6 @@ const pager = ref({
const columns = ref([
{ key: 'softwareName', label: '软件名称', visible: true, filterable: true, sortable: false },
{ key: 'softwareVersion', label: '软件版本', visible: true, filterable: true, sortable: false },
{ key: 'trustScore', label: '软件可信评分', visible: true, filterable: false, sortable: true },
{ key: 'securityScore', label: '软件重要性评分', visible: true, filterable: false, sortable: true },
{ key: 'licenseNum', label: 'License数量', visible: true, filterable: false, sortable: false,width: 140 },
{ key: 'industryCategory', label: '行业类型', visible: true, filterable: true, sortable: false },

View File

@@ -105,7 +105,7 @@
<d-column header="操作" width="200" fixed-right="0px">
<!--TODO:申请入口只有校验不通过的才显示-->
<template #default="scope">
<d-button variant="text" v-if="scope.row.validStatus == 0" :disabled="scope.row.validStatus !== 0">
<d-button @click="showApplyDialog(scope.row)" variant="text" v-if="scope.row.validStatus == 0" :disabled="scope.row.validStatus !== 0">
申请入库
</d-button>
</template>
@@ -118,6 +118,19 @@
<NoData v-else :small="false"></NoData>
</div>
<!-- 新增申请入库提示弹窗 -->
<d-modal v-model="applyDialogVisible" title="申请入库提示" style="width: 400px">
<div class="text-G900 text-sm leading-[24px]">
如需提交治理申请请邮件联系平台运营团队<br>
<a class="text-blue-500 cursor-pointer" @click="openEmailClient">luoxunzhao@jyhlab.org.cn</a>
</div>
<template #footer>
<d-modal-footer style="text-align: right; padding-right: 20px;">
<d-button @click="hidden">取消</d-button>
<d-button @click="hidden">确认</d-button>
</d-modal-footer>
</template>
</d-modal>
<!-- 删除组件 -->
<GModal
v-model="deletevModels"
@@ -152,6 +165,27 @@ import { releasePage, repoImport } from '@/api/jyh';
import NoData from '@/components/NoData/NoData.vue';
import * as XLSX from 'xlsx';
const hidden = () => {
applyDialogVisible.value = false;
};
// 新增弹窗状态
const applyDialogVisible = ref(false);
// 显示申请入库提示弹窗
const showApplyDialog = (row: any) => {
applyDialogVisible.value = true;
};
// 打开邮件客户端
const openEmailClient = () => {
try {
window.location.href = 'mailto:luoxunzhao@jyhlab.org.cn';
} catch (error) {
Message.error('无法打开邮件客户端,请手动复制邮箱地址联系');
}
};
const downloadTemplate = async () => {
try {
const response = await fetch('/static/软件存在及可信校验模版.xlsx');

View File

@@ -112,19 +112,21 @@
<d-column v-if="column.visible" :field="column.key" :header="column.label" :width="column.width||120" show-overflow-tooltip>
<!-- 自定义列内容 -->
<template #default="scope">
<template v-if="column.key === 'versionName'">
<template v-if="column.key === 'softwareName'">
<a @click="gotoDetail(scope.row)">{{ scope.row.softwareName }}</a>
</template>
<template v-else-if="column.key === 'versionName'">
<a @click="gotoDetail(scope.row)">{{ scope.row.versionName }}</a>
</template>
<template v-else-if="column.key === 'version'">
<a @click="gotoDetail(scope.row)">{{ scope.row.version }}</a>
</template>
<template v-else-if="column.key === 'securityScore'">
<a @click="gotoDetail(scope.row)" style="
<!-- <a @click="gotoDetail(scope.row)" style="-->
<a style="
font-weight: bold;
color: #409EFF;
font-size: 16px;
text-decoration: underline;
cursor: pointer;
">{{ scope.row.securityScore }}</a>
</template>
<template v-else-if="column.key === 'releaseDate'">
@@ -296,7 +298,7 @@ const openDelete = (row: any) => {
const defultColumns = ref([
{ key: 'softwareName', label: '软件名称', visible: true, filterable: true, sortable: false },
{ key: 'softwareVersion', label: '软件版本', visible: true, filterable: true, sortable: false },
{ key: 'trustScore', label: '软件可信评分', visible: true, filterable: false, sortable: true },
// { key: 'trustScore', label: '软件可信评分', visible: true, filterable: false, sortable: true },
{ key: 'securityScore', label: '软件重要性评分', visible: true, filterable: false, sortable: true },
{ key: 'licenseNum', label: 'License数量', visible: true, filterable: false, sortable: false,width: 140 },
{ key: 'industryCategory', label: '行业类型', visible: true, filterable: true, sortable: false },
@@ -327,7 +329,7 @@ const defultColumns = ref([
const columns = ref([
{ key: 'softwareName', label: '软件名称', visible: true, filterable: true, sortable: false },
{ key: 'softwareVersion', label: '软件版本', visible: true, filterable: true, sortable: false },
{ key: 'trustScore', label: '软件可信评分', visible: true, filterable: false, sortable: true },
// { key: 'trustScore', label: '软件可信评分', visible: true, filterable: false, sortable: true },
{ key: 'securityScore', label: '软件重要性评分', visible: true, filterable: false, sortable: true },
{ key: 'licenseNum', label: 'License数量', visible: true, filterable: false, sortable: false,width: 140 },
{ key: 'industryCategory', label: '行业类型', visible: true, filterable: true, sortable: false },

View File

@@ -15,7 +15,7 @@
<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"
<span class="span1">可信评分</span><span class="span2"
style="
font-weight: bold;
color: #409EFF;