IntelligentRecognition/ah-jjsp-web/.svn/pristine/20/202f3504066e336818a8ec6683f...

230 lines
5.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

let dtree, util, tree, layer;
let type = "";
let nodeIndex = []
let data = [];
let nodeList;
function setForm() {
layui.extend({
dtree: '../../../../js/layui_dtree/dtree/dtree'
}).use(['util', 'dtree', 'layer'], function () {
util = layui.util;
dtree = layui.dtree;
layer = layui.layer;
util.event('lay-active', {
query: function () {
},
reset: function () {
},
});
getGroupNode("all");
tree = dtree.render({
elem: "#tree",
initLevel: 2,
data: [],
toolbar: true,
toolbarWay: "follow", // "contextmenu":右键菜单(默认),"fixed""固定在节点后","follow""跟随节点动态呈现"
toolbarFun: {
loadToolbarBefore: function (buttons, param, $div) {
if (parseInt(param.level) > 2) { // 如果是叶子节点
buttons.addToolbar = ""; // 取消新增功能
}
if (parseInt(param.level) === 1) { // 如果是叶子节点
buttons.editToolbar = ""; // // 取消新增功能
buttons.delToolbar = ""; // 取消新增功能
}
return buttons;
},
addTreeNode: function (treeNode, $div) {
addNode(treeNode);
},
editTreeNode: function (treeNode, $div) {
editNode(treeNode);
},
delTreeNode: function (treeNode, $div) {
delNode(treeNode);
}
},
done: function (res, $ul, first) {
$('li[data-index="1"] div:first').addClass('top');
}
});
});
}
function addNode(treeNode) {
Ajax().post({
headers: {
"encrypt": sm3(JSON.stringify(treeNode))
},
url: dataUrl + 'proteam/pot/deviceMachine/nodeAdd',
data: treeNode,
async: true,
success: function (data) {
msg(data);
}
});
}
function editNode(treeNode) {
Ajax().post({
headers: {
"encrypt": sm3(JSON.stringify(treeNode))
},
url: dataUrl + 'proteam/pot/deviceMachine/nodeSet',
data: treeNode,
async: true,
success: function (data) {
msg(data);
}
});
}
function delNode(treeNode) {
Ajax().post({
headers: {
"encrypt": sm3(JSON.stringify(treeNode))
},
url: dataUrl + 'proteam/pot/deviceMachine/nodeRemove',
data: treeNode,
async: true,
success: function (data) {
msg(data);
}
});
}
function msg(data) {
if (data.code === 200) {
parent.layer.msg(data.msg, {icon: 1, scrollbar: false, time: 2000,}, function () {
getGroupNode("all");
});
} else {
parent.layer.msg(data.msg, {icon: 0, scrollbar: false, time: 2000,});
}
}
/**
* 树单选框监听事件
* @type {{chooseDone: checkBarFun.chooseDone}}
*/
let checkBarFun = {
chooseDone: function (obj) {
let span = $('li[value=' + obj[0].parentId + '] span');
span.text("(" + obj[0].context + ")");
span.attr("value", obj[0].nodeId);
}
}
/**
*获取分组节点
*/
function getGroupNode(type) {
let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,});
Ajax().post({
headers: {
"encrypt": sm3(JSON.stringify({
"type": type
}))
},
url: dataUrl + 'proteam/pot/deviceMachine/groupNode',
data: {
"type": type
},
async: true,
success: function (data) {
layer.close(loadingMsg);
if (data.code === 200) {
traversalData(data.data);
} else {
}
},
error: function () {
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 {
treeData.push(obj);
}
});
itemList(treeType, treeData);
}
/**
* 树类型
* @param treeType
* @param treeData
*/
function itemList(treeType, treeData) {
$.each(treeType, function (index, item) {
$.each(treeData, function (indexData, itemData) {
if (item.id === itemData.parentId) {
item.children.push(itemData)
}
})
});
dtree.reload(tree, {
data: [{
id: "0",
title: '<span style="font-size: 24px">设备分组</span>',
parentId: "-1",
children: treeType,
spread: true,
}],
});
}
/**
* 遍历数据
* @param treeType
* @param treeData
*/
function treeMenuList(treeType, treeData) {
$.each(treeType, function (indexType, itemType) {
let children = [];
$.each(treeData, function (indexData, itemData) {
if (itemType.id === itemData.parentId) {
children.push(itemData);
treeMenuList(itemData, treeData)
}
});
itemType.children = children;
});
data = treeType;
}
/**
* 关闭页面
*/
function closePage() {
let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
parent.layer.close(index); //再执行关闭
}