From 5a65d0904b855ca13b5023f07ceb854c8ac460b4 Mon Sep 17 00:00:00 2001 From: HuangHai <10402852@qq.com> Date: Wed, 2 Jul 2025 20:20:53 +0800 Subject: [PATCH] 'commit' --- dsRag/static/tree.html | 121 ++++++++--------------------------------- 1 file changed, 23 insertions(+), 98 deletions(-) diff --git a/dsRag/static/tree.html b/dsRag/static/tree.html index 2fd3283c..c2127277 100644 --- a/dsRag/static/tree.html +++ b/dsRag/static/tree.html @@ -176,41 +176,36 @@ }); // 修改prerequisiteUpdate和relatedUpdate函数 - // 修改prerequisiteUpdate函数使用LayUI - function prerequisiteUpdate(nodeId) { + // 公共函数 + function showKnowledgeSelector(nodeId, title, currentKnowledge, updateType) { layui.use(['layer', 'form'], function () { var layer = layui.layer; var form = layui.form; - - // 获取当前节点 - const currentNode = findNodeById(treeData, nodeId); - + // 构建HTML内容 let html = '
'; html += '
'; - + allNodes.forEach(node => { if (node.id !== nodeId && !node.isParent) { - const isSelected = currentNode && currentNode.prerequisite && - currentNode.prerequisite.some(p => p.id === node.id); - - // 获取父节点标题 + const isSelected = currentKnowledge && + currentKnowledge.some(p => p.id === node.id); const parentTitle = findParentTitle(node); const displayTitle = parentTitle ? `【${parentTitle}】${node.title}` : node.title; - + html += '
'; html += ''; html += '
'; } }); - + html += '
'; html += '
'; - + // 弹出层 layer.open({ type: 1, - title: '选择先修知识', + title: '选择' + title, content: html, area: ['500px', '400px'], btn: ['确定', '取消'], @@ -225,7 +220,7 @@ }); } }); - + // 调用后端接口 fetch('/api/update-knowledge', { method: 'POST', @@ -234,8 +229,8 @@ }, body: JSON.stringify({ node_id: nodeId, - knowledge: selectedNodes, // 修改参数名 - update_type: 'prerequisite' + knowledge: selectedNodes, + update_type: updateType }) }) .then(response => response.json()) @@ -251,7 +246,7 @@ console.error('Error:', error); layer.msg('保存出错', {icon: 2}); }); - + layer.close(index); } }); @@ -259,86 +254,16 @@ }); } - function relatedUpdate(nodeId) { - layui.use(['layer', 'form'], function () { - var layer = layui.layer; - var form = layui.form; - - // 获取当前节点 - const currentNode = findNodeById(treeData, nodeId); - - // 构建HTML内容 - let html = '
'; - html += '
'; - - allNodes.forEach(node => { - if (node.id !== nodeId && !node.isParent) { - const isSelected = currentNode && currentNode.related && - currentNode.related.some(p => p.id === node.id); - - // 获取父节点标题 - const parentTitle = findParentTitle(node); - const displayTitle = parentTitle ? `【${parentTitle}】${node.title}` : node.title; - - html += '
'; - html += ''; - html += '
'; - } - }); - - html += '
'; - html += '
'; - - // 弹出层 - layer.open({ - type: 1, - title: '选择相关知识', - content: html, - area: ['500px', '400px'], - btn: ['确定', '取消'], - yes: function (index, layero) { - const selectedNodes = []; - $('input[name="node"]:checked').each(function () { - const node = findNodeById(treeData, $(this).val()); - if (node) { - selectedNodes.push({ - id: node.id, - title: node.title - }); - } - }); - - // 调用后端接口 - fetch('/api/update-knowledge', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify({ - node_id: nodeId, - knowledge: selectedNodes, // 修改参数名 - update_type: 'related' - }) - }) - .then(response => response.json()) - .then(data => { - if (data.code === 0) { - layer.msg('保存成功', {icon: 1}); - setTimeout(() => location.reload(), 1000); - } else { - layer.msg('保存失败: ' + data.message, {icon: 2}); - } - }) - .catch(error => { - console.error('Error:', error); - layer.msg('保存出错', {icon: 2}); - }); + // 修改后的prerequisiteUpdate函数 + function prerequisiteUpdate(nodeId) { + const currentNode = findNodeById(treeData, nodeId); + showKnowledgeSelector(nodeId, '先修知识', currentNode.prerequisite, 'prerequisite'); + } - layer.close(index); - } - }); - form.render(); - }); + // 修改后的relatedUpdate函数 + function relatedUpdate(nodeId) { + const currentNode = findNodeById(treeData, nodeId); + showKnowledgeSelector(nodeId, '相关知识', currentNode.related, 'related'); }