index.js 33 KB

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