yangyin
2024-11-12 e30bb3208315331271a1ea8c2cd13259c30639c5
修改知识库管理
已修改2个文件
86 ■■■■ 文件已修改
src/views/project/yw/dataManage/knowledge/AddKnowledge.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/yw/dataManage/knowledge/Knowledge.vue 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/project/yw/dataManage/knowledge/AddKnowledge.vue
@@ -136,6 +136,7 @@
                                        label: 'group_name',
                                        children: 'Children',
                                    }"
                                    defaultExpandAll
                                    @click="handleClickNode"
                                >
                                </LeftTreeByMgr>
@@ -228,6 +229,7 @@
import mittBus from '/@/utils/mitt';
import { verifiyNumberInteger } from '/@/utils/toolsValidate';
import { convertListToTree } from '/@/utils/util';
import { OptClassificationMap, classificationEnum } from '/@/views/types/metrics';
const route = useRoute();
// 定义变量内容
const state = reactive({
@@ -392,6 +394,7 @@
const emptyKnowledgeBase = async () => {
    const valid = await knowledgeFormRef.value.validate().catch(() => {});
    if (!valid) return;
    var currentTime = moment().format('YYYY-MM-DD HH:mm:ss');
    const res = await add_docvector_name({
        title: state.knowledgeForm.title,
        prompt: state.knowledgeForm.prompt,
@@ -400,6 +403,17 @@
    });
    if (res.json_ok) {
        state.knowlg_id = res.knowlg_id;
        let obj = {
            id: state.knowlg_id,
            group_id: state.groupKnow_id,
            title: state.knowledgeForm.title,
            prompt: state.knowledgeForm.prompt,
            publish: 'N',
            create_time: currentTime,
            user_name: '',
            scope: state.knowledgeForm.scope,
        };
        mittBus.emit('addEmptyKnowledge', obj);
        getFileTreeData(true);
    }
};
@@ -416,6 +430,7 @@
    if (res.json_ok) {
        let obj = {
            id: state.knowlg_id,
            title: state.knowledgeForm.title,
            prompt: state.knowledgeForm.prompt,
            publish: 'N',
@@ -423,7 +438,7 @@
            user_name: '',
            scope: state.knowledgeForm.scope,
        };
        mittBus.emit('addKnowledgeBaseObj', obj);
        mittBus.emit('updateKnowledgeBaseObj', obj);
        router.push({ name: 'Knowledge' });
        //清空表单
        knowledgeFormRef.value.resetFields();
@@ -441,11 +456,18 @@
    const res = await get_knowledge_group_list();
    if (res?.json_ok) {
        const resData = (res.groups || []) as [];
        state.knowledgeBaseData = convertListToTree(resData, {
        const byParentData = convertListToTree(resData, {
            ID: 'group_id',
            Children: 'Children',
            ParentID: 'p_group_id',
        });
        const result = [];
        byParentData.forEach((item) => {
            if (item.group_type == OptClassificationMap[classificationEnum.Knowledge]) {
                result.push(item);
            }
        });
        state.knowledgeBaseData = result;
        if (selectFirst) {
            const firstListTreeNode = state.knowledgeBaseData[0];
            if (firstListTreeNode) {
src/views/project/yw/dataManage/knowledge/Knowledge.vue
@@ -158,23 +158,20 @@
        leftTreeRef.value?.treeRef.setCurrentKey(data.group_id);
    });
    currentNode.value = data;
    docvectorList();
    showKnowledgeBaseList.value = knowledgeBaseList.value.filter((item) => item.group_id === currentListID.value);
};
const getListTreeData = async () => {
    const res = await agentGroupApi.getSceneGroupTreeByPost();
    listData.value = res.groups || [];
    const firstListTreeNode = listTreeData.value[0];
    if (firstListTreeNode) {
        handleClickNode(firstListTreeNode);
    } else {
        knowledgeBaseList.value = [];
        currentNode.value = null;
    }
    currentNode.value = firstListTreeNode;
    docvectorList();
};
//#endregion
//#region ====================== 获取知识库sheet列表 ======================
const knowledgeBaseList = ref([]);
const showKnowledgeBaseList = ref([]);
//创建知识库
const createKnowledgeBase = () => {
    router.push({
@@ -191,12 +188,19 @@
        res.values.forEach((item) => {
            item.create_time = new Date(item.create_time).toLocaleString();
        });
        const filterDocData = res.values.filter((item) => item.group_id === currentListID.value);
        knowledgeBaseList.value = filterDocData;
        knowledgeBaseList.value = res.values ?? [];
        showKnowledgeBaseList.value = filterDocData(knowledgeBaseList.value);
    } else {
        return ElMessage.error('获取列表索引失败' + (res?.json_msg ? `,${JSON.stringify(res.json_msg)}` : ''));
    }
};
const filterDocData = (list) => {
    const filterDocData = list.filter((item) => item.group_id === currentListID.value);
    return filterDocData;
};
const deleteKnowledgeBase = async (row) => {
    ElMessageBox.confirm(`确定删除当前的知识库:【${row.title}】?`, '提示', {
        confirmButtonText: '确定',
@@ -207,9 +211,10 @@
            knowlg_id: row.id,
        });
        if (res.json_ok) {
            const foundIndex = knowledgeBaseList.value.findIndex((item) => item === row);
            foundIndex > -1 && knowledgeBaseList.value.splice(foundIndex, 1);
            showKnowledgeBaseList.value = filterDocData(knowledgeBaseList.value);
            ElMessage.success('删除知识库成功');
            const index = knowledgeBaseList.value.findIndex((d) => d.id === row.id);
            knowledgeBaseList.value.splice(index, 1);
        }
    });
};
@@ -254,8 +259,8 @@
const knowledgeBaseForm = ref({
    title: '',
});
const { resetQuery, handleQueryTable, displayTableData } = useQueryTable(knowledgeBaseList, knowledgeBaseForm, () => {
    displayTableData.value = knowledgeBaseList.value;
const { resetQuery, handleQueryTable, displayTableData } = useQueryTable(showKnowledgeBaseList, knowledgeBaseForm, () => {
    displayTableData.value = showKnowledgeBaseList.value;
});
//#endregion
//#region ====================== Chat 测试 ======================
@@ -301,19 +306,28 @@
//#endregion
onMounted(() => {
    getListTreeData();
    mittBus.on('addKnowledgeBaseObj', (obj) => {
        knowledgeBaseList.value.push(obj);
    mittBus.on('addEmptyKnowledge', (formValue) => {
        knowledgeBaseList.value.push(formValue);
        console.log('🚀 ~ knowledgeBaseList.value:', knowledgeBaseList.value);
        showKnowledgeBaseList.value = filterDocData(knowledgeBaseList.value);
    });
    mittBus.on('updateKnowledgeBaseObj', (formValue) => {
        const foundIndex = knowledgeBaseList.value.findIndex((item) => item.id === formValue.id);
        if (foundIndex > -1) {
            knowledgeBaseList.value[foundIndex] = {
                ...knowledgeBaseList.value[foundIndex],
                ...formValue,
            };
    //编辑内容
    mittBus.on('updateKnowledgeBaseObj', cbUpdateKnowledgeBaseObj);
});
const cbUpdateKnowledgeBaseObj = (formValue) => {
    knowledgeBaseList.value.forEach((item) => {
        if (item.id == formValue.id) {
            item.title = formValue.title;
            item.prompt = formValue.prompt;
            item.publish = formValue.publish;
            item.create_time = formValue.create_time;
            item.user_name = formValue.user_name;
            item.scope = formValue.scope;
        }
    });
});
    showKnowledgeBaseList.value = filterDocData(knowledgeBaseList.value);
};
</script>
<style scoped lang="scss">
.set_item_jel {