From dc3fb06f6d3253ddebf35fec2d805b1750086b01 Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期三, 14 八月 2024 17:31:51 +0800
Subject: [PATCH] fix: 上传组件新增删除功能,模型管理页面修改

---
 src/views/dmx/model/index.vue                   |   57 ++++++++++++++++++----------
 src/components/upload/index.vue                 |    7 +++
 src/views/dmx/model/components/addPageModel.vue |   28 ++++++++++++-
 3 files changed, 68 insertions(+), 24 deletions(-)

diff --git a/src/components/upload/index.vue b/src/components/upload/index.vue
index b58aeaf..3600546 100644
--- a/src/components/upload/index.vue
+++ b/src/components/upload/index.vue
@@ -5,6 +5,7 @@
     :limit="limit"
     :action="action"
     @change="handleChange"
+    @before-remove="beforeRemove"
     image-preview
   />
 </template>
@@ -23,7 +24,7 @@
     url: String, //鍥炴樉鐨勬枃浠跺湴鍧�
   });
 
-  const emit = defineEmits(['update:fileList', 'success']);
+  const emit = defineEmits(['update:fileList', 'success', 'handleRemove']);
   const urls = computed(() => props.url);
   const fileList = ref([]);
 
@@ -62,6 +63,10 @@
   });
 
   // console.log(urls.value, 8988);
+  const beforeRemove = (file) => {
+    emit('handleRemove');
+    fileList.value = [];
+  };
 
   const handleChange = (fileList) => {
     emit('update:fileList', fileList);
diff --git a/src/views/dmx/model/components/addPageModel.vue b/src/views/dmx/model/components/addPageModel.vue
index 92481d4..bafb7b1 100644
--- a/src/views/dmx/model/components/addPageModel.vue
+++ b/src/views/dmx/model/components/addPageModel.vue
@@ -49,19 +49,27 @@
         <a-form-item field="name" label="API-Key">
           <a-input v-model="form.name" placeholder="API-Key" />
         </a-form-item>
-        <!-- <a-form-item
+        <!-- <a-form-item field="describe" label="Base-Url">
+          <a-input v-model="form.name" placeholder="Base-Url" />
+        </a-form-item> -->
+        <a-form-item
           field="raptor"
           label="鏄惁鏀寔 Vision"
           v-if="form.model_type === 'chat'"
         >
           <a-switch v-model="form.raptor" />
-        </a-form-item> -->
+        </a-form-item>
         <a-form-item field="logo" label="妯″瀷鍥剧墖">
-          <a-space direction="vertical" :style="{ width: '100%' }">
+          <a-space
+            direction="vertical"
+            v-model="form.logo"
+            :style="{ width: '100%' }"
+          >
             <Upload
               :action="uploadAction"
               :limit="1"
               :url="form.urlS"
+              @handleRemove="deleteRemove"
               @update:fileList="updateFileList"
               @success="handleSuccess"
             ></Upload>
@@ -115,6 +123,7 @@
               :action="uploadAction"
               :limit="1"
               :url="form.urlS"
+              @handleRemove="deleteRemove"
               @update:fileList="updateFileList"
               @success="handleSuccess"
             ></Upload>
@@ -223,6 +232,12 @@
         message: '璇疯緭鍏pi_base',
       },
     ],
+    logo: [
+      {
+        required: true,
+        message: '妯″瀷鍥剧墖涓嶈兘涓虹┖',
+      },
+    ],
   };
 
   const uploadAction = '/api/v1/llm/upload'; // 鏇挎崲涓轰綘鐨勪笂浼燗PI
@@ -237,12 +252,19 @@
 
   const handleSuccess = (urls) => {
     uploadUrl.value = urls;
+    form.logo = urls[0];
 
     const urlsArr = urls.map((url) => {
       return httpUrl + url;
     });
     imageUrls.value = urlsArr; // 鎷垮埌涓婁紶鐨勫浘鐗囧湴鍧�
   };
+  const deleteRemove = () => {
+    form.logo = '';
+    uploadUrl.value = [];
+    imageUrls.value = [];
+  };
+
   const emit = defineEmits(['refresh-parent']);
   const handleSubmit = ({ values, errors }) => {
     const all_params = form.addFomList.map((item) => {
diff --git a/src/views/dmx/model/index.vue b/src/views/dmx/model/index.vue
index ef07842..465a8be 100644
--- a/src/views/dmx/model/index.vue
+++ b/src/views/dmx/model/index.vue
@@ -61,6 +61,9 @@
                           <div class="arco-btn-group">
                             <a-space class="btn-group">
                               <!-- <editModel></editModel> -->
+                              <a-button @click="handleDeleteModel(item, 1)">
+                                鍒犻櫎
+                              </a-button>
                               <a-button
                                 type="primary"
                                 @click="handleEditModel(item, 1)"
@@ -201,6 +204,7 @@
     key: {
       tags: '娣诲姞key',
       id: 1,
+      live: 1,
     },
   });
 
@@ -251,27 +255,31 @@
   };
 
   //鍒犻櫎妯″瀷
-  const handleDeleteModel = (val) => {
-    Modal.confirm({
-      title: '璀﹀憡',
-      content: '纭鍒犻櫎鍚�',
-      okText: '纭畾',
-      cancelText: '鍙栨秷',
-      onOk: async () => {
-        const factory = tabKey.value;
-        const res = await deleteLlm({
-          llm_factory: tabKey.value,
-          llm_name: val.name,
-        });
+  const handleDeleteModel = (val, type) => {
+    if (type == 1) {
+      handleDelete(val);
+    } else {
+      Modal.confirm({
+        title: '璀﹀憡',
+        content: '纭鍒犻櫎鍚�',
+        okText: '纭畾',
+        cancelText: '鍙栨秷',
+        onOk: async () => {
+          const factory = tabKey.value;
+          const res = await deleteLlm({
+            llm_factory: tabKey.value,
+            llm_name: val.name,
+          });
 
-        if ((res as any).code == 0) {
-          queryModel();
-          tabKey.value = factory;
-        } else {
-        }
-      },
-      onCancel: () => {},
-    });
+          if ((res as any).code == 0) {
+            queryModel();
+            tabKey.value = factory;
+          } else {
+          }
+        },
+        onCancel: () => {},
+      });
+    }
   };
 
   //鐖剁骇妯″瀷
@@ -326,6 +334,15 @@
     tabData.value = Object.assign({}, tabData.value, res.data);
   };
   queryModel();
+  //杩斿洖婊¤冻鏉′欢鐨勫璞�
+  const filterObject = (obj, threshold) => {
+    return Object.keys(obj)
+      .filter((key) => obj[key] > threshold)
+      .reduce((result, key) => {
+        result[key] = obj[key];
+        return result;
+      }, {});
+  };
 
   const refreshParentMethod = () => {
     queryModel();

--
Gitblit v1.8.0