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 }); }; }] }; }]);