liudong
2024-08-09 60f1b7ebca0d832069e9811998610b8964a474e0
src/views/dmx/knowledgeLib/index.vue
@@ -10,8 +10,8 @@
          />
          <addKnow @getknowledge="getknowledge" @getKbdetail="getKbdetail"></addKnow>
        </div>
        <div class="lf-container-down">
          <a-scrollbar style="height:56rem;overflow: auto;">
        <a-spin :loading="listloading" class="lf-container-down">
          <a-scrollbar style="overflow: auto;"  :style="{height: documentHeight + 70 + 'px'}">
            <div
              class="tab"
              v-for="(tab, index) in tabs"
@@ -21,22 +21,22 @@
            >
              {{ tab.name }}
              <a-popover position="bl">
                <icon-more  :style="{position: 'absolute',top:'10px',right:'20px'}"/>
                <icon-more  :style="{position: 'absolute',top:'10px',right:'10px'}"/>
                <template #content>
                  <a-popconfirm content="确定删除吗?" @ok="deleteKnowledge(tab.id)" type="warning">
                    <span style="cursor: pointer;color: #4977ba;font-size: 12px"><icon-delete style="font-size: 14px"/>删除</span>
                  </a-popconfirm>
<!--                  <span style="cursor: pointer;color: #0960bd;font-size: 12px" @click="deleteKnowledge(tab.id)"><icon-delete />删除</span>-->
<!--                  <a-popconfirm content="确定删除吗?" @ok="deleteKnowledge(tab.id)" type="warning">-->
<!--                    <span style="cursor: pointer;color: #4977ba;font-size: 12px"><icon-delete style="font-size: 14px"/>删除</span>-->
<!--                  </a-popconfirm>-->
                  <span style="cursor: pointer;color: #4977ba;font-size: 12px" @click="deleteKnowledge(tab.id)"><icon-delete style="font-size: 14px" />删除</span>
                </template>
              </a-popover>
            </div>
          </a-scrollbar>
          </div>
          </a-spin>
      </div>
      <div class="rt-container" v-if="tabs.length > 0">
        <a-tabs :activeKey="activeKey" @change="handleTabChange">
      <div class="rt-container" v-if="tabs.length > 0" >
        <a-tabs :active-key="activeKey" @change="handleTabChange">
          <a-tab-pane key="1" :title= "t('dmx.list.DataSet')">
            <div class="rt-container-main">
            <div class="rt-container-main" :style="{height: documentHeight + 70 + 'px'}">
              <a-card  ref="account" class="general-card" title="" style="padding-top: 20px">
                <a-row>
                  <a-col :flex="1" :span="12">
@@ -157,7 +157,8 @@
                  :bordered="false"
                  :size="size"
                  @page-change="onPageChange"
                  :scroll="{ y: 580 }"
                  :max-height='documentHeight'
                  :scroll="{ y: documentHeight }"
                >
                  <template #name="{ record }">
<!--                    <icon-file style="color: #0960bd;margin-right: 4px;" />-->
@@ -251,12 +252,12 @@
            </div>
          </a-tab-pane>
          <a-tab-pane key="2" :title="t('dmx.list.test')">
            <div class="rt-container-main">
            <div class="rt-container-main" :style="{height: documentHeight + 70 + 'px'}">
              <test ref="testForm"></test>
            </div>
          </a-tab-pane>
          <a-tab-pane key="3" :title="t('dmx.list.disposition')">
            <div class="rt-container-main">
            <div class="rt-container-main" :style="{height: documentHeight + 70 + 'px'}">
              <config ref="configForm" :kbtenantInfo="kbtenantInfo" @cancleConfig="cancleConfig" @saveConfig="saveConfig"></config>
            </div>
          </a-tab-pane>
@@ -335,8 +336,9 @@
  import docx from '@/views/dmx/knowledgeLib/components/docx.vue'
  import excel from '@/views/dmx/knowledgeLib/components/excel.vue'
  import txtPdf from '@/views/dmx/knowledgeLib/components/txtPdf.vue'
  import { Message } from "@arco-design/web-vue";
  import { parseTime } from "@/utils";
import { Message, Modal } from "@arco-design/web-vue";
import { documentHeight, parseTime } from "@/utils";
import { deleteLlm } from "@/api/model";
  type SizeProps = 'mini' | 'small' | 'medium' | 'large';
  type Column = TableColumnData & { checked?: true };
  const account = ref(null)
@@ -359,6 +361,7 @@
  const size = ref<SizeProps>('medium');
  let visible = ref(false)
  let listloading = ref(false)
  let keywords = ref('')
  let activeKey = ref('1')
  let detailsShow = ref(false)
@@ -550,7 +553,7 @@
  const knowledgeData = async (
    params = { page: 1, page_size: 20 }
  ) => {
    setLoading(true);
    listloading.value = true;
    try {
      const { data } = await queryKbList(params);
      // console.log(data, 'data');
@@ -576,7 +579,7 @@
    } catch (err) {
      // you can report use errorHandler or other
    } finally {
      setLoading(false);
      listloading.value = false;
    }
  };
@@ -619,19 +622,29 @@
  }
};
  const deleteKnowledge = async (id) => {
    let data = await deleteKnow({
      kb_id:id
    })
    if(data.code == 0){
      Message.success('删除成功');
      knowledgeData()
    }
  const deleteKnowledge = (id) => {
    Modal.confirm({
      title: '提示信息',
      content: '确认删除吗',
      okText: '确定',
      cancelText: '取消',
      hideTitle: true,
      onOk: async () => {
        let data = await deleteKnow({
          kb_id:id
        })
        if(data.code == 0){
          Message.success('删除成功');
          knowledgeData()
        }
      },
      onCancel: () => {},
    });
  }
  const reset = () => {
    formModel.value = generateFormModel();
  };
  function handleTabChange(key: string) {
  function handleTabChange(key) {
    // 处理标签改变事件
    console.log('Changed to tab:', key);
    activeKey.value=key;
@@ -860,13 +873,12 @@
    .main-container{
      display: flex;
      width: 100%;
      height: 100%;
      .lf-container{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-evenly;
        //background: #ffffff;
        border-radius: 8px;
        background: var(--color-bg-2);
        width: 200px;
        .lf-container-top{
@@ -878,8 +890,8 @@
          flex-direction: column;
          box-sizing: border-box;
          width: 90%;
          //height: 56rem;
          border: 1px solid var(--color-fill-3);
          border-radius: 8px;
          //padding: 10px;
          margin-bottom: 10px;
          //.tabs{
@@ -892,23 +904,29 @@
            box-sizing: border-box;
            margin: 10px 10px;
            padding:0 10px;
            color: rgba(0, 0, 0, 0.88);
            padding-right: 20%;
            font-size: 14px;
            height: 40px;
            line-height: 40px;
            list-style: none;
            position: relative;
            background: #ffffff;
            border: 1px solid #f0f0f0;
            color: var(--color-text-1);
            border: 1px solid var(--color-neutral-3);
            background: var(--color-bg-2);
            border-radius: 8px;
            overflow: hidden; /* 确保超出容器的文本被隐藏 */
            white-space: nowrap; /* 防止文本换行 */
            text-overflow: ellipsis; /* 超出部分显示省略号 */
          }
          .tab:hover {
            border: 1px solid #ffffff;
            color: #2a2a2b;
            border: 1px solid var(--color-neutral-3);
            background: #e8e8ea;
            box-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), 0 5px 12px 4px rgba(0, 0, 0, 0.09);
          }
          .tab.active {
            border: 1px solid #e8e8ea;
            color: #2a2a2b;
            border: 1px solid var(--color-neutral-1);
            background: #e8e8ea;
            cursor: pointer;
          }
@@ -919,9 +937,9 @@
        //background: #626aea;
        margin-left: 20px;
        width: calc(100% - 200px);
        height: 56rem;
        overflow: hidden;
        .rt-container-main{
          height: 76vh;
          overflow: auto;
        }
        .details{
          position: absolute;