From 7067723946f837d0468814c28fe4971b7c331d11 Mon Sep 17 00:00:00 2001 From: liudong <liudong> Date: 星期六, 24 八月 2024 20:12:28 +0800 Subject: [PATCH] 知识库列表修改 --- src/views/dmx/model/components/addTableName.vue | 82 ++++++++++++++++++++++++++++++++++------- 1 files changed, 68 insertions(+), 14 deletions(-) diff --git a/src/views/dmx/model/components/addTableName.vue b/src/views/dmx/model/components/addTableName.vue index 0b5648c..e560d56 100644 --- a/src/views/dmx/model/components/addTableName.vue +++ b/src/views/dmx/model/components/addTableName.vue @@ -17,8 +17,21 @@ :style="{ width: '90%', margin: '0 auto' }" layout="vertical" > - <a-form-item field="name" label="妯″瀷鍚嶇О"> - <a-input v-model="form.name" placeholder="璇疯緭鍏ユā鍨嬪悕绉�" /> + <a-form-item field="name" label="妯″瀷妗嗘灦"> + <!-- <a-input v-model="form.name" placeholder="璇疯緭鍏ユā鍨嬪悕绉�" /> --> + <a-select + v-model="form.name" + placeholder="璇烽�夋嫨妯″瀷妗嗘灦" + allow-create + allow-search + > + <a-option + v-for="(item, index) in modalList" + :value="item.name" + :label="item.name" + :disabled="item.added" + ></a-option> + </a-select> </a-form-item> <!-- <a-form-item field="apiKey" label="API-Key"> <a-input v-model="form.apiKey" placeholder="API-Key" /> @@ -30,16 +43,22 @@ <a-textarea v-model="form.tags" placeholder="璇疯緭鍏ユā鍨嬫弿杩�" + :max-length="50" allow-clear /> </a-form-item> - <a-form-item field="section" label="妯″瀷鍥剧墖"> - <a-space direction="vertical" :style="{ width: '100%' }"> + <a-form-item field="logo" label="妯″瀷鍥剧墖"> + <a-space + v-model="form.logo" + direction="vertical" + :style="{ width: '100%' }" + > <Upload :action="uploadAction" :limit="1" :url="form.urlS" + @handleRemove="deleteRemove" @update:fileList="updateFileList" @success="handleSuccess" ></Upload> @@ -66,10 +85,21 @@ ref, computed, } from 'vue'; - import { addLlmFactory, getLlmDetail, editLlmFactory } from '@/api/model'; + import { + getFactories, + addLlmFactory, + getLlmDetail, + editLlmFactory, + } from '@/api/model'; + import { Message } from '@arco-design/web-vue'; + import { userModelState } from '@/store'; + + const modelStore = userModelState(); const addTabVisible = defineModel('tabShow'); + + const httpUrl = modelStore.hrefUrl; const loading = ref(false); const props = defineProps({ task_id: { @@ -96,19 +126,25 @@ logo: '', urlS: '', }); - const formRef = ref(null); + const formRef = ref(); const rules = { name: [ { required: true, - message: '鍚嶇О涓嶅厑璁镐负绌�', + message: '妯″瀷妗嗘灦涓嶅厑璁镐负绌�', }, ], - describe: [ + tags: [ { required: true, message: '鎻忚堪涓嶅厑璁镐负绌�', + }, + ], + logo: [ + { + required: true, + message: '妯″瀷鍥剧墖涓嶈兘涓虹┖', }, ], }; @@ -123,11 +159,11 @@ tags: form.tags, api_base: form.api_base, // all_params: all_params, - logo: imageUrls.value[0], + logo: uploadUrl.value[0] || '', }) .then((resData) => { if ((resData as any).code === 200) { - emit('refresh-parent'); + emit('refresh-parent',form.name); addTabVisible.value = false; } }) @@ -138,11 +174,11 @@ tags: form.tags, api_base: form.api_base, // all_params: all_params, - logo: imageUrls.value[0], + logo: uploadUrl.value[0], }) .then((resData) => { if ((resData as any).code === 200) { - emit('refresh-parent'); + emit('refresh-parent', form.name); addTabVisible.value = false; Message.success('娣诲姞鎴愬姛'); } @@ -166,13 +202,25 @@ const uploadAction = '/api/v1/llm/upload'; // 鏇挎崲涓轰綘鐨勪笂浼燗PI const fileList = ref([]); const imageUrls = ref([]); + const uploadUrl = ref([]); const updateFileList = (newFileList) => { fileList.value = newFileList; }; + const deleteRemove = () => { + form.logo = ''; + uploadUrl.value = []; + imageUrls.value = []; + }; + const handleSuccess = (urls) => { - imageUrls.value = urls; // 鎷垮埌涓婁紶鐨勫浘鐗囧湴鍧� - console.log(urls, 77777); + uploadUrl.value = urls; + form.logo = urls[0]; + + const urlsArr = urls.map((url) => { + return httpUrl + url; + }); + imageUrls.value = urlsArr; // 鎷垮埌涓婁紶鐨勫浘鐗囧湴鍧� }; const handleOpened = (el) => { @@ -184,6 +232,12 @@ }); formRef.value?.resetFields(); }; + const modalList = ref([]); + const queryModel = async () => { + const res = await getFactories(); + modalList.value = res.data; + }; + queryModel(); watchEffect(() => { if (props.nameList && props.title == '缂栬緫妯″瀷') { -- Gitblit v1.8.0