Ben Lin
2025-03-08 697c405ac874da346e74df40266763370355154d
src/views/tigerprojects/system/lowcode/detail/detail.vue
@@ -65,7 +65,7 @@
</template>
<script lang="ts" setup>
  import { Ref, inject, onMounted, ref } from 'vue';
  import { BasicTable, useTable, TableAction } from '/@/components/Table';
  import { BasicTable, useTable, TableAction, ActionItem } from '/@/components/Table';
  import { BasicForm, useForm } from '/@/components/Form/index';
  import { useDrawer } from '/@/components/Drawer';
  import GeneralModal from '/@/views/components/GeneralModal.vue';
@@ -128,6 +128,7 @@
      GetUseForm,
      GetUseModals,
    },
    ActionColumn,
  ] = isNullOrUnDef(custImport.value['default'])
    ? EntityCustFunction.value
    : custImport.value['default']();
@@ -141,27 +142,35 @@
  /* 表单中插槽渲染按钮打开模态框useModal方法 */
  const modals = GetUseModals && isFunction(GetUseModals) ? GetUseModals() : { useModalData: {} };
  const useModalData = ref(modals['useModalData']);
  /* 页签信息,表格需要根据页签信息中对应的实体名来查询对应表的数据 */
  const CurrTabInfo = objParams['Tabs'].filter((q) => q.entityName == props.entityName)[0];
  const [registerTable, { getForm, reload, setProps }] = useTable({
    title: `${objParams['firstTitle']}列表`,
    api: getListByPage,
    searchInfo: { TABLE_NAME: objParams['Name'], ...objParams['keyFieldValues'] },
    columns: GetBaseColumns(),
    title: `${CurrTabInfo.tableTitle}列表`,
    api: getListByPage, //通用查询方法
    searchInfo: {
      TABLE_NAME: CurrTabInfo.entityName,
      NeedInclude: CurrTabInfo.NeedInclude,
      ...objParams['keyFieldValues'],
    }, //查询条件中的TABLE_NAME传入页签信息中对应的实体名CurrTabInfo.entityName
    columns: GetBaseColumns(CurrTabInfo.entityName), //传入页签信息中对应的实体名CurrTabInfo.entityName获取表格字段信息
    formConfig: {
      labelWidth: 140,
      schemas: GetSearchForm(),
      schemas: GetSearchForm(CurrTabInfo.entityName), //传入页签信息中对应的实体名CurrTabInfo.entityName获取查询表单的字段信息
    },
    useSearchForm: true,
    showTableSetting: true,
    bordered: true,
    canResize: true,
    showIndexColumn: false,
    actionColumn: {
      width: 130,
      title: '操作',
      dataIndex: 'action',
      slots: { customRender: 'action' },
      fixed: undefined,
    }, //自定义操作列
    actionColumn: ActionColumn
      ? ActionColumn
      : {
          width: 120,
          title: '操作',
          dataIndex: 'action',
          slots: { customRender: 'action' },
          fixed: 'right',
        }, //自定义操作列
  });
  onMounted(() => {});
@@ -175,7 +184,7 @@
    const params = {
      record,
      isUpdate: true,
      ifSave: objParams.value['ifSave'],
      ifSave: objParams['ifSave'],
      entityName: props.entityName,
      formJson: GetCrudForm(), //getFormSchema(`${entityName.value}_Crud`),
      cType,
@@ -187,7 +196,8 @@
      selectVals,
      colSlots,
    };
    const actionItem = GenerateActionButton(params, buttons, openDrawer, reload);
    const _actionItem: ActionItem[] = [];
    const actionItem = GenerateActionButton(params, buttons, openDrawer, reload, _actionItem);
    if (isNullOrUnDef(custImport.value['default'])) {
      return actionItem;
    }