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