'use strict'; var app = angular.module('app', ["angularUtils.directives.dirPagination"]); app.controller("groupCtrl", ["$scope", "$http", "$compile", "$timeout", function ($scope, $http, $compile, $timeout) { var self = this; var s4 = new SM4Util(); self.userId = $.cookie("GlWorkPlatform-userid"); self.userName = $.cookie("GlWorkPlatform-username"); self.userCName = $.cookie("GlWorkPlatform-chineseName"); self.get_AccessToken = localStorage.getItem("GlWorkPlatform-AccessToken"); self.userTypeEng = $.cookie("GlWorkPlatform-userTypeEng"); var postCfg = { headers: { 'Content-Type': 'application/json', 'Authorization': "Bearer " + self.get_AccessToken } }; self.CrossPage = window.parent.CrossPage; self.loading = false; ///加载机构 self.unitList = []; ///数组 self.unit = ""; ///机构名称 self.getUnit = function () { self.loading = true; $http.post(apiurljs.login + "g2work/sect/querySectAdmin", { data: s4.encryptData_CBC("") }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); ///console.log(res); if (res.success) { if (sp.isval(res.data)) { self.unitList = res.data; self.unit = res.data[0].CODE; self.getGroup();///根据当前第一个机构进行加载其下面的部门数据 self.getPersonData(self.unit, "0"); ///加载机构下方的人员 } else { self.unitList = []; self.loading = false; } } else { sp.dialog(res.message); self.unitList = []; self.loading = false; } self.journalRecord(self.CrossPage.ctime, sp.getLocalDate1(), "", "接入日志", window.location.pathname) }) .error(function (XMLHttpRequest, textStatus, errorThrown) { if (textStatus != 200) { self.loading = false; } }) }; self.getUnit(); self.rows = []; self.users = []; self.getGroup = function () { self.edit = { groupID: "", groupName: "" } var postData = { unitid: self.unit } $http.post(apiurljs.login + "g2work/datagroup/queryData", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); ///console.log(JSON.stringify(res)); if (res.success) { if (sp.isval(res.data)) { self.rows = res.data; } else { self.rows = []; } } else { sp.dialog(res.message); } }); } ///self.getGroup() // self.changeUnit = function () { console.log(self.unit); } ////加载用户 self.getPerson = [];///声明用户列表数组 self.user_checked = ""; self.user_checked_num = 0; self.user_checked_array = []; self.getPersonData = function (gid, levels) { self.user_checked_array = []; var postData = { "gid": gid, "levels": levels } $http.post(apiurljs.login + "g2work/datagroup/queryDataUser", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); self.loading = false; ///console.log(JSON.stringify(res)); if (res.success) { if (sp.isval(res.data)) { self.isSelectedAll = true; self.getPerson = res.data; self.getPerson.forEach(function (itm,index) { var set_json_col = { "section": "" + itm.section + "", "users": [] }; self.user_checked_array.push(set_json_col); var user_array = []; itm.users.forEach(function (itm2) { if (itm2.auth == "1") { itm2.check = true; var set_user = { "userid": "" + itm2.userid + "", "ushowname": "" + itm2.ushowname + "" }; self.user_checked_array[index].users.push(set_user); } else { itm2.check = false; self.isSelectedAll = false; //有一个未选中就是未全选 } }); }); //console.log(JSON.stringify(self.user_checked_array)); ///根据拼成的json再次拼接数据--start self.set_viewCheckedUsers(); ///根据拼成的json再次拼接数据--start } else { self.getPerson = []; } } else { sp.dialog(res.message); } }) .error(function (XMLHttpRequest, textStatus, errorThrown) { if (textStatus != 200) { self.loading = false; } }) }; ////设置显示已选择的数据 self.set_viewCheckedUsers=function(){ ///根据拼成的json再次拼接数据--start self.user_checked_num=0; self.user_checked=""; angular.forEach(self.user_checked_array, function (itm) { var get_user_checked = ""; angular.forEach(itm.users, function (itm2) { get_user_checked += itm2.ushowname + ","; self.user_checked_num++; }); if (sp.isval(get_user_checked)) { var set_section_users = "【" + itm.section + ":" + sp.cutlast(get_user_checked) + "】"; self.user_checked += set_section_users + ","; } }); self.user_checked = sp.cutlast(self.user_checked); //console.log(JSON.stringify(self.user_checked_array)); ///根据拼成的json再次拼接数据--start }; // 点击选中群组管理事件 self.activeGroup = -1; self.chooseGroup = function (index, $item) { var time1 = sp.getLocalDate1(); //console.log($item); self.activeGroup = index; self.edit = { groupID: $item.GID, groupName: $item.GUM }; self.getPersonData(self.edit.groupID, "0"); self.journalRecord(time1, sp.getLocalDate1(), "查询", "查询日志", "/g2work/datazu/queryDataUser") } //增加群组 self.addGroupName = ''; self.addGroup = function () { var time1 = sp.getLocalDate1(); self.journalRecord(time1, sp.getLocalDate1(), "新建", "修改日志", window.location.pathname) ///增加群组 var postData = { unitid: self.unit,//机构编码 gum: self.addGroupName//群组名称 } $http.post(apiurljs.login + "g2work/datagroup/insertData", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { self.getGroup(); self.activeGroup = -1; self.addGroupName = ''; sp.dialoghide(); } else { sp.dialog(res.message); } }); } //修改群组 self.edit = { groupID: "", groupName: "" } self.editGroup = function () { var time1 = sp.getLocalDate1(); self.journalRecord(time1, sp.getLocalDate1(), "编辑", "修改日志", window.location.pathname) var postData = { gid: self.edit.groupID,//群组编码 gum: self.edit.groupName//群组名称 } $http.post(apiurljs.login + "g2work/datagroup/updateDataByGid", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { self.getGroup(); sp.dialoghide(); } else { sp.dialog(res.message); } }); } //删除群组 self.removeGroup = function ($item) { var time1 = sp.getLocalDate1(); self.journalRecord(time1, sp.getLocalDate1(), "删除", "修改日志", window.location.pathname) var getDelID = $item.GID; 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 = { gid: getid///群组编码 }; $http.post(apiurljs.login + "g2work/datagroup/deleteByGid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { self.getGroup(); sp.dialoghide(); } else { sp.dialog(res.message); } }); }); // if (confirm('确定要删除么')) { // self.unit.ROLELIST.splice(index, 1); // self.activeGroup = 0; // } } //上移一位 self.moveUp = function () { var time1 = sp.getLocalDate1(); self.journalRecord(time1, sp.getLocalDate1(), "上移", "修改日志", window.location.pathname) if (sp.isval(self.edit.groupID)) { if (self.activeGroup == 0) { sp.dialog("已处于最顶部,无法上移!"); } else { var set_index = parseInt(self.activeGroup - 1); var postData = { "gid1": self.rows[set_index].GID, "gid2": self.edit.groupID }; $http.post(apiurljs.login + "g2work/datagroup/swapSortidByGid", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { self.getGroup(); self.activeGroup = -1; self.addGroupName = ''; self.getPersonData(self.unit, "0"); ///加载机构下方的人员 } else { sp.dialog(res.message); } }); } } else { sp.dialog("请先点击选择群组!"); } } //下移一位 self.moveDown = function () { var time1 = sp.getLocalDate1(); self.journalRecord(time1, sp.getLocalDate1(), "下移", "修改日志", window.location.pathname) if (sp.isval(self.edit.groupID)) { if (self.activeGroup == self.rows.length - 1) { sp.dialog("已处于最底部,无法下移!"); } else { var set_index = parseInt(self.activeGroup + 1); var postData = { "gid1": self.rows[set_index].GID, "gid2": self.edit.groupID }; $http.post(apiurljs.login + "g2work/datagroup/swapSortidByGid", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { self.getGroup(); self.activeGroup = -1; self.addGroupName = ''; self.getPersonData(self.unit, "0"); ///加载机构下方的人员 } else { sp.dialog(res.message); } }); } } else { sp.dialog("请先点击选择群组!"); } } ///点击用户checkbox选中事件 self.isSelected = function (section, itemdata, ischecked) { if (self.activeGroup == -1) { sp.dialog("请先选择群组"); self.getPerson.forEach(function (itm) { itm.users.forEach(function (itm2) { if (itm2.auth == "1") { itm2.check = true; } else { itm2.check = false; self.isSelectedAll = false; //有一个未选中就是未全选 } }); }); return; } else { if (ischecked) { //console.log(ischecked); if(JSON.stringify(self.user_checked_array).indexOf(section)!=-1){ angular.forEach(self.user_checked_array, function (itm) { if (section == itm.section) { var set_user = { "userid": "" + itemdata.userid + "", "ushowname": "" + itemdata.ushowname + "" }; itm.users.push(set_user); } }); }else{ var user_array = []; var set_user = { "userid": "" + itemdata.userid + "", "ushowname": "" + itemdata.ushowname + "" }; user_array.push(set_user); var set_json_col = { "section": "" + section + "", "users": user_array }; self.user_checked_array.push(set_json_col) } //console.log(JSON.stringify(self.user_checked_array)); ///根据拼成的json再次拼接数据--start self.set_viewCheckedUsers(); ///根据拼成的json再次拼接数据--start } else { angular.forEach(self.user_checked_array, function (itm) { if (section == itm.section) { itm.users = itm.users.filter(itm2 => itm2.userid !== itemdata.userid); } }); //console.log(JSON.stringify(self.user_checked_array)); ///根据拼成的json再次拼接数据--start self.set_viewCheckedUsers(); ///根据拼成的json再次拼接数据--start } self.isSelectedAll = true; self.getPerson.forEach(function (itm) { itm.users.forEach(function (item2) { if (!item2.check) { return self.isSelectedAll = false; } }) }) } } //全选 self.isSelectedAll = false; self.selectAll = function () { if (self.activeGroup == -1) { sp.dialog("请先选择群组"); self.isSelectedAll=!self.isSelectedAll; return; }else{ if (self.isSelectedAll) { self.getPerson.forEach(function (itm,index) { itm.users.forEach(function (itm2) { itm2.check = true; ///设置已选的人员数组 if(JSON.stringify(self.user_checked_array[index].users).indexOf(itm2.userid)==-1){ //增加一层判断,若没有当前用户再往里面赋值; var set_user = { "userid": "" + itm2.userid + "", "ushowname": "" + itm2.ushowname + "" }; self.user_checked_array[index].users.push(set_user); } }) }); //console.log(JSON.stringify(self.user_checked_array)); ///根据拼成的json再次拼接数据--start self.set_viewCheckedUsers(); ///根据拼成的json再次拼接数据--start } else { self.getPerson.forEach(function (itm,index) { itm.users.forEach(function (itm2) { itm2.check = false; ///设置已选的人员数组 self.user_checked_array[index].users=[]; }) }); ///根据拼成的json再次拼接数据--start self.set_viewCheckedUsers(); ///根据拼成的json再次拼接数据--start } } } //保存人员设置 self.saveGroup = function () { var time1 = sp.getLocalDate1(); self.journalRecord(time1, sp.getLocalDate1(), "保存", "修改日志", window.location.pathname) var get_checkedUser = []; self.getPerson.forEach(function (itm) { itm.users.forEach(function (item2) { if (item2.check) { get_checkedUser.push({ "gid": self.edit.groupID, "userid": item2.userid }) } }); }) // console.log(get_checkedUser); if (sp.isval(get_checkedUser)) { 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 postData = { "typeid": "gid", typevalue: self.edit.groupID, data: JSON.stringify(get_checkedUser) } // console.log(postData); $http.post(apiurljs.login + "g2work/datagroup/updateDataUser", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg) .success(function (obj) { var res = strToJson(s4.decryptData_CBC(obj.data)); if (res.success) { sp.dialog(res.message); $timeout(function () { self.getPersonData(self.edit.groupID, "0"); sp.dialoghide(); }, 600); } else { sp.dialog(res.message); } }); }); } else { sp.dialog("人员不能为空!"); } } //记录日志 self.journalRecord = function (time1, time2, title, func, url) { if (!self.CrossPage.cname) { return; } var data = { tablename: "SYS_CLICKLOG", data: { CTIME: time1 == null ? sp.getLocalDate1() : time1, TITLE: (title != "" ? self.CrossPage.cname + "/" + title : self.CrossPage.cname), REQUESTURL: url, REQUESTHEADERURL: window.location.origin, LOGTYPE: func, USERTYPE: $.cookie("GlWorkPlatform-userType"), ADMIN: $.cookie("GlWorkPlatform-userTypeEng"), CLIENTIP: sp.myIP(), PCNAME: sp.detectOS(), BROWSERNAME: sp.browser(), RESPONSETIME: time2 == null ? sp.getLocalDate1() : time2, USERID: self.userId, USERNAME: self.userCName } } $http.post(apiurljs.login + "g2app/DangJian/insertFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg) .success(function (res) { }) } }]) app.directive('repeatFinish', function () { return { link: function (scope) { if (scope.$last == true) { $(".tab").eq(0).addClass("active"); } } } })