create.config.ts 1.41 KB
import { OriginatorSourceEnum, OriginatorSourceNameEnum } from '../../../enum/form';
import {
  ChangeOriginatorFieldsEnum,
  ChangeOriginatorFieldsNameEnum,
} from '../../../enum/formField/transformation';
import { RelationsQuery } from '../../../src/components/RelationsQuery';
import { FormSchema, useComponentRegister } from '/@/components/Form';
import { useI18n } from '/@/hooks/web/useI18n';

const { t } = useI18n();

useComponentRegister('RelationsQuery', RelationsQuery);

export const formSchemas: FormSchema[] = [
  {
    field: ChangeOriginatorFieldsEnum.ORIGINATOR_SOURCE,
    component: 'Select',
    label: t(ChangeOriginatorFieldsNameEnum.ORIGINATOR_SOURCE),
    rules: [
      { required: true, message: `请选择${t(ChangeOriginatorFieldsNameEnum.ORIGINATOR_SOURCE)}` },
    ],
    componentProps: {
      options: Object.keys(OriginatorSourceEnum).map((value) => ({
        label: OriginatorSourceNameEnum[value],
        value,
      })),
      getPopupContainer: () => document.body,
      placeholder: `请选择${t(ChangeOriginatorFieldsNameEnum.ORIGINATOR_SOURCE)}`,
    },
  },
  {
    field: ChangeOriginatorFieldsEnum.RELATIONS_QUERY,
    component: 'RelationsQuery',
    label: t(ChangeOriginatorFieldsNameEnum.RELATIONS_QUERY),
    slot: ChangeOriginatorFieldsEnum.RELATIONS_QUERY,
    ifShow: ({ model }) =>
      model[ChangeOriginatorFieldsEnum.ORIGINATOR_SOURCE] === OriginatorSourceEnum.RELATED,
  },
];