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 = '
';
-
+
// 弹出层
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 += '
';
- 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');
}