'use strict';
var app = angular.module('app', ["angularUtils.directives.dirPagination"]);
app.controller("appCtrl", ["$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.getData(0);///根据当前第一个机构进行加载其下面的部门数据
} else {
self.unitList = [];
self.loading = false;
// sp.dialog("暂无数据,请先进行机构设置操作");
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 () {
sp.dialoghide();
window.location.href = "sect.html";
});
}
} 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.temporary = {};
self.getData = function (n) {
var postData = {
code: self.unit
}
$http.post(apiurljs.login + "g2work/sect/querySect", { 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.rows = res.data[0];
if (Object.keys(self.temporary).length == 0) {
self.rows.C_H_I_L_D[0].show = true;
} else {
self.initShow(self.rows, self.temporary)
}
} else {
self.rows = [];
}
} else {
sp.dialog(res.message);
}
})
.error(function (XMLHttpRequest, textStatus, errorThrown) {
if (textStatus != 200) {
self.loading = false;
}
})
}
self.selectedItem = {
"add": false,
"child_title": '',
"FID": "",
"title": "",
"level": "",
"parent": ""
}
self.thisItem = {};
self.itemClicked = function ($item) {
var time1 = sp.getLocalDate1();
self.selectedItem = {
add: true,
title: $item.SECTION,
parent: $item.CODE
}
sp.layer('#layer_box');
self.journalRecord(time1, sp.getLocalDate1(), "查询", "查询日志", "/g2work/user/queryData")
};
///编辑部门
self.itemEdit = function ($item) {
var time1 = sp.getLocalDate1();
self.selectedItem.add = false;
var postData = {
code: $item.CODE,///部门编码
includechildren: false///只返回一条数据是false
};
$http.post(apiurljs.login + "g2work/department/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) {
self.selectedItem = {
FID: res.data[0].CODE,
title: res.data[0].SECTION
}
} else {
sp.dialog(res.message);
}
});
sp.layer('#layer_box');
self.journalRecord(time1, sp.getLocalDate1(), "编辑", "修改日志", window.location.pathname)
};
///删除部门按钮事件
self.itemDelete = function ($item) {
var getDelID = $item.CODE;
var time1 = sp.getLocalDate1();
self.journalRecord(time1, sp.getLocalDate1(), "删除", "修改日志", window.location.pathname)
var data = {
tablename: "sys_datauser_sect",
colums: "*",
order: "USERID",
sqlwhere: { CODE: getDelID },
sqlorwhere: "",
sqlinwhere: "",
sqllikewhere: ""
}
$http.post(apiurljs.login + "g2app/DangJian/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
if (res.data.length > 0) {
sp.dialog("此部门已配置用户,请先删除用户再删除部门!")
} else {
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 = {
code: getDelID///角色编码
};
$http.post(apiurljs.login + "g2work/department/deleteByCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
if (res.success) {
self.temporary = self.rows;
self.getData();
sp.dialoghide();
} else {
sp.dialog(res.message);
}
});
});
}
})
};
self.btnAddFirstDepartment = function ($item) {
var time1 = sp.getLocalDate1();
self.journalRecord(time1, sp.getLocalDate1(), "新建", "修改日志", window.location.pathname)
self.selectedItem = {
add: true,
title: $item.SECTION,
parent: $item.CODE
}
sp.layer('#layer_addFirstDepartment');
};
///设置部门提交按钮事件
self.btnSetTitle = function () {
// console.log(self.thisItem);
if (self.selectedItem.add) {
////新增部门
var insertData = {
parentid: self.selectedItem.parent,///上级节点id
section: self.selectedItem.child_title//部门名称
};
$http.post(apiurljs.login + "g2work/department/insertData", { data: s4.encryptData_CBC(JSON.stringify(insertData)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
///console.log(JSON.stringify(res));
if (res.success) {
self.temporary = self.rows;
self.getData();///添加成功之后,再次调用部门接口
sp.layerhide();
} else {
sp.layerhide();
sp.dialog(res.message);
}
});
} else {
////编辑部门
var insertData = {
code: self.selectedItem.FID,///当前部门编码
section: self.selectedItem.title//当前部门名称
};
$http.post(apiurljs.login + "g2work/department/updateDataByCode", { data: s4.encryptData_CBC(JSON.stringify(insertData)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
///console.log(JSON.stringify(res));
if (res.success) {
self.temporary = self.rows;
self.getData(); ///编辑成功之后,再次调用部门接口
sp.layerhide();
} else {
sp.layerhide();
sp.dialog(res.message);
}
});
}
}
///上移
self.itemSortup = function ($item) {
var time1 = sp.getLocalDate1();
self.journalRecord(time1, sp.getLocalDate1(), "上移", "修改日志", window.location.pathname)
//console.log($item);
var get_code = $item.CODE;
var get_levels = $item.LEVELS;
if (get_levels == 1) {
self.rows.C_H_I_L_D.forEach(function (item, index) {
if (item.CODE == get_code) {
if (index == 0) {
sp.dialog("已是最前排序,无法上移!");
} else {
var set_index = parseInt(index - 1);
var set_code1 = self.rows.C_H_I_L_D[set_index].CODE;
self.submitSortData(set_code1, get_code); ///调用排序方法
}
}
});
} else {
self.rows.C_H_I_L_D.forEach(function (item, index) {
diGui_sortUp(item, get_code);
});
}
};
///下移
self.itemSortdown = function ($item) {
var time1 = sp.getLocalDate1();
self.journalRecord(time1, sp.getLocalDate1(), "下移", "修改日志", window.location.pathname)
//console.log($item);
var get_code = $item.CODE;
var get_levels = $item.LEVELS;
if (get_levels == 1) {
self.rows.C_H_I_L_D.forEach(function (item, index) {
if (item.CODE == get_code) {
if (index == self.rows.C_H_I_L_D.length - 1) {
sp.dialog("已处于最后排序,无法下移!");
} else {
var set_index = parseInt(index + 1);
var set_code1 = self.rows.C_H_I_L_D[set_index].CODE;
self.submitSortData(set_code1, get_code); ///调用排序方法
}
}
});
} else {
self.rows.C_H_I_L_D.forEach(function (item, index) {
diGui_sortDown(item, get_code);
});
}
};
///上移递归循环遍历方法
function diGui_sortUp($item, get_code) {
if (get_code.indexOf($item.CODE) != -1) {
$item.C_H_I_L_D.forEach(function (item2, index2) {
if (item2.CODE == get_code) {
if (index2 == 0) {
sp.dialog("已处于最前排序,无法上移!");
} else {
var set_index = parseInt(index2 - 1);
var set_code1 = $item.C_H_I_L_D[set_index].CODE;
self.submitSortData(set_code1, get_code); ///调用排序方法
}
} else {
return diGui_sortUp(item2, get_code);
}
});
}
};
///上移递归循环遍历方法
function diGui_sortDown($item, get_code) {
if (get_code.indexOf($item.CODE) != -1) {
$item.C_H_I_L_D.forEach(function (item2, index2) {
if (item2.CODE == get_code) {
if (index2 == $item.C_H_I_L_D.length - 1) {
sp.dialog("已处于最后排序,无法下移!");
} else {
var set_index = parseInt(index2 + 1);
var set_code1 = $item.C_H_I_L_D[set_index].CODE;
self.submitSortData(set_code1, get_code); ///调用排序方法
}
} else {
return diGui_sortDown(item2, get_code);
}
});
}
};
//////排序post提交服务器数据方法
self.submitSortData = function (code1, code2) {
var postData = {
code1: code1,
code2: code2
}
$http.post(apiurljs.login + "g2work/department/swapSortidByCode", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
if (res.success) {
self.temporary = self.rows;
self.getData();
} else {
sp.dialog(res.message);
}
});
};
self.zhankai = function (arr) {
arr.C_H_I_L_D.forEach(function (item) {
item.show = true
if (item.C_H_I_L_D.length != 0) {
self.zhankai(item)
}
})
}
//重新加载后展开之前的项目
self.initShow = function (arr1, arr2) {
arr1.C_H_I_L_D.forEach(function (item1) {
arr2.C_H_I_L_D.forEach(function(item2){
if (item1.CODE == item2.CODE) {
item1.show = item2.show;
if (item1.C_H_I_L_D.length != 0) {
self.initShow(item1, item2)
}
}
})
})
}
//记录日志
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) {
})
}
self.recordCtime = function () {
$.cookie("CrossPage-ctime", sp.getLocalDate1(), { path: '/', expires: 1 });
$.cookie("CrossPage-title", self.CrossPage.cname, { path: '/', expires: 1 });
window.location.href = "sect.html"
}
}])
app.directive('treeView', [function () {
return {
restrict: 'EA',
templateUrl: '/treeView.html',
scope: {
treeData: '=',
userTypeEng: '=',
textField: '@',
itemClicked: '&',
itemEdit: '&',
itemDelete: '&',
itemSortup: '&',
itemSortdown: '&'
},
controller: ['$scope', function ($scope) {
$scope.itemExpended = function (item, $event) {
item.show = !item.show;
//item.$$isExpend = !item.$$isExpend;
$event.stopPropagation();
};
$scope.getItemIcon = function (item) {
var isEnd = $scope.isEnd(item);
if (isEnd) {
// return 'fa fa-square sp-color-gray';
return ''
}
// return item.$$isExpend ? 'fa fa-minus-square-o' : 'fa fa-plus-square-o';
return item.show ? 'fa fa-minus-square' : 'fa fa-plus-square';
};
$scope.isEnd = function (item) {
return !item.C_H_I_L_D || !item.C_H_I_L_D.length;
};
$scope.warpCallback = function (callback, item, $event) {
($scope[callback] || angular.noop)({
$item: item,
$event: $event
});
};
}]
};
}]);