zhangxiao
2024-08-09 2fafc298a0b8468ccd98ecf4dd9918ee85cef252
src/views/dmx/model/index.vue
@@ -1,6 +1,6 @@
<template>
  <div class="container">
    <Breadcrumb :items="['大模型', '大模型管理']" />
    <Breadcrumb :items="['大模型', '模型管理']" />
    <a-row :gutter="20" align="stretch">
      <a-col :span="24">
@@ -38,7 +38,7 @@
                            :style="{
                              width: '100%',
                            }"
                            alt="dessert"
                            alt="暂无图片"
                            :src="item.logo"
                          />
                        </div>
@@ -54,15 +54,18 @@
                            list.type
                          }}</div> -->
                          </div>
                          <div class="arco-btn-group">
                            <a-space class="btn-group">
                              <!-- <editModel></editModel> -->
                              <a-button type="primary" @click="handleEditModel">
                                编辑
                              </a-button>
                            </a-space>
                          </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
@@ -71,13 +74,12 @@
                      :key="index"
                    >
                      <div class="card_wrap_box">
                        <div>
                        <div class="card_wrap_box_img">
                          <img
                            :style="{
                              width: '100%',
                              transform: 'translateY(-20px)',
                            }"
                            alt="dessert"
                            alt="暂无图片"
                            :src="list.logo"
                          />
                          <!--   src="https://p1-arco.byteimg.com/tos-cn-i-uwbnlip3yd/a20012a2d4d5b9db43dfc6a01fe508c0.png~tplv-uwbnlip3yd-webp.webp" -->
@@ -91,22 +93,22 @@
                              list.type
                            }}</div>
                          </div>
                          <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>
                          </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>
                        </div>
                      </div>
                    </div>
                  </div>
@@ -115,19 +117,15 @@
            </a-col>
            <div> </div>
            <div class="box_right">
              <div class="search_input">
              <!-- <div class="search_input">
                <a-input-search
                  :placeholder="$t('cardList.searchInput.placeholder')"
                  style="width: 240px"
                />
              </div>
              </div> -->
              <div>
                <!-- <addModel></addModel> -->
                <a-button
                  type="primary"
                  :loading="loading2"
                  @click="handleAddModel"
                >
                <a-button type="primary" @click="handleAddModel">
                  <template #icon>
                    <icon-plus />
                  </template>
@@ -139,29 +137,29 @@
        </a-card>
      </a-col>
    </a-row>
    <!-- 添加模型 -->
    <addPageModel
      v-model:show="show"
      :task_id="task_id"
      :type="modelType"
      :title="title"
      :editList="editList"
      @refresh-parent="refreshParentMethod"
      v-if="show"
    ></addPageModel>
    <!-- 添加tab模式 -->
    <addTableName
      v-model:tabShow="tabShow"
      :nameList="editList"
      :title="title"
      @refresh-parent="refreshParentMethod"
      v-if="tabShow"
    ></addTableName>
  </div>
  <!-- 添加模型 -->
  <addPageModel
    v-model:show="show"
    :task_id="task_id"
    :type="modelType"
    :title="title"
    :editList="editList"
    @refresh-parent="refreshParentMethod"
    v-if="show"
  ></addPageModel>
  <!-- 添加tab模式 -->
  <addTableName
    v-model:tabShow="tabShow"
    :nameList="editList"
    @refresh-parent="refreshParentMethod"
    v-if="tabShow"
  ></addTableName>
</template>
<script lang="ts" setup>
  import { ref, reactive, nextTick } from 'vue';
  import addModel from '@/views/dmx/model/components/addModel.vue';
  import editModel from '@/views/dmx/model/components/editModel.vue';
  import addPageModel from './components/addPageModel.vue';
  import addTableName from './components/addTableName.vue';
@@ -215,24 +213,26 @@
  const modelType = ref(1);
  const handleAdd = () => {
    tabShow.value = true;
    title.value = '添加模型';
    editList.value.llm_factory = tabKey.value;
  };
  const editList = ref({ llm_factory: '' });
  //增加模型子类
  const handleAddModel = () => {
    if (tabKey.value == 'key') {
      tabShow.value = true;
    } else {
      modelType.value = 2;
      editList.value.llm_factory = tabKey.value;
      show.value = true;
      title.value = '添加模式';
    }
    modelType.value = 2;
    editList.value = [{ llm_factory: '' }];
    editList.value.llm_factory = tabKey.value;
    show.value = true;
    title.value = '添加模式';
  };
  //编辑模型子类
  const handleEditModel = (val) => {
    if (tabKey.value == 'key') {
  const handleEditModel = (val, type) => {
    console.log(val, 6766);
    if (type == 1) {
      tabShow.value = true;
      editList.value = val;
      title.value = '编辑模型';
      editList.value.llm_factory = tabKey.value;
    } else {
      modelType.value = 2;
      task_id.value = val.id;
@@ -269,11 +269,18 @@
  //父级模型
  const handleDelete = async (key: any) => {
    console.log(key, 45455);
    // tabData.value = tabData.value.filter((item) => item.key !== key);
    Reflect.deleteProperty(tabData.value, key);
    await deleteLlmFactory(key);
    queryModel();
    console.log(tabData.value[key]);
    if (tabData.value[key].llm.length > 0) {
      Message.error('请先删除子模型');
      return;
    }
    if (key !== 'key') {
      const res = await deleteLlmFactory(key);
      if (res.code == 200) {
        Reflect.deleteProperty(tabData.value, key);
        queryModel();
      }
    }
  };
  const visible = ref(false);
@@ -378,6 +385,10 @@
      }
    }
  }
  :deep(.arco-tabs-nav-tab) {
    flex: none;
    width: 60%;
  }
  .table_add_clore {
    :deep(.arco-tabs-nav-add-btn .arco-icon-hover::before) {
      top: 50%;
@@ -392,9 +403,9 @@
    :deep(.arco-tabs-nav-add-btn .arco-icon-hover .arco-icon) {
      color: #fff;
    }
    :deep(.arco-tabs-nav) {
      max-width: 60%;
    }
    // :deep(.arco-tabs-nav) {
    //   max-width: 60%;
    // }
    :deep(.arco-icon-hover::before) {
      top: 50%;
@@ -427,15 +438,20 @@
    }
  }
  .card_content {
    position: relative;
    .arco-btn-group {
      position: absolute;
      right: 10px;
      top: 100px;
    }
    .card_wrap_box_img {
      min-height: 200px;
      max-height: 240px;
      height: 200px;
      img {
        max-height: 190px;
      }
    }
    .card_wrap_box {
      // position: relative;
      .arco-btn-group {
        position: absolute;
        right: 10px;
        top: 87%;
      }
    }
  }
@@ -446,7 +462,6 @@
    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);