From 971c7c5993ff475157b0c9ed137998fd39f6c548 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 17 十月 2024 17:17:33 +0800
Subject: [PATCH] 1. 完成总任务的管理模块(单日任务的管理未完成)

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

diff --git a/src/components/form/FYForm.vue b/src/components/form/FYForm.vue
index 1b9625f..f8654cc 100644
--- a/src/components/form/FYForm.vue
+++ b/src/components/form/FYForm.vue
@@ -9,10 +9,16 @@
   >
     <slot name="form-item" :formObj="formObj"></slot>
     <el-form-item v-if="showButtons">
-      <el-button :disabled="!edit" type="primary" @click="onSubmit" :loading="loading"
-        >鎻愪氦</el-button
+      <el-button
+        :disabled="!edit"
+        type="primary"
+        @click="onSubmit"
+        :loading="loading"
+        >{{ submitName }}</el-button
       >
-      <el-button v-if="useReset" :disabled="!edit" @click="onReset">閲嶇疆</el-button>
+      <el-button v-if="useReset" :disabled="!edit" @click="onReset"
+        >閲嶇疆</el-button
+      >
       <el-button v-if="useCancel" @click="onCancel">鍙栨秷</el-button>
     </el-form-item>
   </el-form>
@@ -26,17 +32,34 @@
  * 鍙紶鍏ュ垵濮嬭〃鍗曟暟鎹甪ormInfo锛岃〃鍗曟牎楠岃鍒檙ules
  * 瀹炵幇submit鍜宑ancel瑙﹀彂鍑芥暟
  */
-import { defineProps, defineEmits, reactive, ref, watch, computed, defineExpose } from 'vue';
+import {
+  defineProps,
+  defineEmits,
+  reactive,
+  ref,
+  watch,
+  computed,
+  defineExpose
+} from 'vue';
 import { useFormConfirm } from '@/composables/formConfirm';
 
 const props = defineProps({
   //琛ㄥ崟鍩烘湰淇℃伅
-  formInfo: Object,
+  formInfo: {
+    type: Object,
+    default: () => {
+      return {};
+    }
+  },
   //琛ㄥ崟妫�楠岃鍒�
   rules: Object,
   showButtons: {
     type: Boolean,
     default: true
+  },
+  submitName: {
+    type: String,
+    default: '鎻愪氦'
   },
   //鍙栨秷鎸夐挳鏄惁鍙敤
   useCancel: Boolean,
@@ -62,42 +85,29 @@
   _locations: [
     {
       required: true,
-      // message: '琛屾斂鍖哄垝涓嶈兘涓虹┖',
-      trigger: 'change',
-      validator: (rule, value, callback) => {
-        if (!value) {
-          callback(new Error('Please input the age'));
-        } else {
-          callback()
-        }
-      }
+      message: '琛屾斂鍖哄垝涓嶈兘涓虹┖',
+      trigger: 'change'
     }
   ],
   _scenetype: [
     {
       required: true,
       message: '鍦烘櫙绫诲瀷涓嶈兘涓虹┖',
-      trigger: 'change',
-      validator: (rule, value, callback) => {
-        if (!value) {
-          callback(new Error('Please input the age'));
-        } else {
-          callback()
-        }
-      }
+      trigger: 'change'
     }
   ]
 });
 
 //琛ㄥ崟鎿嶄綔鍑芥暟
-const { formObj, formRef, edit, onSubmit, onCancel, onReset, clear } = useFormConfirm({
-  submit: {
-    do: submit
-  },
-  cancel: {
-    do: cancel
-  }
-});
+const { formObj, formRef, edit, onSubmit, onCancel, onReset, clear } =
+  useFormConfirm({
+    submit: {
+      do: submit
+    },
+    cancel: {
+      do: cancel
+    }
+  });
 
 //鍔犺浇鐘舵��
 const loading = ref(false);
@@ -115,7 +125,7 @@
       },
       (err) => {
         loading.value = false;
-        reject(err);
+        reject(err ? err : '');
       }
     );
   });
@@ -136,7 +146,7 @@
   (nValue) => {
     formObj.value = nValue;
   },
-  { deep: true, immediate: true }
+  { deep: false, immediate: true }
 );
 
 //鐩戝惉琛ㄥ崟閲嶇疆鍔熻兘瑙﹀彂
@@ -150,11 +160,22 @@
 );
 
 //鐩戝惉琛ㄥ崟缂栬緫鐘舵��
-watch(edit, (nValue) => {
-  emit('update:isEdit', nValue);
+watch(
+  () => props.isEdit,
+  (nV, oV) => {
+    if (nV != oV) {
+      edit.value = nV;
+    }
+  },
+  { immediate: true }
+);
+watch(edit, (nV, oV) => {
+  if (nV != oV) {
+    emit('update:isEdit', nV);
+  }
 });
 
-defineExpose({ onSubmit, onCancel, onReset });
+defineExpose({ formObj, onSubmit, onCancel, onReset });
 </script>
 
 <style scoped></style>

--
Gitblit v1.9.3