From 356f54467f525f437f41271fb62f6be66f2ab1e5 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 18 十二月 2023 17:36:11 +0800
Subject: [PATCH] 1. 调整飞羽环境用户信息的编辑

---
 src/composables/formConfirm.js |   36 +++++++++++++++++++++---------------
 1 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/src/composables/formConfirm.js b/src/composables/formConfirm.js
index 3b4d80c..d568fe0 100644
--- a/src/composables/formConfirm.js
+++ b/src/composables/formConfirm.js
@@ -1,4 +1,4 @@
-import { onActivated, onDeactivated, ref, watch } from 'vue';
+import { defineProps, onActivated, onDeactivated, ref, watch } from 'vue';
 import { useCloned } from '@vueuse/core';
 import { useMessageBoxTip, useMessageBox } from './messageBox';
 
@@ -6,19 +6,24 @@
 export function useFormConfirm({
   defaultForm = undefined,
   submit = {
-    do: () => {},
+    do: () => {}
   },
   cancel = {
-    do: () => {},
+    do: () => {}
   },
   reset = {
-    do: () => {},
-  },
+    do: () => {}
+  }
 }) {
   if (!submit.title) submit.title = '鎻愪氦';
   if (!submit.msg) submit.msg = '纭鏄惁鎻愪氦锛�';
   if (!cancel.title) cancel.title = '鍙栨秷';
   if (!cancel.msg) cancel.msg = '鏄惁鏀惧純宸茬紪杈戠殑鍐呭锛�';
+
+  const formProps = defineProps({
+    // 鏄惁鍦ㄦ彁浜ゆ垚鍔熷悗娓呯┖琛ㄥ崟
+    clearAftSubmit: Boolean
+  });
 
   //琛ㄥ崟鍐呭
   const formObj = ref(defaultForm ? defaultForm : {});
@@ -67,20 +72,21 @@
     edit.value = false;
     isReset = true;
     formObj.value = useCloned(formObjClone.cloned, {
-      manual: true,
+      manual: true
     }).cloned.value;
     formRef.value.clearValidate();
   };
 
   // 娓呯┖琛ㄥ崟
   const clear = function () {
-    edit.value = false;
     isReset = true;
-    formRef.value.resetFields();
+    // formRef.value.resetFields();
+    edit.value = false;
   };
 
   // 鎻愪氦鎴愬姛鍚�
   const submited = function () {
+    if (formProps.clearAftSubmit) clear();
     edit.value = false;
     formObjClone = useCloned(formObj, { manual: true });
   };
@@ -93,10 +99,10 @@
           confirmMsg: submit.msg,
           confirmTitle: submit.title,
           onConfirm: async () => {
-            await submit.do();
+            const res = await submit.do();
             submited();
-            return;
-          },
+            return res;
+          }
         });
       }
     });
@@ -110,9 +116,9 @@
         confirmMsg: cancel.msg,
         confirmTitle: cancel.title,
         onConfirm: () => {
-          clear();
+          // clear();
           return cancel.do();
-        },
+        }
       });
     } else {
       cancel.do();
@@ -130,7 +136,7 @@
           onConfirm: () => {
             _reset();
             return reset.do();
-          },
+          }
         });
       } else {
         _reset();
@@ -141,5 +147,5 @@
     }
   };
 
-  return { formObj, formRef, edit, onSubmit, onCancel, onReset };
+  return { formProps, formObj, formRef, edit, onSubmit, onCancel, onReset };
 }

--
Gitblit v1.9.3