fix(web): model loading update

This commit is contained in:
zhaoying
2026-01-28 11:11:28 +08:00
parent 462c3b0696
commit 18204bc1f7
4 changed files with 37 additions and 40 deletions

View File

@@ -42,40 +42,43 @@ const CustomModelModal = forwardRef<CustomModelModalRef, CustomModelModalProps>(
}
setVisible(true);
};
const handleUpdate = (data: CustomModelForm) => {
setLoading(true)
const res = isEdit ? updateCustomModel(model.id, data) : addCustomModel(data)
res.then(() => {
refresh && refresh()
handleClose()
message.success(isEdit ? t('common.updateSuccess') : t('common.createSuccess'))
})
.catch(() => {
setLoading(false)
});
}
const handleSave = () => {
form
.validateFields()
.then((values) => {
setLoading(true)
values.is_official = false;
const logo = values.logo as any;
const { logo, ...rest } = values;
let formData: CustomModelForm = {
...rest
}
formData.is_official = false;
if (typeof logo === 'object' && logo?.response?.data.file_id) {
getFileLink(logo?.response?.data.file_id).then(res => {
const logoRes = res as { url: string }
values.logo = logoRes.url
addCustomModel(values).then(() => {
if (refresh) {
refresh();
}
handleClose()
message.success(isEdit ? t('common.updateSuccess') : t('common.createSuccess'))
getFileLink(logo?.response?.data.file_id)
.then(res => {
const logoRes = res as { url: string }
formData.logo = logoRes.url
handleUpdate(formData)
})
.catch(() => {
setLoading(false)
});
})
} else {
values.logo = typeof logo === 'string' ? logo : logo.url
updateCustomModel(model.id, values).then(() => {
if (refresh) {
refresh();
}
handleClose()
message.success(isEdit ? t('common.updateSuccess') : t('common.createSuccess'))
})
.catch(() => {
setLoading(false)
});
handleUpdate(formData)
})
} else {
formData.logo = typeof logo === 'string' ? logo : logo.url
handleUpdate(formData)
}
})
.catch((err) => {
@@ -102,18 +105,18 @@ const CustomModelModal = forwardRef<CustomModelModalRef, CustomModelModalProps>(
form={form}
layout="vertical"
>
{!isEdit && <Form.Item
<Form.Item
name="logo"
label={t('modelNew.logo')}
valuePropName="fileList"
rules={[{ required: true, message: t('common.pleaseSelect') }]}
>
<UploadImages />
</Form.Item>}
</Form.Item>
<Form.Item
name="name"
label={t('modelNew.model_name')}
rules={[{ required: true, message: t('common.inputPlaceholder', { title: t('modelNew.model_name') }) }]}
label={t('modelNew.name')}
rules={[{ required: true, message: t('common.inputPlaceholder', { title: t('modelNew.name') }) }]}
>
<Input placeholder={t('common.pleaseEnter')} />
</Form.Item>

View File

@@ -60,6 +60,8 @@ const GroupModelModal = forwardRef<GroupModelModalRef, GroupModelModalProps>(({
const logoRes = res as { url: string }
formData.logo = logoRes.url
handleUpdate(formData)
}).catch(() => {
handleUpdate(formData)
})
} else {
formData.logo = typeof logo === 'string' ? logo : logo.url

View File

@@ -24,14 +24,12 @@ const SubModelModal = forwardRef<SubModelModalRef, SubModelModalProps>(({
const { message } = App.useApp()
const [visible, setVisible] = useState(false);
const [form] = Form.useForm<SubModelModalForm>();
const [loading, setLoading] = useState(false)
const [selecteds, setSelecteds] = useState<any[]>([])
const [modelList, setModelList] = useState<Option[]>([])
// 封装取消方法,添加关闭弹窗逻辑
const handleClose = () => {
form.resetFields();
setLoading(false)
setVisible(false);
setSelecteds([])
};
@@ -56,13 +54,7 @@ const SubModelModal = forwardRef<SubModelModalRef, SubModelModalProps>(({
const handleSave = () => {
form
.validateFields()
.then((values) => {
console.log('SubModelModal values', values, selecteds, selecteds.map(vo => ({
...vo[0],
model_name: vo[0].name,
model_config_ids: [vo[0].id],
id: vo[1].value
})))
.then(() => {
refresh?.(selecteds.map(vo => ({
...vo[0],
model_name: vo[0].name,
@@ -127,7 +119,6 @@ const SubModelModal = forwardRef<SubModelModalRef, SubModelModalProps>(({
onCancel={handleClose}
okText={t('common.save')}
onOk={handleSave}
confirmLoading={loading}
>
<Form
form={form}

View File

@@ -39,6 +39,7 @@ const MultiKeyConfigModal = forwardRef<MultiKeyConfigModalRef, MultiKeyConfigMod
form
.validateFields()
.then((values) => {
setLoading(true)
addModelApiKey(model.id, {
...values,
model_config_id: model.id,