From 148e71985f29c8b738eba051c7e8768d99773681 Mon Sep 17 00:00:00 2001
From: CGD <3030332422@qq.com>
Date: Fri, 4 Apr 2025 23:52:36 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E4=BF=AE=E6=94=B9=E6=A8=A1?=
=?UTF-8?q?=E5=9E=8B=E9=A1=B5=E9=9D=A2=E7=9A=84=E2=80=9D=E8=8E=B7=E5=8F=96?=
=?UTF-8?q?=E6=A8=A1=E5=9E=8B=E4=BE=9B=E5=BA=94=E5=99=A8=E5=88=97=E8=A1=A8?=
=?UTF-8?q?=E2=80=9C=E5=8A=9F=E8=83=BD=EF=BC=9B=E2=80=9D=E5=88=A0=E9=99=A4?=
=?UTF-8?q?=E6=A8=A1=E5=9E=8B=E9=85=8D=E7=BD=AE=E2=80=9C=E5=87=BA=E7=8E=B0?=
=?UTF-8?q?=E2=80=9D=E6=9C=8D=E5=8A=A1=E5=99=A8=E5=86=85=E9=83=A8=E5=BC=82?=
=?UTF-8?q?=E5=B8=B8=E2=80=9C=E9=94=99=E8=AF=AF=E3=80=82?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
main/manager-web/src/apis/module/model.js | 18 +++++
.../src/components/ModelEditDialog.vue | 51 +++++++++++---
main/manager-web/src/views/ModelConfig.vue | 67 +++++++++++++------
3 files changed, 106 insertions(+), 30 deletions(-)
diff --git a/main/manager-web/src/apis/module/model.js b/main/manager-web/src/apis/module/model.js
index 5957af45..2bf7dc00 100644
--- a/main/manager-web/src/apis/module/model.js
+++ b/main/manager-web/src/apis/module/model.js
@@ -74,5 +74,23 @@ export default {
})
}).send()
},
+ // 删除模型配置
+ deleteModel(modelType, provideCode, id, callback) {
+ RequestService.sendRequest()
+ .url(`${getServiceUrl()}/api/v1/models/models/${modelType}/${provideCode}/${id}`)
+ .method('DELETE')
+ .success((res) => {
+ RequestService.clearRequestTime()
+ callback(res)
+ })
+ .fail((err) => {
+ console.error('删除模型失败:', err)
+ this.$message.error(err.msg || '删除模型失败')
+ RequestService.reAjaxFun(() => {
+ this.deleteModel(modelType, provideCode, id, callback)
+ })
+ }).send()
+ },
+
}
diff --git a/main/manager-web/src/components/ModelEditDialog.vue b/main/manager-web/src/components/ModelEditDialog.vue
index 4aea1027..1313c6b0 100644
--- a/main/manager-web/src/components/ModelEditDialog.vue
+++ b/main/manager-web/src/components/ModelEditDialog.vue
@@ -37,10 +37,9 @@
-
-
-
-
+
+
+
@@ -84,15 +83,19 @@
diff --git a/main/manager-web/src/views/ModelConfig.vue b/main/manager-web/src/views/ModelConfig.vue
index e6703776..cdb9e3ef 100644
--- a/main/manager-web/src/views/ModelConfig.vue
+++ b/main/manager-web/src/views/ModelConfig.vue
@@ -118,7 +118,7 @@
-
+
@@ -209,48 +209,71 @@ export default {
handleSearch() {
console.log('查询:', this.search);
},
+ // 批量删除
batchDelete() {
if (this.selectedModels.length === 0) {
- this.$message.warning('请先选择要删除的模型');
- return;
+ this.$message.warning('请先选择要删除的模型')
+ return
}
+
this.$confirm('确定要删除选中的模型吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
- const selectedIds = this.selectedModels.map(model => model.code);
- this.modelList = this.modelList.filter(model => !selectedIds.includes(model.code));
- this.$message.success('删除成功');
- this.selectedModels = [];
- this.isAllSelected = false;
+ const deletePromises = this.selectedModels.map(model =>
+ new Promise(resolve => {
+ ModelApi.deleteModel(
+ this.activeTab,
+ model.configJson?.provider || '',
+ model.id,
+ ({data}) => resolve(data.code === 0)
+ )
+ })
+ )
+
+ Promise.all(deletePromises).then(results => {
+ if (results.every(Boolean)) {
+ this.$message.success('批量删除成功')
+ this.loadData()
+ } else {
+ this.$message.error('部分删除失败')
+ }
+ })
}).catch(() => {
- this.$message.info('已取消删除');
- });
- },
+ this.$message.info('已取消删除')
+ })
+ },
addModel() {
this.addDialogVisible = true;
},
editModel(model) {
- this.editModelData = {
- code: model.code,
- name: model.candidateName,
- supplier: model.supplier,
- };
+ this.editModelData = JSON.parse(JSON.stringify(model));
this.editDialogVisible = true;
},
- // 删除模型配置
+ // 删除单个模型
deleteModel(model) {
- this.$confirm(`确定要删除模型 ${model.candidateName} 吗?`, '提示', {
+ this.$confirm('确定要删除该模型吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
- this.modelList = this.modelList.filter(item => item.code !== model.code);
- this.$message.success('删除成功');
+ ModelApi.deleteModel(
+ this.activeTab,
+ model.configJson?.provider || '', // 从configJson获取provider
+ model.id,
+ ({data}) => {
+ if (data.code === 0) {
+ this.$message.success('删除成功')
+ this.loadData()
+ } else {
+ this.$message.error(data.msg || '删除失败')
+ }
+ }
+ )
}).catch(() => {
- this.$message.info('已取消删除');
- });
+ this.$message.info('已取消删除')
+ })
},
handleCurrentChange(page) {
this.currentPage = page;