* 'main' of https://git.1024tool.vip/zfc/guzhi:
  feat: 报告、证书下载功能
This commit is contained in:
Wei_佳 2025-11-25 11:04:17 +08:00
commit f6243a66a0

View File

@ -38,17 +38,25 @@ const props = defineProps({
const router = useRouter() const router = useRouter()
const loading = ref(false) const loading = ref(false)
const tableData = ref([...props.assetList]) const tableData = ref([...props.assetList])
function handleDownloadReport(item) { function handleDownloadReport(item) {
window.$message?.info('下载报告功能开发中') // window.$message?.info('')
if (item.certificate_download_urls && item.certificate_download_urls[0]) {
window.open(item.certificate_download_urls[0], '_blank')
} else {
window.$message?.error('报告下载链接不存在')
}
} }
function handleDownloadCertificate(item) { function handleDownloadCertificate(item) {
window.$message?.info('下载证书功能开发中') // window.$message?.info('')
if (item.report_download_urls && item.report_download_urls[0]) {
window.open(item.report_download_urls[0], '_blank')
} else {
window.$message?.error('证书下载链接不存在')
}
} }
function formatDate(dateStr) { function formatDate(dateStr) {
@ -71,7 +79,7 @@ const pagination = reactive({
pagination.pageSize = pageSize pagination.pageSize = pageSize
pagination.page = 1 pagination.page = 1
fetchHistory() fetchHistory()
} },
}) })
const columns = [ const columns = [
@ -81,7 +89,7 @@ const columns = [
width: 80, width: 80,
align: 'center', align: 'center',
titleAlign: 'center', titleAlign: 'center',
render: (_, index) => (pagination.page - 1) * pagination.pageSize + index + 1 render: (_, index) => (pagination.page - 1) * pagination.pageSize + index + 1,
}, },
{ {
title: '资产名称', title: '资产名称',
@ -90,19 +98,20 @@ const columns = [
ellipsis: true, ellipsis: true,
align: 'center', align: 'center',
titleAlign: 'center', titleAlign: 'center',
render: (row) => h( render: (row) =>
'div', h(
{ 'div',
class: 'asset-name-link', {
onClick: () => { class: 'asset-name-link',
router.push({ onClick: () => {
path: '/pages', router.push({
query: { id: row.id } path: '/pages',
}) query: { id: row.id },
} })
}, },
row.asset_name || row.name || '未知资产' },
), row.asset_name || row.name || '未知资产'
),
}, },
{ {
title: '评估时间', title: '评估时间',
@ -161,9 +170,9 @@ const rowKey = (row) => row.id ?? row.asset_name ?? row.name
async function fetchHistory() { async function fetchHistory() {
loading.value = true loading.value = true
try { try {
const res = await api.getHistoryList({ const res = await api.getHistoryList({
page: pagination.page, page: pagination.page,
page_size: pagination.pageSize page_size: pagination.pageSize,
}) })
const list = res?.data?.items ?? res?.data?.results ?? res?.results ?? [] const list = res?.data?.items ?? res?.data?.results ?? res?.results ?? []
tableData.value = Array.isArray(list) ? list : [] tableData.value = Array.isArray(list) ? list : []
@ -217,7 +226,7 @@ onMounted(fetchHistory)
:deep(.asset-name-link) { :deep(.asset-name-link) {
cursor: pointer; cursor: pointer;
color: #A30113; color: #a30113;
font-weight: 500; font-weight: 500;
transition: all 0.3s; transition: all 0.3s;
} }