fix: tool update refresh
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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()
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -75,6 +75,9 @@ const InnerToolModal = forwardRef<InnerToolModalRef, InnerToolModalProps>(({
|
|||||||
.then(() => {
|
.then(() => {
|
||||||
message.success(t('tool.testConnectionSuccess'));
|
message.success(t('tool.testConnectionSuccess'));
|
||||||
})
|
})
|
||||||
|
.finally(() => {
|
||||||
|
refreshTable()
|
||||||
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
// 暴露给父组件的方法
|
// 暴露给父组件的方法
|
||||||
|
|||||||
@@ -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(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user