ForcePilot/web/src/components/SearchConfigModal.vue

63 lines
1.2 KiB
Vue
Raw Normal View History

<template>
<a-modal
:open="props.modelValue"
title="检索配置"
width="800px"
:confirm-loading="saving"
@ok="handleSave"
@cancel="handleCancel"
ok-text="保存"
cancel-text="取消"
>
<SearchConfigPanel
v-if="props.modelValue"
ref="searchConfigPanelRef"
:kb-id="props.kbId"
@save="handlePanelSave"
/>
</a-modal>
</template>
<script setup>
import { ref } from 'vue'
import SearchConfigPanel from '@/components/SearchConfigPanel.vue'
const props = defineProps({
modelValue: {
type: Boolean,
default: false
},
kbId: {
type: String,
default: ''
}
})
const emit = defineEmits(['update:modelValue', 'save'])
const searchConfigPanelRef = ref(null)
const saving = ref(false)
2026-03-26 13:53:35 +08:00
const handleSave = async () => {
if (!searchConfigPanelRef.value) return
saving.value = true
try {
const success = await searchConfigPanelRef.value.save()
if (success) {
emit('update:modelValue', false)
}
} finally {
saving.value = false
}
}
const handlePanelSave = (config) => {
emit('save', config)
emit('update:modelValue', false)
}
const handleCancel = () => {
emit('update:modelValue', false)
}
2026-05-31 13:40:15 +08:00
</script>