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