123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- <link rel="stylesheet" href="/static/layui/css/layui.css"/>
- <link rel="stylesheet" type="text/css" href="/static/css/zTreeStyle/zTreeStyle.css">
- <script type="text/javascript" src="/static/layui/layui.js"></script>
- <script type="text/javascript" src="/static/js/jquery.min.js"></script>
- <script type="text/javascript" src="/static/js/global.js"></script>
- <script type="text/javascript" src="/static/js/ztree/jquery.ztree.core-3.5.js"></script>
- <script type="text/javascript" src="/static/js/ztree/jquery.ztree.excheck-3.5.min.js"></script>
- <style type="text/css">
- </style>
- <div class="layui-form" lay-filter="example"
- style="margin:2%;padding: 0 1rem;width:90%;height:88%;overflow-y: auto;;border: 1px solid #ededed;">
- <ul id="area_tree" class="ztree tree"> </ul>
- </div>
- <div class="cloud_button" style="width: 100%;">
- <div class="layui-layer-btn layui-layer-btn" style="text-align: center;">
- <button id="ok" class="layui-btn layui-btn-normal cloud_button_ok">确定</button>
- <a class="layui-layer-btn1" style="margin-right:0px;" onclick="parent.layer.closeAll();">取消</a>
- </div>
- </div>
- <script type="text/javascript">
- var saveing = 0;
- var userAdminArealist = [];
- var isUpdate = false; //是否修改
- $(document).ready(function () {
- $.getJSON(Global.AccessUrl + "/api/getUserAreaList", {userid: parent.UserInfoObject.tableId}, function (r) {
- if (r.code != 0) {
- layer.msg("获取用户管理区域错误:" + r.msg);
- return false;
- }
- userAdminArealist = r.data || [];
- Global.Ztree.Init($("#area_tree"), {
- url: Global.AccessUrl + "/api/area/children/list",
- idKey: "id",
- pidKey: "pid",
- nameKey: "title",
- check: {
- enable: true,
- chkStyle: "checkbox",
- chkboxType: {"Y": "p", "N": "s"}
- },
- callback: {
- beforeAsync: beforeAsync,
- onAsyncSuccess: onAsyncSuccess,
- onCheck: zTreeOnCheck,
- dataFilter: function (treeId, parentNode, childNodes) {
- isUpdate = true;
- for (var i = 0; i < childNodes["data"].length; i++) {
- if (userAdminArealist.length == 0)
- childNodes["data"][i]["checked"] = parentNode.checked;
- else {
- childNodes["data"][i]["checked"] = false;
- for (var j = 0; j < userAdminArealist.length; j++) {
- if (userAdminArealist[j].areaid == childNodes["data"][i].id) {
- childNodes["data"][i]["checked"] = true;
- }
- }
- }
- }
- return childNodes["data"];
- },
- onInitLoad: asyncAll
- }
- });
- })
- function zTreeOnCheck(event, treeId, treeNode) {
- if (treeNode.checked)
- isUpdate=true;
- }
- function asyncAll(rootNode) {
- if (rootNode == null) return;
- var childnodes = rootNode.children;
- if (childnodes == null || childnodes.length == 0) return;
- for (var i = 0; i < childnodes.length; i++) {
- for (var j = 0; j < userAdminArealist.length; j++) {
- if (userAdminArealist[j].areaid == childnodes[i].id) {
- childnodes[i]["checked"] = true;
- Global.Ztree.zTreeObj.updateNode(childnodes[i]);
- }
- }
- }
- var zTree = $.fn.zTree.getZTreeObj("area_tree");
- asyncNodes(zTree.getNodes());
- }
- var curAsyncCount = 0, curStatus = "";
- function beforeAsync() {
- curAsyncCount++;
- }
- function expandNodes(nodes) {
- if (!nodes) return false;
- var zTree = $.fn.zTree.getZTreeObj("area_tree");
- for (var i = 0, l = nodes.length; i < l; i++) {
- zTree.expandNode(nodes[i], true, false, false);
- if (nodes[i].isParent && nodes[i].zAsync) {
- PlatformConfigerObject.expandNodes(nodes[i].children);
- }
- }
- }
- function onAsyncSuccess(event, treeId, treeNode, msg) {
- curAsyncCount--;
- if (curStatus == "expand") {
- expandNodes(treeNode.children);
- } else if (curStatus == "async") {
- asyncNodes(treeNode.children);
- }
- if (curAsyncCount <= 0) {
- var treeObj = $.fn.zTree.getZTreeObj("area_tree");
- treeObj.expandAll(true);
- }
- }
- function asyncNodes(nodes) {
- curStatus = "async";
- var zTree = $.fn.zTree.getZTreeObj("area_tree");
- var upnode = [];
- for (var i = 0, l = nodes.length; i < l; i++) {
- if (nodes[i].isParent && nodes[i].zAsync) {
- var newnode = nodes[i].children;
- if (newnode != null && newnode.length > 0) {
- for (var j = 0; j < newnode.length; j++) {
- if (newnode[j]["checked"])
- upnode.push(newnode[j]);
- }
- }
- if (upnode.length > 0)
- asyncNodes(upnode);
- } else {
- if (nodes[i].checked)
- zTree.reAsyncChildNodes(nodes[i], "refresh", true);
- }
- }
- }
- $("#ok").on("click", function () {
- if (saveing == 1) return;
- var selectnodes = Global.Ztree.zTreeObj.getCheckedNodes();
- var dataids = [];
- if (!isUpdate) { //未有修改直接关闭
- parent.layer.closeAll();
- return false;
- }
- for (var i = 0; i < selectnodes.length; i++) {
- //父节点是否全选.half为false表示全选
- var isall = !selectnodes[i].getCheckStatus().half && selectnodes[i].isParent && !selectnodes[i].open ? "all" : "";
- dataids.push({"id": selectnodes[i].id, "allchecked": isall})
- }
- var uid = parent.UserInfoObject.tableId;
- saveing = 1;
- $.post(Global.AccessUrl + "/api/saveUserAreaList", {
- "userid": uid,
- "areaid": JSON.stringify(dataids)
- }, function (r) {
- saveing = 0;
- if (r.code != 0) {
- layer.msg("操作失败:" + r.msg);
- return;
- }
- layer.msg("操作成功!");
- parent.UserInfoObject.SearchUserInfo();
- setTimeout(function () {
- parent.layer.closeAll();
- }, 3000);
- });
- });
- });
- </script>
|