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/index.vue | 178 ++++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 126 insertions(+), 52 deletions(-)
diff --git a/src/views/dmx/knowledgeLib/index.vue b/src/views/dmx/knowledgeLib/index.vue
index 8d5be12..cebcfe3 100644
--- a/src/views/dmx/knowledgeLib/index.vue
+++ b/src/views/dmx/knowledgeLib/index.vue
@@ -298,6 +298,7 @@
<template #status="{ record }">
<a-switch
v-model="record.status"
+ :disabled="!getAut('/kb/data_status')"
size="small"
checked-value="1"
unchecked-value="0"
@@ -308,11 +309,8 @@
<div style="display: flex; align-items: center">
<div style="width: 100px">
<a-popover title="" v-if="record.run == '4'">
- <a-tag
- :loading="record.loading"
- :color="'blue'"
- border
- >{{ $t('dmx.list.complete') }}</a-tag
+ <a-tag :loading="record.loading" :color="'red'" border
+ >澶辫触</a-tag
>
<template #content>
<p>娴佺▼寮�濮嬩簬锛歿{ record.process_begin_at }}</p>
@@ -438,6 +436,7 @@
type="text"
size="large"
@click="run(record)"
+ v-hasPermi="'/kb/data_analysis'"
:loading="record.loading"
>
<template #icon>
@@ -465,37 +464,55 @@
</div>
</template>
<template #action="{ record }">
- <tool
- :kbtenantInfo="kbtenantInfo"
+ <a-tooltip content="瑙f瀽鏂规硶">
+ <a-button
+ type="text"
+ :disabled="record.run == '1'"
+ @click="handleClick(record)"
+ v-hasPermi="'/kb/data_update'"
+ size="small"
+ >
+ <template #icon>
+ <icon-tool />
+ </template>
+ </a-button>
+ </a-tooltip>
+ <edit
:item="record"
- :kbdetail="kbdetail"
+ v-hasPermi="'/kb/rename'"
+ @upTabdateItem="upTabdateItem"
/>
- <edit :item="record" @upTabdateItem="upTabdateItem" />
<a-popconfirm
:content="'纭畾鍒犻櫎鍚�'"
type="warning"
@ok="deleteItem(record)"
>
+ <a-tooltip content="鍒犻櫎">
+ <a-button
+ type="text"
+ size="small"
+ :disabled="record.run == '1'"
+ v-hasPermi="'/kb/data_delete'"
+ >
+ <template #icon>
+ <icon-delete />
+ </template>
+ </a-button>
+ </a-tooltip>
+ </a-popconfirm>
+ <a-tooltip content="涓嬭浇">
<a-button
type="text"
size="small"
+ v-hasPermi="'/kb/data_download'"
:disabled="record.run == '1'"
+ @click="onDownloadDocument(record)"
>
<template #icon>
- <icon-delete />
+ <icon-download />
</template>
</a-button>
- </a-popconfirm>
- <a-button
- type="text"
- size="small"
- :disabled="record.run == '1'"
- @click="onDownloadDocument(record)"
- >
- <template #icon>
- <icon-download />
- </template>
- </a-button>
+ </a-tooltip>
<!-- <a-button
type="text"
@@ -512,7 +529,11 @@
</a-card>
</a-scrollbar>
</a-tab-pane>
- <a-tab-pane key="2" :title="t('dmx.list.test')">
+ <a-tab-pane
+ key="2"
+ :title="t('dmx.list.test')"
+ v-if="getAut('/kb/test')"
+ >
<a-scrollbar
class="rt-container-main"
:style="{ height: documentHeight + 70 + 'px' }"
@@ -521,7 +542,11 @@
<test ref="testForm"></test>
</a-scrollbar>
</a-tab-pane>
- <a-tab-pane key="3" :title="t('dmx.list.disposition')">
+ <a-tab-pane
+ key="3"
+ :title="t('dmx.list.disposition')"
+ v-if="getAut('/kb/update')"
+ >
<a-scrollbar
class="rt-container-main"
:style="{ height: documentHeight + 70 + 'px' }"
@@ -580,6 +605,12 @@
<excel v-if="documenttype == 'excel'" :previewSrc="previewSrc"></excel>
<txtPdf v-if="documenttype == 'txtPdf'" :previewSrc="previewSrc"></txtPdf>
</a-modal>
+ <tool
+ ref="toolForm"
+ :kbtenantInfo="kbtenantInfo"
+ :item="setObj"
+ :kbdetail="kbdetail"
+ />
</div>
</template>
@@ -592,6 +623,7 @@
nextTick,
onBeforeMount,
onMounted,
+ onBeforeUnmount,
} from 'vue';
import { useI18n } from 'vue-i18n';
import useLoading from '@/hooks/loading';
@@ -629,6 +661,7 @@
import { documentHeight, parseTime } from '@/utils';
import { deleteLlm } from '@/api/model';
import { userModelState } from '@/store';
+ import { getUserResources } from '@/utils/auth';
let modelStore = userModelState();
const httpUrl = modelStore.hrefUrl;
@@ -651,6 +684,7 @@
const formModel = ref(generateFormModel());
const cloneColumns = ref([]);
const showColumns = ref<Column[]>([]);
+ let setObj = reactive({});
const size = ref<SizeProps>('medium');
let visible = ref(false);
@@ -670,6 +704,7 @@
let kbdetail = reactive({});
let parser_ids = reactive({});
let seeObj = reactive({});
+ let toolForm = ref(null);
let kbtenantInfo = reactive({
asr_id: 'paraformer-realtime-8k-v1',
embd_id: 'BAAI/bge-large-zh-v1.5',
@@ -684,6 +719,7 @@
parser_idObj: {},
});
let tabs = ref([]);
+ let timer = null; // 瀹氭椂鍣�
const selectTab = (index, item) => {
selectedTab.value = index;
@@ -691,12 +727,18 @@
// console.log(item.id);
kbobj = item;
kbId = kbobj.id;
+ basePagination.page = 1;
fetchData({
kb_id: kbobj.id,
- page: 1,
- page_size: 10,
+ ...basePagination,
});
getKbdetail(kbobj.id);
+ };
+
+ const getAut = (val) => {
+ const roleData = JSON.parse(getUserResources());
+ const roleBtn = roleData.map((item: any) => item.component);
+ return roleBtn.includes(val);
};
const basePagination: Pagination = {
@@ -729,10 +771,12 @@
title: t('dmx.column.name'),
dataIndex: 'name',
slotName: 'name',
+ width: 300,
},
{
title: t('鍒嗗揩鏁�'),
dataIndex: 'chunk_num',
+ width: 90,
},
{
title: t('dmx.column.UploadTime'),
@@ -744,16 +788,19 @@
title: t('瑙f瀽鏂规硶'),
dataIndex: 'parser_id',
slotName: 'parser_id',
+ width: 150,
},
{
title: t('鍚敤'),
dataIndex: 'status',
slotName: 'status',
+ width: 100,
},
{
title: t('瑙f瀽鐘舵��'),
dataIndex: 'run',
slotName: 'run',
+ width: 100,
},
{
title: t('dmx.column.Operate'),
@@ -820,7 +867,37 @@
// console.log(renderData.value, 'renderData');
pagination.page = params.page;
+ pagination.current = params.page;
pagination.total = data.data.total;
+
+ if (timer) {
+ clearInterval(timer);
+ }
+ // 瀹氭椂鍣ㄦ煡璇㈡枃妗�
+ timer = setInterval(async () => {
+ let params = { ...basePagination, kb_id: kbobj.id };
+ const data = await queryKbDocumentList(params);
+ if (data.code == '0') {
+ parser_ids = kbtenantInfo.parser_ids
+ .split(',')
+ .reduce((acc, pair) => {
+ const [key, value] = pair.split(':');
+ acc[key] = value;
+ return acc;
+ }, {});
+ // console.log(parser_ids, 'parser_ids');
+ kbtenantInfo.parser_idObj = parser_ids;
+ renderData.value = data.data.docs || [];
+ renderData.value = renderData.value.map((item) => {
+ return {
+ ...item,
+ loading: false,
+ parser_id: parser_ids[item.parser_id],
+ };
+ });
+ // console.log(renderData.value, 'renderData');
+ }
+ }, 10000);
}
} catch (err) {
// you can report use errorHandler or other
@@ -830,20 +907,22 @@
};
const search = () => {
+ basePagination.page = 1;
fetchData({
kb_id: kbobj.id,
- page: 1,
- page_size: 10,
+ ...basePagination,
keywords: keywords.value,
});
};
- const handleClick = () => {
- visible.value = true;
+ const handleClick = (data) => {
+ Object.assign(setObj, data);
+ toolForm.value.handleClick(data);
};
const onPageChange = (current: number) => {
- fetchData({ ...basePagination, page: current, kb_id: kbobj.id });
+ basePagination.page = current;
+ fetchData({ ...basePagination, kb_id: kbobj.id });
};
const selectTabAll = (val) => {
@@ -866,10 +945,10 @@
kbobj = tabs.value[0];
kbId = kbobj.id;
activeKey.value = '1';
+ basePagination.page = 1;
fetchData({
kb_id: kbobj.id,
- page: 1,
- page_size: 10,
+ ...basePagination,
});
getKbdetail(kbobj.id);
} else {
@@ -953,11 +1032,11 @@
const cancleConfig = () => {
activeKey.value = '1';
let id = tabs.value[selectedTab.value].id;
- fetchData({
- kb_id: id,
- page: 1,
- page_size: 10,
- });
+ // basePagination.page = 1;
+ // fetchData({
+ // kb_id: id,
+ // ...basePagination,
+ // });
};
const saveConfig = async () => {
@@ -967,8 +1046,7 @@
tabs.value = data;
fetchData({
kb_id: id,
- page: 1,
- page_size: 10,
+ ...basePagination,
});
getKbdetail(id); // 鑾峰彇璇︽儏
};
@@ -1003,11 +1081,6 @@
}
});
});
- // fetchData({
- // kb_id: tabs.value[selectedTab.value].id,
- // page: 1,
- // page_size: 20,
- // });
getKbList();
} else {
// Message.error('瑙f瀽澶辫触');
@@ -1036,8 +1109,7 @@
const getKbList = async () => {
await fetchData({
kb_id: tabs.value[selectedTab.value].id,
- page: 1,
- page_size: 10,
+ ...basePagination,
});
};
@@ -1098,8 +1170,7 @@
// console.log(kbobj, 'kbobj');
fetchData({
kb_id: kbobj.id,
- page: 1,
- page_size: 10,
+ ...basePagination,
});
}
};
@@ -1162,10 +1233,10 @@
run: run,
});
if (data.code == 0) {
+ // 瀹氭椂鍣ㄦ煡璇㈠綋鍓嶅垪琛�
fetchData({
kb_id: tabs.value[selectedTab.value].id,
- page: 1,
- page_size: 10,
+ ...basePagination,
});
} else {
// Message.error('瑙f瀽澶辫触');
@@ -1176,10 +1247,10 @@
};
const changeFetchData = async (row) => {
+ basePagination.page = 1;
fetchData({
kb_id: kbobj.id,
- page: 1,
- page_size: 10,
+ ...basePagination,
});
};
watch(
@@ -1203,6 +1274,9 @@
onMounted(() => {
knowledgeData();
});
+ onBeforeUnmount(() => {
+ clearInterval(timer);
+ });
</script>
<style scoped lang="less">
--
Gitblit v1.8.0