From ef307d590b7d27791bce1b594ff16267f9b8f0f4 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 21 三月 2024 17:39:52 +0800
Subject: [PATCH] 调整文件夹路径
---
src/components/form/FYForm.vue | 70 +++++++++++++++++++++++++++-------
1 files changed, 55 insertions(+), 15 deletions(-)
diff --git a/src/components/form/FYForm.vue b/src/components/form/FYForm.vue
index 42cf198..94773fa 100644
--- a/src/components/form/FYForm.vue
+++ b/src/components/form/FYForm.vue
@@ -3,7 +3,7 @@
:inline="false"
:model="formObj"
ref="formRef"
- :rules="rules"
+ :rules="allRules"
label-position="right"
label-width="150px"
>
@@ -26,12 +26,17 @@
* 鍙紶鍏ュ垵濮嬭〃鍗曟暟鎹甪ormInfo锛岃〃鍗曟牎楠岃鍒檙ules
* 瀹炵幇submit鍜宑ancel瑙﹀彂鍑芥暟
*/
-import { defineProps, defineEmits, reactive, ref, watch } 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: {
@@ -43,7 +48,7 @@
//閲嶇疆鎸夐挳鏄惁鍙敤
useReset: Boolean,
//瑙﹀彂閲嶇疆
- reset: Boolean,
+ doClear: Boolean,
//閫氱煡缂栬緫鐘舵��
isEdit: Boolean
});
@@ -51,8 +56,32 @@
//瑙﹀彂鍑芥暟锛屾彁浜ゅ拰鍙栨秷
const emit = defineEmits(['submit', 'cancel', 'update:isEdit']);
+const baseRules = reactive({
+ _usertype: [
+ {
+ required: true,
+ message: '鐢ㄦ埛绫诲瀷涓嶈兘涓虹┖',
+ trigger: 'change'
+ }
+ ],
+ _locations: [
+ {
+ required: true,
+ message: '琛屾斂鍖哄垝涓嶈兘涓虹┖',
+ trigger: 'change'
+ }
+ ],
+ _scenetype: [
+ {
+ required: true,
+ message: '鍦烘櫙绫诲瀷涓嶈兘涓虹┖',
+ trigger: 'change'
+ }
+ ]
+});
+
//琛ㄥ崟鎿嶄綔鍑芥暟
-const { formObj, formRef, edit, onSubmit, onCancel, onReset, formProps } = useFormConfirm({
+const { formObj, formRef, edit, onSubmit, onCancel, onReset, clear } = useFormConfirm({
submit: {
do: submit
},
@@ -68,13 +97,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);
+ }
+ );
});
}
@@ -83,21 +117,25 @@
emit('cancel');
}
+const allRules = computed(() => {
+ return { ...baseRules, ...props.rules };
+});
+
//鐩戝惉琛ㄥ崟鍒濆鏁版嵁浼犲叆
watch(
() => props.formInfo,
(nValue) => {
formObj.value = nValue;
},
- { deep: false, immediate: false }
+ { deep: false, immediate: true }
);
//鐩戝惉琛ㄥ崟閲嶇疆鍔熻兘瑙﹀彂
watch(
- () => props.reset,
+ () => props.doClear,
(nValue) => {
if (nValue) {
- onReset();
+ clear();
}
}
);
@@ -106,6 +144,8 @@
watch(edit, (nValue) => {
emit('update:isEdit', nValue);
});
+
+defineExpose({ formObj, onSubmit, onCancel, onReset });
</script>
<style scoped></style>
--
Gitblit v1.9.3