liudong
2024-08-12 a53981aea70d2247120954a96f9f462c6bad936b
src/views/dmx/model/index.vue
@@ -27,91 +27,95 @@
                  :title="index"
                  :closable="Object.keys(tabData).length >= 4"
                >
                  <div
                    style="display: flex; flex-wrap: wrap"
                    class="card_content"
                  <a-scrollbar
                    style="height: calc(100vh - 320px); overflow: auto"
                  >
                    <div class="card-wrap">
                      <div class="card_wrap_box">
                        <div class="card_wrap_box_img">
                          <img
                            :style="{
                              width: '100%',
                            }"
                            alt="暂无图片"
                            :src="item.logo"
                          />
                        </div>
                        <a-card :bordered="false" hoverable>
                          <div class="arco-card-body-content">
                            <div
                              class="arco-card-body-content-title"
                              style="word-wrap: break-word"
                            >
                              {{ item.tags }}
                            </div>
                            <!-- <div class="arco-card-body-content-dec">{{
                    <div
                      style="display: flex; flex-wrap: wrap"
                      class="card_content"
                    >
                      <div class="card-wrap">
                        <div class="card_wrap_box">
                          <div class="card_wrap_box_img">
                            <img
                              :style="{
                                width: '100%',
                              }"
                              alt="暂无图片"
                              :src="item.logo ? httpUrl + item.logo : pdfImg"
                            />
                          </div>
                          <a-card :bordered="false" hoverable>
                            <div class="arco-card-body-content">
                              <div
                                class="arco-card-body-content-title"
                                style="word-wrap: break-word"
                              >
                                {{ item.tags }}
                              </div>
                              <!-- <div class="arco-card-body-content-dec">{{
                            list.type
                          }}</div> -->
                          </div>
                        </a-card>
                        <div class="arco-btn-group">
                          <a-space class="btn-group">
                            <!-- <editModel></editModel> -->
                            <a-button
                              type="primary"
                              @click="handleEditModel(item, 1)"
                            >
                              编辑
                            </a-button>
                          </a-space>
                        </div>
                      </div>
                    </div>
                    <div
                      class="card-wrap"
                      v-for="(list, index) of item.llm"
                      :key="index"
                    >
                      <div class="card_wrap_box">
                        <div class="card_wrap_box_img">
                          <img
                            :style="{
                              width: '100%',
                            }"
                            alt="暂无图片"
                            :src="list.logo"
                          />
                          <!--   src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/a20012a2d4d5b9db43dfc6a01fe508c0.png~tplv-uwbnlip3yd-webp.webp" -->
                        </div>
                        <a-card :bordered="false" hoverable>
                          <div class="arco-card-body-content">
                            <div class="arco-card-body-content-title">
                              {{ list.name }}
                            </div>
                            <div class="arco-card-body-content-dec">{{
                              list.type
                            }}</div>
                          </a-card>
                          <div class="arco-btn-group">
                            <a-space class="btn-group">
                              <!-- <editModel></editModel> -->
                              <a-button
                                type="primary"
                                @click="handleEditModel(item, 1)"
                              >
                                编辑
                              </a-button>
                            </a-space>
                          </div>
                        </a-card>
                        <div class="arco-btn-group">
                          <a-space class="btn-group">
                            <a-button @click="handleDeleteModel(list)">
                              删除
                            </a-button>
                            <a-button
                              type="primary"
                              @click="handleEditModel(list)"
                            >
                              编辑
                            </a-button>
                        </div>
                      </div>
                      <div
                        class="card-wrap"
                        v-for="(list, index) of item.llm"
                        :key="index"
                      >
                        <div class="card_wrap_box">
                          <div class="card_wrap_box_img">
                            <img
                              :style="{
                                width: '100%',
                              }"
                              alt="暂无图片"
                              :src="list.logo ? httpUrl + list.logo : pdfImg"
                            />
                            <!--   src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/a20012a2d4d5b9db43dfc6a01fe508c0.png~tplv-uwbnlip3yd-webp.webp" -->
                          </div>
                          <a-card :bordered="false" hoverable>
                            <div class="arco-card-body-content">
                              <div class="arco-card-body-content-title">
                                {{ list.name }}
                              </div>
                              <div class="arco-card-body-content-dec">{{
                                list.type
                              }}</div>
                            </div>
                          </a-card>
                          <div class="arco-btn-group">
                            <a-space class="btn-group">
                              <a-button @click="handleDeleteModel(list)">
                                删除
                              </a-button>
                              <a-button
                                type="primary"
                                @click="handleEditModel(list)"
                              >
                                编辑
                              </a-button>
                            <!-- <editModel></editModel> -->
                          </a-space>
                              <!-- <editModel></editModel> -->
                            </a-space>
                          </div>
                        </div>
                      </div>
                    </div>
                  </div>
                  </a-scrollbar>
                </a-tab-pane>
              </a-tabs>
            </a-col>
@@ -125,11 +129,7 @@
              </div> -->
              <div>
                <!-- <addModel></addModel> -->
                <a-button
                  type="primary"
                  :loading="loading2"
                  @click="handleAddModel"
                >
                <a-button type="primary" @click="handleAddModel">
                  <template #icon>
                    <icon-plus />
                  </template>
@@ -155,6 +155,7 @@
    <addTableName
      v-model:tabShow="tabShow"
      :nameList="editList"
      :title="title"
      @refresh-parent="refreshParentMethod"
      v-if="tabShow"
    ></addTableName>
@@ -173,7 +174,11 @@
    deleteLlmFactory,
  } from '@/api/model';
  import { Modal, Message } from '@arco-design/web-vue';
  import { userModelState } from '@/store';
  import pdfImg from '@/assets/images/icon-chart.png';
  const modelStore = userModelState();
  let count = 5;
  const activeKey = ref(1);
  const data = ref([
@@ -201,14 +206,14 @@
  });
  const isDeleteDialogVisible = ref(false); //删除提醒
  const apiUrl = ref('http://127.0.0.1:5173');
  // const httpUrl = import.meta.env.VITE_API_BASE_URL;
  // console.log(apiUrl.value, 777);
  const modalList = ref({});
  const tabKey = ref('key');
  const changeTabs = (val) => {
    tabKey.value = val;
  };
  const httpUrl = modelStore.hrefUrl;
  const show = ref(false);
  const tabShow = ref(false);
  const title = ref('添加模式');
@@ -216,9 +221,10 @@
  const modelType = ref(1);
  const handleAdd = () => {
    tabShow.value = true;
    title.value = '添加模型';
    editList.value.llm_factory = tabKey.value;
  };
  const editList = ref({ llm_factory: '' });
  const editList = ref<any>({ llm_factory: '' });
  //增加模型子类
  const handleAddModel = () => {
    modelType.value = 2;
@@ -233,6 +239,7 @@
    if (type == 1) {
      tabShow.value = true;
      editList.value = val;
      title.value = '编辑模型';
      editList.value.llm_factory = tabKey.value;
    } else {
      modelType.value = 2;
@@ -277,7 +284,7 @@
    }
    if (key !== 'key') {
      const res = await deleteLlmFactory(key);
      if (res.code == 200) {
      if ((res as any).code == 200) {
        Reflect.deleteProperty(tabData.value, key);
        queryModel();
      }
@@ -285,7 +292,7 @@
  };
  const visible = ref(false);
  const formRef = ref(null);
  const formRef = ref();
  const form = reactive({
    size: 'medium',
@@ -310,16 +317,6 @@
    });
    return false;
  };
  // const handleCancel = () => {
  //   formRef.value.resetFields();
  //   visible.value = false;
  // };
  // const handleSubmit = ({ values, errors }) => {
  //   this.$refs.formRef.validate().then((res, a, b) => {
  //     debugger;
  //     console.log('values', values);
  //   });
  // };
  //获取模型列表
  const loading = ref(false);
@@ -354,6 +351,7 @@
      font-size: 14px;
    }
  }
  :deep(.arco-list-col) {
    display: flex;
    flex-direction: row;
@@ -440,10 +438,13 @@
  }
  .card_content {
    .card_wrap_box_img {
      min-height: 200px;
      // min-height: 200px;
      height: 200px;
      width: 100%;
      img {
        max-height: 190px;
        width: 100%; /* 或者其他固定宽度 */
        height: 100%; /* 或者其他固定高度 */
        object-fit: cover; /* 不会变形,但可能裁剪图片 */
      }
    }
    .card_wrap_box {
@@ -459,32 +460,7 @@
  .card-wrap {
    width: 320px;
    height: 350px;
    margin: 30px;
    transition: all 0.3s;
    border: 1px solid var(--color-neutral-3);
    border-radius: 4px;
    &:hover {
      transform: translateY(-4px);
      // box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.1);
    }
  }
  .card-wrap {
    width: 320px;
    height: 350px;
    margin: 30px;
    transition: all 0.3s;
    border: 1px solid var(--color-neutral-3);
    border-radius: 4px;
    position: relative;
    &:hover {
      transform: translateY(-4px);
      // box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.1);
    }
  }
  .card-wrap {
    width: 320px;
    height: 350px;
    margin: 30px;
    margin: 20px 30px;
    transition: all 0.3s;
    border: 1px solid var(--color-neutral-3);
    border-radius: 4px;