This commit is contained in:
zxr
2026-08-10 20:55:56 +08:00
parent 46559fe955
commit 87ec4dff70
3 changed files with 16 additions and 4 deletions

View File

@@ -18,6 +18,7 @@ export enum ReportType {
FAULT = 'fault', FAULT = 'fault',
SERVER = 'server', SERVER = 'server',
NETWORK_DEVICE = 'network_device', NETWORK_DEVICE = 'network_device',
OPERATIONS = 'operations',
EVIDENCE = 'evidence', EVIDENCE = 'evidence',
} }
@@ -32,7 +33,7 @@ export enum ReportStatus {
export interface ReportRecord { export interface ReportRecord {
id: number id: number
/** 列表接口可能含已下线类型字符串,仅六类可再次生成 */ /** 列表接口可能含已下线或自动生成的报表类型 */
report_type: ReportType | string report_type: ReportType | string
title: string title: string
description?: string description?: string

View File

@@ -79,6 +79,7 @@ const reportTypeLabel: Record<string, string> = {
fault: '故障报告', fault: '故障报告',
server: '服务器报告', server: '服务器报告',
network_device: '网络设备报告', network_device: '网络设备报告',
operations: '综合运维报告',
evidence: '证据导出', evidence: '证据导出',
} }
@@ -89,6 +90,7 @@ const pdfReportTypes = new Set([
ReportType.FAULT, ReportType.FAULT,
ReportType.SERVER, ReportType.SERVER,
ReportType.NETWORK_DEVICE, ReportType.NETWORK_DEVICE,
ReportType.OPERATIONS,
]) ])
const formModel = ref<{ const formModel = ref<{
@@ -118,6 +120,7 @@ const formItems = computed<FormItem[]>(() => [
{ value: ReportType.FAULT, label: reportTypeLabel.fault }, { value: ReportType.FAULT, label: reportTypeLabel.fault },
{ value: ReportType.SERVER, label: reportTypeLabel.server }, { value: ReportType.SERVER, label: reportTypeLabel.server },
{ value: ReportType.NETWORK_DEVICE, label: reportTypeLabel.network_device }, { value: ReportType.NETWORK_DEVICE, label: reportTypeLabel.network_device },
{ value: ReportType.OPERATIONS, label: reportTypeLabel.operations },
], ],
}, },
{ {

View File

@@ -22,8 +22,9 @@
<!-- 菜单树 --> <!-- 菜单树 -->
<a-spin :loading="loading" class="menu-tree-spin"> <a-spin :loading="loading" class="menu-tree-spin">
<div class="menu-tree-wrapper"> <div class="menu-tree-wrapper">
<a-result v-if="loadError" status="500" title="菜单加载失败" :subtitle="loadError" />
<MenuTree <MenuTree
v-if="rootItems.length > 0" v-else-if="rootItems.length > 0"
:nodes="rootItems" :nodes="rootItems"
:expanded-keys="expandedKeys" :expanded-keys="expandedKeys"
:selected-key="selectedNode?.id || null" :selected-key="selectedNode?.id || null"
@@ -95,6 +96,7 @@ import MenuForm from './components/MenuForm.vue'
// 状态管理 // 状态管理
const loading = ref(false) const loading = ref(false)
const loadError = ref('')
const menuItems = ref<MenuRouteRequest[]>([]) const menuItems = ref<MenuRouteRequest[]>([])
const expandedKeys = ref<Set<number>>(new Set()) const expandedKeys = ref<Set<number>>(new Set())
const selectedNode = ref<MenuNode | null>(null) const selectedNode = ref<MenuNode | null>(null)
@@ -121,11 +123,17 @@ const itemMap = computed(() => treeData.value.itemMap)
const loadMenuItems = async () => { const loadMenuItems = async () => {
try { try {
loading.value = true loading.value = true
loadError.value = ''
const res = await fetchMenu({ page: 1, size: 10000 }) const res = await fetchMenu({ page: 1, size: 10000 })
if (res?.code === 0) { if (res.code !== 0) {
menuItems.value = res.details?.data || [] loadError.value = res.message
Message.error(res.message)
return
} }
menuItems.value = res.details.data
} catch (error) { } catch (error) {
loadError.value = '菜单数据加载失败'
Message.error(loadError.value)
console.error('Failed to load menu items:', error) console.error('Failed to load menu items:', error)
} finally { } finally {
loading.value = false loading.value = false