layui.define(['jquery', 'layer', 'uParas', 'form', 'admin', 'zTree', 'formSelects', 'iconPicker'], function (exports) {
var $ = layui.$, uParas = layui.uParas, iconPicker = layui.iconPicker, form = layui.form;
admin = layui.admin, formSelectsFormSelectsV4 = layui.formSelects;
var _g = {
init: function (insTb) {
var setting = {
check: {
enable: false,
chkboxType: {"Y": "", "N": ""}
},
view: {
dblClickExpand: false
},
data: {
simpleData: {
enable: true,
idKey: "gId",
pIdKey: "groupParent",
rootPId: null
},
key: {
name: "groupName"
}
},
callback: {
onClick: onClick
}
};
/**
* ztree 文本下拉
*/
admin.req(uParas.baseUrl + '/admin/common/getGroupLists', {}, function (res) {
if (res.code == 1) {
$.fn.zTree.init($('#groupTree'), setting, res.data);
$.fn.zTree.getZTreeObj("groupTree").expandAll(true);
layer.closeAll('loading');
hideMenu();
}
}, 'get');
function onClick(event, treeId, treeNode, clickFlag) {
var zTree = $.fn.zTree.getZTreeObj("groupTree"),
nodes = zTree.getSelectedNodes(),
v = "", idlist = "";
for (var i = 0, l = nodes.length; i < l; i++) {
v += nodes[i].groupName + ",";
idlist += nodes[i].gId + ",";
}
if (v.length > 0) {
v = v.substring(0, v.length - 1);
idlist = idlist.substring(0, idlist.length - 1);
}
var cityObj = $("#groupName");
if (cityObj.val() == v) {
cityObj.attr("value", "点击选择");
$("#groupId").attr("value", "");
} else {
cityObj.attr("value", v);
$("#groupId").attr("value", idlist);
}
hideMenu();
var groupId = idlist;
if (groupId != "-1") {
var Obj = new Object();
Obj.gId = groupId;
if (insTb != null && insTb != undefined) {
insTb.reload({where: Obj}, 'data');
}
}
}
function hideMenu() {
$("#menuContent").fadeOut("fast");
$("body").unbind("mousedown", onBodyDown);
}
$("#groupName").click(function () {
$("#menuContent").slideDown("fast");
$("body").bind("mousedown", onBodyDown);
});
function onBodyDown(event) {
if (!(event.target.id === "groupName" || event.target.id === "menuContent" || $(event.target).parents("#menuContent").length > 0)) {
hideMenu();
}
}
},
initgroupTreeAndUsers: function (groupUrl, groupTree, groupName, groupId, menuContent,divName, formFilter, valStr) {
var setting = {
check: {
enable: false,
chkboxType: {"Y": "", "N": ""}
},
view: {
dblClickExpand: false
},
data: {
simpleData: {
enable: true,
idKey: "gId",
pIdKey: "groupParent",
rootPId: null
},
key: {
name: "groupName"
}
},
callback: {
onClick: onClick
}
};
/**
* ztree 文本下拉
*/
$.getJSON(uParas.baseUrl + groupUrl, {}, function (res) {
if (res.code == 1) {
$.fn.zTree.init($('#' + groupTree), setting, res.data);
$.fn.zTree.getZTreeObj(groupTree).expandAll(true);
//初始化已选中的值
if (valStr != undefined && valStr != ''){
initChecked();
}
layer.closeAll('loading');
hideMenu();
}
});
function onClick(event, treeId, treeNode, clickFlag) {
var zTree = $.fn.zTree.getZTreeObj(groupTree),
nodes = zTree.getSelectedNodes(),
v = "", idlist = "";
for (var i = 0, l = nodes.length; i < l; i++) {
v += nodes[i].groupName + ",";
idlist += nodes[i].gId + ",";
}
if (v.length > 0) {
v = v.substring(0, v.length - 1);
idlist = idlist.substring(0, idlist.length - 1);
}
var cityObj = $("#" + groupName);
if (cityObj.val() == v) {
cityObj.attr("value", "");
$("#" + groupId).attr("value", "");
} else {
cityObj.attr("value", v);
$("#" + groupId).attr("value", idlist);
}
hideMenu();
var groupId_ = idlist;
if (groupId_ != "-1") {
var Obj = new Object();
Obj.gId = groupId_;
//初始化人员
initUsers(groupId_);
}
}
function initChecked() {
debugger
var groupName_ = $("#" + groupName).val();
var groupId_ = $("#" + groupId).val();
var zTree = $.fn.zTree.getZTreeObj(groupTree);
var checkeds = zTree.getNodes();
//遍历所有节点
$(checkeds).each(function (i) {
//判断得到 中国 这个节点
if (zTree.getNodes()[i].groupName == groupName_ || zTree.getNodes()[i].gId == groupId_) {
// 1. 勾选这个节点
zTree.checkNode(zTree.getNodes()[i], true, true);
// 2.设置文本域
//设置执行区域显示的文本
$("#" + groupName).val(zTree.getNodes()[i].groupName);
//设置执行区域实际获得的值
$("#" + groupId).val(zTree.getNodes()[i].gId);
}
});
//初始化已选中的人员
initUsers(groupId_);
}
function initUsers(groupId_) {
admin.req(uParas.baseUrl + '/admin/common/getUsersByGroupId?gId=' + groupId_, {}, function (res) {
if (res.code == 1) {
// $("#" + divName + "").attr("lay-verify", 'required');
var html = '';
$.each(res.data, function (i, v) {
if (valStr == v["aId"]) {
html += '';
} else {
html += '';
}
});
$("#" + divName + "").html(html);
form.render('select', formFilter);
}
}, 'get');
}
function hideMenu() {
$("#" + menuContent).fadeOut("fast");
$("body").unbind("mousedown", onBodyDown);
}
$("#" + groupName).click(function () {
$("#" + menuContent).slideDown("fast");
$("body").bind("mousedown", onBodyDown);
});
function onBodyDown(event) {
if (!(event.target.id === groupName || event.target.id === menuContent || $(event.target).parents("#" + menuContent).length > 0)) {
hideMenu();
}
}
},
/**初始化部门过滤*/
initGroupColation: function (insTb, groupUrl, groupTree, groupName, groupId, menuContent) {
/**
* ztree 文本下拉
*/
admin.req(uParas.baseUrl + groupUrl, {}, function (res) {
if (res.code == 1) {
$.fn.zTree.init($('#' + groupTree), setting, res.data);
$.fn.zTree.getZTreeObj(groupTree).expandAll(true);
//初始化已选中的值
initChecked();
layer.closeAll('loading');
hideMenu();
}
}, 'get');
var setting = {
check: {
enable: false,
chkboxType: {"Y": "", "N": ""}
},
view: {
dblClickExpand: false
},
data: {
simpleData: {
enable: true,
idKey: "gId",
pIdKey: "groupParent",
rootPId: null
},
key: {
name: "groupName"
}
},
callback: {
onClick: onClick
}
};
function onClick(event, treeId, treeNode, clickFlag) {
var zTree = $.fn.zTree.getZTreeObj(groupTree),
nodes = zTree.getSelectedNodes(),
v = "", idlist = "";
for (var i = 0, l = nodes.length; i < l; i++) {
v += nodes[i].groupName + ",";
idlist += nodes[i].gId + ",";
}
if (v.length > 0) {
v = v.substring(0, v.length - 1);
idlist = idlist.substring(0, idlist.length - 1);
}
var cityObj = $("#" + groupName);
if (cityObj.val() == v) {
cityObj.attr("value", "");
$("#" + groupId).attr("value", "");
} else {
cityObj.attr("value", v);
$("#" + groupId).attr("value", idlist);
}
hideMenu();
var groupId_ = idlist;
if (groupId_ != "-1") {
var Obj = new Object();
Obj.gId = groupId_;
}
if (insTb != null && insTb != undefined && insTb != '') {
insTb.reload({where: Obj}, 'data');
}
}
function initChecked() {
var groupName_ = $("#" + groupName).val();
var groupId_ = $("#" + groupId).val();
var zTree = $.fn.zTree.getZTreeObj(groupTree);
var checkeds = zTree.getNodes();
//遍历所有节点
$(checkeds).each(function (i) {
//判断得到 中国 这个节点
if (zTree.getNodes()[i].groupName == groupName_ || zTree.getNodes()[i].groupId == groupId_) {
// 1. 勾选这个节点
zTree.checkNode(zTree.getNodes()[i], true, true);
// 2.设置文本域
//设置执行区域显示的文本
$("#" + groupName).val(zTree.getNodes()[i].groupName);
//设置执行区域实际获得的值
$("#" + groupId).val(zTree.getNodes()[i].gId);
}
});
}
function hideMenu() {
$("#" + menuContent).fadeOut("fast");
$("body").unbind("mousedown", onBodyDown);
}
$("#" + groupName).click(function () {
$("#" + menuContent).slideDown("fast");
$("body").bind("mousedown", onBodyDown);
});
function onBodyDown(event) {
if (!(event.target.id === groupName || event.target.id === menuContent || $(event.target).parents("#" + menuContent).length > 0)) {
hideMenu();
}
}
}
}
exports("_groupTree", _g);
});