create.config.ts 1.13 KB
import { h } from 'vue';
import { DetailsListEnum, DetailsListNameEnum } from '../../../enum/form';
import {
  TenantDetailsFieldsEnum,
  TenantDetailsFieldsNameEnum,
} from '../../../enum/formField/enrichment';
import { FormSchema } from '/@/components/Form';
import { useI18n } from '/@/hooks/web/useI18n';

const { t } = useI18n();

export const formSchemas: FormSchema[] = [
  {
    field: TenantDetailsFieldsEnum.DETAILS_LIST,
    component: 'Select',
    label: h('span', t(TenantDetailsFieldsNameEnum.DETAILS_LIST)),
    rules: [{ required: true, message: `请选择${t(TenantDetailsFieldsNameEnum.DETAILS_LIST)}` }],
    componentProps: {
      mode: 'multiple',
      options: Object.keys(DetailsListEnum).map((value) => ({
        label: DetailsListNameEnum[value],
        value,
      })),
      getPopupContainer: () => document.body,
      placeholder: `请选择${t(TenantDetailsFieldsNameEnum.DETAILS_LIST)}`,
    },
  },
  {
    field: TenantDetailsFieldsEnum.ADD_TO_METADATA,
    component: 'Checkbox',
    label: '',
    renderComponentContent: () => ({
      default: () => t(TenantDetailsFieldsNameEnum.ADD_TO_METADATA),
    }),
  },
];