index.js 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828
  1. 'use strict';
  2. var app = angular.module('app', [
  3. 'angularUtils.directives.dirPagination',
  4. ]);
  5. app.controller("indexCtrl", ["$scope", "$http", "$timeout", "$sce", function ($scope, $http, $timeout, $sce) {
  6. var self = this;
  7. var s4 = new SM4Util();
  8. self.userId = $.cookie("GlWorkPlatform-userid");
  9. self.userName = $.cookie("GlWorkPlatform-chineseName");
  10. self.get_AccessToken = localStorage.getItem("GlWorkPlatform-AccessToken");
  11. var postCfg = {
  12. headers: {
  13. 'Content-Type': 'application/json',
  14. 'Authorization': "Bearer " + self.get_AccessToken
  15. }
  16. };
  17. self.CrossPage = window.parent.CrossPage;
  18. self.userRole = 1;
  19. var uploadformat = strToJson(s4.decryptData_CBC(apiurljs.uploadformat)).data.map(function (item) {
  20. return item.CNAME
  21. })
  22. self.getROLE = function () {
  23. var data = {
  24. userid: self.userId
  25. };
  26. $http.post(apiurljs.login + "g2work/datazu/queryDataUserAuth", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  27. .success(function (obj) {
  28. var res = strToJson(s4.decryptData_CBC(obj.data));
  29. for (var i = 0; i < res.data[0].auths.length; i++) {
  30. if (res.data[0].auths[i].ZID == "AA74" && res.data[0].auths[i].AUTH == 1) {
  31. self.userRole = 1;
  32. } else if (res.data[0].auths[i].ZID == "AA75" && res.data[0].auths[i].AUTH == 1) {
  33. self.userRole = 2;
  34. } else if (res.data[0].auths[i].ZID == "AA76" && res.data[0].auths[i].AUTH == 1) {
  35. self.userRole = 3;
  36. }
  37. }
  38. self.getDP();
  39. });
  40. }
  41. self.getDP = function () {
  42. var data = {
  43. userid: self.userId
  44. }
  45. $http.post(apiurljs.login + "g2app/richang/queryDpInfo", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  46. .success(function (obj) {
  47. var res = strToJson(s4.decryptData_CBC(obj.data));
  48. self.userDpName = res.data.length == 0 ? "" : res.data[0].SECTION;
  49. //self.userDpName = res.data.length == 0 ? "" : res.data[0].SECTIONALL;
  50. self.userDpCode = res.data.length == 0 ? "" : res.data[0].CODE;
  51. self.userINSTCODE = res.data.length == 0 ? "" : res.data[0].INSTCODE
  52. self.getLeftTree();
  53. })
  54. }
  55. self.getWLD= function () {
  56. var data = {
  57. dpcode: 'AA03'
  58. }
  59. $http.post(apiurljs.login + "g2app/dataabase/getDpListByCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  60. .success(function (obj) {
  61. var res = strToJson(s4.decryptData_CBC(obj.data));
  62. self.WLDList = res.data[0][0].USER;
  63. self.WLDList.forEach(function (item) {
  64. item.checked = false;
  65. })
  66. })
  67. }
  68. self.getROLE()
  69. self.getLeftTree = function () {
  70. var data = {
  71. tablename: "CODE_XXML",
  72. sqlwehre: "usemark='1'",
  73. ord: "sortid"
  74. }
  75. //$http.post(apiurljs.login + "g2app/dataabase/getTreeListAllByTablename", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  76. $http.post(apiurljs.login + "g2app/dataabase/getTreeListAllByTablename", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  77. .success(function (obj) {
  78. var res = strToJson(s4.decryptData_CBC(obj.data));
  79. self.leftTree = res.data;
  80. self.checkNode(self.leftTree[0], 0)
  81. self.getWLD()
  82. })
  83. }
  84. self.checkNode = function (NODE, n) {
  85. if (n == 0) {
  86. NODE.show = !NODE.show;
  87. }
  88. if (NODE.CODE == "AA00") {
  89. var data = {
  90. tablename: "FILE_ATTACH",
  91. colums: "*",
  92. order: "SORTID desc",
  93. sqlwhere: { ATTACHTYPE: "AA00" },
  94. sqlinwhere: "",
  95. sqllikewhere: ""
  96. }
  97. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  98. .success(function (obj) {
  99. var res = strToJson(s4.decryptData_CBC(obj.data));
  100. self.activeNode = NODE;
  101. self.listFile = res.data;
  102. self.rightType = 3;
  103. })
  104. } else if (NODE.SFKSCWJ == 1) {
  105. NODE.C_H_I_L_D_DATA = [];
  106. var data = {
  107. tablename: "FILE_ATTACH",
  108. colums: "*",
  109. order: "SORTID asc",
  110. sqlwhere: { ATTACHTYPE: NODE.CODE },
  111. sqlinwhere: "",
  112. sqllikewhere: ""
  113. }
  114. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  115. .success(function (obj) {
  116. var res = strToJson(s4.decryptData_CBC(obj.data));
  117. res.data.forEach(function (item) {
  118. NODE.C_H_I_L_D_DATA.push(item);
  119. })
  120. })
  121. }
  122. }
  123. self.uploadTree = function (obj) {
  124. $('#fileupload-' + obj.CODE).fileupload({
  125. url: apiurljs.login + 'g2app/abase/uploadFileWithForm',
  126. dataType: 'json',
  127. beforeSend: function (xhr, data) {
  128. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  129. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=FILE_ATTACH,routeinfoid=" + obj.ID + ",ATTACHTYPE=" + obj.CODE));
  130. },
  131. add: function (e, data) {
  132. var num = 0;
  133. var acceptFileTypes = eval('/(' + uploadformat.join("|") + ')$/i')
  134. //文件类型判断
  135. $.each(data.originalFiles, function (index, item) {
  136. if (item['type'].length > 0 && !acceptFileTypes.test(item['name'])) {
  137. sp.dialog("您好,请上传" + uploadformat.join("/") + "格式的文件!");
  138. return;
  139. } else {
  140. num++
  141. }
  142. })
  143. if (num == data.originalFiles.length) {
  144. self.uploading = true;
  145. data.submit();
  146. $scope.$apply();
  147. }
  148. },
  149. // 上传完成后的执行逻辑
  150. done: function (e, data) {
  151. self.uploading = false;
  152. self.checkNode(obj, 1)
  153. }
  154. })
  155. $timeout(function () {
  156. $("#fileupload-" + obj.CODE).trigger("click")
  157. }, 1)
  158. }
  159. self.getFileUrl = function (obj) {
  160. self.rightType = 1;
  161. var set_convertType = 0;
  162. if (obj.FILEEXT == "doc") {
  163. set_convertType = 0;
  164. } else if (obj.FILEEXT == "pdf") {
  165. set_convertType = 20;
  166. } else if (obj.FILEEXT == "ofd") {
  167. set_convertType = 570;
  168. } else {
  169. set_convertType = 0;
  170. }
  171. let postData = {
  172. convertType: set_convertType,
  173. fileUrl: apiurljs.yzFcscloud + "g2work/files2/inline/" + obj.FILEURL.slice(7)
  174. };
  175. var postCfg_transfer = {
  176. headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
  177. transformRequest: function (data) {
  178. return $.param(data);
  179. }
  180. };
  181. $http.post(apiurljs.login.split("glwork/")[0] + "fcscloud/composite/httpfile", postData, postCfg_transfer)
  182. .success(function (res) {
  183. if (res.errorcode === 0) {
  184. self.BrowseUrl = $sce.trustAsResourceUrl(res.data.viewUrl);
  185. $("#nodeBrowse").css("width", "100%").css("height", $(".sp-wrapper-right").height() - 20)
  186. } else {
  187. sp.dialog(res.message);
  188. }
  189. });
  190. }
  191. self.deleteFileTree = function (file, NODE) {
  192. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  193. var dialogBody = "<div class=\"sp-dialog-body\">删除后不可恢复,您确认要删除吗?</div>";
  194. 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>";
  195. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  196. sp.openCenter(".sp-dialog");
  197. ///取消按钮
  198. $('.sp-closeDialog').click(function (event) {
  199. sp.closeCenter(".sp-dialog");
  200. event.preventDefault();
  201. event.stopPropagation();
  202. });
  203. //post消息的id
  204. $("#delDataTrue").click(function () {
  205. var data = {
  206. tablename: "FILE_ATTACH",
  207. id: file.ID
  208. };
  209. $http.post(apiurljs.login + "g2app/dataabase/delDataById", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  210. .success(function (obj) {
  211. var res = strToJson(s4.decryptData_CBC(obj.data));
  212. sp.dialoghide();
  213. if (res.success) {
  214. self.checkNode(NODE, 1)
  215. } else {
  216. sp.dialog("删除失败,请联系管理员!");
  217. }
  218. });
  219. });
  220. }
  221. self.uploadAA00 = function () {
  222. $('#fileupload-AA00').fileupload({
  223. url: apiurljs.login + 'g2app/abase/uploadFileWithForm',
  224. dataType: 'json',
  225. beforeSend: function (xhr, data) {
  226. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  227. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=FILE_ATTACH,routeinfoid=" + self.activeNode.ID + ",ATTACHTYPE=AA00"));
  228. },
  229. add: function (e, data) {
  230. var num = 0;
  231. var acceptFileTypes = eval('/(' + uploadformat.join("|") + ')$/i')
  232. //文件类型判断
  233. $.each(data.originalFiles, function (index, item) {
  234. if (item['type'].length > 0 && !acceptFileTypes.test(item['name'])) {
  235. sp.dialog("您好,请上传" + uploadformat.join("/") + "格式的文件!");
  236. return;
  237. } else {
  238. num++
  239. }
  240. })
  241. if (num == data.originalFiles.length) {
  242. self.uploading = true;
  243. data.submit();
  244. $scope.$apply();
  245. }
  246. },
  247. // 上传完成后的执行逻辑
  248. done: function (e, data) {
  249. self.uploading = false;
  250. self.listFile = strToJson(s4.decryptData_CBC(data.result.data)).data;
  251. $scope.$apply();
  252. }
  253. })
  254. $timeout(function () {
  255. $("#fileupload-AA00").trigger("click")
  256. }, 1)
  257. }
  258. self.DelAA00 = function (file) {
  259. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  260. var dialogBody = "<div class=\"sp-dialog-body\">删除后不可恢复,您确认要删除吗?</div>";
  261. 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>";
  262. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  263. sp.openCenter(".sp-dialog");
  264. ///取消按钮
  265. $('.sp-closeDialog').click(function (event) {
  266. sp.closeCenter(".sp-dialog");
  267. event.preventDefault();
  268. event.stopPropagation();
  269. });
  270. //post消息的id
  271. $("#delDataTrue").click(function () {
  272. var data = {
  273. tablename: "FILE_ATTACH",
  274. id: file.ID
  275. };
  276. $http.post(apiurljs.login + "g2app/dataabase/delDataById", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  277. .success(function (obj) {
  278. var res = strToJson(s4.decryptData_CBC(obj.data));
  279. sp.dialoghide();
  280. if (res.success) {
  281. self.checkNode(self.activeNode, 1)
  282. } else {
  283. sp.dialog("删除失败,请联系管理员!");
  284. }
  285. });
  286. })
  287. }
  288. self.download = function (obj) {
  289. window.open(apiurljs.login + "g2work/files/" + obj.FILEURL.slice(7))
  290. }
  291. //n=1上移,n=2下移
  292. self.sortItem = function (obj, parentNode, n) {
  293. var ids = [], sortids = [];
  294. var arr = parentNode.C_H_I_L_D_DATA;
  295. for (var i = 0; i < arr.length; i++) {
  296. if (arr[i].ID == obj.ID) {
  297. if (n == 1) {
  298. ids = [arr[i - 1].ID, arr[i].ID]
  299. sortids = [arr[i].SORTID, arr[i - 1].SORTID]
  300. } else {
  301. ids = [arr[i].ID, arr[i + 1].ID]
  302. sortids = [arr[i + 1].SORTID, arr[i].SORTID]
  303. }
  304. }
  305. }
  306. var data = {
  307. entity: "FILE_ATTACH",
  308. data: sortids.map(function (item) { return { SORTID: item } }),
  309. setwhere: ids.map(function (item) { return { ID: item } })
  310. }
  311. $http.post(apiurljs.login + "g2app/Data/UpdataByWhereList", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  312. .success(function (obj) {
  313. var res = strToJson(s4.decryptData_CBC(obj.data));
  314. if (res.success == true) {
  315. self.checkNode(parentNode, 1)
  316. }
  317. })
  318. }
  319. self.deleteListFile = function (file) {
  320. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  321. var dialogBody = "<div class=\"sp-dialog-body\">删除后不可恢复,您确认要删除吗?</div>";
  322. 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>";
  323. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  324. sp.openCenter(".sp-dialog");
  325. ///取消按钮
  326. $('.sp-closeDialog').click(function (event) {
  327. sp.closeCenter(".sp-dialog");
  328. event.preventDefault();
  329. event.stopPropagation();
  330. });
  331. //post消息的id
  332. $("#delDataTrue").click(function () {
  333. var data = {
  334. tablename: "FILE_ATTACH",
  335. id: file.ID
  336. };
  337. $http.post(apiurljs.login + "g2app/dataabase/delDataById", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  338. .success(function (obj) {
  339. var res = strToJson(s4.decryptData_CBC(obj.data));
  340. sp.dialoghide();
  341. if (res.success) {
  342. self.getRightData(self.activeNode)
  343. } else {
  344. sp.dialog("删除失败,请联系管理员!");
  345. }
  346. });
  347. })
  348. }
  349. self.search = {
  350. XS: "",
  351. SJ1: "",
  352. SJ2: ""
  353. }
  354. self.openSearch = function () {
  355. self.search = {
  356. XS: "",
  357. SJ1: "",
  358. SJ2: ""
  359. }
  360. sp.layer("#Search")
  361. }
  362. self.doSearch = function () {
  363. self.getRightData(self.activeNode)
  364. sp.layerhide()
  365. }
  366. self.printOut = function () {
  367. var columnsname = [], columns = [], sqlwhere = [];
  368. sqlwhere.push(" and DPCODE='" + self.activeNode.DPCODE + "'")
  369. if (self.search.XS != "") {
  370. sqlwhere.push(" and XS like'%" + self.search.XS + "%'")
  371. }
  372. if (self.search.SJ1 != "" && self.search.SJ2 != "") {
  373. sqlwhere.push(" and SJ between'" + self.search.SJ1 + " 00:00:00' and '" + self.search.SJ2 + " 23:59:59'")
  374. }
  375. if (self.activeNode.SFWN == 1) {
  376. if (self.activeNode.ROLETYPE == 1) {
  377. columnsname = "时间|形式|次序|主题|主要内容|方案|研讨材料|原始记录|情况报告|参加人员"
  378. columns = "SJ,XS,CX,ZT,ZYNR,FA,YTCL,YSJL,QKBG,CJYR"
  379. } else {
  380. columnsname = "时间|形式|次序|主题|方案|研讨材料"
  381. columns = "SJ,XS,CX,ZT,FA,YTCL"
  382. }
  383. } else {
  384. columnsname = "时间|形式|次序|主题|主要内容|方案|原始记录|情况报告|参学情况"
  385. columns = "SJ,XS,CX,ZT,ZYNR,FA,YSJL,QKBG,CXQK"
  386. }
  387. var postdata = {
  388. title: "党委理论中心组学习情况统计表",
  389. mobanname: "zhongxinzu.xlsx",
  390. columnsname: columnsname,
  391. columns: columns,
  392. order: "SORTID",
  393. sqlwhere: sqlwhere.join(" ")
  394. }
  395. var eleLink = document.createElement('a');
  396. eleLink.download = "";
  397. eleLink.style.display = 'none';
  398. eleLink.href = apiurljs.login + "g2app/fawen/ExpZhongXinZuList?data=" + encodeURIComponent(s4.encryptData_CBC(JSON.stringify(postdata)));
  399. // 触发点击
  400. document.body.appendChild(eleLink);
  401. eleLink.click();
  402. // 然后移除
  403. document.body.removeChild(eleLink);
  404. }
  405. self.getRightData = function (NODE) {
  406. self.activeNode = NODE;
  407. var sqlwhere = [];
  408. if (self.search.XS != "") {
  409. sqlwhere.push(" and XS like'%" + self.search.XS + "%'")
  410. }
  411. if (self.search.SJ1 != "" && self.search.SJ2 != "") {
  412. sqlwhere.push(" and SJ between'" + self.search.SJ1 + " 00:00:00' and '" + self.search.SJ2 + " 23:59:59'")
  413. }
  414. if (self.activeNode.ROLETYPE == 1) {
  415. sqlwhere.push(" and DPNAME='" + self.userDpName + "'")
  416. } else if (self.activeNode.ROLETYPE == 2) {
  417. sqlwhere.push(" and (CJYR like'%" + self.activeNode.DPMAN + "%')")
  418. } else if (self.activeNode.ROLETYPE == 3) {
  419. sqlwhere.push(" and DPCODE='" + self.activeNode.DPCODE + "'")
  420. }
  421. var data = {
  422. tablename: "FW_ZXGZ",
  423. pageno: 0,
  424. pagesize: 0,
  425. colums: "*",
  426. order: "sortid ",
  427. sqlwhere: sqlwhere.join(" ")// " and id='1197546763184906240'"
  428. }
  429. $http.post(apiurljs.login + "g2app/fawen/queryZhongXinZuDataWithPage", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  430. .success(function (obj) {
  431. var res = strToJson(s4.decryptData_CBC(obj.data));
  432. self["list" + NODE.ROLETYPE] = res.data;
  433. self["list" + NODE.ROLETYPE].forEach(function (item) {
  434. item.SJ = sp.format(item.SJ);
  435. item.FILE_DATA.forEach(function (item1) {
  436. item1.FILE_ATTACH.forEach(function (item2) {
  437. item2.FILENAMES1 = item2.FILENAMES.length > 20 ? item2.FILENAMES.slice(0, 20) + "..." : item2.FILENAMES;
  438. })
  439. item[item1.ATTACHTYPE] = item1.FILE_ATTACH
  440. })
  441. })
  442. self.rightType = 2;
  443. })
  444. }
  445. self.deleteList = function (item) {
  446. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  447. var dialogBody = "<div class=\"sp-dialog-body\">删除后不可恢复,您确认要删除吗?</div>";
  448. 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>";
  449. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  450. sp.openCenter(".sp-dialog");
  451. ///取消按钮
  452. $('.sp-closeDialog').click(function (event) {
  453. sp.closeCenter(".sp-dialog");
  454. event.preventDefault();
  455. event.stopPropagation();
  456. });
  457. //post消息的id
  458. $("#delDataTrue").click(function () {
  459. var data = {
  460. tablename: "FW_ZXGZ",
  461. id: item.ID
  462. };
  463. $http.post(apiurljs.login + "g2app/dataabase/delDataById", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  464. .success(function (obj) {
  465. var res = strToJson(s4.decryptData_CBC(obj.data));
  466. sp.dialoghide();
  467. if (res.success) {
  468. self.getRightData(self.activeNode)
  469. } else {
  470. sp.dialog("删除失败,请联系管理员!");
  471. }
  472. });
  473. });
  474. }
  475. self.addItem = function (n) {
  476. self.editWin = "新建";
  477. self.showYSJL = false;
  478. self.currentYTCL = null;
  479. self.edit = {
  480. ID: 0,
  481. SJ: "",
  482. XS: "",
  483. CX: "",
  484. ZT: "",
  485. ZYNR: "",
  486. CJYR: "",
  487. CXQK: ""
  488. }
  489. self.arrayFile = {
  490. FA: [],
  491. YTCL: [],
  492. YSJL: [],
  493. QKBG: []
  494. };
  495. self.WLDList.forEach(function (item) {
  496. item.checked = false;
  497. if (item.USERID == "10876168-b21d-481e-9a02-1edb5af9853f") {
  498. item.checked = true;
  499. }
  500. })
  501. sp.layer("#editWin")
  502. }
  503. self.editItem = function (obj, n) {
  504. self.editWin = "编辑";
  505. self.showYSJL = false;
  506. self.currentYTCL = null;
  507. self.edit = {
  508. ID: obj.ID,
  509. SJ: obj.SJ,
  510. XS: obj.XS,
  511. CX: obj.CX,
  512. ZT: obj.ZT,
  513. ZYNR: obj.ZYNR,
  514. CJYR: obj.CJYR,
  515. CXQK: obj.CXQK
  516. }
  517. self.WLDList.forEach(function (item) {
  518. item.checked = false;
  519. if (item.USERID == "10876168-b21d-481e-9a02-1edb5af9853f") {
  520. item.checked = true;
  521. }
  522. })
  523. self.getFile()
  524. sp.layer("#editWin")
  525. }
  526. self.getFile = function () {
  527. var data = {
  528. tablename: "FILE_ATTACH",
  529. colums: "*",
  530. order: "ID asc",
  531. sqlwhere: { ROUTEINFOID: self.edit.ID },
  532. sqlinwhere: "",
  533. sqllikewhere: ""
  534. }
  535. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  536. .success(function (obj) {
  537. var res = strToJson(s4.decryptData_CBC(obj.data));
  538. res.data.forEach(function (item) {
  539. item.FILENAMES1 = item.FILENAMES.length > 20 ? item.FILENAMES.slice(0, 20) + "..." : item.FILENAMES;
  540. })
  541. self.arrayFile = {
  542. FA: res.data.filter(function (item) { return item.ATTACHTYPE == "FA" }),
  543. YTCL: res.data.filter(function (item) { return item.ATTACHTYPE == "YTCL" }),
  544. YSJL: res.data.filter(function (item) { return item.ATTACHTYPE == "YSJL" }),
  545. QKBG: res.data.filter(function (item) { return item.ATTACHTYPE == "QKBG" })
  546. };
  547. })
  548. }
  549. self.checkItem = function (obj) {
  550. obj.checked = !obj.checked;
  551. }
  552. self.btnSave = function () {
  553. if (self.edit.ID == 0) {
  554. var data = {
  555. tablename: "FW_ZXGZ",
  556. data: JSON.stringify({
  557. SJ: self.edit.SJ,
  558. XS: self.edit.XS,
  559. CX: self.edit.CX,
  560. ZT: self.edit.ZT,
  561. ZYNR: self.edit.ZYNR,
  562. CJYR: self.edit.CJYR,
  563. CXQK: self.edit.CXQK,
  564. DPCODE: self.userDpCode,
  565. DPNAME: self.userDpName,
  566. USERID: self.userId,
  567. USERNAME: self.userName,
  568. CJRBNMC: self.userDpName,
  569. CJRBMID: self.userDpCode,
  570. DPMAN: self.userName
  571. })
  572. }
  573. $http.post(apiurljs.login + "g2app/dataabase/insertFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  574. .success(function (obj) {
  575. var res = strToJson(s4.decryptData_CBC(obj.data));
  576. sp.layerhide()
  577. if (res.success) {
  578. self.getRightData(self.activeNode)
  579. } else {
  580. sp.dialog(res.message)
  581. }
  582. })
  583. } else {
  584. var data = {
  585. tablename: "FW_ZXGZ",
  586. id: self.edit.ID,
  587. data: JSON.stringify({
  588. SJ: self.edit.SJ,
  589. XS: self.edit.XS,
  590. CX: self.edit.CX,
  591. ZT: self.edit.ZT,
  592. ZYNR: self.edit.ZYNR,
  593. CJYR: self.edit.CJYR,
  594. CXQK: self.edit.CXQK
  595. })
  596. }
  597. $http.post(apiurljs.login + "g2app/dataabase/upFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  598. .success(function (obj) {
  599. var res = strToJson(s4.decryptData_CBC(obj.data));
  600. sp.layerhide()
  601. if (res.success) {
  602. self.getRightData(self.activeNode)
  603. } else {
  604. sp.dialog(res.message)
  605. }
  606. })
  607. }
  608. }
  609. self.beforeUpload = function (str) {
  610. if (self.edit.ID == 0) {
  611. var data = {
  612. tablename: "FW_ZXGZ",
  613. data: JSON.stringify({
  614. SJ: self.edit.SJ,
  615. XS: self.edit.XS,
  616. CX: self.edit.CX,
  617. ZT: self.edit.ZT,
  618. ZYNR: self.edit.ZYNR,
  619. CJYR: self.edit.CJYR,
  620. CXQK: self.edit.CXQK,
  621. DPCODE: self.userDpCode,
  622. DPNAME: self.userDpName,
  623. USERID: self.userId,
  624. USERNAME: self.userName,
  625. CJRBNMC: self.userDpName,
  626. CJRBMID: self.userDpCode,
  627. DPMAN: self.userName
  628. })
  629. }
  630. $http.post(apiurljs.login + "g2app/dataabase/insertFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  631. .success(function (obj) {
  632. var res = strToJson(s4.decryptData_CBC(obj.data));
  633. if (res.success) {
  634. self.edit.ID = res.data;
  635. self.upload(str)
  636. } else {
  637. sp.dialog(res.message)
  638. }
  639. })
  640. } else {
  641. self.upload(str)
  642. }
  643. }
  644. self.upload = function (str) {
  645. $('#fileupload-' + str).fileupload({
  646. url: apiurljs.login + 'g2app/abase/uploadFileWithForm',
  647. dataType: 'json',
  648. beforeSend: function (xhr, data) {
  649. xhr.setRequestHeader("Authorization", "Bearer " + self.get_AccessToken);
  650. xhr.setRequestHeader("File-Argument", s4.encryptData_CBC("tablename=FILE_ATTACH,routeinfoid=" + self.edit.ID + ",ATTACHTYPE=" + str));
  651. },
  652. add: function (e, data) {
  653. var num = 0;
  654. var acceptFileTypes = eval('/(' + uploadformat.join("|") + ')$/i')
  655. //文件类型判断
  656. $.each(data.originalFiles, function (index, item) {
  657. if (item['type'].length > 0 && !acceptFileTypes.test(item['name'])) {
  658. sp.dialog("您好,请上传" + uploadformat.join("/") + "格式的文件!");
  659. return;
  660. } else {
  661. num++
  662. }
  663. })
  664. if (num == data.originalFiles.length) {
  665. self.uploading = true;
  666. data.submit();
  667. $scope.$apply();
  668. }
  669. },
  670. // 上传完成后的执行逻辑
  671. done: function (e, data) {
  672. self.uploading = false;
  673. var arrayFiles = strToJson(s4.decryptData_CBC(data.result.data)).data;
  674. arrayFiles.forEach(function (item) {
  675. item.FILENAMES1 = item.FILENAMES.length > 20 ? item.FILENAMES.slice(0, 20) + "..." : item.FILENAMES;
  676. })
  677. self.arrayFile = {
  678. FA: arrayFiles.filter(function (item) { return item.ATTACHTYPE == "FA" }),
  679. YTCL: arrayFiles.filter(function (item) { return item.ATTACHTYPE == "YTCL" }),
  680. YSJL: arrayFiles.filter(function (item) { return item.ATTACHTYPE == "YSJL" }),
  681. QKBG: arrayFiles.filter(function (item) { return item.ATTACHTYPE == "QKBG" })
  682. };
  683. if (str == "YTCL") {
  684. self.currentYTCL = arrayFiles[arrayFiles.length - 1];
  685. }
  686. $scope.$apply();
  687. }
  688. })
  689. $timeout(function () {
  690. $("#fileupload-" + str).trigger("click")
  691. }, 1)
  692. }
  693. self.deleteFile = function (file, str) {
  694. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  695. var dialogBody = "<div class=\"sp-dialog-body\">删除后不可恢复,您确认要删除吗?</div>";
  696. 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>";
  697. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  698. sp.openCenter(".sp-dialog");
  699. ///取消按钮
  700. $('.sp-closeDialog').click(function (event) {
  701. sp.closeCenter(".sp-dialog");
  702. event.preventDefault();
  703. event.stopPropagation();
  704. });
  705. //post消息的id
  706. $("#delDataTrue").click(function () {
  707. var data = {
  708. tablename: "FILE_ATTACH",
  709. id: file.ID
  710. };
  711. $http.post(apiurljs.login + "g2app/dataabase/delDataById", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  712. .success(function (obj) {
  713. var res = strToJson(s4.decryptData_CBC(obj.data));
  714. sp.dialoghide();
  715. if (res.success) {
  716. if (str != "currentYTCL") {
  717. self.getFile()
  718. } else {
  719. self.currentYTCL = null;
  720. }
  721. } else {
  722. sp.dialog("删除失败,请联系管理员!");
  723. }
  724. });
  725. });
  726. }
  727. self.FileRole = function (obj) {
  728. self.currentYTCL = obj;
  729. self.currentYTCL_ROLE = null;
  730. var data = {
  731. tablename: "FW_YTCLSZ",
  732. colums: "*",
  733. order: "SORTID desc",
  734. sqlwhere: {
  735. FJID: self.currentYTCL.FILEID
  736. },
  737. sqlinwhere: "",
  738. sqllikewhere: ""
  739. }
  740. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  741. .success(function (obj) {
  742. var res = strToJson(s4.decryptData_CBC(obj.data));
  743. if (res.data.length > 0) {
  744. self.currentYTCL_ROLE = res.data[0];
  745. self.WLDList.forEach(function (item) {
  746. item.checked = false;
  747. if (self.currentYTCL_ROLE.USERID.indexOf(item.USERID) > -1) {
  748. item.checked = true;
  749. }
  750. })
  751. }
  752. self.showYSJL = true;
  753. })
  754. }
  755. self.btnCheckUser = function () {
  756. var userIds = [], userNames = [];
  757. self.WLDList.forEach(function (item) {
  758. if (item.checked == true) {
  759. userIds.push(item.USERID)
  760. userNames.push(item.USHOWNAME)
  761. }
  762. })
  763. if (self.currentYTCL_ROLE == null) {
  764. userIds.push(self.userId)
  765. userNames.push(self.userName)
  766. var data = {
  767. tablename: "FW_YTCLSZ",
  768. data: JSON.stringify({
  769. FJID: self.currentYTCL.FILEID,
  770. USERID: userIds.join(","),
  771. USERNAME: userNames.join(",")
  772. })
  773. }
  774. $http.post(apiurljs.login + "g2app/dataabase/insertFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  775. .success(function (obj) {
  776. var res = strToJson(s4.decryptData_CBC(obj.data));
  777. if (res.success == true) {
  778. self.showYSJL = false;
  779. }
  780. })
  781. } else {
  782. var data = {
  783. tablename: "FW_YTCLSZ",
  784. id: self.currentYTCL_ROLE.ID,
  785. data: JSON.stringify({
  786. FJID: self.currentYTCL.FILEID,
  787. USERID: userIds.join(","),
  788. USERNAME: userNames.join(",")
  789. })
  790. }
  791. $http.post(apiurljs.login + "g2app/dataabase/upFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  792. .success(function (obj) {
  793. var res = strToJson(s4.decryptData_CBC(obj.data));
  794. if (res.success == true) {
  795. self.showYSJL = false;
  796. }
  797. })
  798. }
  799. }
  800. }])