From bd66b55689b7d9eb4e0169606dc7488d2a845c10 Mon Sep 17 00:00:00 2001 From: hwj Date: Wed, 4 Feb 2026 17:03:58 +0800 Subject: [PATCH] =?UTF-8?q?style=EF=BC=9A=E5=8E=86=E5=8F=B2=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E6=9F=A5=E8=AF=A2-=E5=8E=86=E5=8F=B2=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=BC=B9=E6=A1=86-=E9=80=82=E9=85=8D=E6=96=B0?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=95=B0=E6=8D=AE=E6=A0=BC=E5=BC=8F=EF=BC=8C?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../historyData/HistorySingleDeviceDialog.vue | 45 ++++++++++++++++--- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/src/views/iot/historyData/HistorySingleDeviceDialog.vue b/src/views/iot/historyData/HistorySingleDeviceDialog.vue index 0faf03c8..8c50784e 100644 --- a/src/views/iot/historyData/HistorySingleDeviceDialog.vue +++ b/src/views/iot/historyData/HistorySingleDeviceDialog.vue @@ -54,6 +54,15 @@ v-for="col in section.columns" :key="col.prop" :prop="col.prop" :label="col.labe + @@ -106,7 +115,11 @@ const dialogTitle = computed(() => { return `${t('DataCollection.HistoryData.dialogTitlePrefix')}${name}` }) - +const queryParams = reactive({ + pageNo: 1, + pageSize: 10 +}) +const total = ref(0) const loading = ref(false) const recordGroups = ref([]) @@ -194,19 +207,36 @@ const buildSectionsFromGroups = (groups: Record): Section[] => { const fetchHistory = async () => { if (props.deviceId === undefined || props.deviceId === null || props.deviceId === '') { recordGroups.value = [] + total.value = 0 return } loading.value = true try { - const params: Parameters[0] = { deviceId: props.deviceId } + const params: any = { + deviceId: props.deviceId, + pageNo: queryParams.pageNo, + pageSize: queryParams.pageSize + } if (Array.isArray(collectionTimeRange.value) && collectionTimeRange.value.length === 2) { params.collectionStartTime = collectionTimeRange.value[0] params.collectionEndTime = collectionTimeRange.value[1] } const res: any = await DeviceApi.getHistoryRecord(params) - const list = res?.data?.data ?? res?.data ?? res - const records = Array.isArray(list) ? list : [] - recordGroups.value = records.map((item: any, index: number) => { + const responseData = res?.data?.data ?? res?.data ?? res + + let list: any[] = [] + if (responseData && Array.isArray(responseData.list)) { + list = responseData.list + total.value = responseData.total || 0 + } else if (Array.isArray(responseData)) { + list = responseData + total.value = 0 + } else { + list = [] + total.value = 0 + } + + recordGroups.value = list.map((item: any, index: number) => { const groups = toGroupMap(item) return { key: `${item?.collectTime ?? index}-${index}`, @@ -220,11 +250,14 @@ const fetchHistory = async () => { } const handleQuery = () => { + queryParams.pageNo = 1 fetchHistory() } const resetQuery = () => { collectionTimeRange.value = [] + queryParams.pageNo = 1 + queryParams.pageSize = 10 fetchHistory() } @@ -235,6 +268,8 @@ watch( return } collectionTimeRange.value = buildLastHoursRange(4) + queryParams.pageNo = 1 + queryParams.pageSize = 10 fetchHistory() } )