From 10bf8a7e8b3c291bb259fe8c696d19f90d89366c Mon Sep 17 00:00:00 2001 From: "zangch@mesnac.com" Date: Tue, 16 Sep 2025 17:11:32 +0800 Subject: [PATCH] =?UTF-8?q?feat(dms):=20=E8=AE=BE=E5=A4=87=E6=95=85?= =?UTF-8?q?=E9=9A=9C=E5=A4=84=E7=90=86=E8=AE=B0=E5=BD=95=E8=A1=A8=EF=BC=88?= =?UTF-8?q?=E8=AF=A6=E7=BB=86=E8=BF=BD=E6=BA=AF=EF=BC=89=E6=8A=A5=E8=A1=A8?= =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/dms/report/index.ts | 21 +++++ src/api/dms/report/types.ts | 29 ++++++ src/views/dms/report/index.vue | 163 +++++++++++++++++++++++++++++++++ 3 files changed, 213 insertions(+) create mode 100644 src/api/dms/report/index.ts create mode 100644 src/api/dms/report/types.ts create mode 100644 src/views/dms/report/index.vue diff --git a/src/api/dms/report/index.ts b/src/api/dms/report/index.ts new file mode 100644 index 0000000..fa9a30d --- /dev/null +++ b/src/api/dms/report/index.ts @@ -0,0 +1,21 @@ +// hwmom-ui/src/api/dms/report/faultTrace.ts +import request from '@/utils/request'; +import { FaultTraceQuery, FaultTraceVO } from './types'; + + +export function listFaultTrace(query: FaultTraceQuery) { + return request({ + url: '/dms/report/faultTrace/list', + method: 'get', + params: query, + }); +} + +export function exportFaultTrace(query: FaultTraceQuery) { + return request({ + url: '/dms/report/faultTrace/export', + method: 'post', + data: query, + responseType: 'blob', + }); +} \ No newline at end of file diff --git a/src/api/dms/report/types.ts b/src/api/dms/report/types.ts new file mode 100644 index 0000000..aeadfc4 --- /dev/null +++ b/src/api/dms/report/types.ts @@ -0,0 +1,29 @@ +export interface FaultTraceQuery { + pageNum?: number; + pageSize?: number; + startDate?: string; // 'YYYY-MM-DD' or ISO + endDate?: string; + deviceModeId?: number; + machineCode?: string; + faultType?: string; + machineId?: number; + params?: Record; + } + + export interface FaultTraceVO { + periodLabel: string; + periodStart: string; + deviceType: string; + machineCode: string; + faultTypeName: string; + faultCount: number; + totalDowntimeHours: number; + mtbfHours: number; + mttrMinutes: number; + outputLoss: number | null; + delayCount: number; + topCause: string; + topResolution: string; + topResolutionTime: string | null; + faultType?: string | number; + } diff --git a/src/views/dms/report/index.vue b/src/views/dms/report/index.vue new file mode 100644 index 0000000..5bf3d26 --- /dev/null +++ b/src/views/dms/report/index.vue @@ -0,0 +1,163 @@ + + +