let dtree, util, tree, layer; let type = ""; let nodeIndex = [] let data = []; let nodeList; let isempty=false; function setForm(node, puId, type) { layui.extend({ dtree: '../../../../js/layui_dtree/dtree/dtree' }).use(['util', 'dtree', 'layer'], function () { util = layui.util; dtree = layui.dtree; layer = layui.layer; nodeList = node.split(','); util.event('lay-active', { query: function () { let obj =[] $.each($(".unCheckBtn"), function (index, item) { if (!isEmpty($(item).children().attr("value"))) { let nodes = $(item).children().attr("value"); $.each(data, function (index, itemData) { if (itemData.id === $(item).attr("value")) { let parentId = itemData.id; obj.push({ index:nodes, parentIndex:parentId }) } }) } }); getPuSet(puId, JSON.stringify(obj)); }, reset: function () { }, }); getGroupNode(type); tree = dtree.render({ elem: "#tree", initLevel: 2, data: [], checkbar: true,//开启复选框 checkbarType: "only", ficon: ['1'], icon: "-1", checkbarFun: checkBarFun, done: function (res, $ul, first) { $('li[data-index="1"] div:first').addClass('top'); } }); }); } /** * 树单选框监听事件 * @type {{chooseDone: checkBarFun.chooseDone}} */ let checkBarFun = { chooseDone: function (obj) { if(obj.length==0){ console.log("取消了") isempty=true; }else{ isempty=false; let span = $('li[value=' + obj[0].parentId + '] span'); span.text("(" + obj[0].context + ")"); span.attr("value", obj[0].nodeId); } } } /** * 改变按钮样式 */ function changItem(dom, parentDom, css) { let item = $(dom); if (!item.hasClass(css)) { $.each(parentDom.children(), function (index, item) { $(item).removeClass(css); }); } item.addClass(css); } /** *获取分组节点 */ function getGroupNode(type) { let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); Ajax().post({ headers: { "encrypt": sm3(JSON.stringify({})) }, url: dataUrl + 'proteam/pot/deviceMachine/getGroupNode', data: { "type": type }, async: true, success: function (data) { console.log(data); if (data.code === 200) { traversalData(data.data); } else { } } }); layer.close(loadingMsg); } /*** * 转换数据 * @param data */ function traversalData(data) { let treeType = []; let treeData = []; $.each(data, function (index, item) { let obj = { id: item.index, title: item.name, parentId: item.parentIndex, children: [] } if (obj.parentId === "0") { treeType.push(obj); } else { obj.checkArr = nodeIndex.indexOf(Number(obj.id)) > -1 ? "1" : "0"; treeData.push(obj); } }); treeMenuList(treeType, treeData); itemList(treeType, treeData); } /** * 树类型 * @param treeType * @param treeData */ function itemList(treeType, treeData) { let html = ""; $.each(treeType, function (index, item) { let value = ""; let name = "(未分配)"; $.each(item.children, function (indexData, itemData) { if (itemData.parentId === item.id) { if (nodeList.includes(itemData.id)) { value = itemData.id; name = "(" + itemData.title + ")"; itemData.checkArr = [{"type": "0", "checked": "1"}]; } } }) console.log(item); if (index === 0) { html += '