create.config.ts 1.27 KB
import {
  SaveToCustomTableFieldsEnum,
  SaveToCustomTableFieldsNameEnum,
} from '../../../enum/formField/action';
import { AttributeConfiguration } from '../../../src/components/AttributeConfiguration';
import { FormSchema, useComponentRegister } from '/@/components/Form';
import { isObject } from '/@/utils/is';

useComponentRegister('AttributeConfiguration', AttributeConfiguration);
export const formSchemas: FormSchema[] = [
  {
    field: SaveToCustomTableFieldsEnum.TABLE_NAME,
    component: 'Input',
    label: SaveToCustomTableFieldsNameEnum.TABLE_NAME,
    required: true,
    componentProps: {
      placeholder: `请输入${SaveToCustomTableFieldsEnum.TABLE_NAME}`,
    },
  },
  {
    field: SaveToCustomTableFieldsEnum.FIELDS_MAPPING,
    component: 'AttributeConfiguration',
    label: SaveToCustomTableFieldsNameEnum.FIELDS_MAPPING,
    required: true,
    valueField: 'value',
    changeEvent: 'update:value',
    rules: [
      {
        required: true,
        validator(_rule, value) {
          console.log(value);
          if (!isObject(value) || !Object.keys(value).length)
            return Promise.reject('至少应该指定一个字段映射。');
          return Promise.resolve();
        },
      },
    ],
    slot: SaveToCustomTableFieldsEnum.FIELDS_MAPPING,
  },
];