config.ts 1.69 KB
import { FormSchema, useComponentRegister } from '/@/components/Form';
import { OrgTreeSelect } from '/@/views/common/OrgTreeSelect';

useComponentRegister('OrgTreeSelect', OrgTreeSelect);

export enum FormFieldsEnum {
  NAME = 'name',
  ORGANIZATION_ID = 'organizationId',
  DESCRIPTION = 'description',
}
export enum FormFieldsNameEnum {
  NAME = '场景联动名称',
  ORGANIZATION_ID = '所属组织',
  DESCRIPTION = '描述',
}
export const getFormSchemas = (
  onOrgTreeSelectChange: Fn,
  onOrgTreeSelectOptionsChange: Fn
): FormSchema[] => {
  return [
    {
      field: FormFieldsEnum.NAME,
      component: 'Input',
      label: FormFieldsNameEnum.NAME,
      required: true,
      componentProps: {
        placeholder: `请输入${FormFieldsNameEnum.NAME}`,
      },
    },
    {
      field: FormFieldsEnum.ORGANIZATION_ID,
      component: 'OrgTreeSelect',
      label: FormFieldsNameEnum.ORGANIZATION_ID,
      required: true,
      componentProps: {
        placeholder: `请输入${FormFieldsNameEnum.NAME}`,
        onChange: onOrgTreeSelectChange,
        onOptionsChange: onOrgTreeSelectOptionsChange,
      },
    },
    {
      field: FormFieldsEnum.DESCRIPTION,
      component: 'InputTextArea',
      label: FormFieldsNameEnum.DESCRIPTION,
      componentProps: {
        placeholder: `请输入${FormFieldsNameEnum.DESCRIPTION}`,
      },
    },
    {
      field: 'flipFlop',
      component: 'Input',
      label: '',
      slot: 'flipFlop',
    },
    {
      field: 'executionCondition',
      component: 'Input',
      label: '',
      slot: 'executionCondition',
    },
    {
      field: 'executionAction',
      component: 'Input',
      label: '',
      slot: 'executionAction',
    },
  ];
};