一些issue修复
This commit is contained in:
@@ -43,7 +43,7 @@
|
|||||||
<template #append>
|
<template #append>
|
||||||
<div id="advancedSearch close-isopen" class="advanced-search" @click="openAdvancedSearch">
|
<div id="advancedSearch close-isopen" class="advanced-search" @click="openAdvancedSearch">
|
||||||
<span class="close-isopen">高级筛选</span>
|
<span class="close-isopen">高级筛选</span>
|
||||||
<d-badge :count="6" :bg-color="'#f0f0f0'" class="close-isopen"></d-badge>
|
<!-- <d-badge :count="6" :bg-color="'#f0f0f0'" class="close-isopen"></d-badge>-->
|
||||||
<d-icon class="close-isopen" :rotate="rotate" name="icon-chevron-down-2"></d-icon>
|
<d-icon class="close-isopen" :rotate="rotate" name="icon-chevron-down-2"></d-icon>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<span class="yellow" @click="filterVerifyResult(0)">{{ noNum }}</span>
|
<span class="yellow" @click="filterVerifyResult(0)">{{ noNum }}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="left-btn">
|
<div class="left-btn">
|
||||||
<a v-if="isLogin" class="cursor-pointer" href="/static/软件存在及可信校验模版.xlsx" download
|
<a v-if="isLogin" class="cursor-pointer" href="/file/软件存在及可信校验模版.xlsx" download
|
||||||
><i class="icon icon-download-2"></i>下载excel模板</a
|
><i class="icon icon-download-2"></i>下载excel模板</a
|
||||||
>
|
>
|
||||||
<span v-if="isLogin" style="height: 14px" class="split"></span>
|
<span v-if="isLogin" style="height: 14px" class="split"></span>
|
||||||
@@ -148,6 +148,25 @@ import { releasePage, repoImport } from '@/api/jyh';
|
|||||||
import NoData from '@/components/NoData/NoData.vue';
|
import NoData from '@/components/NoData/NoData.vue';
|
||||||
import * as XLSX from 'xlsx';
|
import * as XLSX from 'xlsx';
|
||||||
|
|
||||||
|
const downloadTemplate = async () => {
|
||||||
|
try {
|
||||||
|
const response = await fetch('/static/软件存在及可信校验模版.xlsx');
|
||||||
|
const blob = await response.blob();
|
||||||
|
const url = window.URL.createObjectURL(blob);
|
||||||
|
|
||||||
|
const a = document.createElement('a');
|
||||||
|
a.href = url;
|
||||||
|
a.download = '软件存在及可信校验模版.xlsx';
|
||||||
|
document.body.appendChild(a);
|
||||||
|
a.click();
|
||||||
|
|
||||||
|
window.URL.revokeObjectURL(url);
|
||||||
|
document.body.removeChild(a);
|
||||||
|
} catch (error) {
|
||||||
|
console.error('下载失败:', error);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
const useNum = computed(() => {
|
const useNum = computed(() => {
|
||||||
if (tableData.value.length > 0) {
|
if (tableData.value.length > 0) {
|
||||||
return tableData.value.filter((item) => item.validStatus === 1).length;
|
return tableData.value.filter((item) => item.validStatus === 1).length;
|
||||||
@@ -174,7 +193,14 @@ const noNum = computed(() => {
|
|||||||
|
|
||||||
// 处理文件上传
|
// 处理文件上传
|
||||||
const handleFileUpload = async (file) => {
|
const handleFileUpload = async (file) => {
|
||||||
console.log('选择的文件:', file.name);
|
// 1. 校验文件类型
|
||||||
|
const allowedExtensions = ['.xlsx'];
|
||||||
|
const fileExtension = file.name.slice(file.name.lastIndexOf('.')).toLowerCase();
|
||||||
|
|
||||||
|
if (!allowedExtensions.includes(fileExtension)) {
|
||||||
|
Message.error('仅支持上传 .xlsx 格式的Excel文件');
|
||||||
|
return Promise.reject(new Error('文件格式不正确'));
|
||||||
|
}
|
||||||
|
|
||||||
const { data, error } = await repoImport({ file });
|
const { data, error } = await repoImport({ file });
|
||||||
if (!error && data) {
|
if (!error && data) {
|
||||||
|
|||||||
@@ -9,26 +9,26 @@
|
|||||||
<!-- <span>安全漏洞:</span>
|
<!-- <span>安全漏洞:</span>
|
||||||
<span class="val">{{props.selectRow.component.confidence || 'low'}}</span> -->
|
<span class="val">{{props.selectRow.component.confidence || 'low'}}</span> -->
|
||||||
<!-- <span class="split"></span> -->
|
<!-- <span class="split"></span> -->
|
||||||
<span>许可证</span>
|
<!-- <span>许可证</span>-->
|
||||||
<d-tag color="#3ac295" size="sm" class="ml-2">{{props.selectRow.component.licenseName || '--'}}</d-tag>
|
<!-- <d-tag color="#3ac295" size="sm" class="ml-2">{{props.selectRow.component.licenseName || '--'}}</d-tag>-->
|
||||||
</div>
|
</div>
|
||||||
</d-header>
|
</d-header>
|
||||||
<div class="card-box">
|
<!-- <div class="card-box">-->
|
||||||
<div class="card-body">
|
<!-- <div class="card-body">-->
|
||||||
<d-row :gutter="10">
|
<!-- <d-row :gutter="10">-->
|
||||||
<d-col :span="24" class="flex">
|
<!-- <d-col :span="24" class="flex">-->
|
||||||
<label style="flex: 0.2">简介</label>
|
<!-- <label style="flex: 0.2">简介</label>-->
|
||||||
<p>{{props.selectRow.component.libraryName || '--'}}</p>
|
<!-- <p>{{props.selectRow.component.libraryName || '--'}}</p>-->
|
||||||
</d-col>
|
<!-- </d-col>-->
|
||||||
</d-row>
|
<!-- </d-row>-->
|
||||||
<!-- <d-row :gutter="10">
|
<!-- <!– <d-row :gutter="10">-->
|
||||||
<d-col :span="24" class="flex">
|
<!-- <d-col :span="24" class="flex">-->
|
||||||
<label style="flex: 0.2">关联漏洞编号</label>
|
<!-- <label style="flex: 0.2">关联漏洞编号</label>-->
|
||||||
<p>{{props.selectRow.component.cveId || `cve-2025-${randomNum()}`}}</p>
|
<!-- <p>{{props.selectRow.component.cveId || `cve-2025-${randomNum()}`}}</p>-->
|
||||||
</d-col>
|
<!-- </d-col>-->
|
||||||
</d-row> -->
|
<!-- </d-row> –>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="card-box">
|
<div class="card-box">
|
||||||
<div class="card-header">组件详情</div>
|
<div class="card-header">组件详情</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|||||||
Reference in New Issue
Block a user