import type { VxeGridProps } from '#/adapter/vxe-table'; import { computed } from 'vue'; import dayjs from 'dayjs'; import { $t } from '#/locales'; import { getSelectResultList } from '#/api-client'; export const querySchema = computed(() => [ { component: 'ApiSelect', fieldName: 'SystemName', label: $t('abp.IoTDBBase.SystemName'), componentProps: { api: getSelectResultList, params: { query: { TypeName: 'BusinessSystemEnum', }, }, labelField: 'secondValue', valueField: 'value', optionsPropName: 'options', immediate: true, afterFetch: (res: any) => { console.log('ApiSelect afterFetch result:', res); // 确保返回的是数组格式 if (Array.isArray(res)) { return res; } // 如果是包装在 items 中的,提取出来 if (res && Array.isArray(res.items)) { return res.items; } // 如果是包装在 data 中的,提取出来 if (res && Array.isArray(res.data)) { return res.data; } // 如果都不是,返回空数组 return []; }, }, }, { component: 'Input', fieldName: 'FocusAddress', label: $t('abp.focus.focusAddress'), }, ]); export const tableSchema: any = computed((): VxeGridProps['columns'] => [ { title: $t('common.seq'), type: 'seq', width: 50 }, { field: 'Timestamps', title: $t('abp.IoTDBBase.Timestamps'), minWidth: '150', }, { field: 'SystemName', title: $t('abp.IoTDBBase.SystemName'), minWidth: '150' }, { field: 'ProjectId', title: $t('abp.IoTDBBase.ProjectId'), minWidth: '150', } , { field: 'DeviceType', title: $t('abp.IoTDBBase.DeviceType'), minWidth: '150', }, { field: 'IoTDataType', title: $t('abp.IoTDBBase.IoTDataType'), minWidth: '150', } , { field: 'DeviceId', title: $t('abp.IoTDBBase.DeviceId'), minWidth: '150', } ]);