fix: tool update refresh

This commit is contained in:
zhaoying
2025-12-30 18:19:31 +08:00
parent 262952c022
commit 67d6286274
4 changed files with 21 additions and 16 deletions

View File

@@ -2,7 +2,7 @@ import { forwardRef, useImperativeHandle, useState, useEffect } from 'react';
import { Form, Select } from 'antd'; import { Form, Select } from 'antd';
import { useTranslation } from 'react-i18next'; import { useTranslation } from 'react-i18next';
import type { ModelConfig, ModelConfigModalRef, Config, ChatData } from '../types' import type { ModelConfig, ModelConfigModalRef, Config, Source } from '../types'
import type { Model } from '@/views/ModelManagement/types' import type { Model } from '@/views/ModelManagement/types'
import RbModal from '@/components/RbModal' import RbModal from '@/components/RbModal'
import RbSlider from '@/components/RbSlider' import RbSlider from '@/components/RbSlider'
@@ -10,10 +10,9 @@ import RbSlider from '@/components/RbSlider'
const FormItem = Form.Item; const FormItem = Form.Item;
interface ModelConfigModalProps { interface ModelConfigModalProps {
modelList: Model[]; modelList?: Model[];
refresh: (values: ModelConfig, type: 'model') => void; refresh: (values: ModelConfig, type: Source) => void;
data: Config; data: Config;
chatList: ChatData[]
} }
const configFields = [ const configFields = [
@@ -28,12 +27,12 @@ const configFields = [
const ModelConfigModal = forwardRef<ModelConfigModalRef, ModelConfigModalProps>(({ const ModelConfigModal = forwardRef<ModelConfigModalRef, ModelConfigModalProps>(({
refresh, refresh,
data, data,
modelList modelList = []
}, ref) => { }, ref) => {
const { t } = useTranslation(); const { t } = useTranslation();
const [visible, setVisible] = useState(false); const [visible, setVisible] = useState(false);
const [form] = Form.useForm<ModelConfig>(); const [form] = Form.useForm<ModelConfig>();
const [source, setSource] = useState<'chat' | 'model'>('model') const [source, setSource] = useState<Source>('model')
const values = Form.useWatch([], form); const values = Form.useWatch([], form);
@@ -43,14 +42,14 @@ const ModelConfigModal = forwardRef<ModelConfigModalRef, ModelConfigModalProps>(
form.resetFields(); form.resetFields();
}; };
const handleOpen = (source: 'chat' | 'model', model) => { const handleOpen = (source: Source, model?: any) => {
setSource(source) setSource(source)
if (source === 'model') { if (source === 'model') {
form.setFieldsValue({ form.setFieldsValue({
...(data?.model_parameters || {}), ...(data?.model_parameters || {}),
default_model_config_id: data.default_model_config_id || '' default_model_config_id: data.default_model_config_id || ''
}) })
} else if (source === 'chat') { } else if (source === 'chat' || source === 'multi_agent') {
if (model) { if (model) {
form.setFieldsValue({ form.setFieldsValue({
...(model?.model_parameters || {}), ...(model?.model_parameters || {}),
@@ -77,9 +76,9 @@ const ModelConfigModal = forwardRef<ModelConfigModalRef, ModelConfigModalProps>(
console.log('err', err) console.log('err', err)
}); });
} }
const handleChange = (value: string, option: Model) => { const handleChange = (_value: string, option: Model | Model[] | undefined) => {
if (source === 'chat') { if (source === 'chat') {
form.setFieldValue('label', option.name) form.setFieldValue('label', (option as Model).name)
} }
} }
@@ -104,14 +103,15 @@ const ModelConfigModal = forwardRef<ModelConfigModalRef, ModelConfigModalProps>(
<Form <Form
form={form} form={form}
layout="vertical" layout="vertical"
className="rb:ml-[7px]!" className="rb:ml-1.75!"
> >
<FormItem <FormItem
name="default_model_config_id" name="default_model_config_id"
label={t('application.currentModel')} label={t('application.currentModel')}
rules={[{ required: true, message: t('common.pleaseSelect') }]} rules={[{ required: source !== 'multi_agent', message: t('common.pleaseSelect') }]}
hidden={source === 'multi_agent'}
> >
<Select {source !== 'multi_agent' && <Select
placeholder={t('common.pleaseSelect')} placeholder={t('common.pleaseSelect')}
fieldNames={{ fieldNames={{
label: 'name', label: 'name',
@@ -119,11 +119,11 @@ const ModelConfigModal = forwardRef<ModelConfigModalRef, ModelConfigModalProps>(
}} }}
options={modelList} options={modelList}
onChange={handleChange} onChange={handleChange}
/> />}
</FormItem> </FormItem>
{source === 'chat' && <FormItem name="label" hidden />} {source === 'chat' && <FormItem name="label" hidden />}
<div className="rb:text-[14px] rb:font-medium rb:text-[#5B6167] rb:mb-[16px]">{t('application.parameterConfig')}</div> <div className="rb:text-[14px] rb:font-medium rb:text-[#5B6167] rb:mb-4">{t('application.parameterConfig')}</div>
{configFields.map(item => ( {configFields.map(item => (
<FormItem <FormItem

View File

@@ -56,6 +56,8 @@ const Mcp: React.FC<{ getStatusTag: (status: string) => ReactNode }> = ({ getSta
testConnection(item.id) testConnection(item.id)
.then(() => { .then(() => {
message.success(t('tool.testConnectionSuccess')); message.success(t('tool.testConnectionSuccess'));
})
.finally(() => {
getData() getData()
}) })
}; };

View File

@@ -75,6 +75,9 @@ const InnerToolModal = forwardRef<InnerToolModalRef, InnerToolModalProps>(({
.then(() => { .then(() => {
message.success(t('tool.testConnectionSuccess')); message.success(t('tool.testConnectionSuccess'));
}) })
.finally(() => {
refreshTable()
})
}; };
// 暴露给父组件的方法 // 暴露给父组件的方法

View File

@@ -115,10 +115,10 @@ const McpServiceModal = forwardRef<McpServiceModalRef, McpServiceModalProps>(({
testConnection(res.tool_id || editVo?.id) testConnection(res.tool_id || editVo?.id)
.then(() => { .then(() => {
handleClose(); handleClose();
refresh()
}) })
.finally(() => { .finally(() => {
setLoading(false); setLoading(false);
refresh()
}) })
}) })
.catch(() => { .catch(() => {