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
186 lines
7.0 KiB
<!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">
|
|
<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>
|
|
<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>
|