From 8fc16c6f29bd098598a03e8306788d9b3d2a60ba Mon Sep 17 00:00:00 2001 From: yinbangzhong <zhongbangyin@126.com> Date: 星期二, 27 八月 2024 16:04:41 +0800 Subject: [PATCH] agent --- src/views/dmx/model/components/addTableName.vue | 150 ++++++++++++++++++++++++++++++++++--------------- 1 files changed, 103 insertions(+), 47 deletions(-) diff --git a/src/views/dmx/model/components/addTableName.vue b/src/views/dmx/model/components/addTableName.vue index 45ace16..e560d56 100644 --- a/src/views/dmx/model/components/addTableName.vue +++ b/src/views/dmx/model/components/addTableName.vue @@ -2,7 +2,7 @@ <!-- 娣诲姞妯″瀷 --> <a-modal v-model:visible="addTabVisible" - title="娣诲姞妯″紡" + :title="title" @before-open="handleOpened" @cancel="handleCancel" :footer="false" @@ -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 } 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: { @@ -79,6 +109,10 @@ nameList: { type: Object, default: {}, + }, + title: { + type: String, + default: '娣诲姞妯″瀷', }, }); const editList = computed(() => props.nameList); @@ -92,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: '妯″瀷鍥剧墖涓嶈兘涓虹┖', }, ], }; @@ -113,23 +153,40 @@ console.log(editList, 9999); formRef.value.validate().then(async (res) => { if (!res) { - await addLlmFactory({ - name: form.name, - tags: form.tags, - api_base: form.api_base, - // all_params: all_params, - logo: imageUrls.value[0], - }) - .then((resData) => { - if ((resData as any).code === 200) { - emit('refresh-parent'); - addTabVisible.value = false; - Message.success('娣诲姞鎴愬姛'); - } + if (props.title == '缂栬緫妯″瀷') { + await editLlmFactory({ + name: form.name, + tags: form.tags, + api_base: form.api_base, + // all_params: all_params, + logo: uploadUrl.value[0] || '', }) - .catch(() => { - Message.error('娣诲姞澶辫触'); - }); + .then((resData) => { + if ((resData as any).code === 200) { + emit('refresh-parent',form.name); + addTabVisible.value = false; + } + }) + .catch(() => {}); + } else { + await addLlmFactory({ + name: form.name, + tags: form.tags, + api_base: form.api_base, + // all_params: all_params, + logo: uploadUrl.value[0], + }) + .then((resData) => { + if ((resData as any).code === 200) { + emit('refresh-parent', form.name); + addTabVisible.value = false; + Message.success('娣诲姞鎴愬姛'); + } + }) + .catch(() => { + Message.error('娣诲姞澶辫触'); + }); + } } }); }; @@ -145,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) => { @@ -163,32 +232,19 @@ }); formRef.value?.resetFields(); }; - - // onMounted(() => { - // if (editList.value) { - // getDetail(); - // } - // }); - - // const getDetail = async () => { - // const data = await getLlmDetail( - // editList.value.llm_factory, - // editList.value.tags - // ); - - // form.urlS = data.data.urlS; - // imageUrls.value = data.data.logo; - // }; + const modalList = ref([]); + const queryModel = async () => { + const res = await getFactories(); + modalList.value = res.data; + }; + queryModel(); watchEffect(() => { - if (props.nameList) { - console.log(props.nameList); + if (props.nameList && props.title == '缂栬緫妯″瀷') { form.name = props.nameList.llm_factory; form.tags = props.nameList.tags; form.urlS = props.nameList.logo; } - - // getDetail(); }); </script> -- Gitblit v1.8.0