diff --git a/frontend/src/api/collect-log.ts b/frontend/src/api/collect-log.ts index a68a03e..8b43d71 100644 --- a/frontend/src/api/collect-log.ts +++ b/frontend/src/api/collect-log.ts @@ -31,9 +31,15 @@ export interface CollectCycle { export interface CollectRaw { id: number - logTime: string - sourceAddress?: string - contentPreview?: string + collectAddressId: number + requestTime: string + responseTime: string + responseDuration?: number | null + isSuccess: number + statusCode?: number | null + rawJson?: string + errorMessage?: string + createdAt: string } // --- 公开的 API 封装 --- @@ -91,4 +97,9 @@ export function fetchRawList(params?: { ) } +// 获取原始日志详情 +export function fetchRawDetail(id: number) { + return request.get(`/admin/collect-log/raw/${id}`) +} + export default {} diff --git a/frontend/src/views/collect-log/CollectLogPage.vue b/frontend/src/views/collect-log/CollectLogPage.vue index 51c3505..3b25fa6 100644 --- a/frontend/src/views/collect-log/CollectLogPage.vue +++ b/frontend/src/views/collect-log/CollectLogPage.vue @@ -132,6 +132,25 @@ background layout="total, sizes, prev, pager, next, jumper" /> + + + + + {{ cycleDetailRow.cycleTime }} + {{ cycleDetailRow.addressName || cycleDetailRow.collectAddressId }} + {{ cycleDetailRow.totalMachines }} + {{ cycleDetailRow.successCount }} + {{ cycleDetailRow.failCount }} + + {{ cycleDetailRow.hasAnomaly ? '有异常' : '无异常' }} + + {{ cycleDetailRow.changeDistribution || '无' }} + {{ cycleDetailRow.cycleSummary || '无' }} + + + @@ -153,9 +172,20 @@ - - - + + + + + + + + + + + + + + + {{ rawDetail.id }} + {{ rawDetail.collectAddressId }} + {{ rawDetail.requestTime }} + {{ rawDetail.responseTime }} + {{ rawDetail.responseDuration }} ms + {{ rawDetail.statusCode }} + + {{ rawDetail.isSuccess ? '成功' : '失败' }} + + {{ rawDetail.createdAt }} + {{ rawDetail.errorMessage || '无' }} + +
+
原始JSON:
+ +
+ +
@@ -301,10 +355,13 @@ function resetCycle() { } function viewCycle(row: CollectCycle) { - // 仅演示用:打开一个简单的提示信息 - ElMessage.info(`周期 ${row.cycleTime} 区间分析完成,共 ${row.totalMachines} 台机床`) + cycleDetailRow.value = row + cycleDetailVisible.value = true } +const cycleDetailRow = ref(null) +const cycleDetailVisible = ref(false) + watch(() => cyclePage.page + cyclePage.pageSize, loadCycles) // 初始加载周期数据 onMounted(() => { @@ -320,7 +377,28 @@ const rawList = ref([]) const rawLoading = ref(false) const rawPage = reactive({ page: 1, pageSize: 20, total: 0 }) const rawQuery = reactive({ dateRange: null as string[] | null, addressId: undefined as number | undefined }) -const rawURLList = ref([]) +const rawDetailVisible = ref(false) +const rawDetail = ref(null) + +async function viewRawDetail(row: CollectRaw) { + rawDetailVisible.value = true + rawDetail.value = null + try { + const res = await request.get(`/admin/collect-log/raw/${row.id}`) + rawDetail.value = res.data as CollectRaw + } catch { + rawDetail.value = row + } +} + +function formatJson(json: string | undefined | null): string { + if (!json) return '' + try { + return JSON.stringify(JSON.parse(json), null, 2) + } catch { + return json + } +} async function loadRaw() { rawLoading.value = true @@ -345,6 +423,8 @@ function resetRaw() { loadRaw() } +watch(() => [rawPage.page, rawPage.pageSize], () => loadRaw()) + onMounted(() => { loadRaw() }) @@ -376,8 +456,6 @@ async function loadMachines() { } // -------------- Helpers -------------- -// 为模板暴露 tag/label 映射 -