index.js 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825
  1. 'use strict';
  2. var app = angular.module('app', ["angularUtils.directives.dirPagination"]);
  3. app.controller("appCtrl", ["$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.ushowname = $.cookie("GlWorkPlatform-username");
  8. self.userCName = $.cookie("GlWorkPlatform-chineseName");
  9. self.get_AccessToken = localStorage.getItem("GlWorkPlatform-AccessToken");
  10. self.userTypeEng = $.cookie("GlWorkPlatform-userTypeEng");
  11. //获取页面整体高度
  12. var screenHeight = $(window).height();
  13. //console.log(screenHeight);
  14. $(".menu-list").height(screenHeight - 95);
  15. var postCfg = {
  16. headers: {
  17. 'Content-Type': 'application/json',
  18. 'Authorization': "Bearer " + self.get_AccessToken
  19. }
  20. };
  21. self.CrossPage = window.parent.CrossPage;
  22. self.loading = false;
  23. ///加载机构
  24. self.unitList = []; ///数组
  25. self.unit = ""; ///机构名称
  26. self.getUnit = function () {
  27. self.loading = true;
  28. $http.post(apiurljs.login + "g2work/sect/querySectAdmin", { data: s4.encryptData_CBC("") }, postCfg)
  29. .success(function (obj) {
  30. var res = strToJson(s4.decryptData_CBC(obj.data));
  31. self.loading = false;
  32. ///console.log(res);
  33. if (res.success) {
  34. if (sp.isval(res.data)) {
  35. self.unitList = res.data;
  36. self.unit = res.data[0].CODE;
  37. self.getDepartmentData();///根据当前第一个机构进行加载其下面的部门数据
  38. } else {
  39. self.unitList = [];
  40. }
  41. } else {
  42. sp.dialog(res.message);
  43. self.unitList = [];
  44. }
  45. self.journalRecord(self.CrossPage.ctime, sp.getLocalDate1(), "", "接入日志", window.location.pathname)
  46. })
  47. .error(function (XMLHttpRequest, textStatus, errorThrown) {
  48. if (textStatus != 200) {
  49. self.loading = false;
  50. }
  51. })
  52. };
  53. self.getUnit();
  54. ///加载部门数据
  55. self.depart_array_set = {};
  56. self.rows = {};
  57. self.getDepartmentData = function () {
  58. var postData = {
  59. code: self.unit
  60. }
  61. $http.post(apiurljs.login + "g2work/sect/querySect", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  62. .success(function (obj) {
  63. var res = strToJson(s4.decryptData_CBC(obj.data));
  64. if (res.success) {
  65. if (sp.isval(res.data)) {
  66. self.rows = res.data[0];
  67. var set_json={
  68. "CODE":"",
  69. "C_H_I_L_D":[],
  70. "LEAF":1,
  71. "LEVELS":1,
  72. "PARENTID":"AA",
  73. "SECTION":"全部",
  74. "SORTID":1
  75. }
  76. self.rows.C_H_I_L_D.unshift(set_json);
  77. self.forEachTree(self.rows);
  78. //console.log(JSON.stringify(res));
  79. self.getPersonData(self.pageno);///加载人员数据
  80. } else {
  81. }
  82. } else {
  83. sp.dialog(res.message);
  84. }
  85. });
  86. }
  87. // self.rows = [];
  88. // self.getData = function () {
  89. // var data = {};
  90. // $http.get("json/index.txt?v="+new Date().getTime(), data, postCfg).success(function (res) {
  91. // self.rows = res.Items;
  92. // });
  93. // }
  94. // self.getData()
  95. //数据表格的控制器,动态加载table表格数据
  96. self.search = {
  97. ushowname:""
  98. }
  99. self.departid = "";
  100. self.noDataTip = 0; //声明没有数据时变量
  101. self.getPerson = [];
  102. self.pageno = 1;
  103. self.total_count = 0;
  104. self.itemsPerPage = 20;
  105. self.pageOptions = [20, 30, 40];
  106. self.getPersonData = function (pageno) {
  107. self.pageno = pageno;
  108. $scope.__default__currentPage = self.pageno; //设置页面样式在第几页
  109. self.getPerson = [];
  110. self.loading = true;
  111. //if (!self.thisItem) {
  112. //2023-7 注释,修改为当部门为空的时候,也能查询到
  113. // self.loading = false;
  114. // self.noDataTip = 0;
  115. // return;
  116. //}
  117. //var postData = {
  118. // departid: self.thisItem.CODE,
  119. // userid: '',
  120. // ushowname: '',
  121. // mobile: ''
  122. //}
  123. //g2work/user/queryData
  124. var postData = {
  125. departid: self.departid,
  126. userid: '',
  127. ushowname: self.search.ushowname,
  128. mobile: '',
  129. "pageno": self.pageno,
  130. "pagesize": self.itemsPerPage,
  131. "querycondition":[]
  132. }
  133. $http.post(apiurljs.login + "g2work/user/queryDataWithPage", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  134. .success(function (obj) {
  135. var res = strToJson(s4.decryptData_CBC(obj.data));
  136. self.loading = false;
  137. //console.log(JSON.stringify(res));
  138. if (res.success) {
  139. if (sp.isval(res.data)) {
  140. self.getPerson = res.data;
  141. //console.log(JSON.stringify(self.getPerson));
  142. angular.forEach(self.getPerson, function (item) {
  143. item.zum = item.ZUM;
  144. item.section = item.SECTION;
  145. item.sortid = item.SORTID;
  146. item.dutyname = item.DUTYNAME;
  147. item.mobile = item.MOBILE;
  148. item.unitid = item.UNITID;
  149. item.admin = item.ADMIN;
  150. item.uinputname = item.UINPUTNAME;
  151. item.ukind = item.UKIND;
  152. item.userid = item.USERID;
  153. item.ushowname = item.USHOWNAME;
  154. item.email = item.EMAIL;
  155. });
  156. self.total_count = res.totalCount;
  157. self.noDataTip = 1;
  158. } else {
  159. self.getPerson = [];
  160. self.noDataTip = 0;
  161. }
  162. } else {
  163. sp.dialog(res.message);
  164. }
  165. })
  166. .error(function (XMLHttpRequest, textStatus, errorThrown) {
  167. if (textStatus != 200) {
  168. self.loading = false;
  169. }
  170. })
  171. };
  172. self.openSearchLayer = function () {
  173. sp.layer("#layer_Search");
  174. }
  175. self.doSearch = function () {
  176. self.getPersonData(1);
  177. $timeout(function () {
  178. sp.layerhide();
  179. }, 200);
  180. }
  181. self.doSearch_cancal = function () {
  182. self.search = {
  183. ushowname: ""
  184. }
  185. sp.layerhide();
  186. self.getPersonData(self.pageno);///再次调用部门接口
  187. }
  188. //数据表格的控制器 end
  189. ////声明添加模块的变量
  190. self.add = {
  191. "userid": '',
  192. "uinputname": "",
  193. "ushowname": "",
  194. "ukind": "正常",
  195. "dutyname": "",
  196. "mobile": "",
  197. "email": ""
  198. };
  199. self.addOrEdit = "add";
  200. ////打开添加用户--div层
  201. self.openAddLayer = function () {
  202. var time1 = sp.getLocalDate1();
  203. self.addOrEdit = "add";
  204. sp.layer('#layer_addPerson');
  205. self.add = {
  206. "uinputname": "",
  207. "ushowname": "",
  208. "ukind": "正常",
  209. "dutyname": "",
  210. "mobile": "",
  211. "email": ""
  212. };
  213. self.journalRecord(time1, sp.getLocalDate1(), "新建", "修改日志", window.location.pathname)
  214. };
  215. ///修改用户信息
  216. self.btnEdit = function ($item) {
  217. var time1 = sp.getLocalDate1();
  218. self.addOrEdit = "edit";
  219. self.add = {
  220. "userid": $item.userid,
  221. "uinputname": $item.uinputname,
  222. "ushowname": $item.ushowname,
  223. "ukind": $item.ukind,
  224. "dutyname": $item.dutyname,
  225. "mobile": $item.mobile,
  226. "email": $item.email
  227. };
  228. sp.layer('#layer_addPerson');
  229. self.journalRecord(time1, sp.getLocalDate1(), "编辑", "修改日志", window.location.pathname)
  230. };
  231. ////添加用户-提交按钮
  232. self.btnSubmitPerson = function () {
  233. if (spngvld.submit("#layer_addPerson")) {
  234. if (self.addOrEdit == "add") {
  235. var postData = {
  236. departid: self.thisItem.CODE,///部门编码 必填
  237. uinputname: self.add.uinputname,///用户账号 必填
  238. ushowname: self.add.ushowname,///用户名称 必填
  239. ukind: self.add.ukind,///状态 必填 (正常 禁用)
  240. dutyname: self.add.dutyname,///职务 不是必填
  241. mobile: self.add.mobile,///手机 不是必填
  242. email: self.add.email///邮箱 不是必填
  243. }
  244. $http.post(apiurljs.login + "g2work/user/insertData", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  245. .success(function (obj) {
  246. var res = strToJson(s4.decryptData_CBC(obj.data));
  247. // console.log(JSON.stringify(res));
  248. if (res.success) {
  249. sp.layerhide();
  250. self.getPersonData(self.pageno);///添加成功之后,再次调用部门接口
  251. } else {
  252. sp.layerhide();
  253. sp.dialog(res.message);
  254. }
  255. });
  256. } else {
  257. var postData = {
  258. userid: self.add.userid,
  259. uinputname: self.add.uinputname,///用户账号 必填
  260. ushowname: self.add.ushowname,///用户名称 必填
  261. ukind: self.add.ukind,///状态 必填 (正常 禁用)
  262. dutyname: self.add.dutyname,///职务 不是必填
  263. mobile: self.add.mobile,///手机 不是必填
  264. email: self.add.email///邮箱 不是必填
  265. }
  266. $http.post(apiurljs.login + "g2work/user/updateDataByUserid", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  267. .success(function (obj) {
  268. var res = strToJson(s4.decryptData_CBC(obj.data));
  269. // console.log(JSON.stringify(res));
  270. if (res.success) {
  271. sp.layerhide();
  272. self.getPersonData(self.pageno);///添加成功之后,再次调用部门接口
  273. } else {
  274. sp.layerhide();
  275. sp.dialog(res.message);
  276. }
  277. });
  278. }
  279. }
  280. }
  281. ///取消
  282. self.btnCancel = function () {
  283. sp.layerhide()
  284. spngvld.clear("#layer_addPerson");
  285. self.add = {
  286. "uinputname": "",
  287. "ushowname": "",
  288. "ukind": "正常",
  289. "dutyname": "",
  290. "mobile": "",
  291. "email": ""
  292. };
  293. };
  294. ///删除用户
  295. self.btnDelete = function (item) {
  296. var time1 = sp.getLocalDate1();
  297. self.journalRecord(time1, sp.getLocalDate1(), "删除", "修改日志", window.location.pathname)
  298. var getDelID = item.userid;
  299. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  300. var dialogBody = "<div class=\"sp-dialog-body\">删除后不可恢复,您确认要删除吗?</div>";
  301. 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>";
  302. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  303. sp.openCenter(".sp-dialog");
  304. ///取消按钮
  305. $('.sp-closeDialog').click(function (event) {
  306. sp.closeCenter(".sp-dialog");
  307. event.preventDefault(); event.stopPropagation();
  308. });
  309. //post消息的id
  310. $("#delDataTrue").click(function () {
  311. var getid = $(this).attr("data-id");
  312. sp.dialoghide();
  313. var data = {
  314. userid: getDelID///角色编码
  315. };
  316. $http.post(apiurljs.login + "g2work/user/deleteByUserid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  317. .success(function (obj) {
  318. var res = strToJson(s4.decryptData_CBC(obj.data));
  319. if (res.success) {
  320. self.getPersonData(self.pageno);
  321. sp.dialoghide();
  322. } else {
  323. sp.dialog(res.message);
  324. }
  325. });
  326. });
  327. };
  328. ///设置口令---start
  329. self.setpwd = {
  330. userid: '',
  331. newpassword: '',
  332. newpassword_confirm: ''
  333. }
  334. self.setPassword = function ($item) {
  335. var time1 = sp.getLocalDate1();
  336. self.setpwd = {
  337. userid: $item.userid,
  338. newpassword: '',
  339. newpassword_confirm: ''
  340. }
  341. $("#setPasswordTip").hide();
  342. self.journalRecord(time1, sp.getLocalDate1(), "设置", "修改日志", window.location.pathname)
  343. sp.layer("#layer_setPassword");
  344. };
  345. self.submitPwd = function () {
  346. if (spngvld.submit("#layer_setPassword")) {
  347. if (self.setpwd.newpassword != self.setpwd.newpassword_confirm) {
  348. $("#setPasswordTip").text("两次口令输入不一致,请重新输入!").show();
  349. $timeout(function () {
  350. $("#setPasswordTip").hide();
  351. }, 5000)
  352. } else {
  353. var postData = {
  354. userid: self.setpwd.userid,
  355. newpassword: self.setpwd.newpassword
  356. };
  357. $http.post(apiurljs.login + "g2work/user/updatePasswordByUseridWithAdmin", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  358. .success(function (obj) {
  359. var res = strToJson(s4.decryptData_CBC(obj.data));
  360. // console.log(JSON.stringify(res));
  361. if (res.success) {
  362. sp.layerhide();
  363. self.getPersonData(self.pageno);///添加成功之后,再次调用部门接口
  364. } else {
  365. sp.layerhide();
  366. sp.dialog(res.message);
  367. }
  368. });
  369. }
  370. }
  371. };
  372. self.cancelPwd = function () {
  373. spngvld.clear("#layer_setPassword");
  374. sp.layerhide("#layer_setPassword");
  375. };
  376. ///设置口令---end
  377. ///设为机构管理员
  378. self.setAdmin = function ($item, tip) {
  379. var time1 = sp.getLocalDate1();
  380. var set_tip = "";
  381. if (tip == "确认设置") {
  382. set_tip = "请再次确认是否将该用户设置为管理员?";
  383. } else {
  384. set_tip = "请再次确认是否取消设置管理员?";
  385. }
  386. self.journalRecord(time1, sp.getLocalDate1(), tip, "修改日志", window.location.pathname)
  387. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  388. var dialogBody = "<div class=\"sp-dialog-body\">" + set_tip + "</div>";
  389. var dialogFoot = "<div class=\"sp-dialog-foot\"><input id='delDataTrue' type='button' value='确 认' class='sp-dialog-btnTrue' /><input type='button' value='取 消' class='sp-dialog-btnCancle sp-closeDialog' /></div>";
  390. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  391. sp.openCenter(".sp-dialog");
  392. ///取消按钮
  393. $('.sp-closeDialog').click(function (event) {
  394. sp.closeCenter(".sp-dialog");
  395. event.preventDefault(); event.stopPropagation();
  396. });
  397. //post消息的id
  398. $("#delDataTrue").click(function () {
  399. var set_mark = false;
  400. if (tip == "确认设置") {
  401. set_mark = true;
  402. } else {
  403. set_mark = false;
  404. }
  405. var postData = {
  406. userid: $item.userid,
  407. mark: set_mark
  408. }
  409. $http.post(apiurljs.login + "g2work/user/updateAdminByUseridWithAdmin", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  410. .success(function (obj) {
  411. var res = strToJson(s4.decryptData_CBC(obj.data));
  412. if (res.success) {
  413. self.getPersonData(self.pageno);
  414. sp.dialoghide();
  415. } else {
  416. sp.dialog(res.message);
  417. $timeout(function () {
  418. sp.dialoghide();
  419. }, 1000);
  420. }
  421. });
  422. });
  423. };
  424. ///禁用启用
  425. self.setUse = function ($item, tip) {
  426. var time1 = sp.getLocalDate1();
  427. self.journalRecord(time1, sp.getLocalDate1(), tip, "修改日志", window.location.pathname)
  428. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  429. var dialogBody = "<div class=\"sp-dialog-body\">确定要" + tip + "吗?</div>";
  430. var dialogFoot = "<div class=\"sp-dialog-foot\"><input id='delDataTrue' type='button' value='确 认' class='sp-dialog-btnTrue' /><input type='button' value='取 消' class='sp-dialog-btnCancle sp-closeDialog' /></div>";
  431. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  432. sp.openCenter(".sp-dialog");
  433. ///取消按钮
  434. $('.sp-closeDialog').click(function (event) {
  435. sp.closeCenter(".sp-dialog");
  436. event.preventDefault(); event.stopPropagation();
  437. });
  438. //post消息的id
  439. $("#delDataTrue").click(function () {
  440. var set_mark = false;
  441. if (tip == "禁用") {
  442. set_mark = false;
  443. } else {
  444. set_mark = true;
  445. }
  446. var postData = {
  447. userid: $item.userid,
  448. mark: set_mark
  449. }
  450. $http.post(apiurljs.login + "g2work/user/updateUkindByUseridWithAdmin", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  451. .success(function (obj) {
  452. var res = strToJson(s4.decryptData_CBC(obj.data));
  453. if (res.success) {
  454. self.getPersonData(self.pageno);
  455. sp.dialoghide();
  456. } else {
  457. sp.dialog(res.message);
  458. $timeout(function () {
  459. sp.dialoghide();
  460. }, 1000);
  461. }
  462. });
  463. });
  464. };
  465. ////排序,上移下移--2020-6-1
  466. self.btnSort = function ($index, tip) {
  467. ///console.log($index);
  468. //var time1 = sp.getLocalDate1();
  469. //self.journalRecord(time1, sp.getLocalDate1(), tip, "修改日志", window.location.pathname)
  470. //var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  471. //var dialogBody = "<div class=\"sp-dialog-body\">确定要" + tip + "吗?</div>";
  472. //var dialogFoot = "<div class=\"sp-dialog-foot\"><input id='delDataTrue' type='button' value='确 认' class='sp-dialog-btnTrue' /><input type='button' value='取 消' class='sp-dialog-btnCancle sp-closeDialog' /></div>";
  473. //$('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  474. //sp.openCenter(".sp-dialog");
  475. ///取消按钮
  476. //$('.sp-closeDialog').click(function (event) {
  477. // sp.closeCenter(".sp-dialog");
  478. // event.preventDefault(); event.stopPropagation();
  479. //});
  480. //post消息的id
  481. //$("#delDataTrue").click(function () {
  482. var set_userid1 = "";
  483. if (tip == "上移") {
  484. var set_index = parseInt($index - 1);
  485. set_userid1 = self.getPerson[set_index].userid;
  486. } else {
  487. var set_index = parseInt($index + 1);
  488. set_userid1 = self.getPerson[set_index].userid;
  489. }
  490. var data = {
  491. userid1: set_userid1,
  492. userid2: self.getPerson[$index].userid
  493. };
  494. $http.post(apiurljs.login + "g2work/user/swapSortidByUserid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  495. .success(function (obj) {
  496. var res = strToJson(s4.decryptData_CBC(obj.data));
  497. if (res.success) {
  498. self.getPersonData(self.pageno);
  499. sp.dialoghide();
  500. } else {
  501. sp.dialog(res.message);
  502. $timeout(function () {
  503. sp.dialoghide();
  504. }, 1000);
  505. }
  506. });
  507. //});
  508. };
  509. ///加载角色列表数据,以下是角色选择操作************************************************************************--start--202307
  510. self.roleList = [];
  511. self.selectedItem = {
  512. "userid": "",
  513. "ushowname":""
  514. }
  515. ///设置角色
  516. self.itemRole = function ($item) {
  517. //var time1 = sp.getLocalDate1();
  518. //self.journalRecord(time1, sp.getLocalDate1(), "设置角色 ", "修改日志", window.location.pathname)
  519. ///传递后后端PKID,检查其是否已经设置过角色
  520. var postData = {
  521. "userid": $item.userid
  522. }
  523. $http.post(apiurljs.login + "g2work/datazu/queryDataUserAuth", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg)
  524. .success(function (obj) {
  525. var res = strToJson(s4.decryptData_CBC(obj.data));
  526. //console.log(JSON.stringify(res));
  527. self.isSelectedAll = true;
  528. self.roleList = res.data;
  529. self.roleList.forEach(function (item) {
  530. item.auths.forEach(function (item2) {
  531. if (item2.AUTH == "0") {
  532. item2.check = false;
  533. self.isSelectedAll = false;
  534. } else {
  535. item2.check = true;
  536. }
  537. });
  538. });
  539. });
  540. self.selectedItem = {
  541. "userid": $item.userid,
  542. "ushowname": $item.ushowname
  543. }
  544. sp.layer("#layer_rolePart");
  545. }
  546. self.isSelectedAll = false;
  547. self.isSelected = function () {
  548. self.isSelectedAll = true;
  549. self.roleList.forEach(function (itm) {
  550. itm.auths.forEach(function (item2) {
  551. if (!item2.check) {
  552. return self.isSelectedAll = false;
  553. }
  554. });
  555. })
  556. };
  557. //全选
  558. self.selectAll = function () {
  559. if (self.isSelectedAll) {
  560. self.roleList.forEach(function (itm) {
  561. //console.log(itm.ALLUSER);
  562. itm.auths.forEach(function (item2) {
  563. item2.check = true
  564. })
  565. })
  566. } else {
  567. self.roleList.forEach(function (itm) {
  568. itm.auths.forEach(function (item2) {
  569. item2.check = false
  570. })
  571. })
  572. }
  573. };
  574. //保存选中的角色数据
  575. self.saveRole = function () {
  576. self.hasCheckedRole = [];
  577. self.roleList.forEach(function (itm) {
  578. itm.auths.forEach(function (item2) {
  579. if (item2.check) {
  580. self.hasCheckedRole.push({
  581. "zid": item2.ZID,
  582. "userid": self.selectedItem.userid
  583. });
  584. }
  585. });
  586. });
  587. //if (sp.isval(self.hasCheckedRole)) {
  588. var postData = {
  589. "typeid": "userid",
  590. "typevalue": self.selectedItem.userid,
  591. "data": JSON.stringify(self.hasCheckedRole)
  592. }
  593. // console.log(postData);
  594. // console.log(self.hasCheckedRole);
  595. $http.post(apiurljs.login + "g2work/datazu/updateDataUser", { data: s4.encryptData_CBC(JSON.stringify(postData)) }, postCfg).success(function (obj) {
  596. var res = strToJson(s4.decryptData_CBC(obj.data));
  597. if (res.success) {
  598. var postData1 = {
  599. data: JSON.stringify(self.hasCheckedRole)
  600. }
  601. $http.post(apiurljs.login + "g2work/datazu/updateWorkflowCandoWithUserid", { data: s4.encryptData_CBC(JSON.stringify(postData1)) }, postCfg).success(function (obj1) {
  602. var res1 = strToJson(s4.decryptData_CBC(obj1.data));
  603. if (res1.success) {
  604. sp.layerhide();
  605. self.getPersonData(self.pageno);
  606. sp.dialog("角色设置成功!");
  607. $timeout(function () {
  608. sp.dialoghide();
  609. }, 500)
  610. } else {
  611. sp.layerhide();
  612. sp.dialog(res1.message);
  613. }
  614. });
  615. } else {
  616. sp.layerhide();
  617. sp.dialog(res.message);
  618. }
  619. });
  620. };
  621. ///加载角色列表数据,以上是角色选择操作************************************************************************--end--202307
  622. //记录日志
  623. self.journalRecord = function (time1, time2, title, func, url) {
  624. if (!self.CrossPage.cname) { return; }
  625. var data = {
  626. tablename: "SYS_CLICKLOG",
  627. data: {
  628. CTIME: time1 == null ? sp.getLocalDate1() : time1,
  629. TITLE: (title != "" ? self.CrossPage.cname + "/" + title : self.CrossPage.cname),
  630. REQUESTURL: url,
  631. REQUESTHEADERURL: window.location.origin,
  632. LOGTYPE: func,
  633. USERTYPE: $.cookie("GlWorkPlatform-userType"),
  634. ADMIN: $.cookie("GlWorkPlatform-userTypeEng"),
  635. CLIENTIP: sp.myIP(),
  636. PCNAME: sp.detectOS(),
  637. BROWSERNAME: sp.browser(),
  638. RESPONSETIME: time2 == null ? sp.getLocalDate1() : time2,
  639. USERID: self.userId,
  640. USERNAME: self.userCName
  641. }
  642. }
  643. $http.post(apiurljs.login + "g2app/DangJian/insertFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  644. .success(function (res) {
  645. })
  646. }
  647. self.forEachTree = function (tree) {
  648. $.each(tree.C_H_I_L_D, function (index, item) {
  649. item.show = true;
  650. if (item.C_H_I_L_D.length != 0) {
  651. self.forEachTree(item)
  652. }
  653. })
  654. };
  655. //保存当前点击的Item
  656. self.thisItem = null;
  657. //先责机构事件
  658. self.changeUnit = function () {
  659. self.thisItem = null;
  660. self.departid = "";
  661. self.getDepartmentData();
  662. self.getPerson = [];
  663. self.noDataTip = 0;
  664. // console.log(self.unit);
  665. }
  666. self.itemClicked = function ($item) {
  667. var time1 = sp.getLocalDate1();
  668. //console.log($item);
  669. self.thisItem = $item;
  670. self.departid = $item.CODE;
  671. self.search = {
  672. ushowname: ""
  673. }
  674. //self.getPersonData(self.pageno);
  675. self.getPersonData(1);
  676. self.journalRecord(time1, sp.getLocalDate1(), "查询", "查询日志", "/g2work/user/queryData")
  677. };
  678. /////*****设置更换部门***********************************************************************
  679. self.forEachTree_addAuth = function (tree) {
  680. $.each(tree.C_H_I_L_D, function (index, item) {
  681. item.auth = 0;
  682. if (item.C_H_I_L_D.length != 0) {
  683. self.forEachTree_addAuth(item)
  684. }
  685. })
  686. };
  687. self.selectedItem_depart = {
  688. "userid": "",
  689. "ushowname": ""
  690. }
  691. self.itemDepart = function (itemdata) {
  692. self.depart_array_set = self.rows;
  693. self.depart_click_select_item = "";
  694. self.forEachTree_addAuth(self.depart_array_set);
  695. self.selectedItem_depart = {
  696. "userid": itemdata.userid,
  697. "ushowname": itemdata.ushowname
  698. }
  699. sp.layer("#layer_depart",1);
  700. }
  701. self.isSelected_depart = function (itemdata) {
  702. self.depart_click_select_item = itemdata;
  703. }
  704. self.saveDepart = function () {
  705. if (sp.isval(self.depart_click_select_item)) {
  706. var data = {
  707. userid: self.selectedItem_depart.userid,
  708. username: self.selectedItem_depart.ushowname,
  709. oldcode: self.thisItem.CODE,
  710. olddpname: self.thisItem.SECTION,
  711. code: self.depart_click_select_item.CODE,
  712. dpname: self.depart_click_select_item.SECTION
  713. }
  714. $http.post(apiurljs.login + "g2work/user/upUserSect", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  715. .success(function (obj) {
  716. var res = strToJson(s4.decryptData_CBC(obj.data));
  717. sp.closeCenter("#layer_depart")
  718. if (res.success) {
  719. self.getPersonData(self.pageno);
  720. } else {
  721. sp.dialog(res.message);
  722. }
  723. });
  724. } else {
  725. alert("部门不能为空!")
  726. }
  727. }
  728. }])
  729. app.directive('treeView', [function () {
  730. return {
  731. restrict: 'EA',
  732. templateUrl: '/treeView.html',
  733. scope: {
  734. treeData: '=',
  735. textField: '@',
  736. itemClicked: '&',
  737. itemEdit: '&'
  738. },
  739. controller: ['$scope', function ($scope) {
  740. $scope.itemExpended = function (item, $event) {
  741. item.show = !item.show;
  742. //item.$$isExpend = !item.$$isExpend;
  743. $event.stopPropagation();
  744. };
  745. $scope.getItemIcon = function (item) {
  746. var isEnd = $scope.isEnd(item);
  747. if (isEnd) {
  748. // return 'fa fa-square sp-color-gray';
  749. return '';
  750. }
  751. // return item.$$isExpend ? 'fa fa-minus-square-o sp-cursor' : 'fa fa-plus-square-o sp-cursor';
  752. return item.show ? 'fa fa-minus-square' : 'fa fa-plus-square';
  753. };
  754. $scope.isEnd = function (item) {
  755. return !item.C_H_I_L_D || !item.C_H_I_L_D.length;
  756. };
  757. $scope.warpCallback = function (callback, item, $event) {
  758. $('.menu-list p').removeClass('active');
  759. $($event.target).parent().addClass('active'); //加上选中样式
  760. ($scope[callback] || angular.noop)({
  761. $item: item,
  762. $event: $event
  763. });
  764. };
  765. }]
  766. };
  767. }]);