liudong
2024-08-12 75ce4571e95ce33a0b9f909df8f794def653e47c
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"
@@ -20,12 +20,12 @@
      <a-form-item field="name" label="模型名称">
        <a-input v-model="form.name" placeholder="请输入模型名称" />
      </a-form-item>
      <a-form-item field="apiKey" label="API-Key">
      <!-- <a-form-item field="apiKey" label="API-Key">
        <a-input v-model="form.apiKey" placeholder="API-Key" />
      </a-form-item>
      <a-form-item field="baseUrl" label="Base-Url">
        <a-input v-model="form.baseUrl" placeholder="Base-Url" />
      </a-form-item>
      </a-form-item> -->
      <a-form-item field="tags" label="模型描述">
        <a-textarea
          v-model="form.tags"
@@ -39,6 +39,7 @@
          <Upload
            :action="uploadAction"
            :limit="1"
            :url="form.urlS"
            @update:fileList="updateFileList"
            @success="handleSuccess"
          ></Upload>
@@ -57,11 +58,20 @@
</template>
<script lang="ts" setup>
  import { onMounted, onBeforeMount, reactive, ref, computed } from 'vue';
  import { addLlmFactory } from '@/api/model';
  import {
    onMounted,
    onBeforeMount,
    watchEffect,
    reactive,
    ref,
    computed,
  } from 'vue';
  import { addLlmFactory, getLlmDetail, editLlmFactory } from '@/api/model';
  import { Message } from '@arco-design/web-vue';
  const addTabVisible = defineModel('tabShow');
  const httpUrl = localStorage.getItem('httpUrl');
  const loading = ref(false);
  const props = defineProps({
    task_id: {
@@ -71,6 +81,10 @@
    nameList: {
      type: Object,
      default: {},
    },
    title: {
      type: String,
      default: '添加模型',
    },
  });
  const editList = computed(() => props.nameList);
@@ -82,6 +96,7 @@
    api_base: '',
    tags: '',
    logo: '',
    urlS: '',
  });
  const formRef = ref(null);
@@ -104,23 +119,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');
                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');
                addTabVisible.value = false;
                Message.success('添加成功');
              }
            })
            .catch(() => {
              Message.error('添加失败');
            });
        }
      }
    });
  };
@@ -136,13 +168,18 @@
  const uploadAction = '/api/v1/llm/upload'; // 替换为你的上传API
  const fileList = ref([]);
  const imageUrls = ref([]);
  const uploadUrl = ref([]);
  const updateFileList = (newFileList) => {
    fileList.value = newFileList;
  };
  const handleSuccess = (urls) => {
    imageUrls.value = urls; // 拿到上传的图片地址
    console.log(urls, 77777);
    uploadUrl.value = urls;
    const urlsArr = urls.map((url) => {
      return httpUrl + url;
    });
    imageUrls.value = urlsArr; // 拿到上传的图片地址
  };
  const handleOpened = (el) => {
@@ -154,6 +191,14 @@
    });
    formRef.value?.resetFields();
  };
  watchEffect(() => {
    if (props.nameList && props.title == '编辑模型') {
      form.name = props.nameList.llm_factory;
      form.tags = props.nameList.tags;
      form.urlS = props.nameList.logo;
    }
  });
</script>
<script lang="ts">