'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");
}
}
}
})