From 5e6e726564e5cf1520f95b7f4f13707a39da4bad Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期五, 30 八月 2024 19:43:42 +0800
Subject: [PATCH] fix: 修改bug
---
src/views/dmx/model/components/addPageModel.vue | 183 +++++++++++++++++----------------------------
1 files changed, 70 insertions(+), 113 deletions(-)
diff --git a/src/views/dmx/model/components/addPageModel.vue b/src/views/dmx/model/components/addPageModel.vue
index 5d6c822..9003dcb 100644
--- a/src/views/dmx/model/components/addPageModel.vue
+++ b/src/views/dmx/model/components/addPageModel.vue
@@ -17,35 +17,33 @@
:style="{ width: '90%', margin: '0 auto' }"
layout="vertical"
>
- <div v-if="isType !== 1">
- <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-select>
- </a-form-item>
- <a-form-item field="llm_name" label="妯″瀷鍚嶇О">
- <a-input v-model="form.llm_name" placeholder="璇疯緭鍏ユā鍨嬪悕绉�" />
- </a-form-item>
-
- <!-- <a-form-item field="volc_ak" label="鐏北 ACCESS_KEY">
- <a-input v-model="form.volc_ak" placeholder="璇疯緭鍏ョ伀灞� ACCESS_KEY" />
- <a-button
- type="primary"
- @click="handleClick"
- style="margin-left: 10px"
- >
- <template #icon>
- <icon-plus />
- </template>
- </a-button>
- </a-form-item>
- <a-form-item field="volc_sk" label="鐏北 SECRET_KEY">
- <a-input v-model="form.volc_sk" placeholder="璇疯緭鍏ョ伀灞� SECRET_KEY" />
- </a-form-item> -->
- <a-form-item field="api_base" label="鍩虹URL">
- <a-input v-model="form.api_base" placeholder="璇疯緭鍏ュ熀纭�URL" />
- </a-form-item>
+ <div>
+ <div v-for="(item, index) in form.formData.params" :key="index">
+ <div v-if="item.value_type === 'select'">
+ <a-form-item
+ :field="item.key"
+ :label="item.name"
+ :required="item.required"
+ >
+ <a-select v-model="form[item.key]" placeholder="璇烽�夋嫨">
+ <a-option
+ v-for="(list, v) in item.options"
+ :value="v"
+ :label="v"
+ ></a-option>
+ </a-select>
+ </a-form-item>
+ </div>
+ <div v-else-if="item.value_type === 'input'">
+ <a-form-item
+ :field="item.key"
+ :label="item.name"
+ :required="item.required"
+ >
+ <a-input v-model="form[item.key]" placeholder="璇疯緭鍏�" />
+ </a-form-item>
+ </div>
+ </div>
<!-- <a-form-item
field="raptor"
label="鏄惁鏀寔 Vision"
@@ -54,17 +52,22 @@
<a-switch v-model="form.raptor" />
</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>
</a-space>
</a-form-item>
- <a-form-item field="all_params" label="澧炲姞鍏跺畠鍙傛暟閰嶇疆">
+ <!-- <a-form-item field="all_params" label="澧炲姞鍏跺畠鍙傛暟閰嶇疆">
<a-button
type="primary"
@click="handleAddClick"
@@ -74,7 +77,7 @@
<icon-plus />
</template>
</a-button>
- </a-form-item>
+ </a-form-item> -->
<a-form-item v-for="(item, index) in form.addFomList" :key="index">
<div class="addInput">
@@ -98,26 +101,6 @@
</div>
</a-form-item>
</div>
- <div v-else>
- <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="section" label="妯″瀷鍥剧墖">
- <a-space direction="vertical" :style="{ width: '100%' }">
- <Upload
- :action="uploadAction"
- :limit="1"
- :url="form.urlS"
- @update:fileList="updateFileList"
- @success="handleSuccess"
- ></Upload>
- </a-space>
- </a-form-item>
- </div>
<a-form-item>
<div style="width: 100%; text-align: right">
@@ -133,13 +116,13 @@
<script lang="ts" setup>
import { reactive, ref, computed, watch, watchEffect, onMounted } from 'vue';
- import { addLlm, getLlmDetail, editLlm } from '@/api/model';
+ import { addLlm, getLlmDetail, editLlm, getFactoryDetail } from '@/api/model';
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);
@@ -168,10 +151,8 @@
const form = reactive({
size: 'medium',
name: '',
+ formData: { logo: '' },
llm_factory: '',
- model_type: '',
- province: 'haidian',
- options: [],
llm_name: '',
api_base: '',
volc_ak: '',
@@ -182,51 +163,26 @@
slider: 5,
score: 5,
switch: false,
- multiSelect: ['section one'],
- treeSelect: '',
raptor: false,
- addFomList: [],
+ addFomList: <any[]>[],
});
- const form_ref = ref(null);
+
+ const form_ref = ref();
const rules = {
- model_type: [
+ logo: [
{
required: true,
- message: '璇烽�夋嫨妯″瀷绫诲瀷',
- },
- ],
- llm_name: [
- {
- required: true,
- message: '鍚嶇О涓嶅厑璁镐负绌�',
- },
- ],
- volc_sk: [
- {
- required: true,
- message: '璇疯緭鍏olc_sk',
- },
- ],
- volc_ak: [
- {
- required: true,
- message: '璇疯緭鍏olc_ak',
- },
- ],
- api_base: [
- {
- required: true,
- message: '璇疯緭鍏pi_base',
+ 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,57 +190,49 @@
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) => {
return item.name + ':' + item.value;
});
+ console.log(form, 9999);
form_ref.value
?.validate()
.then(async (res) => {
if (!res) {
+ form.formData.logo = uploadUrl.value[0] || '';
+ form.llm_factory = editList.value.llm_factory;
+ delete form.formData;
if (props.title == '缂栬緫') {
- console.log(imageUrls.value, 999);
- const data = await editLlm({
- llm_factory: editList.value.llm_factory,
- llm_name: form.llm_name,
- model_type: form.model_type,
- volc_ak: form.volc_ak,
- volc_sk: form.volc_sk,
- api_base: form.api_base,
- all_params: all_params,
- logo: uploadUrl.value[0] || '',
- });
+ const data = await editLlm(form);
if ((data as any).code == 200) {
message.success('娣诲姞鎴愬姛');
addPageModelVisible.value = false;
- emit('refresh-parent');
+ emit('refresh-parent', editList.value.llm_factory);
} else {
message.error('娣诲姞澶辫触');
}
} else {
- const data = await addLlm({
- llm_factory: editList.value.llm_factory,
- llm_name: form.llm_name,
- model_type: form.model_type,
- volc_ak: form.volc_ak,
- volc_sk: form.volc_sk,
- api_base: form.api_base,
- all_params: all_params,
- logo: uploadUrl.value[0] || '',
- });
+ const data = await addLlm(form);
if ((data as any).code == 200) {
message.success('娣诲姞鎴愬姛');
addPageModelVisible.value = false;
- emit('refresh-parent');
+ emit('refresh-parent', editList.value.llm_factory);
} else {
message.error('娣诲姞澶辫触');
}
@@ -372,6 +320,15 @@
imageUrls.value.push(httpUrl + data.data.logo);
};
+ const getFactory = async () => {
+ const { data } = await getFactoryDetail({
+ factory_name: editList.value.llm_factory,
+ });
+ form.formData = data;
+ };
+ onMounted(() => {
+ getFactory();
+ });
watchEffect(() => {
if (props.editList.name) {
--
Gitblit v1.8.0