create.config.ts 1.03 KB
import { ScopeEnum, ScopeNameEnum } from '../../../enum/form';
import {
  SaveAttributesFieldsEnum,
  SaveAttributesFieldsNameEnum,
} from '../../../enum/formField/action';
import { FormSchema } from '/@/components/Form';

export const formSchemas: FormSchema[] = [
  {
    field: SaveAttributesFieldsEnum.SCOPE,
    component: 'Select',
    label: SaveAttributesFieldsNameEnum.SCOPE,
    required: true,
    componentProps: {
      options: Object.keys(ScopeEnum).map((value) => ({ label: ScopeNameEnum[value], value })),
      getPopupContainer: () => document.body,
      placeholder: `请选择${SaveAttributesFieldsNameEnum.SCOPE}`,
    },
  },
  {
    field: SaveAttributesFieldsEnum.NOTIFY_DEVICE,
    component: 'Checkbox',
    label: SaveAttributesFieldsNameEnum.NOTIFY_DEVICE,
    ifShow: ({ model }) => model[SaveAttributesFieldsEnum.SCOPE] === ScopeEnum.SHARED_SCOPE,
    renderComponentContent: () => ({
      default: () =>
        'If the message arrives from the device, we will push it back to the device by default.',
    }),
  },
];