diff --git a/main/manager-web/src/apis/module/model.js b/main/manager-web/src/apis/module/model.js index c8bd2cd6..e27c69ad 100644 --- a/main/manager-web/src/apis/module/model.js +++ b/main/manager-web/src/apis/module/model.js @@ -52,7 +52,7 @@ export default { modelName: formData.modelName, isDefault: formData.isDefault ? 1 : 0, isEnabled: formData.isEnabled ? 1 : 0, - configJson: JSON.stringify(formData.configJson), + configJson: formData.configJson, docLink: formData.docLink, remark: formData.remark, sort: formData.sort || 0 @@ -125,4 +125,39 @@ export default { }); }).send(); }, + // 获取单个模型配置 + getModelConfig(id, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/models/${id}`) + .method('GET') + .success((res) => { + RequestService.clearRequestTime() + callback(res) + }) + .fail((err) => { + console.error('获取模型配置失败:', err) + this.$message.error(err.msg || '获取模型配置失败') + RequestService.reAjaxFun(() => { + this.getModelConfig(id, callback) + }) + }).send() + }, + // 启用/禁用模型状态 + updateModelStatus(id, status, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/models/enable/${id}/${status}`) + .method('PUT') + .success((res) => { + RequestService.clearRequestTime() + callback(res) + }) + .fail((err) => { + console.error('更新模型状态失败:', err) + this.$message.error(err.msg || '更新模型状态失败') + RequestService.reAjaxFun(() => { + this.updateModelStatus(id, status, callback) + }) + }).send() + }, + } diff --git a/main/manager-web/src/components/AddModelDialog.vue b/main/manager-web/src/components/AddModelDialog.vue index 8f580d8f..3e6022cd 100644 --- a/main/manager-web/src/components/AddModelDialog.vue +++ b/main/manager-web/src/components/AddModelDialog.vue @@ -140,7 +140,7 @@ export default { this.$emit('confirm', { ...this.formData, - provideType: this.formData.supplier, + provideCode: this.formData.supplier, configJson: this.formData.configJson }); this.$emit('update:visible', false); diff --git a/main/manager-web/src/components/ModelEditDialog.vue b/main/manager-web/src/components/ModelEditDialog.vue index 9e9aa185..594efb17 100644 --- a/main/manager-web/src/components/ModelEditDialog.vue +++ b/main/manager-web/src/components/ModelEditDialog.vue @@ -15,11 +15,11 @@
是否启用 - +
设为默认 - +
@@ -29,16 +29,16 @@
- + - +
- @@ -49,7 +49,7 @@
- + @@ -64,7 +64,7 @@
- + @@ -87,11 +87,37 @@ diff --git a/main/manager-web/src/views/ModelConfig.vue b/main/manager-web/src/views/ModelConfig.vue index 7d2a7b53..01d149bd 100644 --- a/main/manager-web/src/views/ModelConfig.vue +++ b/main/manager-web/src/views/ModelConfig.vue @@ -75,7 +75,7 @@ @@ -229,7 +229,6 @@ export default { }).then(() => { const deletePromises = this.selectedModels.map(model => new Promise(resolve => { - // TODO: 删除获取model.id Api.model.deleteModel( model.id, ({ data }) => resolve(data.code === 0) @@ -270,8 +269,6 @@ export default { type: 'warning' }).then(() => { Api.model.deleteModel( - this.activeTab, - model.configJson?.provider || '', // 从configJson获取provider model.id, ({ data }) => { if (data.code === 0) { @@ -327,11 +324,12 @@ export default { handleAddConfirm(newModel) { const params = { modelType: this.activeTab, - provideCode: newModel.supplier, + provideCode: newModel.provideCode, formData: { ...newModel, isDefault: newModel.isDefault ? 1 : 0, - isEnabled: newModel.isEnabled ? 1 : 0 + isEnabled: newModel.isEnabled ? 1 : 0, + configJson: newModel.configJson } }; @@ -390,6 +388,29 @@ export default { this.$message.error(data.msg || '获取模型列表失败'); } }); + }, + // 处理启用/禁用状态变更 + handleStatusChange(model) { + const newStatus = model.isEnabled ? 1 : 0 + const originalStatus = model.isEnabled + + model.isEnabled = !model.isEnabled + + Api.model.updateModelStatus( + model.id, + newStatus, + ({ data }) => { + if (data.code === 0) { + this.$message.success(newStatus === 1 ? '启用成功' : '禁用成功') + // 保持新状态 + model.isEnabled = newStatus + } else { + // 操作失败时恢复原状态 + model.isEnabled = originalStatus + this.$message.error(data.msg || '操作失败') + } + } + ) } }, };