From 64920403797a80149ac1ba2cd2426ad5db044bec Mon Sep 17 00:00:00 2001
From: zhangxiao <898441624@qq.com>
Date: 星期一, 26 八月 2024 14:58:01 +0800
Subject: [PATCH] fix: 修改settings 备注
---
src/views/dmx/knowledgeLib/tool.vue | 1036 +++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 674 insertions(+), 362 deletions(-)
diff --git a/src/views/dmx/knowledgeLib/tool.vue b/src/views/dmx/knowledgeLib/tool.vue
index e7532a8..e8bcf6e 100644
--- a/src/views/dmx/knowledgeLib/tool.vue
+++ b/src/views/dmx/knowledgeLib/tool.vue
@@ -1,10 +1,4 @@
-
<template>
- <a-button type="text" @click="handleClick" size="small">
- <template #icon>
- <icon-tool />
- </template>
- </a-button>
<a-modal
v-model:visible="visible"
title=" "
@@ -14,233 +8,446 @@
title-align="start"
width="900px"
>
- <a-tabs default-active-key="1">
- <a-tab-pane key="1">
- <template #title>
- <icon-calendar/> 瑙f瀽鏂规硶
- </template>
- <div style="width: 100%">
- <div style="display: flex;align-items: center;">
- <div>
- 瑙f瀽鏂规硶:
- </div>
- <div style="margin-left: 10px">
- <a-select v-model="form.parser_id" placeholder="璇烽�夋嫨" >
- <a-option v-for="item in parser_ids" :key="item.value" :label="item.name" :value="item.value"></a-option>
- </a-select>
- </div>
- </div>
- <div class="parser">
- <a-form ref="formRef" :rules="rules" :model="form" auto-label-width @submit="handleSubmit" >
- <a-divider style="margin-top: 10px" />
- <a-form-item field="slider" label="鍧梩oken鏁�"
- :rules="[{type:'number', min:1,message:'slider is min than 1'}]">
- <a-slider v-model="form.chunk_token_num" :max="1000" show-input />
- </a-form-item>
- <a-divider style="margin-top: 10px" />
- <a-form-item field="raptor" label="浣跨敤鍙洖澧炲己RAPTOR绛栫暐">
- <a-space direction="vertical" size="large">
- <a-switch v-model="form.use_raptor" @change="onChangeRAPTOR" />
- </a-space>
- </a-form-item>
- <div v-if="form.use_raptor">
- <a-form-item field="prompt" label="鎻愮ず璇�">
- <a-textarea
- v-model="form.prompt"
- style="height: 10rem;border: 1px solid var(--color-fill-3);border-radius: 4px" placeholder="璇峰~鍐欐彁绀鸿瘝" />
- </a-form-item>
- <a-form-item field="slider" label="鏈�澶oken鏁�"
- :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
- <a-slider v-model="form.max_token" :min="1" :max="1000" show-input/>
- </a-form-item>
- <a-form-item field="slider" label="闃堝��" :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
- <a-slider v-model="form.threshold" show-tooltip show-input/>
- </a-form-item>
- <a-form-item field="slider" label="鏈�澶ц仛绫绘暟"
- :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
- <a-slider v-model="form.max_cluster" :max="1000" show-input/>
- </a-form-item>
- <a-form-item field="slider" label="闅忔満绉嶅瓙" v-model="form.random_seed"
- :rules="[{type:'number', min:5,message:'slider is min than 5'}]">
- <a-input-number v-model="form.random_seed" :style="{width:'300px',marginRight:'1rem',borderRadius:'4px'}"
- placeholder="璇疯緭鍏�" class="input-demo" :min="10" :max="100" />
- <a-button type="primary" @click="randomNumber">
- <icon-plus />
- </a-button>
-
- </a-form-item>
-
- </div>
- <a-form-item>
- <div style="width: 100%;text-align: right">
- <a-button @click="visible = false">鍙栨秷</a-button>
- <a-button style="margin-left: 10px" type="primary" html-type="submit">纭畾</a-button>
- </div>
- </a-form-item>
- </a-form>
+ <a-tabs default-active-key="1">
+ <a-tab-pane key="1">
+ <template #title>
+ <icon-calendar />
+ 瑙f瀽鏂规硶
+ </template>
+ <div style="width: 100%">
+ <div style="display: flex; align-items: center">
+ <div> 瑙f瀽鏂规硶:</div>
+ <div style="margin-left: 10px">
+ <a-select v-model="form.parser_id" placeholder="璇烽�夋嫨">
+ <a-option
+ v-for="item in parser_ids"
+ :key="item.value"
+ :label="item.name"
+ :value="item.value"
+ ></a-option>
+ </a-select>
</div>
</div>
- </a-tab-pane>
- <a-tab-pane key="2">
- <template #title>
- <icon-clock-circle/> 鍒涘缓瑙f瀽鍧�
- </template>
- <div class="details">
- <div class="details-header">
- <div style="display: flex; align-items: center;justify-content: flex-end;">
- <a-radio-group v-model="radio" type="button" style="margin-right: 10px" @change="onRadioChange">
- <a-radio value="1">鍏ㄦ枃</a-radio>
- <a-radio value="2">鐪佺暐</a-radio>
- </a-radio-group>
- <a-popover position="bottom">
- <a-button type="outline" class="button" style="margin-right: 10px;">鎵归噺<icon-down style="margin-left: 4px" /></a-button>
- <template #content>
- <a-space direction="vertical">
- <a-checkbox :model-value="checkedAll" :indeterminate="indeterminate" @change="handleChangeAll" style="margin-left: 10px">
- 閫夋嫨鎵�鏈�
- </a-checkbox>
- </a-space>
- <a-divider style="margin: 10px 0" />
- <p>
- <a-button type="text" class="button" style="color: #2a2a2b">
- <template #icon>
- <icon-check-circle />
- </template>
- 鍚敤閫夊畾鐨�
- </a-button>
- </p>
- <p>
- <a-button type="text" class="button" style="color: #2a2a2b">
- <template #icon>
- <icon-close-circle />
- </template>
- 绂佺敤閫夊畾鐨�
- </a-button>
- </p>
- <a-divider style="margin: 10px 0" />
- <p>
- <a-button type="text" class="button" style="color: #2a2a2b">
- <template #icon>
- <icon-delete />
- </template>
- 鍒犻櫎閫夊畾鐨�
- </a-button>
- </p>
- </template>
- </a-popover>
- <a-button type="outline" class="button" style="margin-right: 10px">
- <template #icon>
- <icon-search />
- </template>
+ <div class="parser">
+ <a-form
+ ref="formRef"
+ :rules="rules"
+ :model="form"
+ auto-label-width
+ @submit="handleSubmit"
+ >
+ <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"
+ :max="2048"
+ show-input
+ />
+ </a-form-item>
+ <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-switch
+ v-model="form.use_raptor"
+ @change="onChangeRAPTOR"
+ size="small"
+ />
+ </a-form-item>
+ <div v-if="form.use_raptor">
+ <a-form-item field="prompt" label="鎻愮ず璇�">
+ <a-textarea
+ v-model="form.prompt"
+ style="
+ height: 10rem;
+ border: 1px solid var(--color-fill-3);
+ border-radius: 4px;
+ "
+ placeholder="璇峰~鍐欐彁绀鸿瘝"
+ />
+ </a-form-item>
+ <a-form-item field="slider" label="鏈�澶oken鏁�">
+ <a-slider
+ v-model="form.max_token"
+ :min="0"
+ :max="2048"
+ show-input
+ />
+ </a-form-item>
+ <a-form-item field="slider" label="闃堝��">
+ <a-slider
+ v-model="form.threshold"
+ :step="0.01"
+ :min="0"
+ :max="1"
+ show-input
+ />
+ </a-form-item>
+ <a-form-item field="slider" label="鏈�澶ц仛绫绘暟">
+ <a-slider
+ v-model="form.max_cluster"
+ :min="1"
+ :max="1024"
+ show-input
+ />
+ </a-form-item>
+ <a-form-item
+ field="slider"
+ label="闅忔満绉嶅瓙"
+ v-model="form.random_seed"
+ :rules="[
+ { type: 'number', min: 5, message: 'slider is min than 5' },
+ ]"
+ >
+ <a-input-number
+ v-model="form.random_seed"
+ :style="{
+ width: '300px',
+ marginRight: '1rem',
+ borderRadius: '4px',
+ }"
+ placeholder="璇疯緭鍏�"
+ class="input-demo"
+ :min="10"
+ :max="100"
+ />
+ <a-button type="primary" @click="randomNumber">
+ <icon-plus />
+ </a-button>
+ </a-form-item>
+ </div>
+ <a-form-item>
+ <div style="width: 100%; text-align: right">
+ <a-button @click="visible = false">鍙栨秷</a-button>
+ <a-button
+ style="margin-left: 10px"
+ type="primary"
+ html-type="submit"
+ >纭畾
+ </a-button>
+ </div>
+ </a-form-item>
+ </a-form>
+ </div>
+ </div>
+ </a-tab-pane>
+ <a-tab-pane key="2">
+ <template #title>
+ <icon-clock-circle />
+ 鍒涘缓瑙f瀽鍧�
+ </template>
+ <div class="details">
+ <div class="details-header">
+ <div
+ style="
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ "
+ >
+ <a-radio-group
+ v-model="radio"
+ type="button"
+ style="margin-right: 10px"
+ @change="onRadioChange"
+ >
+ <a-radio value="1">鍏ㄦ枃</a-radio>
+ <a-radio value="2">鐪佺暐</a-radio>
+ </a-radio-group>
+ <a-popover position="bottom">
+ <a-button
+ type="outline"
+ class="button"
+ style="margin-right: 10px"
+ >鎵归噺
+ <icon-down style="margin-left: 4px" />
</a-button>
- <a-popover position="bottom">
- <a-button type="outline" class="button" style="margin-right: 10px"><icon-sort /></a-button>
- <template #content>
- <a-radio-group v-model="available_int" direction="vertical" size="large" @change="onChangeavailable">
- <a-radio value="">鎵�鏈�</a-radio>
- <a-radio value="1">鍚敤</a-radio>
- <a-radio value="0">绂佺敤</a-radio>
- </a-radio-group>
- </template>
- </a-popover>
- <addDetails></addDetails>
- </div>
- </div>
- <a-divider style="margin-top: 10px" />
- <div class="groupMain">
- <a-checkbox-group v-model="data" @change="handleChange" >
- <div class="groupList" :style="{background:keyBg=='1'?'#eff8ff':'white'}">
- <a-checkbox value="1"></a-checkbox>
- <div class="groupList-content" @click="groupListContentClick('1')">
- 鑰� stable version 鏄渶鏂扮ǔ瀹氱増锛岀粡杩囧厖鍒嗘祴璇曞拰楠岃瘉锛宐ug 杈冨皯锛�
- 閫傚悎鐢ㄤ簬鐢熶骇鐜銆傚叾鐗堟湰鍙烽�氬父涓哄弻鏁帮紝濡� 1.26銆俵egacy versions
- 鍒欐槸涔嬪墠鍙戝竷鐨勭ǔ瀹氱増锛屽浜庨渶瑕�
- 鐗瑰畾鏃х増鏈殑鍏煎鎬ф垨瀹夊叏鎬ф敮鎸佺殑鐢ㄦ埛鏈夌敤锛屼絾涓�鑸笉
- 鎺ㄨ崘鐢ㄤ簬鏂伴」鐩紝闄ら潪鏈夌壒娈婇渶姹傘�傚湪瀹為檯浣跨敤涓紝濡傛灉杩芥眰鏈�鏂板姛鑳�
- 涓旀効鎰忛潰瀵瑰彲鑳藉瓨鍦ㄧ殑涓�浜涗笉绋冲畾鍥犵礌锛屽彲浠ュ皾璇曚娇鐢ㄤ富绾跨増鏈繘琛屾祴璇曞拰鐮旂┒锛涘鏋滄槸鐢ㄤ簬鐢熶骇鐜
- </div>
- <div class="groupList-right">
- <a-switch v-model="switchType" checked-value="1" unchecked-value="0" @change="handleChangeStatus()"/>
- </div>
- </div>
-
- <div class="groupList" :style="{background:keyBg=='2'?'#eff8ff':'white'}">
- <a-checkbox value="1"></a-checkbox>
- <div class="groupList-content" @click="groupListContentClick('2')">
- 鑰� stable version 鏄渶鏂扮ǔ瀹氱増锛岀粡杩囧厖鍒嗘祴璇曞拰楠岃瘉锛宐ug 杈冨皯锛�
- 閫傚悎鐢ㄤ簬鐢熶骇鐜銆傚叾鐗堟湰鍙烽�氬父涓哄弻鏁帮紝濡� 1.26銆俵egacy versions
- 鍒欐槸涔嬪墠鍙戝竷鐨勭ǔ瀹氱増锛屽浜庨渶瑕�
- </div>
- <div class="groupList-right">
- <a-switch v-model="switchType" checked-value="1" unchecked-value="0" @change="handleChangeStatus()"/>
- </div>
- </div>
-
- </a-checkbox-group>
+ <template #content>
+ <a-space direction="vertical">
+ <a-checkbox
+ :model-value="checkedAll"
+ :indeterminate="indeterminate"
+ @change="handleChangeAll"
+ style="margin-left: 10px"
+ >
+ 閫夋嫨鎵�鏈�
+ </a-checkbox>
+ </a-space>
+ <a-divider style="margin: 10px 0" />
+ <p>
+ <a-button
+ type="text"
+ class="button"
+ style="color: #2a2a2b"
+ @click="addBlock(1)"
+ >
+ <template #icon>
+ <icon-check-circle />
+ </template>
+ 鍚敤閫夊畾鐨�
+ </a-button>
+ </p>
+ <p>
+ <a-button
+ type="text"
+ class="button"
+ style="color: #2a2a2b"
+ @click="addBlock(0)"
+ >
+ <template #icon>
+ <icon-close-circle />
+ </template>
+ 绂佺敤閫夊畾鐨�
+ </a-button>
+ </p>
+ <a-divider style="margin: 10px 0" />
+ <p>
+ <a-button
+ type="text"
+ class="button"
+ style="color: #2a2a2b"
+ @click="addBlock(3)"
+ >
+ <template #icon>
+ <icon-delete />
+ </template>
+ 鍒犻櫎閫夊畾鐨�
+ </a-button>
+ </p>
+ </template>
+ </a-popover>
+ <a-space
+ direction="vertical"
+ size="large"
+ style="margin-right: 10px"
+ class="space_search"
+ v-show="!isBtn"
+ >
+ <a-input-search
+ :style="{ width: '220px' }"
+ v-model="form.keywords"
+ @input="getList()"
+ allow-clear
+ @clear.stop="getList()"
+ placeholder="鎼滅储"
+ />
+ </a-space>
+ <a-button
+ type="outline"
+ class="button"
+ style="margin-right: 10px"
+ v-show="isBtn"
+ @click.stop="isBtn = !isBtn"
+ >
+ <template #icon>
+ <icon-search />
+ </template>
+ </a-button>
+ <a-popover position="bottom">
+ <a-button
+ type="outline"
+ class="button"
+ style="margin-right: 10px"
+ >
+ <icon-sort />
+ </a-button>
+ <template #content>
+ <a-radio-group
+ v-model="available_int"
+ direction="vertical"
+ size="large"
+ @change="onChangeavailable"
+ >
+ <a-radio :value="''">鎵�鏈�</a-radio>
+ <a-radio :value="1">鍚敤</a-radio>
+ <a-radio :value="0">绂佺敤</a-radio>
+ </a-radio-group>
+ </template>
+ </a-popover>
+ <addDetails
+ :item="item"
+ @canplaythrough="canplaythrough"
+ ></addDetails>
</div>
</div>
- </a-tab-pane>
- </a-tabs>
-
-
-
+ <a-divider style="margin-top: 10px" />
+ <div class="groupMain">
+ <a-spin :loading="isLoading" :tip="tip">
+ <a-checkbox-group v-model="data" @change="handleChange">
+ <div
+ class="groupList"
+ :class="{
+ groupActive: keyBg == index,
+ groupNoActive: keyBg != index,
+ }"
+ v-for="(item, index) in listData"
+ :key="index"
+ >
+ <a-checkbox :value="item.chunk_id"></a-checkbox>
+ <div
+ class="groupList-content emphaRed"
+ @click="groupListContentClick(index)"
+ @dblclick="contentClick(item)"
+ v-html="item.content_with_weight"
+ >
+ </div>
+ <div class="groupList-right">
+ <a-switch
+ v-model="item.available_int"
+ :checked-value="1"
+ :unchecked-value="0"
+ @change="handleChangeStatus(item)"
+ size="small"
+ />
+ </div>
+ </div>
+ </a-checkbox-group>
+ </a-spin>
+ </div>
+ </div>
+ <eidtDetails
+ ref="eidtDil"
+ :item="eidtDilinfo"
+ v-model:eidtDilVisible="eidtDilVisible"
+ @canplaythrough="canplaythrough"
+ ></eidtDetails>
+ </a-tab-pane>
+ </a-tabs>
</a-modal>
</template>
<script lang="ts" setup>
-import { onMounted, onBeforeMount, reactive, ref, computed } from "vue";
-import { Message } from "@arco-design/web-vue";
-import {kbdocumentchangeparser} from "@/api/kbList";
-import addDetails from '@/views/dmx/knowledgeLib/addDetails.vue'
-const visible = ref(false);
-const loading = ref(false);
-const radio = ref('1');
-const keyBg = ref('');
+ 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;
+
+ let parser_ids = kbtenantInfo.parser_ids.split(',').map((item) => {
+ const [value1, value2] = item.split(':');
+ return {
+ name: value2,
+ value: value1,
+ };
+ });
+
+ // 杩囨护瑙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: 30,
- max_cluster: 233,
- random_seed: 1500,
- chunk_token_num: 128,
- use_raptor: false,
- pages: {},
- prompt: '璇锋�荤粨浠ヤ笅娈佃惤銆� 灏忓績鏁板瓧锛屼笉瑕佺紪閫犮�� 娈佃惤濡備笅锛歕n' +
- ' {cluster_content}\n' +
- '浠ヤ笂灏辨槸浣犻渶瑕佹�荤粨鐨勫唴瀹广��',
-});
-const formRef = ref(null);
+ watch(isBtn, (val) => {
+ if (!val) {
+ closeSlelct();
+ }
+ });
-const rules = {
- prompt: [
- {
- required: true,
- message:'鎻愮ず璇嶄笉鍏佽涓虹┖',
- },
- ],
-}
-const formatter = (value) => {
- return value / 100
-};
+ 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 listData = ref([]);
+
+ const formatter = (value) => {
+ return value / 100;
+ };
+
function randomNumber() {
// 鐢熸垚涓�涓粙浜巑in鍜宮ax涔嬮棿鐨勯殢鏈烘暣鏁帮紙鍖呭惈min鍜宮ax锛�
const min = 1; // 鏈�灏忓��
@@ -248,165 +455,270 @@
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,
+ const handleSubmit = async ({ values, errors }) => {
+ if (!errors) {
+ let data = await kbdocumentchangeparser({
+ parser_id: form.parser_id,
+ doc_id: props.item.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: [],
},
- chunk_token_num: form.chunk_token_num,
- pages: [
-
- ]
+ });
+ if (data.code == 0) {
+ Message.success('閰嶇疆鎴愬姛');
+ } else {
+ Message.error('閰嶇疆澶辫触');
}
- })
- if(data.code == 0){
- Message.success('閰嶇疆鎴愬姛');
- }else{
- Message.error('閰嶇疆澶辫触');
+ visible.value = false;
}
+ };
+
+ const handleClick = () => {
+ visible.value = true;
+ };
+ const handleCancel = () => {
visible.value = false;
- }
-}
+ };
-const handleClick = () => {
- visible.value = true;
-};
-const handleCancel = () => {
- visible.value = false;
-}
+ const contentClick = async (item) => {
+ try {
+ const data = await achunkGet({
+ chunk_id: item.chunk_id,
+ });
+ // console.log(data.data);
+ Object.assign(eidtDilinfo, data.data);
+ eidtDilVisible.value = true;
+ } catch (error) {
+ Message.error('鑾峰彇澶辫触');
+ }
+ };
+ const handleOpened = (el) => {
+ console.log('kbtenantInfo',props.kbtenantInfo);
+ console.log('item', props.item);
+ console.log('kbdetail',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;
+ }
+ });
+ getList();
+ };
-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();
-}
+ 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;
- data.value = ['1', '2', '3']
- } else {
- checkedAll.value = false;
- data.value = []
- }
-}
-
-const handleChange = (values) => {
- if (values.length === 3) {
- checkedAll.value = true
+ 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;
- } else if (values.length === 0) {
- checkedAll.value = false
- indeterminate.value = false;
- } else {
- checkedAll.value = false
- indeterminate.value = true;
- }
-}
+ 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 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(() => {
+
+ });
+ onMounted(() => {});
+
+ defineExpose({
+ handleClick
+ })
-const groupListContentClick = (value) => {
- keyBg.value = value;
-}
-
-
-const onChangeavailable = ()=>{
- console.log(available_int.value);
-}
-
-const handleChangeStatus = ()=>{
- console.log(switchType.value);
-}
-
-onBeforeMount(()=>{
-
-})
-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;
- }
-}
-.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: rgba(0, 0, 0, 0.88);
- font-size: 14px;
- font-family: Inter;
- position: relative;
+ .parser {
+ width: 100%;
+ .arco-btn-outline:hover,
+ .arco-btn-outline,
+ .arco-btn-outline[type='button'] {
+ color: #2a2a2b;
+ border: 1px solid #2a2a2b;
+ }
+ .button {
+ //color: #2a2a2b!important;
}
}
-}
-</style>
\ No newline at end of file
+
+ ::-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