From 4257482df1dfea1503ba4db9ffef606ecaa977e0 Mon Sep 17 00:00:00 2001
From: liudong <liudong>
Date: 星期四, 22 八月 2024 16:52:06 +0800
Subject: [PATCH] 名称修改
---
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