create.config.ts 1.24 KB
import { CheckPointFieldsEnum, CheckPointFieldsNameEnum } from '../../../enum/formField/flow';
import { FormSchema, useComponentRegister } from '/@/components/Form';
import ApiComplete from './ApiComplete.vue';
import { getQueue } from '/@/api/ruleChainDesigner';

import { useI18n } from '/@/hooks/web/useI18n';

const { t } = useI18n();

useComponentRegister('ApiComplete', ApiComplete);

export const formSchemas: FormSchema[] = [
  {
    field: CheckPointFieldsEnum.QUEUE_NAME,
    label: t(CheckPointFieldsNameEnum.QUEUE_NAME),
    component: 'ApiComplete',
    required: true,
    helpMessage: ['从下拉列表中选择或自定义名称'],
    valueField: 'value',
    changeEvent: 'update:value',
    componentProps: () => {
      return {
        placeholder: `请选择${t(CheckPointFieldsNameEnum.QUEUE_NAME)}`,
        getPopupContainer: () => document.body,
        api: async (params: Recordable) => {
          const options = await getQueue(params);
          return options.data.map((value) => ({ label: value.name, value: value.name }));
        },
        params: {
          serviceType: 'TB_RULE_ENGINE',
          page: 0,
          pageSize: 10,
          sortProperty: 'name',
          sortOrder: 'ASC',
        },
      };
    },
  },
];