From 89781e8f9bc49ccbf9c3ede426f9237dfa2faa0c Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期四, 15 八月 2024 09:36:20 +0800
Subject: [PATCH] fix: 修改新建会话判断条件,模型页面调整

---
 src/views/dmx/model/components/addPageModel.vue |   70 ++++++++++++++++++++++++++--------
 1 files changed, 53 insertions(+), 17 deletions(-)

diff --git a/src/views/dmx/model/components/addPageModel.vue b/src/views/dmx/model/components/addPageModel.vue
index 21cd429..616dac0 100644
--- a/src/views/dmx/model/components/addPageModel.vue
+++ b/src/views/dmx/model/components/addPageModel.vue
@@ -17,11 +17,17 @@
       :style="{ width: '90%', margin: '0 auto' }"
       layout="vertical"
     >
-      <div v-if="isType !== 1">
+      <div>
         <a-form-item field="model_type" label="妯″瀷绫诲瀷">
           <a-select v-model="form.model_type" placeholder="璇烽�夋嫨">
-            <a-option value="chat">chat</a-option>
-            <a-option value="embedding">embedding</a-option>
+            <a-option
+              v-for="item of form.options"
+              :value="item.value"
+              :label="item.label"
+            ></a-option>
+            <!-- <a-option value="embedding">embedding</a-option>
+            <a-option value="rerank">rerank</a-option>
+            <a-option value="image2text">image2text</a-option> -->
           </a-select>
         </a-form-item>
         <a-form-item field="llm_name" label="妯″瀷鍚嶇О">
@@ -46,19 +52,30 @@
         <a-form-item field="api_base" label="鍩虹URL">
           <a-input v-model="form.api_base" placeholder="璇疯緭鍏ュ熀纭�URL" />
         </a-form-item>
-        <!-- <a-form-item
+        <a-form-item field="name" label="API-Key">
+          <a-input v-model="form.name" placeholder="API-Key" />
+        </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>
@@ -98,7 +115,7 @@
           </div>
         </a-form-item>
       </div>
-      <div v-else>
+      <!-- <div v-else>
         <a-form-item field="name" label="API-Key">
           <a-input v-model="form.name" placeholder="API-Key" />
         </a-form-item>
@@ -112,12 +129,13 @@
               :action="uploadAction"
               :limit="1"
               :url="form.urlS"
+              @handleRemove="deleteRemove"
               @update:fileList="updateFileList"
               @success="handleSuccess"
             ></Upload>
           </a-space>
         </a-form-item>
-      </div>
+      </div> -->
 
       <a-form-item>
         <div style="width: 100%; text-align: right">
@@ -137,9 +155,9 @@
   import { Modal, Message } from '@arco-design/web-vue';
   import message from '@arco-design/web-vue/es/message';
   import { resolveUnref } from '@vueuse/core';
-  import { useUserStore } from '@/store';
+  import { userModelState } from '@/store';
 
-  const userStore = useUserStore();
+  const modelStore = userModelState();
 
   const addPageModelVisible = defineModel('show');
   const loading = ref(false);
@@ -171,7 +189,12 @@
     llm_factory: '',
     model_type: '',
     province: 'haidian',
-    options: [],
+    options: [
+      { label: 'chat', value: 'chat' },
+      { label: 'embedding', value: 'embedding' },
+      { label: 'rerank', value: 'rerank' },
+      { label: 'image2text', value: 'image2text' },
+    ],
     llm_name: '',
     api_base: '',
     volc_ak: '',
@@ -185,9 +208,9 @@
     multiSelect: ['section one'],
     treeSelect: '',
     raptor: false,
-    addFomList: [],
+    addFomList: <any[]>[],
   });
-  const form_ref = ref(null);
+  const form_ref = ref();
 
   const rules = {
     model_type: [
@@ -220,13 +243,19 @@
         message: '璇疯緭鍏pi_base',
       },
     ],
+    logo: [
+      {
+        required: true,
+        message: '妯″瀷鍥剧墖涓嶈兘涓虹┖',
+      },
+    ],
   };
 
   const uploadAction = '/api/v1/llm/upload'; // 鏇挎崲涓轰綘鐨勪笂浼燗PI
   const fileList = ref([]);
-  const imageUrls = ref([]);
+  const imageUrls = ref<any[]>([]);
   const uploadUrl = ref([]);
-  const httpUrl = localStorage.getItem('httpUrl');
+  const httpUrl = modelStore.hrefUrl;
 
   const updateFileList = (newFileList) => {
     fileList.value = newFileList;
@@ -234,12 +263,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) => {
@@ -259,7 +295,7 @@
               volc_sk: form.volc_sk,
               api_base: form.api_base,
               all_params: all_params,
-              logo: uploadUrl.value[0],
+              logo: uploadUrl.value[0] || '',
             });
 
             if ((data as any).code == 200) {
@@ -278,7 +314,7 @@
               volc_sk: form.volc_sk,
               api_base: form.api_base,
               all_params: all_params,
-              logo: uploadUrl.value[0],
+              logo: uploadUrl.value[0] || '',
             });
 
             if ((data as any).code == 200) {

--
Gitblit v1.8.0