From 98ddf2bd816abe50ac291b5810da753624192167 Mon Sep 17 00:00:00 2001
From: liudong <liudong>
Date: 星期四, 08 八月 2024 19:08:50 +0800
Subject: [PATCH] 解析方法页面bug修改

---
 src/api/kbList.ts                   |    4 
 src/views/dmx/knowledgeLib/tool.vue |  707 ++++++++++++++++++++++++++++++++--------------------------
 2 files changed, 394 insertions(+), 317 deletions(-)

diff --git a/src/api/kbList.ts b/src/api/kbList.ts
index 54aac25..7c0589b 100644
--- a/src/api/kbList.ts
+++ b/src/api/kbList.ts
@@ -210,7 +210,9 @@
 }
 
 
-
+export function achunkGet(params) {
+  return axios.get('/api/v1/chunk/get', {params});
+}
 
 
 
diff --git a/src/views/dmx/knowledgeLib/tool.vue b/src/views/dmx/knowledgeLib/tool.vue
index 883e668..5049ec9 100644
--- a/src/views/dmx/knowledgeLib/tool.vue
+++ b/src/views/dmx/knowledgeLib/tool.vue
@@ -15,10 +15,13 @@
   >
     <a-tabs default-active-key="1">
       <a-tab-pane key="1">
-        <template #title> <icon-calendar /> 瑙f瀽鏂规硶 </template>
+        <template #title>
+          <icon-calendar />
+          瑙f瀽鏂规硶
+        </template>
         <div style="width: 100%">
           <div style="display: flex; align-items: center">
-            <div> 瑙f瀽鏂规硶: </div>
+            <div> 瑙f瀽鏂规硶:</div>
             <div style="margin-left: 10px">
               <a-select v-model="form.parser_id" placeholder="璇烽�夋嫨">
                 <a-option
@@ -38,8 +41,14 @@
               auto-label-width
               @submit="handleSubmit"
             >
-              <a-divider style="margin-top: 10px" />
-              <a-form-item field="slider" label="鍧桾oken鏁�">
+              <a-divider style="margin-top: 10px"
+                         v-if="
+                form.parser_id === 'naive'" />
+              <a-form-item
+                field="slider"
+                label="鍧桾oken鏁�"
+                v-if="
+                form.parser_id === 'naive'">
                 <a-slider
                   v-model="form.chunk_token_num"
                   :min="0"
@@ -47,8 +56,18 @@
                   show-input
                 />
               </a-form-item>
-              <a-divider style="margin-top: 10px" />
-              <a-form-item field="raptor" label="浣跨敤鍙洖澧炲己RAPTOR绛栫暐">
+              <a-divider style="margin-top: 10px"
+                         v-if="form.parser_id === 'naive' ||
+                           form.parser_id === 'qa'||
+                           form.parser_id === 'manual' ||
+                           form.parser_id === 'laws' ||
+                           form.parser_id === 'book'" />
+              <a-form-item field="raptor" label="浣跨敤鍙洖澧炲己RAPTOR绛栫暐"
+                           v-if="form.parser_id === 'naive' ||
+                           form.parser_id === 'qa'||
+                           form.parser_id === 'manual' ||
+                           form.parser_id === 'laws' ||
+                           form.parser_id === 'book'">
                 <a-space direction="vertical" size="large">
                   <a-switch
                     v-model="form.use_raptor"
@@ -125,7 +144,8 @@
                     style="margin-left: 10px"
                     type="primary"
                     html-type="submit"
-                    >纭畾</a-button
+                  >纭畾
+                  </a-button
                   >
                 </div>
               </a-form-item>
@@ -134,7 +154,10 @@
         </div>
       </a-tab-pane>
       <a-tab-pane key="2">
-        <template #title> <icon-clock-circle /> 鍒涘缓瑙f瀽鍧� </template>
+        <template #title>
+          <icon-clock-circle />
+          鍒涘缓瑙f瀽鍧�
+        </template>
         <div class="details">
           <div class="details-header">
             <div
@@ -158,8 +181,10 @@
                   type="outline"
                   class="button"
                   style="margin-right: 10px"
-                  >鎵归噺<icon-down style="margin-left: 4px"
-                /></a-button>
+                >鎵归噺
+                  <icon-down style="margin-left: 4px"
+                  />
+                </a-button>
                 <template #content>
                   <a-space direction="vertical">
                     <a-checkbox
@@ -246,8 +271,10 @@
                   type="outline"
                   class="button"
                   style="margin-right: 10px"
-                  ><icon-sort
-                /></a-button>
+                >
+                  <icon-sort
+                  />
+                </a-button>
                 <template #content>
                   <a-radio-group
                     v-model="available_int"
@@ -313,347 +340,395 @@
 </template>
 
 <script lang="ts" setup>
-  import {
-    onMounted,
-    onBeforeMount,
-    reactive,
-    ref,
-    computed,
-    watch,
-  } from 'vue';
-  import { Message } from '@arco-design/web-vue';
-  import {
-    kbdocumentchangeparser,
-    achunkCreate,
-    queryChunkList,
-    chunkSwitch,
-    chunkRm,
-  } from '@/api/kbList';
-  import addDetails from '@/views/dmx/knowledgeLib/addDetails.vue';
-  import eidtDetails from '@/views/dmx/knowledgeLib/eidtDetails.vue';
-  const visible = ref(false);
-  const loading = ref(false);
-  const radio = ref('1');
-  const keyBg = ref('');
-  const eidtDil = ref();
-  const eidtDilVisible = ref(false);
-  const eidtDilinfo = reactive({});
+import {
+  onMounted,
+  onBeforeMount,
+  reactive,
+  ref,
+  computed,
+  watch
+} from "vue";
+import { Message } from "@arco-design/web-vue";
+import {
+  kbdocumentchangeparser,
+  achunkCreate,
+  queryChunkList,
+  chunkSwitch,
+  chunkRm, achunkGet
+} from "@/api/kbList";
+import addDetails from "@/views/dmx/knowledgeLib/addDetails.vue";
+import eidtDetails from "@/views/dmx/knowledgeLib/eidtDetails.vue";
 
-  const props = defineProps(['kbtenantInfo', 'item', 'kbdetail']);
-  // const emit =  defineEmits(['upTabdateItem'])
+const visible = ref(false);
+const loading = ref(false);
+const radio = ref("1");
+const keyBg = ref("");
+const eidtDil = ref();
+const eidtDilVisible = ref(false);
+const eidtDilinfo = reactive({});
 
-  let threshold = computed(() => {
-    return form.threshold / 100;
-  });
+const props = defineProps(["kbtenantInfo", "item", "kbdetail"]);
+// const emit =  defineEmits(['upTabdateItem'])
 
-  const kbtenantInfo = props.kbtenantInfo;
+let threshold = computed(() => {
+  return form.threshold / 100;
+});
 
-  let parser_ids = kbtenantInfo.parser_ids.split(',').map((item) => {
-    const [value1, value2] = item.split(':');
-    return {
-      name: value2,
-      value: value1,
-    };
-  });
+const kbtenantInfo = props.kbtenantInfo;
 
-  const isBtn = ref(true);
-
-  const closeSlelct = () => {
-    window.addEventListener('click', (event) => {
-      if (!event.target.closest('.space_search') && !isBtn.value) {
-        isBtn.value = true;
-        // form.keywords = '';
-      }
-    });
+let parser_ids = kbtenantInfo.parser_ids.split(",").map((item) => {
+  const [value1, value2] = item.split(":");
+  return {
+    name: value2,
+    value: value1
   };
+});
 
-  watch(isBtn, (val) => {
-    if (!val) {
-      closeSlelct();
+// 杩囨护瑙f瀽鏂规硶
+
+const filterParserArr = [
+  'naive',
+  'qa',
+  'resume',
+  'manual',
+  'book',
+  'laws',
+  'one',
+]
+
+
+
+
+
+const isBtn = ref(true);
+
+const closeSlelct = () => {
+  window.addEventListener("click", (event) => {
+    if (!event.target.closest(".space_search") && !isBtn.value) {
+      isBtn.value = true;
+      // form.keywords = '';
     }
   });
+};
 
-  const form = reactive({
-    parser_id: props.item.parser_id,
-    doc_id: props.item.id,
-    max_token: 698,
-    threshold: 0.3,
-    max_cluster: 233,
-    random_seed: 1500,
-    chunk_token_num: 128,
-    use_raptor: false,
-    keywords: '',
-    pages: {},
-    prompt:
-      '璇锋�荤粨浠ヤ笅娈佃惤銆� 灏忓績鏁板瓧锛屼笉瑕佺紪閫犮�� 娈佃惤濡備笅锛歕n' +
-      '      {cluster_content}\n' +
-      '浠ヤ笂灏辨槸浣犻渶瑕佹�荤粨鐨勫唴瀹广��',
-  });
-  const formRef = ref(null);
-  const rules = {
-    prompt: [
-      {
-        required: true,
-        message: '鎻愮ず璇嶄笉鍏佽涓虹┖',
-      },
-    ],
-  };
+watch(isBtn, (val) => {
+  if (!val) {
+    closeSlelct();
+  }
+});
 
-  const listData = ref([]);
+const form = reactive({
+  parser_id: '',
+  doc_id: props.item.id,
+  max_token: 698,
+  threshold: 0.3,
+  max_cluster: 233,
+  random_seed: 1500,
+  chunk_token_num: 128,
+  use_raptor: false,
+  keywords: "",
+  pages: {},
+  prompt:
+    "璇锋�荤粨浠ヤ笅娈佃惤銆� 灏忓績鏁板瓧锛屼笉瑕佺紪閫犮�� 娈佃惤濡備笅锛歕n" +
+    "      {cluster_content}\n" +
+    "浠ヤ笂灏辨槸浣犻渶瑕佹�荤粨鐨勫唴瀹广��"
+});
+const formRef = ref(null);
+const rules = {
+  prompt: [
+    {
+      required: true,
+      message: "鎻愮ず璇嶄笉鍏佽涓虹┖"
+    }
+  ]
+};
 
-  const formatter = (value) => {
-    return value / 100;
-  };
-  function randomNumber() {
-    // 鐢熸垚涓�涓粙浜巑in鍜宮ax涔嬮棿鐨勯殢鏈烘暣鏁帮紙鍖呭惈min鍜宮ax锛�
-    const min = 1; // 鏈�灏忓��
-    const max = 10000; // 鏈�澶у��
-    form.random_seed = Math.floor(Math.random() * (max - min + 1)) + min;
+const listData = ref([]);
+
+const formatter = (value) => {
+  return value / 100;
+};
+
+function randomNumber() {
+  // 鐢熸垚涓�涓粙浜巑in鍜宮ax涔嬮棿鐨勯殢鏈烘暣鏁帮紙鍖呭惈min鍜宮ax锛�
+  const min = 1; // 鏈�灏忓��
+  const max = 10000; // 鏈�澶у��
+  form.random_seed = Math.floor(Math.random() * (max - min + 1)) + min;
+}
+
+const handleSubmit = async ({ values, errors }) => {
+  if (!errors) {
+    let data = await kbdocumentchangeparser({
+      parser_id: form.parser_id,
+      doc_id: form.doc_id,
+      parser_config: {
+        raptor: {
+          use_raptor: form.use_raptor,
+          prompt: form.prompt,
+          max_token: form.max_token,
+          threshold: form.threshold,
+          max_cluster: form.max_cluster,
+          random_seed: form.random_seed
+        },
+        chunk_token_num: form.chunk_token_num,
+        pages: []
+      }
+    });
+    if (data.code == 0) {
+      Message.success("閰嶇疆鎴愬姛");
+    } else {
+      Message.error("閰嶇疆澶辫触");
+    }
+    visible.value = false;
+  }
+};
+
+const handleClick = () => {
+  visible.value = true;
+};
+const handleCancel = () => {
+  visible.value = false;
+};
+
+const contentClick = async (item) => {
+  // Object.assign(eidtDilinfo, item);
+  // eidtDilVisible.value = true;
+  try {
+    const data = await achunkGet({
+      chunk_id: item.chunk_id
+    });
+
+    console.log(data.data);
+  } catch (error) {
+    Message.error("鑾峰彇澶辫触");
   }
 
-  const handleSubmit = async ({ values, errors }) => {
-    if (!errors) {
-      let data = await kbdocumentchangeparser({
-        parser_id: form.parser_id,
-        doc_id: form.doc_id,
-        parser_config: {
-          raptor: {
-            use_raptor: form.use_raptor,
-            prompt: form.prompt,
-            max_token: form.max_token,
-            threshold: form.threshold,
-            max_cluster: form.max_cluster,
-            random_seed: form.random_seed,
-          },
-          chunk_token_num: form.chunk_token_num,
-          pages: [],
-        },
-      });
-      if (data.code == 0) {
-        Message.success('閰嶇疆鎴愬姛');
-      } else {
-        Message.error('閰嶇疆澶辫触');
-      }
-      visible.value = false;
+
+};
+const handleOpened = (el) => {
+  // console.log('props',props.kbtenantInfo);
+  console.log('props',props.item);
+  // console.log('props',props.kbdetail);
+  console.log(parser_ids, "parser_ids");
+  let parser_id = props.item.parser_id;
+  parser_ids.forEach((item) => {
+    if (item.name == parser_id) {
+      form.parser_id = item.value;
     }
-  };
+  });
 
-  const handleClick = () => {
-    visible.value = true;
-  };
-  const handleCancel = () => {
-    visible.value = false;
-  };
 
-  const contentClick = (item) => {
-    Object.assign(eidtDilinfo, item);
-    eidtDilVisible.value = true;
-  };
-  const handleOpened = (el) => {
-    // console.log('props',props.kbtenantInfo);
-    // console.log('props',props.item);
-    // console.log('props',props.kbdetail);
-    console.log(parser_ids, 'parser_ids');
-    // Object.assign(form,{
-    //   name: '',// 鐢ㄦ埛鍚�
-    //   nameJoin: '',// 鏄电О
-    //   post: '',// 宀椾綅
-    //   txt: '',// 澶囨敞
-    // });
-    // formRef.value.resetFields();
-    console.log(props.item.id);
-  };
+  // Object.assign(form,{
+  //   name: '',// 鐢ㄦ埛鍚�
+  //   nameJoin: '',// 鏄电О
+  //   post: '',// 宀椾綅
+  //   txt: '',// 澶囨敞
+  // });
+  // formRef.value.resetFields();
+  console.log(props.item.id);
+};
 
-  const onChangeRAPTOR = () => {};
+const onChangeRAPTOR = () => {
+};
 
-  const indeterminate = ref(false);
-  const checkedAll = ref(false);
-  const data = ref([]);
-  const switchType = ref(false);
-  const available_int = ref('');
-  const onRadioChange = () => {
-    console.log(radio.value);
-  };
-  //鎵归噺鎿嶄綔
-  const handleChangeAll = (value) => {
-    indeterminate.value = false;
-    if (value) {
-      checkedAll.value = true;
-      listData.value.forEach((item) => {
-        data.value.push(item.chunk_id);
-      });
-    } else {
-      checkedAll.value = false;
-      data.value = [];
-    }
-  };
-
-  const handleChange = (values) => {
-    data.value = values;
-  };
-
-  //鎵归噺鍚敤鍒犻櫎绂佺敤
-  const addBlock = (type) => {
-    if (data.value.length == 0) {
-      Message.error('璇烽�夋嫨瑕佹搷浣滅殑鏁版嵁');
-      return;
-    }
-    if (type == 3) {
-      deleteChunk();
-    } else {
-      let params = {
-        chunk_ids: data.value,
-        available_int: type,
-        doc_id: props.item.id,
-      };
-      chunkSwitch(params).then((res) => {
-        if (res.code == 0) {
-          Message.success('鎿嶄綔鎴愬姛');
-          getList();
-          checkedAll.value = false;
-          data.value = [];
-        } else {
-          Message.error('鎿嶄綔澶辫触');
-        }
-      });
-    }
-  };
-
-  const groupListContentClick = (value) => {
-    keyBg.value = value;
-  };
-
-  const onChangeavailable = () => {
-    getList();
-  };
-
-  const handleChangeStatus = (val) => {
-    updateChunkStatus(val);
-  };
-  const isLoading = ref(true);
-  // 鑷畾涔夊姞杞芥彁绀烘枃鏈�
-  const tip = '鍔犺浇涓紝璇风◢鍊�...';
-  //鑾峰彇鍒楄〃
-  const getList = async () => {
-    let params = {
-      doc_id: props.item.id,
-      keywords: form.keywords,
-      page: 1,
-      size: 10000,
-    };
-    if (available_int.value !== '') {
-      params.available_int = available_int.value;
-    }
-    await queryChunkList(params).then((res) => {
-      if (res.code == 0) {
-        listData.value = res.data.chunks;
-        isLoading.value = false;
-        listData.value = listData.value.map((item) => {
-          item.available_int = parseInt(item.available_int);
-          return item;
-        });
-      }
+const indeterminate = ref(false);
+const checkedAll = ref(false);
+const data = ref([]);
+const switchType = ref(false);
+const available_int = ref("");
+const onRadioChange = () => {
+  console.log(radio.value);
+};
+//鎵归噺鎿嶄綔
+const handleChangeAll = (value) => {
+  indeterminate.value = false;
+  if (value) {
+    checkedAll.value = true;
+    listData.value.forEach((item) => {
+      data.value.push(item.chunk_id);
     });
-  };
-  //鏇存柊鍒楄〃
-  const canplaythrough = () => {
-    getList();
-  };
+  } else {
+    checkedAll.value = false;
+    data.value = [];
+  }
+};
 
-  //鍚敤绂佺敤
-  const updateChunkStatus = (val) => {
-    let params = {
-      chunk_ids: [val.chunk_id],
-      available_int: val.available_int,
-      doc_id: props.item.id,
-    };
-    chunkSwitch(params).then((res) => {
-      console.log(res);
-      if (res.code == 0) {
-        Message.success('鏇存柊鎴愬姛');
-        getList();
-      } else {
-        Message.error('鏇存柊澶辫触');
-      }
-    });
-  };
+const handleChange = (values) => {
+  data.value = values;
+};
 
-  //鍒犻櫎
-  const deleteChunk = () => {
+//鎵归噺鍚敤鍒犻櫎绂佺敤
+const addBlock = (type) => {
+  if (data.value.length == 0) {
+    Message.error("璇烽�夋嫨瑕佹搷浣滅殑鏁版嵁");
+    return;
+  }
+  if (type == 3) {
+    deleteChunk();
+  } else {
     let params = {
       chunk_ids: data.value,
-      doc_id: props.item.id,
+      available_int: type,
+      doc_id: props.item.id
     };
-    chunkRm(params).then((res) => {
-      console.log(res);
+    chunkSwitch(params).then((res) => {
       if (res.code == 0) {
-        Message.success('鍒犻櫎鎴愬姛');
+        Message.success("鎿嶄綔鎴愬姛");
         getList();
+        checkedAll.value = false;
+        data.value = [];
       } else {
-        Message.error('鍒犻櫎澶辫触');
+        Message.error("鎿嶄綔澶辫触");
       }
     });
-  };
+  }
+};
 
-  onBeforeMount(() => {});
-  onMounted(() => {
-    getList();
+const groupListContentClick = (value) => {
+  keyBg.value = value;
+};
+
+const onChangeavailable = () => {
+  getList();
+};
+
+const handleChangeStatus = (val) => {
+  updateChunkStatus(val);
+};
+const isLoading = ref(true);
+// 鑷畾涔夊姞杞芥彁绀烘枃鏈�
+const tip = "鍔犺浇涓紝璇风◢鍊�...";
+//鑾峰彇鍒楄〃
+const getList = async () => {
+  let params = {
+    doc_id: props.item.id,
+    keywords: form.keywords,
+    page: 1,
+    size: 10000
+  };
+  if (available_int.value !== "") {
+    params.available_int = available_int.value;
+  }
+  await queryChunkList(params).then((res) => {
+    if (res.code == 0) {
+      listData.value = res.data.chunks;
+      isLoading.value = false;
+      listData.value = listData.value.map((item) => {
+        item.available_int = parseInt(item.available_int);
+        return item;
+      });
+    }
   });
+};
+//鏇存柊鍒楄〃
+const canplaythrough = () => {
+  getList();
+};
+
+//鍚敤绂佺敤
+const updateChunkStatus = (val) => {
+  let params = {
+    chunk_ids: [val.chunk_id],
+    available_int: val.available_int,
+    doc_id: props.item.id
+  };
+  chunkSwitch(params).then((res) => {
+    console.log(res);
+    if (res.code == 0) {
+      Message.success("鏇存柊鎴愬姛");
+      getList();
+    } else {
+      Message.error("鏇存柊澶辫触");
+    }
+  });
+};
+
+//鍒犻櫎
+const deleteChunk = () => {
+  let params = {
+    chunk_ids: data.value,
+    doc_id: props.item.id
+  };
+  chunkRm(params).then((res) => {
+    console.log(res);
+    if (res.code == 0) {
+      Message.success("鍒犻櫎鎴愬姛");
+      getList();
+    } else {
+      Message.error("鍒犻櫎澶辫触");
+    }
+  });
+};
+
+onBeforeMount(() => {
+  getList();
+});
+onMounted(() => {
+
+});
 </script>
 
 <style scoped lang="less">
-  .parser {
-    width: 100%;
-    ::v-deep .arco-btn-outline:hover,
-    .arco-btn-outline,
-    .arco-btn-outline[type='button'] {
-      color: #2a2a2b;
-      border: 1px solid #2a2a2b;
-    }
-    .button {
-      //color: #2a2a2b!important;
-    }
-  }
-  ::-webkit-scrollbar {
-    display: none;
-  }
-  .groupMain {
-    width: 100%;
-    height: 500px;
-    overflow: auto;
-    display: flex;
-    justify-content: center;
-    .groupList {
-      display: flex;
-      padding: 24px;
-      border-radius: 8px;
-      //background: #eff8ff;
-      border: 1px solid #f0f0f0;
-      margin-bottom: 20px;
-      overflow: auto;
-      .groupList-content {
-        width: 700px;
-        //height: 100px;
-        overflow: auto;
-        box-sizing: border-box;
-        margin: 0;
-        padding: 0;
-        color: #2a2a2b;
-        font-size: 14px;
-        font-family: Inter;
-        position: relative;
-      }
-    }
-  }
-  :deep(.emphaRed em) {
-    color: red !important;
+.parser {
+  width: 100%;
+
+  ::v-deep .arco-btn-outline:hover,
+  .arco-btn-outline,
+  .arco-btn-outline[type='button'] {
+    color: #2a2a2b;
+    border: 1px solid #2a2a2b;
   }
 
-  .groupActive {
-    background: #eff8ff;
+  .button {
+    //color: #2a2a2b!important;
   }
-  .groupNoActive {
-    background: var(--color-bg-1);
-    color: var(--color-text-1);
+}
+
+::-webkit-scrollbar {
+  display: none;
+}
+
+.groupMain {
+  width: 100%;
+  height: 500px;
+  overflow: auto;
+  display: flex;
+  justify-content: center;
+
+  .groupList {
+    display: flex;
+    padding: 24px;
+    border-radius: 8px;
+    //background: #eff8ff;
+    border: 1px solid #f0f0f0;
+    margin-bottom: 20px;
+    overflow: auto;
+
+    .groupList-content {
+      width: 700px;
+      //height: 100px;
+      overflow: auto;
+      box-sizing: border-box;
+      margin: 0;
+      padding: 0;
+      color: #2a2a2b;
+      font-size: 14px;
+      font-family: Inter;
+      position: relative;
+    }
   }
+}
+
+:deep(.emphaRed em) {
+  color: red !important;
+}
+
+.groupActive {
+  background: #eff8ff;
+}
+
+.groupNoActive {
+  background: var(--color-bg-1);
+  color: var(--color-text-1);
+}
 </style>

--
Gitblit v1.8.0