var app = angular.module('app', ["angularUtils.directives.dirPagination"]);
app.controller("indexCtrl", ["$scope", "$http", "$compile", "$timeout", function ($scope, $http, $compile, $timeout) {
sp.fitHeight("#div_functionsList", 110);
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.loading_title = "数据加载中,请等待";
self.rows = [];
self.unit = {};
self.temporary = {};
self.getData = function (n) {
self.loading = true;
self.loading_title = "数据加载中,请等待";
// var data = {};
// $http.get("json/index.txt?v="+new Date().getTime(), data, postCfg).success(function (res) {
// self.unit = res.items;
// });
$http.post(apiurljs.login + "g2work/func/queryData", { data: s4.encryptData_CBC("") }, 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.unit = res.data.rows;
if (Object.keys(self.temporary).length == 0) {
self.unit.forEach(function (item) {
item.showFlag = false;
item.C_H_I_L_D.forEach(function (item1) {
item1.showFlag = false;
})
})
self.unit[0].$$isExpend = true;
self.unit[0].showFlag = true;
} else {
self.initShow(self.unit, self.temporary)
}
} else {
self.unit = [];
}
} else {
sp.dialog(res.message);
self.unit = [];
}
if (n == 0) {
self.journalRecord(self.CrossPage.ctime, sp.getLocalDate1(), "", "接入日志", window.location.pathname)
}
})
.error(function (XMLHttpRequest, textStatus, errorThrown) {
if (textStatus != 200) {
self.loading = false;
}
})
}
self.getData(0);
self.itemClick = function ($item) {
self.unit.forEach(function (item) {
item.showFlag = false;
if (item.PKID == $item.PKID) {
item.showFlag = true;
}
item.C_H_I_L_D.forEach(function (item1) {
item1.showFlag = false;
if (item1.PKID == $item.PKID) {
item1.showFlag = true;
}
})
})
}
self.selectedItem = {
"add": false,
"PARENT_CNAME": '',//父级节点
"PARENT": "",//父级节点
"PKID": "",//功能编码
"CNAME": "",//菜单名称
"LEVEL": "",//几级菜单
"SRCIMG": "",//小图标
"SRCIMG32": "", //大图标
"FILEN": "", ///文件地址
"ISFLOW": "0",
"OPENTYPE": "0",
"FLOWIDS":""
}
self.thisItem = {};
self.layerTitle = "";
///是否流程类点击事件
self.btnCheckboxClick = function () {
if (self.selectedItem.ISFLOW == "1") {
self.selectedItem.FLOWIDS = "";
self.selectedItem.ISFLOW = "0";
} else {
self.selectedItem.ISFLOW = "1";
}
};
self.opentypeArray = [{ 'CODE': '0', 'CNAME': '框架内打开' }, { 'CODE': '1', 'CNAME': '弹出新窗口' }]; ///打开方式
self.isflowArray = [{ 'CODE': '0', 'CNAME': '流程类模块' }, { 'CODE': '1', 'CNAME': '台账类模块' }, { 'CODE': '2', 'CNAME': '查询类模块' }, { 'CODE': '3', 'CNAME': '工具类模块' }]; ///模块类型
///新增变量--新建子菜单
self.itemAdd = function ($item) {
var time1 = sp.getLocalDate1();
// console.log(JSON.stringify($item));
self.layerTitle = "添加功能信息";
self.selectedItem = {
"add": true,
"PARENT_CNAME": $item.CNAME,
"PARENT": $item.PKID,
"PKID": $item.PKID,
"CNAME": "",
"LEVEL": $item.LEVEL + 1,
"SRCIMG": "",//小图标
"SRCIMG32": "", //大图标
"FILEN": "", ///文件地址
"ISFLOW": "0",
"OPENTYPE": "0",
"FLOWIDS": ""
}
self.thisItem = $item;
sp.layer('#layer_box')
self.journalRecord(time1, sp.getLocalDate1(), "新建", "修改日志", window.location.pathname)
};
////去掉url中重复的参数---zyg--20230613
self.removeDuplicate = function (url) {
url = decodeURIComponent(url);
var query = url.split('?')[1];
var parts = query.split('&');
//console.log(parts);
var params = [];
for (var i = 0; i < parts.length; i++) {
var nv = parts[i].split('=');
if (nv[0] != "u") {
////去掉接口后端自动赋值的u时间参数
if (JSON.stringify(params).indexOf(nv[0] + "=") == -1) {
params.push(parts[i])
}
}
//console.log(nv);
//console.log(params);
}
if (params.length > 0) {
url = url.split('?')[0] + '?';
for (var i = 0; i < params.length; i++) {
url += params[i].split("=")[0] + '=' + params[i].split("=")[1];
if (i !== params.length - 1) {
url += '&';
}
}
//console.log(url);
return url;
} else {
url = url.split('?')[0];
return url;
}
}
///修改菜单
self.itemEdit = function ($item) {
//console.log(JSON.stringify($item));
var time1 = sp.getLocalDate1();
self.layerTitle = "修改功能详细信息";
var get_FILEN = $item.FILEN;
//console.log(get_FILEN);
//console.log(self.removeDuplicate($item.FILEN));
if (sp.isval(get_FILEN)) {
if (get_FILEN.indexOf("?") != -1) {
get_FILEN = self.removeDuplicate($item.FILEN);
}
}
//console.log(get_FILEN);
self.selectedItem = {
"add": false,
"PARENT_CNAME": "",
"PARENT": $item.PARENT,
"PKID": $item.PKID,
"CNAME": $item.CNAME,
"LEVEL": $item.LEVEL,
"SRCIMG": $item.SRCIMG,//小图标
"SRCIMG32": $item.SRCIMG32, //大图标
"FILEN": get_FILEN, ///文件地址
"ISFLOW": $item.ISFLOW,
"OPENTYPE": $item.OPENTYPE,
"FLOWIDS": $item.FLOWIDS
}
self.thisItem = $item;
sp.layer('#layer_box');
self.journalRecord(time1, sp.getLocalDate1(), "编辑", "修改日志", window.location.pathname)
};
///删除子菜单
self.itemDelete = function ($item) {
var time1 = sp.getLocalDate1();
self.journalRecord(time1, sp.getLocalDate1(), "删除", "修改日志", window.location.pathname)
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 = {
pkid: $item.PKID
}
$http.post(apiurljs.login + "g2work/func/deleteByPkid", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg).success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
///console.log(res);
if (res.success) {
sp.dialoghide();
self.temporary = self.unit;
self.getData(1);
} else {
sp.dialog(res.message);
}
});
});
};
///新增修改功能提交按钮事件
self.btnSetTitle = function () {
// console.log(self.thisItem);
if (self.selectedItem.ISFLOW=="0") {
if (sp.isval(self.selectedItem.FLOWIDS)) {
self.btnSetTitle_submit();///执行提交操作
} else {
alert("流程不能为空");
}
} else {
self.btnSetTitle_submit();///执行提交操作
}
}
///新增修改功能提交按钮事件---提交数据事件
self.btnSetTitle_submit = function () {
if (self.selectedItem.ISFLOW != "0") self.selectedItem.FLOWIDS = "";
if (self.selectedItem.add) {
//新增post的值
var postData = {
parentid: self.selectedItem.PARENT,
cname: self.selectedItem.CNAME,
filen: self.selectedItem.FILEN,
srcimg: self.selectedItem.SRCIMG,
srcimg32: self.selectedItem.SRCIMG32,
isflow: self.selectedItem.ISFLOW,
opentype: self.selectedItem.OPENTYPE,
flowids: self.selectedItem.FLOWIDS
}
$http.post(apiurljs.login + "g2work/func/insertData", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg).success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
///console.log(res);
if (res.success) {
sp.layerhide();
self.temporary = self.unit;
self.getData(1);
} else {
sp.layerhide();
sp.dialog(res.message);
}
});
} else {
///编辑post的值
var postData = {
pkid: self.selectedItem.PKID,
cname: self.selectedItem.CNAME,
filen: self.selectedItem.FILEN,
srcimg: self.selectedItem.SRCIMG,
srcimg32: self.selectedItem.SRCIMG32,
isflow: self.selectedItem.ISFLOW,
opentype: self.selectedItem.OPENTYPE,
flowids: self.selectedItem.FLOWIDS
}
//console.log(postData);
$http.post(apiurljs.login + "g2work/func/updateDataByPkid", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg).success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
///console.log(res);
if (res.success) {
sp.layerhide();
self.temporary = self.unit;
self.getData(1);
} else {
sp.layerhide();
sp.dialog(res.message);
}
});
}
}
///创建功能目录
self.btnCreateFuncList = function () {
if (self.selectedItem.ISFLOW == "0") {
if (sp.isval(self.selectedItem.FLOWIDS)) {
if (confirm("您确定要创建自定义功能目录吗?")) {
self.loading = true;
self.loading_title = "正在创建功能目录,请等待";
if (self.selectedItem.add) {
//新增post的值
var postData = {
parentid: self.selectedItem.PARENT,
cname: self.selectedItem.CNAME,
filen: self.selectedItem.FILEN,
srcimg: self.selectedItem.SRCIMG,
srcimg32: self.selectedItem.SRCIMG32,
isflow: self.selectedItem.ISFLOW,
opentype: self.selectedItem.OPENTYPE,
flowids: self.selectedItem.FLOWIDS
}
$http.post(apiurljs.login + "g2work/func/insertData", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg).success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
///console.log(res);
if (res.success) {
///创建功能目录
self.btnCreateFuncList_submit();
} else {
sp.layerhide();
sp.dialog(res.message);
}
});
} else {
///编辑post的值
var postData = {
pkid: self.selectedItem.PKID,
cname: self.selectedItem.CNAME,
filen: self.selectedItem.FILEN,
srcimg: self.selectedItem.SRCIMG,
srcimg32: self.selectedItem.SRCIMG32,
isflow: self.selectedItem.ISFLOW,
opentype: self.selectedItem.OPENTYPE,
flowids: self.selectedItem.FLOWIDS
}
console.log(JSON.stringify(postData));
$http.post(apiurljs.login + "g2work/func/updateDataByPkid", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg).success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
///console.log(res);
if (res.success) {
///创建功能目录
self.btnCreateFuncList_submit();
} else {
sp.layerhide();
sp.dialog(res.message);
}
});
}
}
} else {
alert("流程不能为空");
}
}
};
///创建功能目录
self.btnCreateFuncList_submit = function () {
var postData = {
"pkid": self.selectedItem.PKID
}
$http.post(apiurljs.login + "g2work/func/createFuncpathByPkid", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg).success(function (obj) {
var res2 = strToJson(s4.decryptData_CBC(obj.data));
///console.log(res2);
if (res2.success) {
sp.layerhide();
self.temporary = self.unit;
self.getData(1);
} else {
sp.layerhide();
sp.dialog(res2.message);
}
});
};
///上移
self.itemSortup = function ($item) {
var time1 = sp.getLocalDate1();
self.journalRecord(time1, sp.getLocalDate1(), "上移", "修改日志", window.location.pathname)
// console.log($item);
var get_pkid = $item.PKID;
var get_levels = $item.LEVELS;
if (get_levels == 1) {
self.unit.forEach(function (item, index) {
if (item.PKID == get_pkid) {
if (index == 0) {
sp.dialog("已处于最前排序,无法上移!");
} else {
//上移
var set_index = parseInt(index - 1);
var set_pkid1 = self.unit[set_index].PKID;
self.submitSortData(set_pkid1, get_pkid); ///调用排序方法
}
}
});
} else {
///循环数组并调用递归方法找到上面节点
self.unit.forEach(function (item, index) {
diGui_sortUp(item, get_pkid);
});
}
}
///下移
self.itemSortdown = function ($item) {
var time1 = sp.getLocalDate1();
self.journalRecord(time1, sp.getLocalDate1(), "下移", "修改日志", window.location.pathname)
var get_pkid = $item.PKID;
var get_levels = $item.LEVELS;
// console.log($item);
if (get_levels == 1) {
self.unit.forEach(function (item, index) {
if (item.PKID == get_pkid) {
if (index == self.unit.length - 1) {
sp.dialog("已处于最后排序,无法下移!");
} else {
//下移
var set_index = parseInt(index + 1);
var set_pkid1 = self.unit[set_index].PKID;
self.submitSortData(set_pkid1, get_pkid); ///调用排序方法
}
}
});
} else {
///循环数组并调用递归方法找到上面节点
self.unit.forEach(function (item, index) {
diGui_sortDown(item, get_pkid);
});
}
}
///上移递归循环遍历方法
function diGui_sortUp($item, get_pkid) {
if (get_pkid.indexOf($item.PKID) != -1) {
$item.C_H_I_L_D.forEach(function (item2, index2) {
if (item2.PKID == get_pkid) {
if (index2 == 0) {
sp.dialog("已处于最前排序,无法上移!");
} else {
var set_index = parseInt(index2 - 1);
var set_pkid1 = $item.C_H_I_L_D[set_index].PKID;
self.submitSortData(set_pkid1, get_pkid); ///调用排序方法
}
} else {
return diGui_sortUp(item2, get_pkid);
}
});
}
};
///上移递归循环遍历方法
function diGui_sortDown($item, get_pkid) {
if (get_pkid.indexOf($item.PKID) != -1) {
$item.C_H_I_L_D.forEach(function (item2, index2) {
if (item2.PKID == get_pkid) {
if (index2 == $item.C_H_I_L_D.length - 1) {
sp.dialog("已处于最后排序,无法下移!");
} else {
var set_index = parseInt(index2 + 1);
var set_pkid1 = $item.C_H_I_L_D[set_index].PKID;
self.submitSortData(set_pkid1, get_pkid); ///调用排序方法
}
} else {
return diGui_sortDown(item2, get_pkid);
}
});
}
};
//////排序post提交服务器数据方法
self.submitSortData = function (pkid1, pkid2) {
var postData = {
pkid1: pkid1,//日志管理sortid为7
pkid2: pkid2//应用管理sortid为7
}
$http.post(apiurljs.login + "g2work/func/swapSortidByPkid", { 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.unit;
self.getData(1);
} else {
sp.dialog(res.message);
}
});
};
///加载角色列表数据,以下是角色选择操作************************************************************************
self.roleList = [];
///设置角色
self.itemRole = function ($item) {
var time1 = sp.getLocalDate1();
self.journalRecord(time1, sp.getLocalDate1(), "设置角色 ", "修改日志", window.location.pathname)
///传递后后端PKID,检查其是否已经设置过角色
var postData = {
"pkid": $item.PKID
}
$http.post(apiurljs.login + "g2work/func/queryDataAuth", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
.success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
//console.log(JSON.stringify(res));
self.isSelectedAll = true;
self.roleList = res.data;
self.roleList.forEach(function (item) {
item.auths.forEach(function (item2) {
if (item2.AUTH == "0") {
item2.check = false;
self.isSelectedAll = false;
} else {
item2.check = true;
}
});
});
});
// self.thisItem = $item;
self.selectedItem = {
"add": false,
"PKID": $item.PKID,
"CNAME": $item.CNAME
}
sp.layer("#layer_rolePart");
}
self.isSelectedAll = false;
self.isSelected = function () {
self.isSelectedAll = true;
self.roleList.forEach(function (itm) {
itm.auths.forEach(function (item2) {
if (!item2.check) {
return self.isSelectedAll = false;
}
});
})
};
//全选
self.selectAll = function () {
if (self.isSelectedAll) {
self.roleList.forEach(function (itm) {
//console.log(itm.ALLUSER);
itm.auths.forEach(function (item2) {
item2.check = true
})
})
} else {
self.roleList.forEach(function (itm) {
itm.auths.forEach(function (item2) {
item2.check = false
})
})
}
};
//保存选中的角色数据
self.saveRole = function () {
self.hasCheckedRole = [];
self.roleList.forEach(function (itm) {
itm.auths.forEach(function (item2) {
if (item2.check) {
self.hasCheckedRole.push({
"zid": item2.ZID,
"pkid": self.selectedItem.PKID
});
}
});
});
//if (sp.isval(self.hasCheckedRole)) {
var postData = {
"typeid": "pkid",
"typevalue": self.selectedItem.PKID,
"data": JSON.stringify(self.hasCheckedRole)
}
// console.log(postData);
// console.log(self.hasCheckedRole);
$http.post(apiurljs.login + "g2work/func/updateDataAuth", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg).success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
if (res.success) {
sp.layerhide();
sp.dialog("角色设置成功!");
$timeout(function () {
sp.dialoghide();
}, 500)
} else {
sp.layerhide();
sp.dialog(res.message);
}
});
//} else {
// $("#noSelectRole_tip").show();
// $timeout(function () {
// $("#noSelectRole_tip").hide();
// }, 2000);
//}
};
//重新加载后展开之前的项目
self.initShow = function (arr1, arr2) {
arr1.forEach(function (item1) {
arr2.forEach(function (item2) {
if (item1.PKID == item2.PKID) {
item1.$$isExpend = item2.$$isExpend;
if (item1.C_H_I_L_D.length != 0) {
self.initShow(item1.C_H_I_L_D, item2.C_H_I_L_D)
}
}
})
})
}
////新增应用模块************************************
self.addApply = {
CNAME: "",
FILEN: "",
SRCIMG: "",
SRCIMG32: ""
}
self.btnAddApply = function () {
///打开
self.addApply = {
CNAME: "",
FILEN: "",
SRCIMG: "",
SRCIMG32: ""
}
sp.layer("#layer_addApply");
};
self.btnAddApply_submit = function () {
////提交
var postData = {
parentid: 0,
cname: self.addApply.CNAME,
filen: self.addApply.FILEN,
srcimg: self.addApply.SRCIMG,
srcimg32: self.addApply.SRCIMG32,
}
console.log(postData);
$http.post(apiurljs.login + "g2work/func/insertData", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg).success(function (obj) {
var res = strToJson(s4.decryptData_CBC(obj.data));
console.log(res);
if (res.success) {
sp.layerhide();
self.temporary = self.unit;
self.getData(1);
} else {
sp.layerhide();
sp.dialog(res.message);
}
});
}
////新增应用模块************************************
//记录日志
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('treeView', [function () {
return {
restrict: 'EA',
templateUrl: '/treeView.html',
scope: {
treeData: '=',///声明数据
userTypeEng: '=',
showFlag: '=',
textField: '@',
itemClick: '&',//显示操作项
itemAdd: '&',///声明新增变量
itemEdit: '&',///声明修改变量
itemDelete: '&', ///声明删除变量
itemRole: '&', ///声明设置角色
itemSortup: '&', ///上移
itemSortdown: '&', ///下移
},
controller: ['$scope', function ($scope) {
$scope.itemExpended = function (item, $event) {
// console.log(item);
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 'icon-dot sp-color-gray'
return ''
}
return item.$$isExpend ? 'fa fa-minus-square' : 'fa fa-plus-square';
//item.$$isExpend = 'fa fa-minus-square';
//return item.$$isExpend;
};
///判断是否是最后一级菜单
$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
});
};
}]
};
}]);