iot-ui-vue/src/views/DataCollect/Collector/data.ts

206 lines
4.6 KiB
TypeScript

export const colorMap = new Map();
colorMap.set('running', 'success');
colorMap.set('partialError', 'warning');
colorMap.set('failed', 'error');
colorMap.set('stopped', 'default');
colorMap.set('processing', '#cccccc');
export const getState = (record: any) => {
const enabled = record?.state?.value === 'enabled';
if (record) {
return {
value: enabled ? record?.runningState?.value : 'processing',
text: enabled ? record?.runningState?.text : '禁用',
};
} else {
return {};
}
};
export const regOnlyNumber = new RegExp(/^\d+$/);
export const checkProviderData = {
int8: 1,
int16: 2,
int32: 4,
int64: 8,
ieee754_float: 4,
ieee754_double: 8,
hex: 1,
};
export const ModBusRules = {
name: [
{
required: true,
message: '请输入点位名称',
},
{
max: 64,
message: '最多可输入64个字符',
},
],
function: [
{
required: true,
message: '请选择功能码',
},
],
pointKey: [
{
required: true,
message: '请输入地址',
},
{
pattern: regOnlyNumber,
message: '请输入0-255之间的正整数',
},
],
quantity: [
{
required: true,
message: '请输入寄存器数量',
},
{
pattern: regOnlyNumber,
message: '请输入1-255之间的正整数',
},
],
provider: [
{
required: true,
message: '请选择数据类型',
},
],
scaleFactor: [
{
required: true,
message: '请输入缩放因子',
},
],
accessModes: [
{
required: true,
message: '请选择访问类型',
},
],
writeByteCount: [
{
required: true,
message: '请选择是否写入数据区长度',
},
],
byteCount: [
{
required: true,
message: '请输入自定义数据区长度(byte)',
},
],
interval: [
{
required: true,
message: '请输入采集频率',
},
{
pattern: regOnlyNumber,
message: '请输入0或者正整数',
},
],
description: [{ max: 200, message: '最多可输入200个字符' }],
};
export const OPCUARules = {
name: [
{
required: true,
message: '请输入点位名称',
},
{
max: 64,
message: '最多可输入64个字符',
},
],
type: [
{
required: true,
message: '请选择数据类型',
},
],
accessModes: [
{
required: true,
message: '请选择访问类型',
},
],
interval: [
{
required: true,
message: '请输入采集频率',
},
{
pattern: regOnlyNumber,
message: '请输入0或者正整数',
},
],
description: [{ max: 200, message: '最多可输入200个字符' }],
};
export const LeftTreeRules = {
channelId: [{ required: true, message: '请选择所属通道', trigger: 'blur' }],
name: [
{ required: true, message: '请输入采集器名称', trigger: 'blur' },
{ max: 64, message: '最多可输入64个字符' },
],
unitId: [
{ required: true, message: '请输入从机地址', trigger: 'blur' },
{
pattern: regOnlyNumber,
message: '请输入0-255之间的正整数',
},
],
type: [{ required: true, message: '请选择处理方式', trigger: 'blur' }],
endian: [{ required: true, message: '请选择高低位切换', trigger: 'blur' }],
};
export const FormTableColumns = [
{
title: '名称',
dataIndex: 'name',
key: 'name',
width: 200,
fixed: 'left',
},
{
title: 'nodeId',
dataIndex: 'id',
key: 'id',
ellipsis: true,
},
{
title: '访问类型',
dataIndex: 'accessModes',
key: 'accessModes',
width: 300,
},
{
title: '采集频率',
key: 'interval',
dataIndex: 'interval',
width: 260,
},
{
title: '只推送变化的数据',
key: 'features',
dataIndex: 'features',
width: 200,
},
{
title: '操作',
key: 'action',
dataIndex: 'action',
fixed: 'right',
width: 80,
},
];