detail.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477
  1. 'use strict';
  2. var app = angular.module('app', [
  3. ]);
  4. app.controller("detailCtrl", ["$scope", "$http", "$timeout", '$sce', function ($scope, $http, $timeout, $sce) {
  5. var self = this;
  6. var s4 = new SM4Util();
  7. self.userId = $.cookie("GlWorkPlatform-userid");
  8. self.userName = $.cookie("GlWorkPlatform-chineseName");
  9. self.userCName = $.cookie("GlWorkPlatform-chineseName");
  10. self.get_AccessToken = localStorage.getItem("GlWorkPlatform-AccessToken");
  11. self.get_lastReturnPageno = sp.getUrlName("lastReturnPageno");
  12. self.get_id = sp.getUrlName("id");
  13. self.return = "list.html?lastReturnPageno=" + self.get_lastReturnPageno
  14. var postCfg = {
  15. headers: {
  16. 'Content-Type': 'application/json',
  17. 'Authorization': "Bearer " + self.get_AccessToken
  18. }
  19. };
  20. var weeks = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]
  21. //上传附件
  22. self.beforeUpload = function () {
  23. if (self.data.ID == 0) {
  24. var data = {
  25. tablename: "SX_YZAPTZ",
  26. data: {
  27. YZAPDATE: self.data.YZAPDATE,
  28. CTIME: self.data.CTIME,
  29. CWEEK: self.data.CWEEK,
  30. CREATTIME: self.data.CREATTIME,
  31. CNAME: self.data.CNAME,
  32. LEADERNAME: self.data.LEADERNAME,
  33. LEADERUSERID: self.data.LEADERUSERID,
  34. CUNIT: self.data.CUNIT,
  35. MEETINGLEADER: self.data.MEETINGLEADER,
  36. MEETINGLEADERUSERID: self.data.MEETINGLEADERUSERID,
  37. ATTENDANCESCOPE: self.data.ATTENDANCESCOPE,
  38. ADDR: self.data.ADDR,
  39. REMARK: self.data.REMARK,
  40. USERID: self.userId,
  41. SECTCODE: self.userDpCode,
  42. CDATE: sp.getLocalDate()
  43. }
  44. }
  45. $http.post(apiurljs.login + "g2app/DangJian/insertFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  46. .success(function (obj) {
  47. var res = strToJson(s4.decryptData_CBC(obj.data));
  48. if (res.code == 0) {
  49. self.get_id = res.data;
  50. self.getData();
  51. self.upload()
  52. } else {
  53. sp.dialog(res.message)
  54. }
  55. })
  56. } else {
  57. self.upload()
  58. }
  59. }
  60. self.upload = function () {
  61. $('#fileupload').fileupload({
  62. url: apiurljs.login + 'g2app/abase/saveUploadFileName',
  63. dataType: 'json',
  64. beforeSend: function (xhr, data) {
  65. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  66. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=SX_YZAPTZ,column=FILEATTACH,id=" + self.get_id + ",routeinfoid=" + self.get_id + ",loaded=" + data.loaded + ",total=" + data.total));
  67. },
  68. // 上传完成后的执行逻辑
  69. done: function (e, data) {
  70. var arrayFile = strToJson(s4.decryptData_CBC(data.result.data).slice(0, s4.decryptData_CBC(data.result.data).lastIndexOf("}") + 1))
  71. self.arrayFile = arrayFile.data;
  72. $scope.$apply();//绑定数据局部刷新
  73. }
  74. })
  75. $timeout(function () {
  76. $("#fileupload").trigger("click")
  77. }, 1)
  78. }
  79. self.AllChecked = {};
  80. self.UserLength = {};
  81. self.selectList = {};
  82. self.getUserList = function () {
  83. var data = {
  84. dpcode: 'AA03'
  85. }
  86. $http.post(apiurljs.login + "g2app/dataabase/getDpListByCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  87. .success(function (obj) {
  88. var res = strToJson(s4.decryptData_CBC(obj.data));
  89. var array = [];
  90. res.data.forEach(function (item) {
  91. array = array.concat(item)
  92. })
  93. array.forEach(function (item) {
  94. item.checked = false;
  95. if (item.USER) {
  96. item.USER.forEach(function (item1) {
  97. item1.checked = false;
  98. item1.USHOWNAME1 = item1.USHOWNAME.length > 3 ? item1.USHOWNAME.slice(0, 3) + "..." : item1.USHOWNAME;
  99. item1.USHOWNAME2 = item1.USHOWNAME.length > 10 ? item1.USHOWNAME.slice(0, 10) + "..." : item1.USHOWNAME
  100. })
  101. }
  102. item.CHILD_DATA.forEach(function (item2) {
  103. item2.checked = false;
  104. if (item2.USER) {
  105. item2.USER.forEach(function (item3) {
  106. item3.checked = false;
  107. item3.USHOWNAME1 = item3.USHOWNAME.length > 3 ? item3.USHOWNAME.slice(0, 3) + "..." : item3.USHOWNAME;
  108. item3.USHOWNAME2 = item3.USHOWNAME.length > 10 ? item3.USHOWNAME.slice(0, 10) + "..." : item3.USHOWNAME
  109. })
  110. }
  111. item2.CHILD_DATA.forEach(function (item4) {
  112. item4.checked = false;
  113. if (item4.USER) {
  114. item4.USER.forEach(function (item5) {
  115. item5.checked = false;
  116. item5.USHOWNAME1 = item5.USHOWNAME.length > 3 ? item5.USHOWNAME.slice(0, 3) + "..." : item5.USHOWNAME;
  117. item5.USHOWNAME2 = item5.USHOWNAME.length > 10 ? item5.USHOWNAME.slice(0, 10) + "..." : item5.USHOWNAME
  118. })
  119. }
  120. })
  121. })
  122. })
  123. self.UserList = {
  124. LEADERNAME: JSON.parse(JSON.stringify(array)),
  125. MEETINGLEADER: JSON.parse(JSON.stringify(array))
  126. };
  127. self.getDP()
  128. })
  129. }
  130. self.getDP = function () {
  131. var data = {
  132. userid: self.userId
  133. }
  134. $http.post(apiurljs.login + "g2app/richang/queryDpInfo", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  135. .success(function (obj) {
  136. var res = strToJson(s4.decryptData_CBC(obj.data));
  137. self.userDpName = res.data.length == 0 ? "" : res.data[0].SECTION;
  138. self.userDpCode = res.data.length == 0 ? "" : res.data[0].CODE;
  139. self.getData();
  140. })
  141. }
  142. self.getData = function () {
  143. if (self.get_id == 0) {
  144. self.data = {
  145. ID: 0,
  146. YZAPDATE: sp.getLocalDate().slice(0, 10),
  147. CTIME: sp.getLocalDate(),
  148. CWEEK: weeks[new Date().getDay()],
  149. CREATTIME: sp.getLocalDate(),
  150. CNAME: "",
  151. LEADERNAME: "",
  152. LEADERUSERID: "",
  153. CUNIT: "",
  154. MEETINGLEADER: "",
  155. MEETINGLEADERUSERID: "",
  156. ATTENDANCESCOPE: "",
  157. ADDR: "",
  158. REMARK: ""
  159. }
  160. self.arrayFile = [];
  161. } else {
  162. var data = {
  163. tablename: "SX_YZAPTZ",
  164. colums: "*",
  165. order: "ID",
  166. sqlwhere: {
  167. ID: self.get_id
  168. },
  169. sqlorwhere: "",
  170. sqlinwhere: "",
  171. sqllikewhere: ""
  172. }
  173. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  174. .success(function (obj) {
  175. var res = strToJson(s4.decryptData_CBC(obj.data));
  176. self.data = {
  177. ID: res.data[0].ID,
  178. YZAPDATE: res.data[0].YZAPDATE ? sp.format(res.data[0].YZAPDATE) : sp.getLocalDate().slice(0, 10),
  179. CTIME: res.data[0].CTIME ? sp.datefmt('yyyy-MM-dd HH:mm:ss', res.data[0].CTIME) : sp.getLocalDate(),
  180. CWEEK: res.data[0].CWEEK ? res.data[0].CWEEK : weeks[new Date().getDay()],
  181. CREATTIME: res.data[0].CREATTIME ? res.data[0].CREATTIME : sp.getLocalDate(),
  182. CNAME: res.data[0].CNAME ? res.data[0].CNAME : "",
  183. LEADERNAME: res.data[0].LEADERNAME ? res.data[0].LEADERNAME : "",
  184. LEADERUSERID: res.data[0].LEADERUSERID ? res.data[0].LEADERUSERID : "",
  185. CUNIT: res.data[0].CUNIT ? res.data[0].CUNIT : "",
  186. MEETINGLEADER: res.data[0].MEETINGLEADER ? res.data[0].MEETINGLEADER : "",
  187. MEETINGLEADERUSERID: res.data[0].MEETINGLEADERUSERID ? res.data[0].MEETINGLEADERUSERID : "",
  188. ATTENDANCESCOPE: res.data[0].ATTENDANCESCOPE ? res.data[0].ATTENDANCESCOPE : "",
  189. ADDR: res.data[0].ADDR ? res.data[0].ADDR : "",
  190. REMARK: res.data[0].REMARK ? res.data[0].REMARK : ""
  191. }
  192. if (res.data[0].FILEATTACH && res.data[0].FILEATTACH != "") {
  193. self.arrayFile = JSON.parse(res.data[0].FILEATTACH);
  194. }
  195. var n = {}, all = {};
  196. for (var i in self.UserList) {
  197. self.AllChecked[i] = false;
  198. self.UserLength[i] = 0;
  199. self.selectList[i] = []
  200. n[i] = [];
  201. all[i] = 0;
  202. $.each(self.UserList[i], function (index, item) {
  203. n[i].push({ n: 0, array: [] })
  204. if (item.USER) {
  205. $.each(item.USER, function (index1, item1) {
  206. self.UserLength[i]++
  207. if (self.data.LEADERUSERID.indexOf(item1.USERID) != -1 && i == "LEADERNAME") {
  208. n[i][index].n++;
  209. item1.checked = true;
  210. self.selectList[i].push(item1);
  211. }
  212. if (self.data.MEETINGLEADERUSERID.indexOf(item1.USERID) != -1 && i == "MEETINGLEADER") {
  213. n[i][index].n++;
  214. item1.checked = true;
  215. self.selectList[i].push(item1);
  216. }
  217. })
  218. if (n[i][index].n == item.USER.length && n[i][index].n != 0) {
  219. item.checked = true;
  220. all[i]++;
  221. } else {
  222. item.checked == false;
  223. }
  224. }
  225. $.each(item.CHILD_DATA, function (index2, item2) {
  226. n[i][index].array.push({ n: 0, array: [] })
  227. if (item2.USER) {
  228. $.each(item2.USER, function (index3, item3) {
  229. self.UserLength[i]++
  230. if (self.data.LEADERUSERID.indexOf(item3.USERID) != -1 && i == "LEADERNAME") {
  231. n[i][index].array[index2].n++;
  232. item3.checked = true;
  233. self.selectList[i].push(item3);
  234. }
  235. if (self.data.MEETINGLEADERUSERID.indexOf(item3.USERID) != -1 && i == "MEETINGLEADER") {
  236. n[i][index].array[index2].n++;
  237. item3.checked = true;
  238. self.selectList[i].push(item3);
  239. }
  240. })
  241. if (n[i][index].array[index2].n == item2.USER.length && n[i][index].array[index2] != 0) {
  242. item.checked = true;
  243. all[i]++;
  244. } else {
  245. item.checked == false;
  246. }
  247. }
  248. $.each(item2.CHILD_DATA, function (index4, item4) {
  249. n[i][index].array[index2].array.push(0)
  250. if (item4.USER) {
  251. $.each(item4.USER, function (index5, item5) {
  252. self.UserLength[i]++
  253. if (self.data.LEADERUSERID.indexOf(item5.USERID) != -1 && i == "LEADERNAME") {
  254. n[i][index].array[index2].array[index4]++;
  255. item5.checked = true;
  256. self.selectList[i].push(item5);
  257. }
  258. if (self.data.MEETINGLEADER.indexOf(item5.USERID) != -1 && i == "MEETINGLEADER") {
  259. n[i][index].array[index2].array[index4]++;
  260. item5.checked = true;
  261. self.selectList[i].push(item5);
  262. }
  263. })
  264. }
  265. if (n[i][index].array[index2].array[index4] == item4.USER.length && n[i][index].array[index2].array[index4] != 0) {
  266. item.checked = true;
  267. all[i]++;
  268. } else {
  269. item.checked == false;
  270. }
  271. })
  272. })
  273. })
  274. if (all[i] == self.UserList[i].length) {
  275. self.AllChecked[i] = true;
  276. } else {
  277. self.AllChecked[i] = false;
  278. }
  279. }
  280. })
  281. }
  282. }
  283. self.getUserList()
  284. self.openUserList = function (str,n) {
  285. self.filed = str;
  286. self.type = n;
  287. sp.layer("#userList")
  288. $("#userList .sp-page").eq(0).scrollTop(0);
  289. }
  290. self.checkAllUser = function () {
  291. self.AllChecked[self.filed] = !self.AllChecked[self.filed];
  292. $.each(self.UserList[self.filed], function (index, item) {
  293. item.checked = self.AllChecked[self.filed];
  294. if (item.USER) {
  295. item.USER.forEach(function (item1) {
  296. item1.checked = self.AllChecked[self.filed];
  297. })
  298. }
  299. item.CHILD_DATA.forEach(function (item2) {
  300. item2.checked = self.AllChecked[self.filed];
  301. if (item2.USER) {
  302. item2.USER.forEach(function (item3) {
  303. item3.checked = self.AllChecked[self.filed];
  304. })
  305. }
  306. item2.CHILD_DATA.forEach(function (item4) {
  307. item4.checked = self.AllChecked[self.filed];
  308. if (item4.USER) {
  309. item4.USER.forEach(function (item5) {
  310. item5.checked = self.AllChecked[self.filed];
  311. })
  312. }
  313. })
  314. })
  315. })
  316. self.submitUserList(1)
  317. }
  318. self.checkUserItem = function (item) {
  319. item.checked = !item.checked;
  320. $.each(item.USER, function (index, item1) {
  321. item1.checked = item.checked;
  322. })
  323. self.submitUserList(1)
  324. }
  325. self.checkUser = function (a, b) {
  326. a.checked = !a.checked;
  327. var n = 0;
  328. $.each(b.USER, function (x, y) {
  329. if (y.checked == true) {
  330. n++
  331. }
  332. if (n == b.USER.length && n != 0) {
  333. b.checked = true;
  334. } else {
  335. b.checked = false;
  336. }
  337. })
  338. self.submitUserList(1)
  339. }
  340. self.submitUserList = function (n) {
  341. var AllCheckedLength = 0;
  342. self.UserLength[self.filed] = 0;
  343. self.selectList[self.filed] = [];
  344. $.each(self.UserList[self.filed], function (index, item) {
  345. if (item.USER) {
  346. item.USER.forEach(function (item1) {
  347. self.UserLength[self.filed]++;
  348. if (item1.checked == true) {
  349. AllCheckedLength++;
  350. self.selectList[self.filed].push(item1)
  351. }
  352. })
  353. }
  354. item.CHILD_DATA.forEach(function (item2) {
  355. if (item2.USER) {
  356. item2.USER.forEach(function (item3) {
  357. self.UserLength[self.filed]++;
  358. if (item3.checked == true) {
  359. AllCheckedLength++;
  360. self.selectList[self.filed].push(item3)
  361. }
  362. })
  363. }
  364. item2.CHILD_DATA.forEach(function (item4) {
  365. if (item4.USER) {
  366. item4.USER.forEach(function (item5) {
  367. self.UserLength[self.filed]++;
  368. if (item5.checked == true) {
  369. AllCheckedLength++;
  370. self.selectList[self.filed].push(item5)
  371. }
  372. })
  373. }
  374. })
  375. })
  376. })
  377. self.data[self.filed] = self.selectList[self.filed].map(function (item) {
  378. return item.USHOWNAME
  379. }).join(",")
  380. if (self.filed == "LEADERNAME") {
  381. self.data.LEADERUSERID = self.selectList[self.filed].map(function (item) {
  382. return item.USERID
  383. }).join(",")
  384. } else if (self.filed == "MEETINGLEADER") {
  385. self.data.MEETINGLEADERUSERID = self.selectList[self.filed].map(function (item) {
  386. return item.USERID
  387. }).join(",")
  388. }
  389. self.AllChecked[self.filed] = AllCheckedLength == self.UserLength[self.filed];
  390. if (n == 0) {
  391. sp.layerhide();
  392. }
  393. }
  394. self.btnSave = function () {
  395. if (self.data.ID == 0) {
  396. var data = {
  397. tablename: "SX_YZAPTZ",
  398. data: {
  399. YZAPDATE: self.data.YZAPDATE,
  400. CTIME: self.data.CTIME,
  401. CWEEK: self.data.CWEEK,
  402. CREATTIME: self.data.CREATTIME,
  403. CNAME: self.data.CNAME,
  404. LEADERNAME: self.data.LEADERNAME,
  405. LEADERUSERID: self.data.LEADERUSERID,
  406. CUNIT: self.data.CUNIT,
  407. MEETINGLEADER: self.data.MEETINGLEADER,
  408. MEETINGLEADERUSERID: self.data.MEETINGLEADERUSERID,
  409. ATTENDANCESCOPE: self.data.ATTENDANCESCOPE,
  410. ADDR: self.data.ADDR,
  411. REMARK: self.data.REMARK,
  412. USERID: self.userId,
  413. SECTCODE: self.userDpCode,
  414. CDATE: sp.getLocalDate()
  415. }
  416. }
  417. $http.post(apiurljs.login + "g2app/dataabase/insertFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  418. .success(function (obj) {
  419. var res = strToJson(s4.decryptData_CBC(obj.data));
  420. if (res.success) {
  421. sp.dialog("保存成功!");
  422. self.get_id = res.data;
  423. self.getData();
  424. $timeout(function () {
  425. sp.dialoghide();
  426. }, 1000)
  427. } else {
  428. sp.dialog(res.message);
  429. }
  430. })
  431. } else {
  432. var data = {
  433. id: self.data.ID,
  434. tablename: "SX_YZAPTZ",
  435. data: {
  436. YZAPDATE: self.data.YZAPDATE,
  437. CTIME: self.data.CTIME,
  438. CWEEK: self.data.CWEEK,
  439. CREATTIME: self.data.CREATTIME,
  440. CNAME: self.data.CNAME,
  441. LEADERNAME: self.data.LEADERNAME,
  442. LEADERUSERID: self.data.LEADERUSERID,
  443. CUNIT: self.data.CUNIT,
  444. MEETINGLEADER: self.data.MEETINGLEADER,
  445. MEETINGLEADERUSERID: self.data.MEETINGLEADERUSERID,
  446. ATTENDANCESCOPE: self.data.ATTENDANCESCOPE,
  447. ADDR: self.data.ADDR,
  448. REMARK: self.data.REMARK
  449. }
  450. }
  451. $http.post(apiurljs.login + "g2app/dataabase/upFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  452. .success(function (obj) {
  453. var res = strToJson(s4.decryptData_CBC(obj.data));
  454. if (res.success) {
  455. sp.dialog("保存成功!");
  456. self.getData();
  457. $timeout(function () {
  458. sp.dialoghide();
  459. }, 1000)
  460. } else {
  461. sp.dialog(res.message);
  462. }
  463. })
  464. }
  465. }
  466. }])