From 9a61e46d96536f3299e57f7259ae1c9972256ec6 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 30 九月 2025 09:42:09 +0800
Subject: [PATCH] 1. 隐藏未完成的账户匹配页面 2. 根据第三方新的接口文档修改接口url地址
---
src/components/form/FYForm.vue | 124 ++++++++++++++++++++++++++++++++---------
1 files changed, 96 insertions(+), 28 deletions(-)
diff --git a/src/components/form/FYForm.vue b/src/components/form/FYForm.vue
index 42cf198..ef4cbb8 100644
--- a/src/components/form/FYForm.vue
+++ b/src/components/form/FYForm.vue
@@ -3,16 +3,22 @@
:inline="false"
:model="formObj"
ref="formRef"
- :rules="rules"
+ :rules="allRules"
label-position="right"
label-width="150px"
>
<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,24 +32,41 @@
* 鍙紶鍏ュ垵濮嬭〃鍗曟暟鎹甪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: {
type: Boolean,
default: true
},
+ submitName: {
+ type: String,
+ default: '鎻愪氦'
+ },
//鍙栨秷鎸夐挳鏄惁鍙敤
useCancel: Boolean,
//閲嶇疆鎸夐挳鏄惁鍙敤
useReset: Boolean,
//瑙﹀彂閲嶇疆
- reset: Boolean,
+ doClear: Boolean,
//閫氱煡缂栬緫鐘舵��
isEdit: Boolean
});
@@ -51,15 +74,40 @@
//瑙﹀彂鍑芥暟锛屾彁浜ゅ拰鍙栨秷
const emit = defineEmits(['submit', 'cancel', 'update:isEdit']);
-//琛ㄥ崟鎿嶄綔鍑芥暟
-const { formObj, formRef, edit, onSubmit, onCancel, onReset, formProps } = useFormConfirm({
- submit: {
- do: submit
- },
- cancel: {
- do: cancel
- }
+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, clear } =
+ useFormConfirm({
+ submit: {
+ do: submit
+ },
+ cancel: {
+ do: cancel
+ }
+ });
//鍔犺浇鐘舵��
const loading = ref(false);
@@ -68,14 +116,17 @@
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,
+ () => {
+ resolve();
+ },
+ (err) => {
+ reject(err ? err : '');
+ }
+ );
+ }).finally(() => (loading.value = false));
}
//鍙栨秷鎸夐挳瑙﹀彂
@@ -83,29 +134,46 @@
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();
}
}
);
//鐩戝惉琛ㄥ崟缂栬緫鐘舵��
-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({ formObj, onSubmit, onCancel, onReset });
</script>
<style scoped></style>
--
Gitblit v1.9.3