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() } )