Ben Lin
2024-07-22 323e576c64129723df20fd18effb20d96d8d18b3
src/views/tigerprojects/system/lowcode/setting/pageDetail.vue
@@ -1,3 +1,12 @@
<!--
 * @Description: 低代码生成页面
 * @Author: Ben Lin
 * @version:
 * @Date: 2024-05-30 22:00:44
 * @LastEditors: Ben Lin
 * @LastEditTime: 2024-07-17 11:14:27
-->
<!-- eslint-disable prettier/prettier -->
<template>
  <PageWrapper
    class="high-form"
@@ -74,6 +83,15 @@
          <a-input v-model:value="model[field]" />
        </template>
        <template #[item]="{ model, field }" v-for="item in searchValueFieldSlots" :key="item">
          <a-input v-model:value="model[field]" />
        </template>
        <template #[item]="{ model, field }" v-for="item in searchOptionsSlots" :key="item">
          <a-input v-model:value="model[field]" />
        </template>
        <template #[item]="{ model, field }" v-for="item in searchOnChangeSlots" :key="item">
          <a-input v-model:value="model[field]" />
        </template>
        <template #[item]="{ model, field }" v-for="item in searchPOptionsSlots" :key="item">
          <a-input v-model:value="model[field]" />
        </template>
      </BasicForm>
@@ -187,14 +205,21 @@
              valueField="Name"
              @change="(value, option) => crudChange(value, option, field)"
            />
            <a-input v-model:value="crudInputs[field]" style="width: 55%" />
            <a-input v-model:value="crudInputs[field]" style="width: 33%" />
            <Select
              ref="select"
              v-model:value="crudSelectVals[field]"
              style="width: 20%"
              style="width: 21%"
              :options="options"
              :readonly="true"
              @change="(value, option) => componentChange(value, option, field)"
            />
            <Select
              ref="select"
              v-model:value="crudIsExistVals[field]"
              style="width: 21%"
              :options="isExistOptions"
              :readonly="true"
            />
          </a-input-group>
        </template>
@@ -225,6 +250,9 @@
        <template #[item]="{ model, field }" v-for="item in crudOnChangeSlots" :key="item">
          <a-input v-model:value="model[field]" />
        </template>
        <template #[item]="{ model, field }" v-for="item in crudPOptionsSlots" :key="item">
          <a-input v-model:value="model[field]" />
        </template>
      </BasicForm>
    </a-card>
@@ -251,7 +279,7 @@
  import { useModal } from '/@/components/Modal';
  import { SaveEntity, getEntity, getEntityPropertieList } from '/@/api/tigerapi/system';
  import { EntityPropertie, SYS_LOW_CODE } from '/@/api/tigerapi/model/systemModel';
  import { isNullOrEmpty } from '/@/utils/is';
  import { isNullOrEmpty, isNullOrUnDef } from '/@/utils/is';
  import { useUserStore } from '/@/store/modules/user';
  const ACard = Card;
@@ -343,6 +371,9 @@
  const searchResultFieldSlots = ref([] as string[]);
  const searchLabelFieldSlots = ref([] as string[]);
  const searchValueFieldSlots = ref([] as string[]);
  const searchOptionsSlots = ref([] as string[]);
  const searchOnChangeSlots = ref([] as string[]);
  const searchPOptionsSlots = ref([] as string[]);
  /* 主表 */
  const MainEntName = ref('');
  const mainSelectVals = ref({} as { [key: string]: any });
@@ -358,6 +389,7 @@
  const crudInputs = ref({} as { [key: string]: any });
  const crudProperties = ref([] as EntityPropertie[]);
  const crudSelectVals = ref({} as { [key: string]: any });
  const crudIsExistVals = ref({} as { [key: string]: any });
  const crudSlots = ref([] as string[]);
  const crudSwSlots = ref([] as string[]);
  const crudrSwSlots = ref([] as string[]);
@@ -368,6 +400,7 @@
  const crudValueFieldSlots = ref([] as string[]);
  const crudOptionsSlots = ref([] as string[]);
  const crudOnChangeSlots = ref([] as string[]);
  const crudPOptionsSlots = ref([] as string[]);
  const options = ref<SelectTypes['options']>([
    {
@@ -395,6 +428,10 @@
      label: 'Checkbox',
    },
    {
      value: 'Upload',
      label: '文件上传',
    },
    {
      value: 'RangePicker',
      label: '时间选择器',
    },
@@ -407,18 +444,36 @@
      label: '弹出选择框',
    },
  ]);
  const isExistOptions = ref<SelectTypes['options']>([
    {
      value: 'Y',
      label: '是判断存在',
    },
    {
      value: 'N',
      label: '不是判断存在',
    },
  ]);
  /**
   * @description: 实例组件挂载时
   * @return {*}
   */
  onMounted(() => {
    if (unref(objParams.value.Update) == '1') {
      getEntity({
        sqlcmd: "ID ='" + objParams.value.ID + "'",
        entityName: 'SYS_LOW_CODE',
        order: ''
      }).then((data) => {
        /* 查询加载 */
        var searchForms = JSON.parse(data.Data.Items[0].SEARCH_FORM_JSON);
        SearchEntName.value = data.Data.Items[0].SEARCH_ASSY_NAME;
        setFieldsValue({ ASSEMBLY_NAME: data.Data.Items[0].SEARCH_ASSY_NAME });
        searchForms = searchForms.filter((item) => !item['field'].toString().startsWith(SearchEntName.value) && !item['field'].toString().endsWith('PSelect_0'));
        for (const i in searchForms) {
          if (searchForms[i]['field'] != '0') {
            condAdd();
          condAdd();
            if (searchForms[i]['component'] == 'ApiSelect') {
              addApiSelectOption(`${SearchEntName.value}${Number(i) + 1}a`, 'search');
              setFieldsValue({
@@ -435,62 +490,83 @@
                  searchForms[i]['componentProps']['valueField'],
              });
            }
            if (searchForms[i]['component'] == 'Select') {
              addSelectOption(`${SearchEntName.value}${Number(i) + 1}a`, 'search');
              setFieldsValue({
                [`XSelect${SearchEntName.value}${Number(i) + 1}a`]: JSON.stringify(
                  searchForms[i]['componentProps']['options'],
                ),
                [`XOnChange${SearchEntName.value}${Number(i) + 1}a`]:
                  searchForms[i]['componentProps']['onChange'],
              });
            }
            setFieldsValue({
              [`${SearchEntName.value}${Number(i) + 1}a`]: searchForms[i]['field'],
              [`InputNumber${Number(i) + 1}`]: searchForms[i]['colProps'].span,
              [`Switch${Number(i) + 1}`]: searchForms[i]['ifShow'],
            });
            objInputs.value[`${SearchEntName.value}${Number(i) + 1}a`] = searchForms[i]['label'];
            searchSelectVals.value[`${SearchEntName.value}${Number(i) + 1}a`] = searchForms[i][
              'comp'
            ]
              ? searchForms[i]['comp']
              : searchForms[i]['component'];
          }
            searchSelectVals.value[`${SearchEntName.value}${Number(i) + 1}a`] = searchForms[i]['comp']? searchForms[i]['comp']: searchForms[i]['component'];
            if(searchForms[i]['comp']){
              addPopSelectOption(`${SearchEntName.value}${Number(i) + 1}a`, 'search');
              setFieldsValue({
                [`PSelect${SearchEntName.value}${Number(i) + 1}a`]: searchForms[i]['entityName'],
              });
            }
        }
        /* 增删改加载 */
        var crudForms = JSON.parse(data.Data.Items[0].FORM_JSON);
        CrudEntName.value = data.Data.Items[0].CRUD_ASSY_NAME;
        setFieldsValueCrud({ crudAssemblyName: data.Data.Items[0].CRUD_ASSY_NAME });
        crudForms = crudForms.filter((item) => !item['field'].toString().startsWith(CrudEntName.value) && !item['field'].toString().endsWith('PSelect_0'));
        for (const i in crudForms) {
          crudCondAdd();
          if (crudForms[i]['component'] == 'ApiSelect') {
            addApiSelectOption(`${CrudEntName.value}${Number(i) + 1}a`, 'crud');
            if (crudForms[i]['component'] == 'ApiSelect') {
              addApiSelectOption(`${CrudEntName.value}${Number(i) + 1}a`, 'crud');
              setFieldsValueCrud({
                [`ApiSelect${CrudEntName.value}${Number(i) + 1}a`]:
                  crudForms[i]['componentProps']['api'],
                [`Params${CrudEntName.value}${Number(i) + 1}a`]: JSON.stringify(
                  crudForms[i]['componentProps']['params'],
                ),
                [`Result${CrudEntName.value}${Number(i) + 1}a`]:
                  crudForms[i]['componentProps']['resultField'],
                [`Label${CrudEntName.value}${Number(i) + 1}a`]:
                  crudForms[i]['componentProps']['labelField'],
                [`Value${CrudEntName.value}${Number(i) + 1}a`]:
                  crudForms[i]['componentProps']['valueField'],
              });
            }
            if (crudForms[i]['component'] == 'Select') {
              addSelectOption(`${CrudEntName.value}${Number(i) + 1}a`, 'crud');
              setFieldsValueCrud({
                [`XSelect${CrudEntName.value}${Number(i) + 1}a`]: JSON.stringify(
                  crudForms[i]['componentProps']['options'],
                ),
                [`XOnChange${CrudEntName.value}${Number(i) + 1}a`]:
                  crudForms[i]['componentProps']['onChange'],
              });
            }
            setFieldsValueCrud({
              [`ApiSelect${CrudEntName.value}${Number(i) + 1}a`]:
                crudForms[i]['componentProps']['api'],
              [`Params${CrudEntName.value}${Number(i) + 1}a`]: JSON.stringify(
                crudForms[i]['componentProps']['params'],
              ),
              [`Result${CrudEntName.value}${Number(i) + 1}a`]:
                crudForms[i]['componentProps']['resultField'],
              [`Label${CrudEntName.value}${Number(i) + 1}a`]:
                crudForms[i]['componentProps']['labelField'],
              [`Value${CrudEntName.value}${Number(i) + 1}a`]:
                crudForms[i]['componentProps']['valueField'],
              [`${CrudEntName.value}${Number(i) + 1}a`]: crudForms[i]['field'],
              [`InputNumber${Number(i) + 1}`]: crudForms[i]['colProps'].span,
              [`Switch${Number(i) + 1}`]: crudForms[i]['show'],
              [`rSwitch${Number(i) + 1}`]: crudForms[i]['required'],
            });
          }
          if (crudForms[i]['component'] == 'Select') {
            addSelectOption(`${CrudEntName.value}${Number(i) + 1}a`, 'crud');
            setFieldsValueCrud({
              [`XSelect${CrudEntName.value}${Number(i) + 1}a`]: JSON.stringify(
                crudForms[i]['componentProps']['options'],
              ),
              [`XOnChange${CrudEntName.value}${Number(i) + 1}a`]:
                crudForms[i]['componentProps']['onChange'],
            });
          }
          setFieldsValueCrud({
            [`${CrudEntName.value}${Number(i) + 1}a`]: crudForms[i]['field'],
            [`InputNumber${Number(i) + 1}`]: crudForms[i]['colProps'].span,
            [`Switch${Number(i) + 1}`]: crudForms[i]['show'],
            [`rSwitch${Number(i) + 1}`]: crudForms[i]['required'],
          });
          crudInputs.value[`${CrudEntName.value}${Number(i) + 1}a`] = crudForms[i]['label'];
          crudSelectVals.value[`${CrudEntName.value}${Number(i) + 1}a`] = crudForms[i]['component'];
            crudInputs.value[`${CrudEntName.value}${Number(i) + 1}a`] = crudForms[i]['label'];
            crudSelectVals.value[`${CrudEntName.value}${Number(i) + 1}a`] = crudForms[i]['comp']? crudForms[i]['comp']: crudForms[i]['component'];
            if(crudForms[i]['comp']){
              addPopSelectOption(`${CrudEntName.value}${Number(i) + 1}a`, 'crud');
              setFieldsValueCrud({
                [`PSelect${CrudEntName.value}${Number(i) + 1}a`]: crudForms[i]['entityName'],
              });
            }
            crudIsExistVals.value[`${CrudEntName.value}${Number(i) + 1}a`] = crudForms[i]['isexist'];
        }
        /* 主表加载 */
        var objs = JSON.parse(data.Data.Items[0].BASE_FORM_JSON);
        MainEntName.value = data.Data.Items[0].ASSEMBLY_NAME;
        setFieldsValueMain({ MainAssemblyName: MainEntName.value });
        setFieldsValueMain({ MainAssemblyName: MainEntName.value, BY_ORG:data.Data.Items[0].BY_ORG });
        for (const i in objs) {
          mainCondAdd();
          setFieldsValueMain({
@@ -506,6 +582,10 @@
    }
  });
  /**
   * @description: 全部提交
   * @return {*}
   */
  async function submitAll() {
    try {
      const [values, crudvalues, mainvalues] = await Promise.all([
@@ -519,9 +599,11 @@
      var searchjsons = [];
      var _json = {};
      var _n = 0;
      let firstField = '';
      for (const k in Keys) {
        console.log(`${k}:${Keys[k]}`);
        if (Keys[k].toString().startsWith(getFieldsValue().ASSEMBLY_NAME)) {
          firstField = Keys[k];
          _json['field'] = isNullOrEmpty(values[Keys[k]]) ? '' : values[Keys[k]];
          _json['label'] = objInputs.value[Keys[k]];
          _json['defaultValue'] = '';
@@ -535,6 +617,12 @@
              valueField: values[`Value${Keys[k]}`],
            };
          }
          if (searchSelectVals.value[Keys[k]] == 'Select') {
            _json['componentProps'] = {
              options: JSON.parse(values[`XSelect${Keys[k]}`]),
              onChange: values[`XOnChange${Keys[k]}`],
            };
          }
          _n = _n + 4;
        }
        if (Keys[k].toString().startsWith('InputNumber')) {
@@ -542,7 +630,7 @@
          _n++;
        }
        if (Keys[k].toString().startsWith('Switch')) {
          _json['ifShow'] = isNullOrEmpty(values[Keys[k]]) ? false : (values[Keys[k]] as boolean);
          _json['ifShow'] = isNullOrUnDef(values[Keys[k]]) ? false : (values[Keys[k]] as boolean);
          _n++;
        }
        if (!isNullOrEmpty(_json) && _n == 6) {
@@ -550,15 +638,16 @@
          if (_json['component'] == 'PoPSelect') {
            _json['component'] = 'Input';
            _json['comp'] = 'PoPSelect';
            _json['entityName'] = values[`PSelect${firstField}`];
            searchjsons.push(_json);
            _json = {};
            _json['field'] = '0';
            _json['field'] = `${firstField}PSelect_0`;
            _json['label'] = '1';
            _json['defaultValue'] = '';
            _json['defaultValue'] = values[`PSelect${firstField}`];
            _json['component'] = 'Input';
            _json['colProps'] = { span: 4 };
            _json['ifShow'] = true;
            _json['colSlot'] = 'add';
            _json['colSlot'] = `${firstField}add`;
          }
          searchjsons.push(_json);
          _json = {};
@@ -579,19 +668,19 @@
          i = i + 2;
        }
        if (mKeys[k].toString().startsWith('Switch')) {
          mjson['ifShow'] = isNullOrEmpty(mainvalues[mKeys[k]])
          mjson['ifShow'] = isNullOrUnDef(mainvalues[mKeys[k]])
            ? false
            : (mainvalues[mKeys[k]] as boolean);
          i++;
        }
        if (mKeys[k].toString().startsWith('sSwitch')) {
          mjson['sorter'] = isNullOrEmpty(mainvalues[mKeys[k]])
          mjson['sorter'] = isNullOrUnDef(mainvalues[mKeys[k]])
            ? false
            : (mainvalues[mKeys[k]] as boolean);
          i++;
        }
        if (mKeys[k].toString().startsWith('wSwitch')) {
          mjson['resizable'] = isNullOrEmpty(mainvalues[mKeys[k]])
          mjson['resizable'] = isNullOrUnDef(mainvalues[mKeys[k]])
            ? false
            : (mainvalues[mKeys[k]] as boolean);
          i++;
@@ -612,14 +701,17 @@
      var cjsons = [];
      var cjson = {};
      var c = 0;
      let cfirstField = '';
      for (const k in cKeys) {
        console.log(`${k}:${cKeys[k]}`);
        if (cKeys[k].toString().startsWith(getFieldsValueCrud().crudAssemblyName)) {
          cfirstField = cKeys[k];
          cjson['field'] = isNullOrEmpty(crudvalues[cKeys[k]]) ? '' : crudvalues[cKeys[k]];
          cjson['label'] = isNullOrEmpty(crudInputs.value[cKeys[k]])
            ? ''
            : crudInputs.value[cKeys[k]];
          cjson['component'] = crudSelectVals.value[cKeys[k]];
          cjson['isexist'] = crudIsExistVals.value[cKeys[k]];
          if (crudSelectVals.value[cKeys[k]] == 'ApiSelect') {
            cjson['componentProps'] = {
              api: crudvalues[`ApiSelect${cKeys[k]}`],
@@ -638,13 +730,13 @@
          c = c + 3;
        }
        if (cKeys[k].toString().startsWith('Switch')) {
          cjson['show'] = isNullOrEmpty(crudvalues[cKeys[k]])
          cjson['show'] = isNullOrUnDef(crudvalues[cKeys[k]])
            ? false
            : (crudvalues[cKeys[k]] as boolean);
          c++;
        }
        if (cKeys[k].toString().startsWith('rSwitch')) {
          cjson['required'] = isNullOrEmpty(crudvalues[cKeys[k]])
          cjson['required'] = isNullOrUnDef(crudvalues[cKeys[k]])
            ? false
            : (crudvalues[cKeys[k]] as boolean);
          c++;
@@ -654,6 +746,21 @@
          c++;
        }
        if (!isNullOrEmpty(cjson) && c == 6) {
          //如果是弹出选择框
          if (cjson['component'] == 'PoPSelect') {
            cjson['component'] = 'Input';
            cjson['comp'] = 'PoPSelect';
            cjson['entityName'] = crudvalues[`PSelect${cfirstField}`];
            cjsons.push(cjson);
            cjson = {};
            cjson['field'] = `${cfirstField}PSelect_0`;
            cjson['label'] = '1';
            cjson['defaultValue'] = crudvalues[`PSelect${cfirstField}`];
            cjson['component'] = 'Input';
            cjson['colProps'] = { span: 4 };
            cjson['ifShow'] = true;
            cjson['colSlot'] = `${cfirstField}add`;
          }
          cjsons.push(cjson);
          c = 0;
          cjson = {};
@@ -670,6 +777,7 @@
        ASSEMBLY_NAME: getFieldsValueMain().MainAssemblyName,
        CRUD_ASSY_NAME: getFieldsValueCrud().crudAssemblyName,
        SEARCH_ASSY_NAME: getFieldsValue().ASSEMBLY_NAME,
        BY_ORG: getFieldsValueMain().BY_ORG,
      };
      SaveEntity(entity, unref(objParams.value.Update) == '1', 'SYS_LOW_CODE').then((action) => {
        if (action.IsSuccessed) {
@@ -691,7 +799,10 @@
  }
  function handleEdit(record: Recordable) {}
  /**
   * @description: 查询配置类名选择按钮方法
   * @return {*}
   */
  function handleSelecNew() {
    openNewModal(true, {
      data: 'content',
@@ -699,6 +810,10 @@
    });
  }
  /**
   * @description: 主表配置类名选择按钮方法
   * @return {*}
   */
  function mainSelectAssy() {
    openMainModal(true, {
      data: 'content',
@@ -706,6 +821,10 @@
    });
  }
  /**
   * @description: 增删改配置类名选择按钮方法
   * @return {*}
   */
  function handleSelectCrud() {
    openCrudModal(true, {
      data: 'content',
@@ -713,41 +832,56 @@
    });
  }
  /**
   * @description: 选择类名弹出框返回成功方法
   * @param {*} d
   * @param {*} u
   * @return {*}
   */
  async function mainAssySuccess(d, u) {
    setFieldsValueMain({
      MainAssemblyName: d.values.values,
      MainAssemblyName: d.values['val'],
    });
    var data = await getEntityPropertieList({
      StartWith: d.values.values,
      StartWith: d.values['val'],
      Namespace: 'Tiger.Model',
    });
    mainProperties.value = data.items;
    MainEntName.value = d.values.values;
    MainEntName.value = d.values['val'];
  }
  async function handleNewSuccess(d, u) {
    setFieldsValue({
      ASSEMBLY_NAME: d.values.values,
      ASSEMBLY_NAME: d.values['val'],
    });
    var data = await getEntityPropertieList({
      StartWith: d.values.values,
      StartWith: d.values['val'],
      Namespace: 'Tiger.Model',
    });
    searchProperties.value = data.items;
    SearchEntName.value = d.values.values;
    SearchEntName.value = d.values['val'];
  }
  async function handleCrudSuccess(d, u) {
    setFieldsValueCrud({
      crudAssemblyName: d.values.values,
      crudAssemblyName: d.values['val'],
    });
    var data = await getEntityPropertieList({
      StartWith: d.values.values,
      StartWith: d.values['val'],
      Namespace: 'Tiger.Model',
    });
    crudProperties.value = data.items;
    CrudEntName.value = d.values.values;
    CrudEntName.value = d.values['val'];
  }
  /* 选择类名弹出框返回成功方法 End */
  /**
   * @description: 配置字段选择改变后事件方法
   * @param {*} value
   * @param {*} option
   * @param {*} field
   * @return {*}
   */
  function change(value, option, field) {
    console.log(value, option, field);
    objInputs.value[field] = option.label;
@@ -760,34 +894,78 @@
    console.log(value, option, field);
    crudInputs.value[field] = option.label;
  }
  /* 查询组件选择事件 */
  /* 配置字段选择改变后事件方法 End */
  /**
   * @description: 查询组件选择事件
   * @param {*} value
   * @param {*} option
   * @param {*} field
   * @return {*}
   */
  function searchOnChange(value, option, field) {
    console.log(value, option, field);
    if (value == 'ApiSelect') {
      addApiSelectOption(field, 'search');
      delSelectOption(field, 'search');
      delPSelectOption(field, 'search');
    } else {
      delApiSelectOption(field, 'search');
    }
    // if (value == 'PoPSelect') {}
    if (value == 'Select') {
      addSelectOption(field, 'search');
      delApiSelectOption(field, 'search');
      delPSelectOption(field, 'search');
    } else {
      delSelectOption(field, 'search');
    }
    if (value == 'PoPSelect') {
      addPopSelectOption(field, 'search');
      delApiSelectOption(field, 'search');
      delSelectOption(field, 'search');
    } else {
      delPSelectOption(field, 'search');
    }
  }
  /* 增删改组件选择事件 */
  /**
   * @description: 增删改组件选择事件
   * @param {*} value
   * @param {*} option
   * @param {*} field
   * @return {*}
   */
  function componentChange(value, option, field) {
    console.log(value, option, field);
    if (value == 'ApiSelect') {
      addApiSelectOption(field, 'crud');
      delSelectOption(field, 'crud');
      delPSelectOption(field, 'crud');
    } else {
      delApiSelectOption(field, 'crud');
    }
    if (value == 'Select') {
      addSelectOption(field, 'crud');
      delApiSelectOption(field, 'crud');
      delPSelectOption(field, 'crud');
    } else {
      delSelectOption(field, 'crud');
    }
    // if (value == 'PoPSelect') {}
    if (value == 'PoPSelect') {
      addPopSelectOption(field, 'crud');
      delApiSelectOption(field, 'crud');
      delSelectOption(field, 'crud');
    } else {
      delPSelectOption(field, 'crud');
    }
  }
  /**
   * @description: 选择了ApiSelect组件选项后,增加相应的输入项
   * @param {*} field
   * @param {*} type
   * @return {*}
   */
  function addApiSelectOption(field: string, type: string) {
    const appendData: FormSchema[] = [
      {
@@ -838,7 +1016,11 @@
    }
  }
  /* 增删改ApiSelect插槽数据添加 */
  /**
   * @description: 增删改ApiSelect插槽数据添加
   * @param {*} field
   * @return {*}
   */
  function crudSlotsPush(field: string) {
    crudApiSlots.value.push(`Api${field}`);
    crudParamsSlots.value.push(`Params_${field}`);
@@ -846,7 +1028,12 @@
    crudLabelFieldSlots.value.push(`LabelField${field}`);
    crudValueFieldSlots.value.push(`ValueField${field}`);
  }
  /* 查询ApiSelect插槽数据添加 */
  /**
   * @description: 查询ApiSelect插槽数据添加
   * @param {*} field
   * @return {*}
   */
  function searchSlotsPush(field: string) {
    searchApiSlots.value.push(`Api${field}`);
    searchParamsSlots.value.push(`Params_${field}`);
@@ -855,6 +1042,12 @@
    searchValueFieldSlots.value.push(`ValueField${field}`);
  }
  /**
   * @description: 取消ApiSelect组件后删除添加的输入项
   * @param {*} field
   * @param {*} type
   * @return {*}
   */
  function delApiSelectOption(field: string, type: string) {
    const removeData: string[] = [
      `ApiSelect${field}`,
@@ -879,7 +1072,11 @@
    }
  }
  /* 增删改插槽删除项 */
  /**
   * @description: 增删改插槽删除项
   * @param {*} field
   * @return {*}
   */
  function crudSlotsSplice(field: string) {
    crudApiSlots.value = crudApiSlots.value.filter((item) => item !== `Api${field}`);
    crudParamsSlots.value = crudParamsSlots.value.filter((item) => item !== `Params_${field}`);
@@ -893,7 +1090,12 @@
      (item) => item !== `ValueField${field}`,
    );
  }
  /* 增删改插槽删除项 */
  /**
   * @description: 增删改插槽删除项
   * @param {*} field
   * @return {*}
   */
  function searchSlotsSplice(field: string) {
    searchApiSlots.value = searchApiSlots.value.filter((item) => item !== `Api${field}`);
    searchParamsSlots.value = searchParamsSlots.value.filter((item) => item !== `Params_${field}`);
@@ -908,6 +1110,10 @@
    );
  }
  /**
   * @description: 下拉框Select添加选项
   * @return {*}
   */
  function addSelectOption(field: string, type: string) {
    const appendData: FormSchema[] = [
      {
@@ -928,7 +1134,7 @@
    switch (type) {
      case 'search':
        appendSchemaByField(appendData, '');
        // searchSelSlotsPush(field);
        searchSelSlotsPush(field);
        break;
      case 'crud':
        appendSchemaByFieldCrud(appendData, '');
@@ -937,13 +1143,19 @@
    }
  }
  /**
   * @description: 取消Select组件后删除添加的输入项
   * @param {*} field
   * @param {*} type
   * @return {*}
   */
  function delSelectOption(field: string, type: string) {
    const removeData: string[] = [`XSelect${field}`, `XOnChange${field}`];
    switch (type) {
      case 'search':
        //if (!isNullOrEmpty(getFieldsValue()[`XSelect${field}`])) {
        removeSchemaByField(removeData);
        // searchSelSlotsSplice(field);
        searchSelSlotsSplice(field);
        //}
        break;
      case 'crud':
@@ -955,16 +1167,129 @@
    }
  }
  /* 增删改Select插槽数据添加 */
  /**
   * @description: 查询Select插槽数据添加
   * @param {*} field
   * @return {*}
   */
  function searchSelSlotsPush(field: string) {
    searchOptionsSlots.value.push(`Select_${field}`);
    searchOptionsSlots.value.push(`OnChange_${field}`);
  }
  /**
   * @description: 查询插槽删除项
   * @param {*} field
   * @return {*}
   */
  function searchSelSlotsSplice(field: string) {
    searchOptionsSlots.value = searchOptionsSlots.value.filter(
      (item) => item !== `Select_${field}`,
    );
    searchOptionsSlots.value = searchOptionsSlots.value.filter(
      (item) => item !== `OnChange_${field}`,
    );
  }
  /**
   * @description: 增删改Select插槽数据添加
   * @param {*} field
   * @return {*}
   */
  function crudSelSlotsPush(field: string) {
    crudOptionsSlots.value.push(`Select_${field}`);
    crudOnChangeSlots.value.push(`OnChange_${field}`);
  }
  /* 增删改插槽删除项 */
  /**
   * @description: 增删改插槽删除项
   * @return {*}
   */
  function crudSelSlotsSplice(field: string) {
    crudOptionsSlots.value = crudOptionsSlots.value.filter((item) => item !== `Select_${field}`);
    crudOnChangeSlots.value = crudOnChangeSlots.value.filter((item) => item !== `Select_${field}`);
    crudOnChangeSlots.value = crudOnChangeSlots.value.filter(
      (item) => item !== `OnChange_${field}`,
    );
  }
  /**
   * @description: 弹出选择框PopSelect添加选项
   * @param {*} field
   * @param {*} type
   * @return {*}
   */
  function addPopSelectOption(field: string, type: string) {
    const appendData: FormSchema[] = [
      {
        field: `PSelect${field}`,
        component: 'Input',
        label: `defaultValue`,
        slot: `PSelect_${field}`,
        colProps: { span: 24 },
      },
    ];
    switch (type) {
      case 'search':
        appendSchemaByField(appendData, '');
        searchPSelSlotsPush(field);
        break;
      case 'crud':
        appendSchemaByFieldCrud(appendData, '');
        crudPSelSlotsPush(field);
        break;
    }
  }
  /**
   * @description: 查询PopSelect插槽数据添加
   * @param {*} field
   * @return {*}
   */
  function searchPSelSlotsPush(field: string) {
    searchPOptionsSlots.value.push(`PSelect_${field}`);
  }
  /**
   * @description: 增删改PopSelect插槽数据添加
   * @param {*} field
   * @return {*}
   */
  function crudPSelSlotsPush(field: string) {
    crudPOptionsSlots.value.push(`PSelect_${field}`);
  }
  function delPSelectOption(field: string, type: string) {
    const removeData: string[] = [`PSelect${field}`];
    switch (type) {
      case 'search':
        removeSchemaByField(removeData);
        searchPSelSlotsSplice(field);
        break;
      case 'crud':
        removeSchemaByFieldCrud(removeData);
        crudPSelSlotsSplice(field);
        break;
    }
  }
  /**
   * @description: 查询插槽删除项
   * @param {*} field
   * @return {*}
   */
  function searchPSelSlotsSplice(field: string) {
    searchPOptionsSlots.value = searchPOptionsSlots.value.filter(
      (item) => item !== `PSelect_${field}`,
    );
  }
  /**
   * @description: 增删改插槽删除项
   * @param {*} field
   * @return {*}
   */
  function crudPSelSlotsSplice(field: string) {
    crudPOptionsSlots.value = crudPOptionsSlots.value.filter((item) => item !== `PSelect_${field}`);
  }
  const n = ref(1);
@@ -1027,9 +1352,15 @@
    if (searchSlots.value.length == 0) {
      n.value = 1;
    }
    delApiSelectOption(`${CrudEntName.value}${field}a`, 'search');
    delSelectOption(`${CrudEntName.value}${field}a`, 'search');
    delPSelectOption(`${CrudEntName.value}${field}a`, 'search');
  }
  /* 主表配置 */
  /**
   * @description: 主表配置
   * @return {*}
   */
  function mainCondAdd() {
    appendSchemaByFieldMain(
      [
@@ -1113,7 +1444,10 @@
    }
  }
  /* 增删改配置 */
  /**
   * @description: 增删改配置
   * @return {*}
   */
  function crudCondAdd() {
    appendSchemaByFieldCrud(
      [
@@ -1179,6 +1513,8 @@
      j.value = 1;
    }
    delApiSelectOption(`${CrudEntName.value}${field}a`, 'crud');
    delSelectOption(`${CrudEntName.value}${field}a`, 'crud');
    delPSelectOption(`${CrudEntName.value}${field}a`, 'crud');
  }
  function goBack() {
@@ -1189,6 +1525,7 @@
<style lang="less" scoped>
  .high-form {
    padding-bottom: 48px;
  }</style
>: { values: any[]; }: any: { values: any[]; }: any: { values: any[]; }: any: any: any: any: any:
  }
</style>
: { values: any[]; }: any: { values: any[]; }: any: { values: any[]; }: any: any: any: any: any:
any: any