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

View File

@@ -79,6 +79,7 @@ const reportTypeLabel: Record<string, string> = {
fault: '故障报告',
server: '服务器报告',
network_device: '网络设备报告',
operations: '综合运维报告',
evidence: '证据导出',
}
@@ -89,6 +90,7 @@ const pdfReportTypes = new Set([
ReportType.FAULT,
ReportType.SERVER,
ReportType.NETWORK_DEVICE,
ReportType.OPERATIONS,
])
const formModel = ref<{
@@ -118,6 +120,7 @@ const formItems = computed<FormItem[]>(() => [
{ value: ReportType.FAULT, label: reportTypeLabel.fault },
{ value: ReportType.SERVER, label: reportTypeLabel.server },
{ 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">
<div class="menu-tree-wrapper">
<a-result v-if="loadError" status="500" title="菜单加载失败" :subtitle="loadError" />
<MenuTree
v-if="rootItems.length > 0"
v-else-if="rootItems.length > 0"
:nodes="rootItems"
:expanded-keys="expandedKeys"
:selected-key="selectedNode?.id || null"
@@ -95,6 +96,7 @@ import MenuForm from './components/MenuForm.vue'
// 状态管理
const loading = ref(false)
const loadError = ref('')
const menuItems = ref<MenuRouteRequest[]>([])
const expandedKeys = ref<Set<number>>(new Set())
const selectedNode = ref<MenuNode | null>(null)
@@ -121,11 +123,17 @@ const itemMap = computed(() => treeData.value.itemMap)
const loadMenuItems = async () => {
try {
loading.value = true
loadError.value = ''
const res = await fetchMenu({ page: 1, size: 10000 })
if (res?.code === 0) {
menuItems.value = res.details?.data || []
if (res.code !== 0) {
loadError.value = res.message
Message.error(res.message)
return
}
menuItems.value = res.details.data
} catch (error) {
loadError.value = '菜单数据加载失败'
Message.error(loadError.value)
console.error('Failed to load menu items:', error)
} finally {
loading.value = false