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