YangYuGang
2025-03-08 8cae1dcd8d2bde01880ac4b70bdda4e61df3c7ef
src/views/tigerprojects/system/lowcode/high/baseForm.vue
@@ -33,10 +33,11 @@
  import GeneralModal from '/@/views/components/GeneralModal.vue';
  import { Card } from 'ant-design-vue';
  import { getEntity } from '/@/api/tigerapi/system';
  import { isNullOrEmpty } from '/@/utils/is';
  import { isNullOrEmpty, isNullOrUnDef, isTimeViaRegExp8601 } from '/@/utils/is';
  import { useI18n } from '/@/hooks/web/useI18n';
import { isFunction } from 'xe-utils';
  import { isFunction } from 'xe-utils';
  import { dateUtil } from '/@/utils/dateUtil';
  const { t } = useI18n();
  const props = defineProps({
    entityName: { type: String },
@@ -48,10 +49,11 @@
  const custImport = ref<any[]>(await import(`../entityts/${props.entityName}.ts`));
  const [{ GetBaseForm, GetBaseCards, GetUseModals }] = custImport.value['default']();
  const formSchemas = ref({
    BaseForm: GetBaseForm(props.entityName),
    BaseForm: GetBaseForm(props.entityName, objParams.value['IsEdit']),
  });
  const colSlots = ref<any[]>(objParams.value['colSlotsInHigh']);
  const useModals = GetUseModals && isFunction(GetUseModals)? ref<any>(GetUseModals()): ref<any>({});
  const useModals =
    GetUseModals && isFunction(GetUseModals) ? ref<any>(GetUseModals()) : ref<any>({});
  //弹出框或高级页面多表单结构
  useFormData.value = {
@@ -75,6 +77,16 @@
      order: '',
    }).then((res) => {
      if (!isNullOrEmpty(res.Data.Items)) {
        /* 循环字段名,判断如果是时间的就转换成dayjs格式,否则时间选择器会出错 */
        const Keys = Object.getOwnPropertyNames(res.Data.Items[0]);
        for (const k in Keys) {
          if (
            !isNullOrUnDef(res.Data.Items[0][Keys[k]]) &&
            isTimeViaRegExp8601(res.Data.Items[0][Keys[k]])
          ) {
            res.Data.Items[0][Keys[k]] = dateUtil(res.Data.Items[0][Keys[k]]); //转换成dayjs格式
          }
        }
        useFormData.value[_baseCards.value[0]['name']][1].setFieldsValue(res.Data.Items[0]);
      } else {
        useFormData.value[_baseCards.value[0]['name']][1].setFieldsValue({
@@ -84,7 +96,6 @@
    });
  });
  /**
   * @description: 弹出选择框选择成功后事件
   * @param {*} d
@@ -92,7 +103,7 @@
   * @param {*} item 页面上循环抽屉列表传入的实体名字,作为各表格相关方法的key,从而调用各表格相关的方法,如:useFormData.value[_baseCards.value[0]['name']][1].getForm()
   * @return {*}
   */
   function handleItemSuccess(d, u, item) {
  function handleItemSuccess(d, u, item) {
    /* 动态import实体名.ts的自定义方法 */
    try {
      import(
@@ -117,12 +128,13 @@
   */
  function handleSelectItem(item) {
    /* 动态import实体名.ts的自定义方法 */
    const name = useFormData.value[_baseCards.value[0]['name']][1].getFieldsValue()[`${item.replace(/form-/, '').replace(/add/, '')}PSelect_0`];
    const name =
      useFormData.value[_baseCards.value[0]['name']][1].getFieldsValue()[
        `${item.replace(/form-/, '').replace(/add/, '')}PSelect_0`
      ];
    const openModal = useModals.value[item][1].openModal;
    try {
      import(
        `../entityts/${name}.ts`
      )
      import(`../entityts/${name}.ts`)
        .then((m) => {
          const [{ OpenSelectItem }] = m.default();
          OpenSelectItem(openModal);