已废弃
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

186 lines
7.0 KiB

2 years ago
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<title>layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="/static/lib/layui-v2.8.6/css/layui.css" media="all">
2 years ago
<link rel="stylesheet" href="/static/css/public.css" media="all">
</head>
<body>
<div id="test2" class="demo-tree"></div>
<input id="mname" name="mname" th:value="${mname}" style="display: none">
<input id="type" name="type" th:value="${type}" style="display: none">
<input id="clickObj" name="clickObj" th:value="${clickObj}" style="display: none">
<input id="placeId" name="placeId" th:value="${placeId}" style="display: none">
<input id="depositoryId" name="depositoryId" th:value="${depositoryId}" style="display: none">
<script src="/static/lib/layui-v2.8.6/layui.js" charset="utf-8"></script>
2 years ago
<script>
layui.use(['form', 'layer', 'dropdown', 'tree'], function () {
var $ = layui.jquery,
tree = layui.tree;
var mname = $("#mname").val();
var type = $("#type").val();
var clickObj = $("#clickObj").val();
var placeId = $("#placeId").val();
var depositoryId = $("#depositoryId").val();
// 用于暂存当前查询结果
var tempData = [];
var req = {};
req.mname = mname;
req.type = type;
if (placeId !== "-1") {
req.placeId = placeId;
req.depositoryId = depositoryId;
}
var test = tree.render({
elem: '#test2'
, data: []
, click: function (obj) {
var state = obj.state;
if (obj.data.children !== undefined) {
if (mname === "") {
if ("open" === state) {
var id = obj.data.id;
var param = {};
param.mtId = id;
param.mname = mname;
param.type = type;
if (placeId !== "-1") {
param.placeId = placeId;
param.depositoryId = depositoryId;
}
addTreeChildren(param);
} else {
// console.log("隐藏");
var param = {};
param.mtId = id;
closeTreeChildren(param);
return false
}
}
}
else {
var windowParent = $("#" + clickObj, window.parent.document)[0];
var children = windowParent.childNodes[5];
var materialItem = children.childNodes[3].childNodes[1].childNodes;
var materialName = materialItem[1];
var materialId = materialName.parentNode.parentNode.childNodes[3];
materialName.value = obj.data.title;
materialId.value = obj.data.id;
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
}
});
$.ajax({
url: "/material/treeMenus",
data: JSON.stringify(req),
type: 'post',
dataType: 'json',
contentType: "application/json;charset=utf-8",
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (d) {
layer.close(this.layerIndex);
var data2 = d.data;
tempData = data2;
test.reload({
data: tempData
});
}
});
$("#test2").on("click", ".layui-tree-entry", function (event) {
var target = $(event.target);
var id = this.parentNode.getAttribute("data-id");
var context = target.context.className;
if (mname === "") {
if (context.includes("layui-tree-main")) {
var childrenName = this.childNodes[0].childNodes[0].childNodes[0].className;
if (childrenName.includes("layui-icon-addition")) {
// console.log("隐藏")
var param = {};
param.mtId = id;
closeTreeChildren(param);
} else if (childrenName.includes("layui-icon-subtraction")) {
var param = {};
param.mtId = id;
param.mname = mname;
param.type = type;
if (placeId !== "-1") {
param.placeId = placeId;
param.depositoryId = depositoryId;
}
addTreeChildren(param);
}
} else if (context.includes("layui-icon")) {
if (context.includes("layui-icon-addition")) {
var param = {};
param.mtId = id;
closeTreeChildren(param);
// console.log("隐藏")
} else if (context.includes("layui-icon-subtraction")) {
var param = {};
param.mtId = id;
param.mname = mname;
param.type = type;
if (placeId !== "-1") {
param.placeId = placeId;
param.depositoryId = depositoryId;
}
addTreeChildren(param);
}
}
}
});
// 用于添加分支
addTreeChildren = function (param) {
$.ajax({
url: "/material/getNewTreeForMtId",
data: JSON.stringify(param),
type: 'post',
dataType: 'json',
contentType: "application/json;charset=utf-8",
beforeSend: function () {
this.layerIndex = layer.load(0, {shade: [0.5, '#393D49']});
},
success: function (d) {
layer.close(this.layerIndex);
var data2 = d.data;
tempData = data2;
test.reload({
data: tempData
});
}
});
};
closeTreeChildren = function (param) {
$.ajax({
url: "/material/closeTreeChildren",
data: JSON.stringify(param),
type: 'post',
dataType: 'json',
contentType: "application/json;charset=utf-8"
});
}
})
</script>
</body>
</html>