style:历史记录查询-历史记录弹框-适配新接口数据格式,添加分页

main^2
黄伟杰 6 hours ago
parent 99511a6acb
commit bd66b55689

@ -54,6 +54,15 @@ v-for="col in section.columns" :key="col.prop" :prop="col.prop" :label="col.labe
<el-empty v-else :description="t('DataCollection.HistoryData.emptyDescription')" />
</ContentWrap>
</div>
<template #footer>
<Pagination
v-if="total > 0"
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="fetchHistory"
/>
</template>
</Dialog>
</template>
@ -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<RecordGroup[]>([])
@ -194,19 +207,36 @@ const buildSectionsFromGroups = (groups: Record<string, any[]>): 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<typeof DeviceApi.getHistoryRecord>[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()
}
)

Loading…
Cancel
Save