config.ts
2.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import moment from 'moment';
import { findDictItemByCode } from '/@/api/system/dict';
import { BasicColumn, FormSchema } from '/@/components/Table';
import { EventTypeColor } from '/@/views/device/list/cpns/tabs/EventManage/config';
import { Tag } from 'ant-design-vue';
import { h } from 'vue';
import { formatToDateTime } from '/@/utils/dateUtil';
import { useI18n } from '/@/hooks/web/useI18n';
import { ObjectEventTypeEnum, ObjectEventTypeNameEnum } from '/@/enums/objectModelEnum';
const { t } = useI18n();
// 表格配置
export const columns: BasicColumn[] = [
{
title: t('common.timeText'),
dataIndex: 'eventTime',
format(text) {
return formatToDateTime(text, 'YYYY-MM-DD HH:mm:ss');
},
},
{
title: t('deviceManagement.product.identifierText'),
dataIndex: 'eventIdentifier',
},
{
title: t('deviceManagement.device.eventNameText'),
dataIndex: 'eventName',
},
{
title: t('deviceManagement.product.eventTypeText'),
dataIndex: 'eventType',
customRender({ text }) {
return h(
Tag,
{
color: EventTypeColor[text as ObjectEventTypeEnum],
},
() => t(ObjectEventTypeNameEnum[text as ObjectEventTypeEnum])
);
},
},
{
title: t('deviceManagement.product.outputDataText'),
dataIndex: 'outputParams',
slots: { customRender: 'outputParams' },
},
];
export const formSchemas: FormSchema[] = [
{
field: 'eventIdentifier',
label: t('deviceManagement.product.identifierText'),
component: 'Input',
componentProps: {
placeholder: t('common.inputText') + t('deviceManagement.product.identifierText'),
},
colProps: { span: 6 },
},
{
field: 'eventType',
label: t('deviceManagement.product.eventTypeText'),
component: 'ApiSelect',
componentProps: {
placeholder: t('common.chooseText') + t('deviceManagement.product.eventTypeText'),
api: findDictItemByCode,
params: {
dictCode: 'event_type',
},
labelField: 'itemText',
valueField: 'itemValue',
},
colProps: { span: 6 },
},
{
field: 'dateRange',
label: t('business.dateRangeText'),
component: 'RangePicker',
componentProps: {
showTime: {
defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')],
},
},
colProps: { span: 10 },
},
];