From 439e3b0f076280311b7cd4251a95820730242780 Mon Sep 17 00:00:00 2001
From: Ben Lin <maobin001@msn.com>
Date: 星期三, 07 八月 2024 10:43:33 +0800
Subject: [PATCH] 一些更新

---
 src/views/tigerprojects/system/lowcode/normalDrawer.vue |   64 ++++++++++++++++++-------------
 1 files changed, 37 insertions(+), 27 deletions(-)

diff --git a/src/views/tigerprojects/system/lowcode/normalDrawer.vue b/src/views/tigerprojects/system/lowcode/normalDrawer.vue
index d597a63..6a39f5a 100644
--- a/src/views/tigerprojects/system/lowcode/normalDrawer.vue
+++ b/src/views/tigerprojects/system/lowcode/normalDrawer.vue
@@ -36,7 +36,7 @@
     @register="registerDrawer"
     showFooter
     :title="getTitle"
-    width="600px"
+    width="580px"
     @ok="handleSubmit"
   >
     <BasicForm @register="registerForm">
@@ -64,9 +64,12 @@
   import GeneralModal from '/@/views/components/GeneralModal.vue';
   import { SaveEntity, fetchJson, formatValues } from '/@/api/tigerapi/system';
   import { useModal } from '/@/components/Modal';
-  import { isNullOrUnDef } from '/@/utils/is';
+  import { isNullOrUnDef, isTimeViaRegExp8601 } from '/@/utils/is';
   import { useMessage } from '/@/hooks/web/useMessage';
   import { useI18n } from '/@/hooks/web/useI18n';
+  import { isFunction } from 'xe-utils';
+  import { useUserStore } from '/@/store/modules/user';
+  import { dateUtil } from '/@/utils/dateUtil';
 
   const emit = defineEmits(['success', 'register']);
   const { t } = useI18n();
@@ -90,31 +93,37 @@
 
   const [registerDrawer, { setDrawerProps, closeDrawer }] = useDrawerInner(async (data) => {
     /* 鍔ㄦ�乮mport瀹炰綋鍚�.ts鐨勮嚜瀹氫箟鏂规硶 */
+    let m = {} as any;
     try {
-      import(`./entityts/${data?.name}.ts`)
-        .then((m) => {
-          const [{ GetCrudForm }] = m.default();
-          isUpdate.value = !!data?.isUpdate;
-          ifSave.value = !!data?.ifSave;
-          entityName.value = data?.entityName;
-          formSchema.value = GetCrudForm(data?.name, data?.data, data.record);
-          crudColSlots.value = data?.crudColSlots;
-          isExistSql.value = data?.isExistSql;
-          resetFields();
-          setDrawerProps({ confirmLoading: false });
-
-          if (unref(isUpdate)) {
-            setFieldsValue({
-              ...data.record,
-            });
-          } else {
-            if (!isNullOrUnDef(data?.keyFieldValues)) {
-              setFieldsValue(data?.keyFieldValues);
-            }
-          }
-        })
-        .catch(() => {});
+      m = await import(`./entityts/${data?.keyName}.ts`);
     } catch (e) {}
+    isUpdate.value = !!data?.isUpdate;
+    ifSave.value = !!data?.ifSave;
+    entityName.value = data?.entityName;
+    formSchema.value = !isNullOrUnDef(m.default)
+      ? m.default()[0].GetCrudForm(data?.name, data?.data, data.record)
+      : data?.formJson;
+    crudColSlots.value = data?.crudColSlots;
+    isExistSql.value = data?.isExistSql;
+    resetFields();
+    setDrawerProps({ confirmLoading: false });
+
+    if (unref(isUpdate)) {
+      /* 寰幆瀛楁鍚嶏紝鍒ゆ柇濡傛灉鏄椂闂寸殑灏辫浆鎹㈡垚dayjs鏍煎紡锛屽惁鍒欐椂闂撮�夋嫨鍣ㄤ細鍑洪敊 */
+      const Keys = Object.getOwnPropertyNames(data.record);
+      for (const k in Keys) {
+        if (!isNullOrUnDef(data.record[Keys[k]]) && isTimeViaRegExp8601(data.record[Keys[k]])) {
+          data.record[Keys[k]] = dateUtil(data.record[Keys[k]]); //杞崲鎴恉ayjs鏍煎紡
+        }
+      }
+      setFieldsValue({
+        ...data.record,
+      });
+    } else {
+      if (!isNullOrUnDef(data?.keyFieldValues)) {
+        setFieldsValue(data?.keyFieldValues);
+      }
+    }
   });
 
   const getTitle = computed(() => (!unref(isUpdate) ? '鏂板' : '缂栬緫'));
@@ -127,7 +136,8 @@
       values = formatValues(values);
       setDrawerProps({ confirmLoading: true });
       // TODO custom api
-      if (!unref(ifSave)) {
+      if (unref(ifSave)) {
+        values.AUTH_ORG = useUserStore().getUserInfo.orgCode;
         //淇濆瓨
         SaveEntity(
           values,
@@ -137,7 +147,7 @@
         ).then((action) => {
           if (action.IsSuccessed) {
             closeDrawer();
-            emit('success');
+            emit('success', values, { isUpdate: isUpdate.value });
           } else {
             createErrorModal({ title: t('sys.api.errorTip'), content: action.Message });
           }

--
Gitblit v1.9.3