group.js 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  1. 'use strict';
  2. var app = angular.module('app', ["angularUtils.directives.dirPagination"]);
  3. app.controller("groupCtrl", ["$scope", "$http", "$compile", "$timeout", function ($scope, $http, $compile, $timeout) {
  4. var self = this;
  5. var s4 = new SM4Util();
  6. self.userId = $.cookie("GlWorkPlatform-userid");
  7. self.userName = $.cookie("GlWorkPlatform-username");
  8. self.userCName = $.cookie("GlWorkPlatform-chineseName");
  9. self.get_AccessToken = localStorage.getItem("GlWorkPlatform-AccessToken");
  10. self.userTypeEng = $.cookie("GlWorkPlatform-userTypeEng");
  11. var postCfg = {
  12. headers: {
  13. 'Content-Type': 'application/json',
  14. 'Authorization': "Bearer " + self.get_AccessToken
  15. }
  16. };
  17. self.loading = false;
  18. ///加载机构
  19. self.unitList = []; ///数组
  20. self.unit = ""; ///机构名称
  21. self.getUnit = function () {
  22. self.loading = true;
  23. $http.post(apiurljs.login + "g2work/sect/querySectAdmin", { data: s4.encryptData_CBC("") }, postCfg)
  24. .success(function (obj) {
  25. var res = strToJson(s4.decryptData_CBC(obj.data));
  26. ///console.log(res);
  27. if (res.success) {
  28. if (sp.isval(res.data)) {
  29. self.unitList = res.data;
  30. self.unit = res.data[0].CODE;
  31. self.getGroup();///根据当前第一个机构进行加载其下面的部门数据
  32. self.getPersonData(self.unit, "0"); ///加载机构下方的人员
  33. } else {
  34. self.unitList = [];
  35. self.loading = false;
  36. }
  37. } else {
  38. sp.dialog(res.message);
  39. self.unitList = [];
  40. self.loading = false;
  41. }
  42. })
  43. .error(function (XMLHttpRequest, textStatus, errorThrown) {
  44. if (textStatus != 200) {
  45. self.loading = false;
  46. }
  47. })
  48. };
  49. self.getUnit();
  50. self.rows = [];
  51. self.users = [];
  52. self.getGroup = function () {
  53. self.edit = {
  54. groupID: "",
  55. groupName: ""
  56. }
  57. var postData = {
  58. unitid: self.unit
  59. }
  60. $http.post(apiurljs.login + "g2work/datagroup/queryData", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  61. .success(function (obj) {
  62. var res = strToJson(s4.decryptData_CBC(obj.data));
  63. ///console.log(JSON.stringify(res));
  64. if (res.success) {
  65. if (sp.isval(res.data)) {
  66. self.rows = res.data;
  67. } else {
  68. self.rows = [];
  69. }
  70. } else {
  71. sp.dialog(res.message);
  72. }
  73. });
  74. }
  75. ///self.getGroup()
  76. //
  77. self.changeUnit = function () {
  78. console.log(self.unit);
  79. }
  80. ////加载用户
  81. self.getPerson = [];///声明用户列表数组
  82. self.getPersonData = function (gid, levels) {
  83. var postData = {
  84. "gid": gid,
  85. "levels": levels
  86. }
  87. $http.post(apiurljs.login + "g2work/datagroup/queryDataUser", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  88. .success(function (obj) {
  89. var res = strToJson(s4.decryptData_CBC(obj.data));
  90. self.loading = false;
  91. ///console.log(JSON.stringify(res));
  92. if (res.success) {
  93. if (sp.isval(res.data)) {
  94. self.isSelectedAll = true;
  95. self.getPerson = res.data;
  96. self.getPerson.forEach(function (itm) {
  97. itm.users.forEach(function (itm2) {
  98. if (itm2.auth == "1") {
  99. itm2.check = true;
  100. } else {
  101. itm2.check = false;
  102. self.isSelectedAll = false; //有一个未选中就是未全选
  103. }
  104. });
  105. });
  106. } else {
  107. self.getPerson = [];
  108. }
  109. } else {
  110. sp.dialog(res.message);
  111. }
  112. })
  113. .error(function (XMLHttpRequest, textStatus, errorThrown) {
  114. if (textStatus != 200) {
  115. self.loading = false;
  116. }
  117. })
  118. };
  119. // 点击选中群组管理事件
  120. self.activeGroup = -1;
  121. self.chooseGroup = function (index, $item) {
  122. console.log($item);
  123. self.activeGroup = index;
  124. self.edit = {
  125. groupID: $item.GID,
  126. groupName: $item.GUM
  127. };
  128. self.getPersonData(self.edit.groupID, "0");
  129. }
  130. //增加群组
  131. self.addGroupName = '';
  132. self.addGroup = function () {
  133. ///增加群组
  134. var postData = {
  135. unitid: self.unit,//机构编码
  136. gum: self.addGroupName//群组名称
  137. }
  138. $http.post(apiurljs.login + "g2work/datagroup/insertData", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  139. .success(function (obj) {
  140. var res = strToJson(s4.decryptData_CBC(obj.data));
  141. if (res.success) {
  142. self.getGroup();
  143. self.activeGroup = -1;
  144. self.addGroupName = '';
  145. sp.dialoghide();
  146. } else {
  147. sp.dialog(res.message);
  148. }
  149. });
  150. }
  151. //修改群组
  152. self.edit = {
  153. groupID: "",
  154. groupName: ""
  155. }
  156. self.editGroup = function () {
  157. var postData = {
  158. gid: self.edit.groupID,//群组编码
  159. gum: self.edit.groupName//群组名称
  160. }
  161. $http.post(apiurljs.login + "g2work/datagroup/updateDataByGid", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  162. .success(function (obj) {
  163. var res = strToJson(s4.decryptData_CBC(obj.data));
  164. if (res.success) {
  165. self.getGroup();
  166. sp.dialoghide();
  167. } else {
  168. sp.dialog(res.message);
  169. }
  170. });
  171. }
  172. //删除群组
  173. self.removeGroup = function ($item) {
  174. var getDelID = $item.GID;
  175. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  176. var dialogBody = "<div class=\"sp-dialog-body\">删除后不可恢复,您确认要删除吗?</div>";
  177. var dialogFoot = "<div class=\"sp-dialog-foot\"><input data-id=" + getDelID + " id='delDataTrue' type='button' value='确 认' class='sp-dialog-btnTrue' /><input type='button' value='取 消' class='sp-dialog-btnCancle sp-closeDialog' /></div>";
  178. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  179. sp.openCenter(".sp-dialog");
  180. ///取消按钮
  181. $('.sp-closeDialog').click(function (event) {
  182. sp.closeCenter(".sp-dialog");
  183. event.preventDefault(); event.stopPropagation();
  184. });
  185. //post消息的id
  186. $("#delDataTrue").click(function () {
  187. var getid = $(this).attr("data-id");
  188. sp.dialoghide();
  189. var data = {
  190. gid: getid///群组编码
  191. };
  192. $http.post(apiurljs.login + "g2work/datagroup/deleteByGid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  193. .success(function (obj) {
  194. var res = strToJson(s4.decryptData_CBC(obj.data));
  195. if (res.success) {
  196. self.getGroup();
  197. sp.dialoghide();
  198. } else {
  199. sp.dialog(res.message);
  200. }
  201. });
  202. });
  203. // if (confirm('确定要删除么')) {
  204. // self.unit.ROLELIST.splice(index, 1);
  205. // self.activeGroup = 0;
  206. // }
  207. }
  208. //上移一位
  209. self.moveUp = function () {
  210. if (sp.isval(self.edit.groupID)) {
  211. if (self.activeGroup == 0) {
  212. sp.dialog("已处于最顶部,无法上移!");
  213. } else {
  214. var set_index = parseInt(self.activeGroup - 1);
  215. var postData = {
  216. "gid1": self.rows[set_index].GID,
  217. "gid2": self.edit.groupID
  218. };
  219. $http.post(apiurljs.login + "g2work/datagroup/swapSortidByGid", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  220. .success(function (obj) {
  221. var res = strToJson(s4.decryptData_CBC(obj.data));
  222. if (res.success) {
  223. self.getGroup();
  224. self.activeGroup = -1;
  225. self.addGroupName = '';
  226. self.getPersonData(self.unit, "0"); ///加载机构下方的人员
  227. } else {
  228. sp.dialog(res.message);
  229. }
  230. });
  231. }
  232. } else {
  233. sp.dialog("请先点击选择群组!");
  234. }
  235. }
  236. //下移一位
  237. self.moveDown = function () {
  238. if (sp.isval(self.edit.groupID)) {
  239. if (self.activeGroup == self.rows.length - 1) {
  240. sp.dialog("已处于最底部,无法下移!");
  241. } else {
  242. var set_index = parseInt(self.activeGroup + 1);
  243. var postData = {
  244. "gid1": self.rows[set_index].GID,
  245. "gid2": self.edit.groupID
  246. };
  247. $http.post(apiurljs.login + "g2work/datagroup/swapSortidByGid", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  248. .success(function (obj) {
  249. var res = strToJson(s4.decryptData_CBC(obj.data));
  250. if (res.success) {
  251. self.getGroup();
  252. self.activeGroup = -1;
  253. self.addGroupName = '';
  254. self.getPersonData(self.unit, "0"); ///加载机构下方的人员
  255. } else {
  256. sp.dialog(res.message);
  257. }
  258. });
  259. }
  260. } else {
  261. sp.dialog("请先点击选择群组!");
  262. }
  263. }
  264. ///点击用户checkbox选中事件
  265. self.isSelected = function () {
  266. self.isSelectedAll = true;
  267. self.getPerson.forEach(function (itm) {
  268. itm.users.forEach(function (item2) {
  269. if (!item2.check) {
  270. return self.isSelectedAll = false;
  271. }
  272. })
  273. })
  274. }
  275. //全选
  276. self.isSelectedAll = false;
  277. self.selectAll = function () {
  278. if (self.isSelectedAll) {
  279. self.getPerson.forEach(function (itm) {
  280. itm.users.forEach(function (item2) {
  281. item2.check = true;
  282. })
  283. })
  284. } else {
  285. self.getPerson.forEach(function (itm) {
  286. itm.users.forEach(function (item2) {
  287. item2.check = false;
  288. })
  289. })
  290. }
  291. }
  292. //保存人员设置
  293. self.saveGroup = function () {
  294. var get_checkedUser = [];
  295. self.getPerson.forEach(function (itm) {
  296. itm.users.forEach(function (item2) {
  297. if (item2.check) {
  298. get_checkedUser.push({
  299. "gid": self.edit.groupID,
  300. "userid": item2.userid
  301. })
  302. }
  303. });
  304. })
  305. // console.log(get_checkedUser);
  306. if (sp.isval(get_checkedUser)) {
  307. var postData = {
  308. "typeid": "gid",
  309. typevalue: self.edit.groupID,
  310. data: JSON.stringify(get_checkedUser)
  311. }
  312. // console.log(postData);
  313. $http.post(apiurljs.login + "g2work/datagroup/updateDataUser", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  314. .success(function (obj) {
  315. var res = strToJson(s4.decryptData_CBC(obj.data));
  316. if (res.success) {
  317. sp.dialog(res.message);
  318. $timeout(function () {
  319. self.getPersonData(self.edit.groupID, "0");
  320. sp.dialoghide();
  321. }, 600);
  322. } else {
  323. sp.dialog(res.message);
  324. }
  325. });
  326. } else {
  327. sp.dialog("人员不能为空!");
  328. }
  329. }
  330. }])
  331. app.directive('repeatFinish', function () {
  332. return {
  333. link: function (scope) {
  334. if (scope.$last == true) {
  335. $(".tab").eq(0).addClass("active");
  336. }
  337. }
  338. }
  339. })