index.ts 1.77 KB
import { FormSchema } from '/@/components/Form';
import { useI18n } from '/@/hooks/web/useI18n';

export enum PermissionEnum {
  CREATE = 'api:yt:task_center:add:post',
  UPDATE = 'api:yt:task_center:update:update',
  START_TASK = 'api:yt:task_center:update:state',
  DELETE = 'api:yt:task_center:delete',
  ALLOW = 'api:yt:task_center:cancel:allow',
  EXECUTE = 'api:yt:task_center:immediate:execute',
  DETAIL = 'api:yt:task_center:get',
}

export enum FormFieldsEnum {
  DEVICE_TYPE = 'targetType',
  TASK_TYPE = 'taskType',
  TASK_STATUS = 'state',
}

export enum TaskTargetEnum {
  DEVICES = 'DEVICES',
  PRODUCTS = 'PRODUCTS',
}

export enum TaskTargetNameEnum {
  DEVICES = '设备',
  PRODUCTS = '产品',
}

export enum TaskTypeEnum {
  CUSTOM = 'CUSTOM',
  MODBUS_RTU = 'MODBUS_RTU',
}

export enum TaskStatusEnum {
  DEACTIVATE,
  NORMAL,
}

export enum TaskStatusNameEnum {
  DEACTIVATE = '已停用',
  NORMAL = '已启用',
}

const { t } = useI18n();

export const formSchemas: FormSchema[] = [
  {
    label: t('taskCenter.task.search.targetType'),
    component: 'Select',
    field: FormFieldsEnum.DEVICE_TYPE,
    componentProps: {
      options: [
        { label: t('business.deviceText'), value: TaskTargetEnum.DEVICES },
        { label: t('business.productText'), value: TaskTargetEnum.PRODUCTS },
      ],
      getPopupContainer: () => document.body,
    },
  },
  {
    label: t('taskCenter.task.search.state'),
    component: 'Select',
    field: FormFieldsEnum.TASK_STATUS,
    componentProps: {
      options: [
        { label: t('common.enabledText'), value: TaskStatusEnum.NORMAL },
        { label: t('common.deactivatedText'), value: TaskStatusEnum.DEACTIVATE },
      ],
      getPopupContainer: () => document.body,
    },
  },
];

export enum StateEnum {
  CLOSE,
  ENABLE,
}