'use strict'; var app = angular.module('app', [ 'angularUtils.directives.dirPagination' ]); app.controller("indexCtrl", ["$scope", "$http", "$timeout", function ($scope, $http, $timeout) { var self = this; var s4 = new SM4Util(); self.userId = $.cookie("GlWorkPlatform-userid"); self.userName = $.cookie("GlWorkPlatform-chineseName"); self.get_AccessToken = localStorage.getItem("GlWorkPlatform-AccessToken"); self.get_lastReturnPageno = sp.getUrlName("lastReturnPageno"); self.get_type = sp.getUrlName("type"); var postCfg = { headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + self.get_AccessToken } } sp.fitHeight('#treeDivPart', 120); //获取人员 self.userList = []; self.getUserList = function () { self.userList = []; var data = { code: "AA" } $http.post(apiurljs.login + "g2app/calendar/querySect", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); $.each(res.data[0].C_H_I_L_D, function (index, item) { item.isChecked = false; $.each(item.C_H_I_L_D_DATA, function (index2, item2) { item2.isChecked = false; }) //item.C_H_I_L_D_DATA = item.C_H_I_L_D_DATA.filter(function (x) { // return x.ushowname != self.userId; //}) $.each(item.C_H_I_L_D, function (index3, item3) { item3.isChecked = false; $.each(item3.C_H_I_L_D_DATA, function (index4, item4) { item4.isChecked = false; }) //item3.C_H_I_L_D_DATA = item3.C_H_I_L_D_DATA.filter(function (x) { // return x.ushowname != self.userId; //}) $.each(item3.C_H_I_L_D, function (index5, item5) { item5.isChecked = false; $.each(item5.C_H_I_L_D_DATA, function (index6, item6) { item6.isChecked = false; }) }) }) }) self.userList = res.data[0].C_H_I_L_D; }); } self.getUserList() //一级部门的勾选 self.firstDepartSelect = function (index) { var flag = self.userList[index].isChecked; self.userList[index].C_H_I_L_D_DATA.forEach(function (item) { item.isChecked = flag; }) self.userList[index].C_H_I_L_D.forEach(function (item2) { item2.isChecked = flag; item2.C_H_I_L_D_DATA.forEach(function (item3) { item3.isChecked = flag; }); item2.C_H_I_L_D.forEach(function (item4) { item4.isChecked = flag; item4.C_H_I_L_D_DATA.forEach(function (item5) { item5.isChecked = flag; }); }) }) var itemTotal = self.userList.length; var itemSelect = 0; self.userList.forEach(function (item) { if (item.isChecked) { itemSelect++ } }) if (itemTotal == itemSelect) { self.isSelectedAll = true; } else { self.isSelectedAll = false; } } //二级部门的勾选 self.secondDepartSelect = function (index, index2) { var flag = self.userList[index].C_H_I_L_D[index2].isChecked; self.userList[index].C_H_I_L_D[index2].C_H_I_L_D_DATA.forEach(function (item) { item.isChecked = flag; }) self.userList[index].C_H_I_L_D[index2].C_H_I_L_D.forEach(function (item2) { item2.isChecked = flag; item2.C_H_I_L_D_DATA.forEach(function (item3) { item3.isChecked = flag; }); }) var totalDepat = self.userList[index].C_H_I_L_D.length; var selectDepart = 0 self.userList[index].C_H_I_L_D.forEach(function (item) { if (item.isChecked) { selectDepart++ } }) if (totalDepat == selectDepart) { var childTotal = self.userList[index].C_H_I_L_D_DATA.length; var childSelect = 0; self.userList[index].C_H_I_L_D_DATA.forEach(function (item) { if (item.isChecked) { childSelect++; } }) if (childSelect == childTotal) { self.userList[index].isChecked = true; } else { self.userList[index].isChecked = false; } } else { self.userList[index].isChecked = false; } var itemTotal = self.userList.length; var itemSelect = 0; self.userList.forEach(function (item) { if (item.isChecked) { itemSelect++ } }) if (itemTotal == itemSelect) { self.isSelectedAll = true; } else { self.isSelectedAll = false; } } //三级部门点击 self.thirdDepartSelect = function (index, index2, index3) { var flag = self.userList[index].C_H_I_L_D[index2].C_H_I_L_D[index3].isChecked; self.userList[index].C_H_I_L_D[index2].C_H_I_L_D[index3].C_H_I_L_D_DATA.forEach(function (item) { item.isChecked = flag; }) var thirdDepat = self.userList[index].C_H_I_L_D[index2].C_H_I_L_D.length; var thirdDepart = 0; self.userList[index].C_H_I_L_D[index2].C_H_I_L_D.forEach(function (item) { if (item.isChecked) { thirdDepart++ } }) if (thirdDepat == thirdDepart) { var thirdTotal = self.userList[index].C_H_I_L_D[index2].C_H_I_L_D_DATA.length; var thirdSelect = 0; self.userList[index].C_H_I_L_D[index2].C_H_I_L_D_DATA.forEach(function (item) { if (item.isChecked) { thirdSelect++; } }) if (thirdSelect == thirdTotal) { self.userList[index].C_H_I_L_D[index2].isChecked = true; } else { self.userList[index].C_H_I_L_D[index2].isChecked = false; } } else { self.userList[index].C_H_I_L_D[index2].isChecked = false; } var totalDepat = self.userList[index].C_H_I_L_D.length; var selectDepart = 0 self.userList[index].C_H_I_L_D.forEach(function (item) { if (item.isChecked) { selectDepart++ } }) if (totalDepat == selectDepart) { var childTotal = self.userList[index].C_H_I_L_D_DATA.length; var childSelect = 0; self.userList[index].C_H_I_L_D_DATA.forEach(function (item) { if (item.isChecked) { childSelect++; } }) if (childSelect == childTotal) { self.userList[index].isChecked = true; } else { self.userList[index].isChecked = false; } } else { self.userList[index].isChecked = false; } var itemTotal = self.userList.length; var itemSelect = 0; self.userList.forEach(function (item) { if (item.isChecked) { itemSelect++ } }) if (itemTotal == itemSelect) { self.isSelectedAll = true; } else { self.isSelectedAll = false; } } //三级部门人员点击 self.thirdUserSelect = function (index, index2, index3) { var totalNum = self.userList[index].C_H_I_L_D[index2].C_H_I_L_D[index3].C_H_I_L_D_DATA.length; var selectNum = 0; self.userList[index].C_H_I_L_D[index2].C_H_I_L_D[index3].C_H_I_L_D_DATA.forEach(function (item) { if (item.isChecked) { selectNum++; } }) if (totalNum == selectNum) { self.userList[index].C_H_I_L_D[index2].C_H_I_L_D[index3].isChecked = true; } else { self.userList[index].C_H_I_L_D[index2].C_H_I_L_D[index3].isChecked = false; } var thirdDepat = self.userList[index].C_H_I_L_D[index2].C_H_I_L_D.length; var thirdDepart = 0; self.userList[index].C_H_I_L_D[index2].C_H_I_L_D.forEach(function (item) { if (item.isChecked) { thirdDepart++ } }) if (thirdDepat == thirdDepart) { var thirdTotal = self.userList[index].C_H_I_L_D[index2].C_H_I_L_D_DATA.length; var thirdSelect = 0; self.userList[index].C_H_I_L_D[index2].C_H_I_L_D_DATA.forEach(function (item) { if (item.isChecked) { thirdSelect++; } }) if (thirdSelect == thirdTotal) { self.userList[index].C_H_I_L_D[index2].isChecked = true; } else { self.userList[index].C_H_I_L_D[index2].isChecked = false; } } else { self.userList[index].C_H_I_L_D[index2].isChecked = false; } var totalDepat = self.userList[index].C_H_I_L_D.length; var selectDepart = 0 self.userList[index].C_H_I_L_D.forEach(function (item) { if (item.isChecked) { selectDepart++ } }) if (totalDepat == selectDepart) { var childTotal = self.userList[index].C_H_I_L_D_DATA.length; var childSelect = 0; self.userList[index].C_H_I_L_D_DATA.forEach(function (item) { if (item.isChecked) { childSelect++; } }) if (childSelect == childTotal) { self.userList[index].isChecked = true; } else { self.userList[index].isChecked = false; } } else { self.userList[index].isChecked = false; } var itemTotal = self.userList.length; var itemSelect = 0; self.userList.forEach(function (item) { if (item.isChecked) { itemSelect++ } }) if (itemTotal == itemSelect) { self.isSelectedAll = true; } else { self.isSelectedAll = false; } } //二级部门人员点击 self.secondUserSelect = function (index, index2) { var totalNum = self.userList[index].C_H_I_L_D[index2].C_H_I_L_D_DATA.length; var selectNum = 0; self.userList[index].C_H_I_L_D[index2].C_H_I_L_D_DATA.forEach(function (item) { if (item.isChecked) { selectNum++; } }) if (totalNum == selectNum) { self.userList[index].C_H_I_L_D[index2].isChecked = true; } else { self.userList[index].C_H_I_L_D[index2].isChecked = false; } var totalDepat = self.userList[index].C_H_I_L_D.length; var selectDepart = 0 self.userList[index].C_H_I_L_D.forEach(function (item) { if (item.isChecked) { selectDepart++ } }) if (totalDepat == selectDepart) { var childTotal = self.userList[index].C_H_I_L_D_DATA.length; var childSelect = 0; self.userList[index].C_H_I_L_D_DATA.forEach(function (item) { if (item.isChecked) { childSelect++; } }) if (childSelect == childTotal) { self.userList[index].isChecked = true; } else { self.userList[index].isChecked = false; } } else { self.userList[index].isChecked = false; } var itemTotal = self.userList.length; var itemSelect = 0; self.userList.forEach(function (item) { if (item.isChecked) { itemSelect++ } }) if (itemTotal == itemSelect) { self.isSelectedAll = true; } else { self.isSelectedAll = false; } } //一级部门人员点击 self.firstUserSelect = function (index) { var totalDepat = self.userList[index].C_H_I_L_D.length; var selectDepart = 0 self.userList[index].C_H_I_L_D.forEach(function (item) { if (item.isChecked) { selectDepart++ } }) if (totalDepat == selectDepart) { var childTotal = self.userList[index].C_H_I_L_D_DATA.length; var childSelect = 0; self.userList[index].C_H_I_L_D_DATA.forEach(function (item) { if (item.isChecked) { childSelect++; } }) if (childSelect == childTotal) { self.userList[index].isChecked = true; } else { self.userList[index].isChecked = false; } } else { self.userList[index].isChecked = false; } var itemTotal = self.userList.length; var itemSelect = 0; self.userList.forEach(function (item) { if (item.isChecked) { itemSelect++ } }) if (itemTotal == itemSelect) { self.isSelectedAll = true; } else { self.isSelectedAll = false; } } //全选函数 self.isSelectedAll = false; self.selectAll = function () { var flag = self.isSelectedAll; self.userList.forEach(function (item) { item.isChecked = flag; item.C_H_I_L_D_DATA.forEach(function (item2) { item2.isChecked = flag; }) item.C_H_I_L_D.forEach(function (item3) { item3.isChecked = flag; item3.C_H_I_L_D_DATA.forEach(function (item4) { item4.isChecked = flag; }) }) }) } //获取树形结构 self.treeData = []; self.getLeftTreeData = function () { var data = { tablename: "CODE_LM" } $http.post(apiurljs.login + "g2app/filepublishing/getTreeListByTablename", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); self.getMenuBtnList(res.data); self.treeData = res.data; $timeout(function () { self.nowNodeCode = self.treeData[0].CODE; self.nowNodeName = self.treeData[0].CNAME; self.nowNodeID = self.treeData[0].ID; self.treeData[0].checked = true; }) }) .error(function (XMLHttpRequest, textStatus, errorThrown) { self.treeData = []; }) } self.getCOLUMNTYPE = function () { var data = { tablename: "CODE_COLUMNTYPE" } $http.post(apiurljs.login + "g2app/DangAn/queryCodeData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); self.COLUMNTYPE = res.data; self.getLeftTreeData(); }) } self.getCOLUMNTYPE() self.getMenuBtnList = function (data) { data.forEach(function (item) { item.checked = false; item.C_H_I_L_D_DATA_L = data.length; if (sp.isval(item.C_H_I_L_D_DATA) && item.C_H_I_L_D_DATA.length > 0) { self.getMenuBtnList(item.C_H_I_L_D_DATA); } else { item.C_H_I_L_D_DATA = []; } }) } self.nowNodeCode = ""; self.nowNodeName = ""; self.nowNodeID = ""; self.itemCheck = function ($item) { self.treeData.forEach(function (item) { if (item.ID == $item.ID) { $item.checked = !$item.checked; } else { item.checked = false; } if (item.C_H_I_L_D_DATA != "" && item.C_H_I_L_D_DATA != null && item.C_H_I_L_D_DATA != null) { item.C_H_I_L_D_DATA.forEach(function (item2) { if (item2.ID == $item.ID) { $item.checked = !$item.checked; } else { item2.checked = false; } if (item2.C_H_I_L_D_DATA != "" && item2.C_H_I_L_D_DATA != null && item2.C_H_I_L_D_DATA != null) { item2.C_H_I_L_D_DATA.forEach(function (item3) { if (item3.ID == $item.ID) { $item.checked = !$item.checked; } else { item3.checked = false; } if (item3.C_H_I_L_D_DATA != "" && item3.C_H_I_L_D_DATA != null && item3.C_H_I_L_D_DATA != null) { item3.C_H_I_L_D_DATA.forEach(function (item4) { if (item4.ID == $item.ID) { $item.checked = !$item.checked; } else { item4.checked = false; } if (item4.C_H_I_L_D_DATA != "" && item4.C_H_I_L_D_DATA != null && item4.C_H_I_L_D_DATA != null) { item4.C_H_I_L_D_DATA.forEach(function (item5) { if (item5.ID == $item.ID) { $item.checked = !$item.checked; } else { item5.checked = false; } if (item5.C_H_I_L_D_DATA != "" && item5.C_H_I_L_D_DATA != null && item5.C_H_I_L_D_DATA != null) { item5.C_H_I_L_D_DATA.forEach(function (item6) { if (item6.ID == $item.ID) { $item.checked = !$item.checked; } else { item6.checked = false; } if (item6.C_H_I_L_D_DATA != "" && item6.C_H_I_L_D_DATA != null && item6.C_H_I_L_D_DATA != null) { item6.C_H_I_L_D_DATA.forEach(function (item7) { if (item7.ID == $item.ID) { $item.checked = !$item.checked; } else { item7.checked = false; } }) } }) } }) } }) } }) } }) } }) if ($item.checked) { self.nowNodeCode = $item.CODE; self.nowNodeID = $item.ID; self.nowNodeName = $item.CNAME; } else { self.nowNodeCode = self.treeData[0].CODE; self.nowNodeName = self.treeData[0].CNAME; self.nowNodeID = self.treeData[0].ID; self.treeData[0].checked = true; } } //删除底稿 self.itemDelete = function ($item) { var data = { tablename: "WJFB_CB", colums: "*", order: "ID", sqlwhere: { LX: $item.CODE }, sqlinwhere: "", sqllikewhere: "" } $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (res) { var res = strToJson(s4.decryptData_CBC(res.data)); if (res.data.length > 0) { //sp.dialog("当前分类下存在数据,无法删除"); } else { var getDelID = $item.CODE; var dialogHead = "温馨提示×"; var dialogBody = "
删除后不可恢复,您确认要删除吗?
"; var dialogFoot = "
"; $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot); sp.openCenter(".sp-dialog"); ///取消按钮 $('.sp-closeDialog').click(function (event) { sp.closeCenter(".sp-dialog"); event.preventDefault(); event.stopPropagation(); }); //post消息的id $("#delDataTrue").click(function () { var getid = $(this).attr("data-id"); sp.dialoghide(); var data = { "id": $item.ID, "tablename": "CODE_LM", "parentid": $item.PARENTID, "formtablename": "" } $http.post(apiurljs.login + "g2app/dataabase/delNode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { sp.dialog("删除成功"); self.getLeftTreeData(); } else { sp.dialog(res.message); } }) .error(function (XMLHttpRequest, textStatus, errorThrown) { }) }); } }).error(function (err) { sp.dialog(JSON.stringify(err)); }); } self.itemNode = { level: "", id: "", layerTitle: "", add: false, name: "", code: "", child_title: "" } //添加目录树形非一级 self.itemAdd = function ($item) { self.itemNode.layerTitle = "新增栏目"; self.itemNode.level = $item.LEVELS; self.itemNode.id = 0; self.itemNode.name = $item.CNAME; self.itemNode.code = $item.CODE; self.itemNode.imgurl = null; self.itemNode.COLUMNTYPE = 2; self.itemNode.child_title = ""; self.userList.forEach(function (item) { item.isChecked = false; $.each(item.C_H_I_L_D_DATA, function (index2, item2) { item2.isChecked = false; }) $.each(item.C_H_I_L_D, function (index3, item3) { item3.isChecked = false; $.each(item3.C_H_I_L_D_DATA, function (index4, item4) { item4.isChecked = false; }) $.each(item3.C_H_I_L_D, function (index5, item5) { item5.isChecked = false; $.each(item5.C_H_I_L_D_DATA, function (index6, item6) { item6.isChecked = false; }) }) }) }) sp.layer('#layer_box'); }; //修改目录 self.itemEdit = function ($item) { self.itemNode.layerTitle = "编辑栏目"; self.itemNode.level = $item.LEVELS; self.itemNode.id = $item.ID; self.itemNode.name = $item.CNAME; self.itemNode.code = $item.CODE; self.itemNode.imgurl = $item.IMGURL; self.itemNode.COLUMNTYPE = $item.COLUMNTYPE; self.itemNode.mkuserid = $item.MKUSERID; self.itemNode.child_title = $item.CNAME; console.log($item) if (self.itemNode.mkuserid != null) { self.userList.forEach(function (item) { item.isChecked = self.itemNode.mkuserid.indexOf(item.userid) > -1; $.each(item.C_H_I_L_D_DATA, function (index2, item2) { item2.isChecked = self.itemNode.mkuserid.indexOf(item2.userid) > -1; }) $.each(item.C_H_I_L_D, function (index3, item3) { item3.isChecked = self.itemNode.mkuserid.indexOf(item3.userid) > -1; $.each(item3.C_H_I_L_D_DATA, function (index4, item4) { item4.isChecked = self.itemNode.mkuserid.indexOf(item4.userid) > -1; }) $.each(item3.C_H_I_L_D, function (index5, item5) { item5.isChecked = self.itemNode.mkuserid.indexOf(item5.userid) > -1; $.each(item5.C_H_I_L_D_DATA, function (index6, item6) { item6.isChecked = self.itemNode.mkuserid.indexOf(item6.userid) > -1; }) }) }) }) } else { self.userList.forEach(function (item) { item.isChecked = false; $.each(item.C_H_I_L_D_DATA, function (index2, item2) { item2.isChecked = false; }) $.each(item.C_H_I_L_D, function (index3, item3) { item3.isChecked = false; $.each(item3.C_H_I_L_D_DATA, function (index4, item4) { item4.isChecked = false; }) $.each(item3.C_H_I_L_D, function (index5, item5) { item5.isChecked = false; $.each(item5.C_H_I_L_D_DATA, function (index6, item6) { item6.isChecked = false; }) }) }) }) } sp.layer('#layer_box'); }; self.beforeUpload = function () { var MKNAME = "", MKUSERID = ""; self.userList.forEach(function (item) { item.C_H_I_L_D_DATA.forEach(function (item2) { if (item2.isChecked) { MKNAME += item2.ushowname + ","; MKUSERID += item2.userid + ","; } }) item.C_H_I_L_D.forEach(function (item3) { item3.C_H_I_L_D_DATA.forEach(function (item4) { if (item4.isChecked) { MKNAME += item4.ushowname + ","; MKUSERID += item4.userid + ","; } }) }) }) if (self.itemNode.id == 0) { if (spngvld.submit(".layer_box")) { let postData = { tablename: "CODE_LM", code: self.itemNode.code, levels: self.itemNode.level, cname: self.itemNode.level == 1 ? self.itemNode.name : self.itemNode.child_title, userid: self.userId, columntype: self.itemNode.COLUMNTYPE, mkname: MKNAME.substring(0, MKNAME.length - 1), mkuserid: MKUSERID.substring(0, MKUSERID.length - 1) } $http.post(apiurljs.login + "g2app/filepublishing/TreeAdd", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { self.itemNode.id = res.data; self.itemNode.level++; self.upload() } else { sp.dialog(res.message); } }) } } else { self.upload() } } self.upload = function () { $('#fileupload').fileupload({ url: apiurljs.login + 'g2app/abase/uploadFileWithForm', dataType: 'json', beforeSend: function (xhr, data) { xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken); xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=FILE_ATTACH,routeinfoid=" + self.itemNode.id + ",ATTACHTYPE=专栏图片")); }, add: function (e, data) { var num = 0; //文件类型判断 $.each(data.originalFiles, function (index, item) { if (item['type'] != null && item['type'] != undefined && !/(jpg|png)$/i.test(item['name'])) { sp.dialog("您好,请上传JPG、PNG格式的文件!"); return; } else { num++ } }) if (num == data.originalFiles.length) { data.submit(); } }, // 上传完成后的执行逻辑 done: function (e, data) { var arrayFile = strToJson(s4.decryptData_CBC(data.result.data).slice(0, s4.decryptData_CBC(data.result.data).lastIndexOf("}") + 1)) self.itemNode.imgurl = apiurljs.login + "g2work" + arrayFile.data[arrayFile.data.length - 1].FILEURL; $scope.$apply();//绑定数据局部刷新 } }) $timeout(function () { $("#fileupload").trigger("click") }, 1) } //弹出层-提交按钮事件 self.btnSetTitle = function () { var MKNAME = "", MKUSERID = ""; self.userList.forEach(function (item) { item.C_H_I_L_D_DATA.forEach(function (item2) { if (item2.isChecked) { MKNAME += item2.ushowname + ","; MKUSERID += item2.userid + ","; } }) item.C_H_I_L_D.forEach(function (item3) { item3.C_H_I_L_D_DATA.forEach(function (item4) { if (item4.isChecked) { MKNAME += item4.ushowname + ","; MKUSERID += item4.userid + ","; } }) }) }) if (self.itemNode.id != 0) { if (spngvld.submit("#layer_box")) { let postData = { id: self.itemNode.id, tablename: "CODE_LM", data: { CNAME: self.itemNode.level == 2 ? self.itemNode.name : self.itemNode.child_title, IMGURL: self.itemNode.imgurl, COLUMNTYPE: self.itemNode.COLUMNTYPE, MKNAME: MKNAME.substring(0, MKNAME.length - 1), MKUSERID: MKUSERID.substring(0, MKUSERID.length - 1) } } $http.post(apiurljs.login + "g2app/dataabase/upFormData", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg) .success(function (obj) { sp.closeCenter('.sp-layer'); var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { self.getLeftTreeData(); } else { sp.dialog(res.message); } }) .error(function (XMLHttpRequest, textStatus, errorThrown) { }) } } else { if (spngvld.submit("#layer_box")) { let postData = { tablename: "CODE_LM", code: self.itemNode.code, levels: self.itemNode.level, cname: self.itemNode.level == 1 ? self.itemNode.name : self.itemNode.child_title, userid: self.userId, columntype: self.itemNode.COLUMNTYPE, mkname: MKNAME.substring(0, MKNAME.length - 1), mkuserid: MKUSERID.substring(0, MKUSERID.length - 1) } $http.post(apiurljs.login + "g2app/filepublishing/TreeAdd", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg) .success(function (obj) { sp.closeCenter('.sp-layer'); var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { self.getLeftTreeData(); } else { sp.dialog(res.message); } }) .error(function (XMLHttpRequest, textStatus, errorThrown) { }) } } } self.itemUp = function ($item, $index) { self.getNode(self.treeData, $item) var data = { moveid: self.list[$index].ID, movedata: { SORTID: self.list[$index].SORTID }, otherid: self.list[$index - 1].ID, otherdata: { SORTID: self.list[$index - 1].SORTID }, tablename: "CODE_LM" } $http.post(apiurljs.login + "g2app/JiXiao/MoveSort", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { self.getLeftTreeData(); } else { sp.dialog(res.message); } }); } self.itemDown = function ($item, $index) { self.getNode(self.treeData, $item) var data = { moveid: self.list[$index].ID, movedata: { SORTID: self.list[$index].SORTID }, otherid: self.list[$index + 1].ID, otherdata: { SORTID: self.list[$index + 1].SORTID }, tablename: "CODE_LM" } $http.post(apiurljs.login + "g2app/JiXiao/MoveSort", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { self.getLeftTreeData(); } else { sp.dialog(res.message); } }); } //递归获取当前节点 self.list = []; self.getNode = function (array, obj) { array.forEach(function (item) { if (item.ID == obj.ID) { self.list = array; } else { self.getNode(item.C_H_I_L_D_DATA, obj) } }) } }]) app.directive('treeView', [function () { return { restrict: 'EA', templateUrl: '/treeView.html', scope: { treeData: '=',///声明数据 textField: '@', itemAdd: '&', ///声明新增变量 itemEdit: '&',///声明修改变量 itemCheck: '&',///声明修改变量 itemDelete: '&',///声明修改变量 itemUp: '&', itemDown: '&' }, controller: ['$scope', function ($scope) { $scope.itemExpended = function (item, $event) { item.$$isExpend = !item.$$isExpend; $event.stopPropagation(); }; ///展开折叠图标设置 $scope.getItemIcon = function (item) { var isEnd = $scope.isEnd(item); if (isEnd) { return 'fa fa-paper-plane-o'; } return item.$$isExpend ? 'fa fa-plus-square-o' : 'fa fa-minus-square-o'; }; ///判断是否是最后一级菜单 $scope.isEnd = function (item) { return !item.C_H_I_L_D_DATA || !item.C_H_I_L_D_DATA.length; }; ///事件调用返回 $scope.warpCallback = function (callback, item,$index, $event) { ($scope[callback] || angular.noop)({ $item: item, $index:$index, $event: $event }); }; }] }; }]);