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