From 3f1f4cd98d552f12f94a733c174df9029a3fe51b Mon Sep 17 00:00:00 2001 From: MerCry Date: Thu, 26 Feb 2026 12:30:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DConfigForm=E5=92=8CEmb?= =?UTF-8?q?eddingConfigForm=E7=BB=84=E4=BB=B6watch=E6=AD=BB=E5=BE=AA?= =?UTF-8?q?=E7=8E=AF=E5=AF=BC=E8=87=B4=E5=86=85=E5=AD=98=E6=BA=A2=E5=87=BA?= =?UTF-8?q?=20[AC-AISVC-50]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ai-service-admin/src/components/common/ConfigForm.vue | 7 +++++++ .../src/components/embedding/EmbeddingConfigForm.vue | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/ai-service-admin/src/components/common/ConfigForm.vue b/ai-service-admin/src/components/common/ConfigForm.vue index a365961..92885ac 100644 --- a/ai-service-admin/src/components/common/ConfigForm.vue +++ b/ai-service-admin/src/components/common/ConfigForm.vue @@ -92,6 +92,7 @@ const emit = defineEmits<{ const formRef = ref() const formData = ref>({}) +const isUpdating = ref(false) const schemaProperties = computed(() => { return props.schema?.properties || {} @@ -174,6 +175,7 @@ const initFormData = () => { watch( () => props.modelValue, (newVal) => { + if (isUpdating.value) return if (JSON.stringify(newVal) !== JSON.stringify(formData.value)) { initFormData() } @@ -192,8 +194,13 @@ watch( watch( formData, (val) => { + if (isUpdating.value) return if (JSON.stringify(val) !== JSON.stringify(props.modelValue)) { + isUpdating.value = true emit('update:modelValue', val) + Promise.resolve().then(() => { + isUpdating.value = false + }) } }, { deep: true } diff --git a/ai-service-admin/src/components/embedding/EmbeddingConfigForm.vue b/ai-service-admin/src/components/embedding/EmbeddingConfigForm.vue index 8e0768f..e0cd7ba 100644 --- a/ai-service-admin/src/components/embedding/EmbeddingConfigForm.vue +++ b/ai-service-admin/src/components/embedding/EmbeddingConfigForm.vue @@ -92,6 +92,7 @@ const emit = defineEmits<{ const formRef = ref() const formData = ref>({}) +const isUpdating = ref(false) const schemaProperties = computed(() => { return props.schema?.properties || {} @@ -174,6 +175,7 @@ const initFormData = () => { watch( () => props.modelValue, (newVal) => { + if (isUpdating.value) return if (JSON.stringify(newVal) !== JSON.stringify(formData.value)) { initFormData() } @@ -192,8 +194,13 @@ watch( watch( formData, (val) => { + if (isUpdating.value) return if (JSON.stringify(val) !== JSON.stringify(props.modelValue)) { + isUpdating.value = true emit('update:modelValue', val) + Promise.resolve().then(() => { + isUpdating.value = false + }) } }, { deep: true }