From e5875000e60d4976f159f287ae3773f1d11960b3 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 22 十二月 2023 17:36:56 +0800
Subject: [PATCH] 调整FYForm表单逻辑

---
 src/components/form/FYForm.vue |   49 +++++++++++++++++++++++++++++++++++--------------
 1 files changed, 35 insertions(+), 14 deletions(-)

diff --git a/src/components/form/FYForm.vue b/src/components/form/FYForm.vue
index ade1ff9..a305bde 100644
--- a/src/components/form/FYForm.vue
+++ b/src/components/form/FYForm.vue
@@ -26,7 +26,7 @@
  * 鍙紶鍏ュ垵濮嬭〃鍗曟暟鎹甪ormInfo锛岃〃鍗曟牎楠岃鍒檙ules
  * 瀹炵幇submit鍜宑ancel瑙﹀彂鍑芥暟
  */
-import { defineProps, defineEmits, reactive, ref, watch, computed } from 'vue';
+import { defineProps, defineEmits, reactive, ref, watch, computed, defineExpose } from 'vue';
 import { useFormConfirm } from '@/composables/formConfirm';
 
 const props = defineProps({
@@ -62,15 +62,29 @@
   _locations: [
     {
       required: true,
-      message: '鐪�/甯�/鍖�/闀囦笉鑳戒负绌�',
+      message: '琛屾斂鍖哄垝涓嶈兘涓虹┖',
       trigger: 'change',
+      // validator: (rule, value, callback) => {
+      //   if (!value) {
+      //     callback(new Error('Please input the age'));
+      //   } else {
+      //     callback()
+      //   }
+      // }
     }
   ],
   _scenetype: [
     {
       required: true,
       message: '鍦烘櫙绫诲瀷涓嶈兘涓虹┖',
-      trigger: 'change'
+      trigger: 'change',
+      // validator: (rule, value, callback) => {
+      //   if (!value) {
+      //     callback(new Error('Please input the age'));
+      //   } else {
+      //     callback()
+      //   }
+      // }
     }
   ]
 });
@@ -92,13 +106,18 @@
 function submit() {
   loading.value = true;
   return new Promise((resolve, reject) => {
-    emit('submit', formObj, () => {
-      loading.value = false;
-      resolve();
-    },(err)=>{
-      loading.value = false;
-      reject(err);
-    });
+    emit(
+      'submit',
+      formObj,
+      () => {
+        loading.value = false;
+        resolve();
+      },
+      (err) => {
+        loading.value = false;
+        reject(err);
+      }
+    );
   });
 }
 
@@ -107,9 +126,9 @@
   emit('cancel');
 }
 
-const allRules = computed(()=>{
-  return {...baseRules, ...props.rules}
-})
+const allRules = computed(() => {
+  return { ...baseRules, ...props.rules };
+});
 
 //鐩戝惉琛ㄥ崟鍒濆鏁版嵁浼犲叆
 watch(
@@ -117,7 +136,7 @@
   (nValue) => {
     formObj.value = nValue;
   },
-  { deep: false, immediate: true }
+  { deep: true, immediate: true }
 );
 
 //鐩戝惉琛ㄥ崟閲嶇疆鍔熻兘瑙﹀彂
@@ -134,6 +153,8 @@
 watch(edit, (nValue) => {
   emit('update:isEdit', nValue);
 });
+
+defineExpose({ formObj, onSubmit, onCancel, onReset });
 </script>
 
 <style scoped></style>

--
Gitblit v1.9.3