list.js 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811
  1. 'use strict';
  2. var app = angular.module('app', [
  3. 'angularUtils.directives.dirPagination'
  4. ]);
  5. app.controller("listCtrl", ["$scope", "$http", "$timeout", "$interval", function ($scope, $http, $timeout, $interval) {
  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. self.deviceType = localStorage.getItem("tjJxtGoldenlinkWork-deviceType");
  12. self.get_lastReturnPageno = sp.getUrlName("lastReturnPageno");
  13. self.get_type = sp.getUrlName("type");
  14. self.params = sp.getUrlName("params");
  15. var postCfg = {
  16. headers: {
  17. 'Content-Type': 'application/json',
  18. 'Authorization': "Bearer " + self.get_AccessToken
  19. }
  20. }
  21. self.type = self.get_type != "" ? self.get_type : "todo";
  22. self.Url = getUrl(self.type);
  23. self.CrossPage = window.parent.CrossPage;
  24. self.loading = false;
  25. self.search = null//JSON.parse($.cookie("GlWorkPlatform-gongkaizhu"));
  26. self.noDataTip = 1;//没有数据时赋变量为0,先默认为1
  27. self.pageno = 1;
  28. self.total_count = 0;
  29. self.itemsPerPage = 10;
  30. self.pageOptions = [10, 20, 30, 40, 50, 100, 300, 500];
  31. self.ordercondition = [];
  32. self.getData = function (pageno) {
  33. if (self.search == null) {
  34. self.search = {
  35. BT: "",
  36. LAIYUAN: "",
  37. BIANHAO: "",
  38. GKSXLB: "",
  39. SQGKNRMS: "",
  40. USER: "",
  41. LXDH: "",
  42. DATE1: "",
  43. DATE2: "",
  44. SJBJRQ1: "",
  45. SJBJRQ2: ""
  46. }
  47. }
  48. var querycondition = [];
  49. var columnscondition = [
  50. { COLID: "LAIYUAN", COLUMNS: "SX_SZJWYSQGKXXCBD.LAIYUAN" },
  51. { COLID: "BIANHAO", COLUMNS: "SX_SZJWYSQGKXXCBD.BIANHAO" },
  52. { COLID: "GKSXLB", COLUMNS: "SX_SZJWYSQGKXXCBD.GKSXLB" },
  53. { COLID: "SQRQ", COLUMNS: "SX_SZJWYSQGKXXCBD.TO_CHAR(SQRQ)" },
  54. { COLID: "LXDH", COLUMNS: "SX_SZJWYSQGKXXCBD.LXDH" },
  55. { COLID: "SJBJRQ", COLUMNS: "SX_SZJWYSQGKXXCBD.TO_CHAR(SJBJRQ)" },
  56. { COLID: "SQGKNRMS", COLUMNS: "SX_SZJWYSQGKXXCBD.SQGKNRMS" }
  57. ]
  58. if (self.type == 'todo') {
  59. querycondition.push({ "CKIND": "SQLWORD", "TABLEID": "", "COLID": "", "VALUEA": "ROUTEINFOID not in (SELECT ROUTEINFOID from SYS_ROUTE_INFO_UNCANCEL_VIEW)", "VALUEB": "" })
  60. }
  61. if (self.search.BT != "") {
  62. querycondition.push({ "CKIND": "VARCHAR", "TABLEID": "SYS_ROUTE_VIEW", "COLID": "TITLE", "VALUEA": self.search.BT, "VALUEB": "" })
  63. }
  64. if (self.search.LAIYUAN != "") {
  65. querycondition.push({ "CKIND": "VARLIST", "TABLEID": "CODETABLE", "COLID": "LAIYUAN", "VALUEA": self.search.LAIYUAN.join(","), "VALUEB": "" })
  66. }
  67. if (self.search.BIANHAO != "") {
  68. querycondition.push({ "CKIND": "VARCHAR", "TABLEID": "CODETABLE", "COLID": "BIANHAO", "VALUEA": self.search.BIANHAO, "VALUEB": "" })
  69. }
  70. if (self.search.LXDH != "") {
  71. querycondition.push({ "CKIND": "VARCHAR", "TABLEID": "CODETABLE", "COLID": "LXDH", "VALUEA": self.search.LXDH, "VALUEB": "" })
  72. }
  73. if (self.search.GKSXLB != "") {
  74. querycondition.push({ "CKIND": "VARLIST", "TABLEID": "CODETABLE", "COLID": "GKSXLB", "VALUEA": self.search.GKSXLB.join(","), "VALUEB": "" })
  75. }
  76. if (self.search.SQGKNRMS != "") {
  77. querycondition.push({ "CKIND": "VARCHAR", "TABLEID": "CODETABLE", "COLID": "SQGKNRMS", "VALUEA": self.search.SQGKNRMS, "VALUEB": "" })
  78. }
  79. if (self.params != "") {
  80. querycondition.push({ "CKIND": "VARLIST", "TABLEID": "SYS_ROUTE", "COLID": "ROUTEID", "VALUEA": self.params, "VALUEB": "" })
  81. }
  82. if (self.search.DATE1 != "" && self.search.DATE2 != "") {
  83. //querycondition.push({ "CKIND": "DATETIME", "TABLEID": "SYS_ROUTE_VIEW", "COLID": "RECEIVEDATE", "VALUEA": self.search.DATE1, "VALUEB": self.search.DATE2 })
  84. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "CODETABLE", "COLID": "SQRQ", "VALUEA": self.search.DATE1, "VALUEB": self.search.DATE2 })
  85. } else if (self.search.DATE1 != "" && self.search.DATE2 == "") {
  86. //querycondition.push({ "CKIND": "DATETIME", "TABLEID": "SYS_ROUTE_VIEW", "COLID": "RECEIVEDATE", "VALUEA": self.search.DATE1, "VALUEB": "" })
  87. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "CODETABLE", "COLID": "SQRQ", "VALUEA": self.search.DATE1, "VALUEB": "" })
  88. } else if (self.search.DATE1 == "" && self.search.DATE2 != "") {
  89. //querycondition.push({ "CKIND": "DATETIME", "TABLEID": "SYS_ROUTE_VIEW", "COLID": "RECEIVEDATE", "VALUEA": "", "VALUEB": self.search.DATE2 })
  90. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "CODETABLE", "COLID": "SQRQ", "VALUEA": "", "VALUEB": self.search.DATE2 })
  91. }
  92. if (self.search.SJBJRQ1 != "" && self.search.SJBJRQ2 != "") {
  93. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "CODETABLE", "COLID": "SJBJRQ", "VALUEA": self.search.SJBJRQ1, "VALUEB": self.search.SJBJRQ2 })
  94. } else if (self.search.SJBJRQ1 != "" && self.search.SJBJRQ2 == "") {
  95. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "CODETABLE", "COLID": "SJBJRQ", "VALUEA": self.search.SJBJRQ1, "VALUEB": "" })
  96. } else if (self.search.SJBJRQ1 == "" && self.search.SJBJRQ2 != "") {
  97. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "CODETABLE", "COLID": "SJBJRQ", "VALUEA": "", "VALUEB": self.search.SJBJRQ })
  98. }
  99. console.log(querycondition)
  100. self.list = [];
  101. self.total_count = 0;
  102. self.loading = true;
  103. self.pageno = pageno;
  104. $scope.__default__currentPage = self.pageno; //设置页面样式在第几页
  105. var data = {
  106. flowid: "AA51",
  107. userid: self.userId,
  108. pageno: self.pageno,
  109. pagesize: self.itemsPerPage,
  110. columnscondition: JSON.stringify(columnscondition),
  111. querycondition: JSON.stringify(querycondition),
  112. ordercondition: self.ordercondition.length == 0 ? "" : JSON.stringify(self.ordercondition)
  113. }
  114. if (self.type =='yifa'){
  115. data.creatormark = true
  116. }
  117. if (self.type =='daifa'){
  118. data.creatormark = true
  119. }
  120. //$http.post(apiurljs.login + "g2work/routeinfo/" + self.Url, { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  121. $http.post(apiurljs.login + "g2work/routeinfo/" + self.Url, data, postCfg)
  122. .success(function (obj) {
  123. var res = obj;
  124. //var res = strToJson(s4.decryptData_CBC(obj.data));
  125. self.loading = false;
  126. if (res.data == null || res.data == undefined || res.data == "") {
  127. self.noDataTip = 0;
  128. if (self.params != "") {
  129. self.params = "";
  130. self.getData(1)
  131. }
  132. } else {
  133. self.noDataTip = 1;
  134. self.list = res.data;
  135. self.total_count = res.totalCount;
  136. $.each(self.list, function (index, item) {
  137. self.LAIYUAN.forEach(function (item1) {
  138. if (item.LAIYUAN == item1.CODE)
  139. item.LAIYUAN = item1.CNAME;
  140. })
  141. self.GKSXLB.forEach(function (item1) {
  142. if (item.GKSXLB == item1.CODE)
  143. item.GKSXLB = item1.CNAME;
  144. })
  145. item.SQRQ = sp.format(item.SQRQ);
  146. item.SJBJRQ = sp.format(item.SJBJRQ)
  147. if (item.USERS) {
  148. item.USERSNAME = item.USERS.map(function (item1) { return item1.USERNAME }).join(",");
  149. item.ENDNODESNAME = item.USERS.map(function (item1) { return item1.ENDNODENAME }).join(",");
  150. }
  151. if (item.FILEN != "") {
  152. item.FILEN = item.FILEN.indexOf("dotype") > -1 ? item.FILEN.replace("dotype=1", "dotype=" + getDoType(self.type)) + "&type=" + self.type + "&lastReturnPageno=" + self.pageno : item.FILEN + "&dotype=" + getDoType(self.type) + "&type=" + self.type + "&lastReturnPageno=" + self.pageno;
  153. } else {
  154. item.FILEN = "#";
  155. }
  156. if (self.type == "finish") {
  157. item.RECEIVEDATE = item.FINISHEDDATE;
  158. }
  159. })
  160. }
  161. if (self.CrossPage.type == 0) {
  162. self.journalRecord(self.CrossPage.ctime, sp.getLocalDate1(), "", "接入日志", window.location.pathname)
  163. }
  164. })
  165. }
  166. self.btnRecall = function (routeid, kind) {
  167. var data = {
  168. routeid: routeid,
  169. kind: kind,
  170. userid: self.userId
  171. }
  172. $http.post(apiurljs.login + "g2work/routeinfo/queryDataRecallDoneByRouteid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  173. .success(function (obj) {
  174. var res = strToJson(s4.decryptData_CBC(obj.data));
  175. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  176. var dialogBody = "<div class=\"sp-dialog-body\">" + res.data.REMARK + "</div>";
  177. 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>";
  178. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  179. sp.openCenter(".sp-dialog");
  180. ///取消按钮
  181. $('.sp-closeDialog').click(function (event) {
  182. sp.closeCenter(".sp-dialog");
  183. event.preventDefault();
  184. event.stopPropagation();
  185. });
  186. //post消息的id
  187. $("#delDataTrue").click(function () {
  188. $http.post(apiurljs.login + "g2work/routeinfo/recallDoneByRouteid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  189. .success(function (obj) {
  190. var res = strToJson(s4.decryptData_CBC(obj.data));
  191. sp.dialoghide()
  192. if (res.success == true) {
  193. self.getData(self.pageno)
  194. } else {
  195. sp.dialog(res.message)
  196. }
  197. })
  198. });
  199. })
  200. }
  201. self.getLAIYUAN = function () {
  202. var data = {
  203. ckey: "CODE_LAIYUAN",
  204. routeinfoid: self.routeinfoid
  205. }
  206. $http.post(apiurljs.login + "g2app/abase/queryDataCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  207. .success(function (obj) {
  208. var res = strToJson(s4.decryptData_CBC(obj.data));
  209. self.LAIYUAN = res.data.CODE_LAIYUAN.filter(function (item) {
  210. return item.CODE != "C14";
  211. });
  212. self.getGKSXLB()
  213. })
  214. }
  215. self.getGKSXLB = function () {
  216. var data = {
  217. ckey: "CODE_GKSXLB",
  218. routeinfoid: self.routeinfoid
  219. }
  220. $http.post(apiurljs.login + "g2app/abase/queryDataCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  221. .success(function (obj) {
  222. var res = strToJson(s4.decryptData_CBC(obj.data));
  223. self.GKSXLB = res.data.CODE_GKSXLB;
  224. self.load()
  225. })
  226. }
  227. self.load = function () {
  228. if (self.get_lastReturnPageno == undefined || self.get_lastReturnPageno == null || self.get_lastReturnPageno == "") {
  229. self.getData(self.pageno);
  230. } else {
  231. $timeout(function () {
  232. self.getData(self.get_lastReturnPageno);
  233. }, 1)
  234. }
  235. }
  236. self.sortFiled = function (str) {
  237. var n = 0, obj, x = -1;
  238. self.ordercondition.forEach(function (item, index) {
  239. if (item.COLID == str) {
  240. n++
  241. item.SORTTYPE = item.SORTTYPE == "" || item.SORTTYPE == "asc" ? "desc" : "asc"
  242. obj = item; x = index
  243. }
  244. })
  245. if (n == 0) {
  246. self.ordercondition.unshift({ COLID: str, SORTTYPE: "desc" })
  247. }
  248. if (x != -1) {
  249. self.ordercondition.splice(x, 1)
  250. self.ordercondition.unshift(obj)
  251. }
  252. self.getData(1);
  253. }
  254. self.getLAIYUAN();
  255. self.openLayer = function () {
  256. self.params = "";
  257. if (self.search == null) {
  258. self.search = {
  259. BT: "",
  260. LAIYUAN: "",
  261. BIANHAO: "",
  262. GKSXLB: "",
  263. SQGKNRMS: "",
  264. USER: "",
  265. LXDH: "",
  266. DATE1: "",
  267. DATE2: "",
  268. SJBJRQ1: "",
  269. SJBJRQ2: ""
  270. }
  271. } else {
  272. self.LAIYUAN.forEach(function (item) {
  273. item.checked = false;
  274. if (self.search.LAIYUAN.indexOf(item.CODE) > -1) {
  275. item.checked = true;
  276. }
  277. })
  278. self.GKSXLB.forEach(function (item) {
  279. item.checked = false;
  280. if (self.search.GKSXLB.indexOf(item.CODE) > -1) {
  281. item.checked = true;
  282. }
  283. })
  284. }
  285. sp.layer("#Search")
  286. }
  287. self.doSearch = function () {
  288. self.search.LAIYUAN = [];
  289. self.LAIYUAN.forEach(function (item) {
  290. if (item.checked == true) {
  291. self.search.LAIYUAN.push(item.CODE)
  292. }
  293. })
  294. self.search.GKSXLB = [];
  295. self.GKSXLB.forEach(function (item) {
  296. if (item.checked == true) {
  297. self.search.GKSXLB.push(item.CODE)
  298. }
  299. })
  300. $.cookie("GlWorkPlatform-gongkaizhu", JSON.stringify(self.search), { path: '/', expires: 1 });
  301. self.getData(self.pageno)
  302. sp.layerhide()
  303. }
  304. self.cancal = function () {
  305. self.search = {
  306. BT: "",
  307. LAIYUAN: "",
  308. BIANHAO: "",
  309. GKSXLB: "",
  310. SQGKNRMS: "",
  311. USER: "",
  312. LXDH: "",
  313. DATE1: "",
  314. DATE2: "",
  315. SJBJRQ1: "",
  316. SJBJRQ2: ""
  317. }
  318. $.cookie("GlWorkPlatform-gongkaizhu", null, { path: '/', expires: 1 });
  319. self.getData(1)
  320. sp.layerhide()
  321. }
  322. self.refresh = function () {
  323. self.CrossPage.type = null;
  324. self.getData(self.pageno);
  325. }
  326. self.goUrl = function (item) {
  327. if (item.TODOLIST && item.TODOLIST.length > 1) {
  328. self.todoTitle = item.TITLE;
  329. self.todoList = item.TODOLIST;
  330. sp.layer("#todolist")
  331. } else {
  332. if (self.deviceType == "pad") {
  333. window.location.href = item.FILEN + "&dotype=" + getDoType(self.type)
  334. } else {
  335. sp.openNewWindow(item.FILEN + "&dotype=" + getDoType(self.type), item.TITLE + item.BIANHAO)
  336. }
  337. sp.layerhide();
  338. }
  339. }
  340. self.btnDel = function (item) {
  341. var data = {
  342. routeinfoid: item.ROUTEINFOID,
  343. userid: self.userId
  344. }
  345. $http.post(apiurljs.login + "g2work/routeinfo/deleteDraftByRouteinfoid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  346. .success(function (obj) {
  347. var res = strToJson(s4.decryptData_CBC(obj.data));
  348. if (res.success == true) {
  349. self.getData(self.pageno)
  350. } else {
  351. sp.dialog(res.message)
  352. }
  353. })
  354. }
  355. //撤销
  356. self.btnCX = function (item) {
  357. self.cxObj = { ROUTEINFOID: item.ROUTEINFOID, CONTENT: "" };
  358. sp.layer("#chexiao")
  359. }
  360. self.cxSubmit = function () {
  361. if (self.cxObj.CONTENT == "") {
  362. sp.layerhide();
  363. sp.dialog("请填写撤销原因!")
  364. $timeOut(function () {
  365. sp.dialoghide()
  366. sp.layer("#chexiao")
  367. },2000)
  368. }
  369. var data = {
  370. userid: self.userId,
  371. routeinfoid: self.cxObj.ROUTEINFOID,
  372. content: self.cxObj.CONTENT
  373. }
  374. $http.post(apiurljs.login + "g2work/routeinfo/unCancelDataByRouteinfoid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  375. .success(function (obj) {
  376. var res = strToJson(s4.decryptData_CBC(obj.data));
  377. sp.layerhide()
  378. if (res.success == true) {
  379. self.getData(self.pageno)
  380. } else {
  381. sp.dialog(res.message)
  382. }
  383. })
  384. }
  385. self.changeType = function (str) {
  386. if (self.type == str) {
  387. return;
  388. } else {
  389. var time1 = sp.getLocalDate1();
  390. self.journalRecord(time1, sp.getLocalDate1(), "查询", "查询日志", "/g2work/routeinfo/" + self.Url)
  391. self.type = str;
  392. self.Url = getUrl(self.type);
  393. self.getData(1)
  394. }
  395. }
  396. self.getAddFlag = function () {
  397. var data = {
  398. userid: self.userId,
  399. ntops: 0
  400. }
  401. $http.post(apiurljs.login + "g2work/desktop/queryWorkflowCando", data, postCfg)
  402. .success(function (obj) {
  403. var res = strToJson(s4.decryptData_CBC(obj.data));
  404. self.lcList = [];
  405. self.activeLC = {};
  406. res.data.forEach(function (item) {
  407. if ("AA51".indexOf(item.FLOWID) > -1) {
  408. self.lcList.push(item);
  409. }
  410. })
  411. })
  412. }
  413. self.getAddFlag()
  414. self.addLC = function () {
  415. if (self.lcList.length == 1) {
  416. sp.openNewWindow(self.lcList[0].FILEN + "&dotype=1", self.lcList[0].FLOWNAME)
  417. //window.location.href = self.lcList[0].FILEN + "&dotype=1"
  418. } else {
  419. sp.layer("#addLC");
  420. }
  421. }
  422. self.seeLCT = function (item,event) {
  423. event.preventDefault();
  424. event.stopPropagation();
  425. }
  426. self.goAddUrl = function () {
  427. sp.openNewWindow(self.activeLC.FILEN + "&dotype=1", self.activeLC.FLOWNAME)
  428. //window.location.href = self.activeLC.FILEN + "&dotype=1"
  429. }
  430. self.printEXCEL = function () {
  431. //var querycondition = [];
  432. //var columnscondition = [
  433. // { COLID: "LAIYUAN", COLUMNS: "SX_SZJWYSQGKXXCBD.LAIYUAN" },
  434. // { COLID: "BIANHAO", COLUMNS: "SX_SZJWYSQGKXXCBD.BIANHAO" },
  435. // { COLID: "GKSXLB", COLUMNS: "SX_SZJWYSQGKXXCBD.GKSXLB" },
  436. // { COLID: "SQRQ", COLUMNS: "SX_SZJWYSQGKXXCBD.SQRQ" },
  437. // { COLID: "LXDH", COLUMNS: "SX_SZJWYSQGKXXCBD.LXDH" },
  438. // { COLID: "SJBJRQ", COLUMNS: "SX_SZJWYSQGKXXCBD.SJBJRQ" },
  439. // { COLID: "SQGKNRMS", COLUMNS: "SX_SZJWYSQGKXXCBD.SQGKNRMS" }
  440. //]
  441. //var data = {
  442. // flowid: "AA51",
  443. // userid: self.userId,
  444. // pageno: 1,
  445. // pagesize: self.total_count,
  446. // columnscondition: JSON.stringify(columnscondition),
  447. // querycondition: JSON.stringify(querycondition),
  448. // ordercondition: ""
  449. //}
  450. //if (self.type == 'yifa') {
  451. // data.creatormark = true
  452. //}
  453. //if (self.type == 'daifa') {
  454. // data.creatormark = true
  455. //}
  456. //$http.post(apiurljs.login + "g2work/routeinfo/" + self.Url, data, postCfg)
  457. //.success(function (res) {
  458. // if (res.data == null || res.data == undefined || res.data == "") {
  459. // } else {
  460. // $.each(res.data, function (index, item) {
  461. // self.LAIYUAN.forEach(function (item1) {
  462. // if (item.LAIYUAN == item1.CODE)
  463. // item.LAIYUAN = item1.CNAME;
  464. // })
  465. // self.GKSXLB.forEach(function (item1) {
  466. // if (item.GKSXLB == item1.CODE)
  467. // item.GKSXLB = item1.CNAME;
  468. // })
  469. // item.SQRQ = sp.format(item.SQRQ);
  470. // item.SJBJRQ = sp.format(item.SJBJRQ)
  471. // if (item.USERS) {
  472. // item.USERSNAME = item.USERS.map(function (item1) { return item1.USERNAME }).join(",");
  473. // item.ENDNODESNAME = item.USERS.map(function (item1) { return item1.ENDNODENAME }).join(",");
  474. // }
  475. // if (self.type == "finish") {
  476. // item.RECEIVEDATE = item.FINISHEDDATE;
  477. // }
  478. // })
  479. //}
  480. if (self.type == "todo") {
  481. self.columns = [
  482. { header: "来源", key: "LAIYUAN", width: 20 },
  483. { header: "编号", key: "BIANHAO", width: 20 },
  484. { header: "名称", key: "TITLE", width: 25 },
  485. { header: "申请公开描述", key: "SQGKNRMS", width: 100 },
  486. { header: "申请时间", key: "SQRQ", width: 20 },
  487. { header: "联系电话", key: "LXDH", width: 20 },
  488. { header: "实际办结日期", key: "SJBJRQ", width: 20 },
  489. { header: "公开属性类别", key: "GKSXLB", width: 20 },
  490. { header: "转发人", key: "USERNAMEFROM", width: 25 },
  491. { header: "当前节点", key: "ENDNODENAME", width: 25 },
  492. { header: "接收时间", key: "RECEIVEDATE", width: 30 }
  493. ]
  494. self.listExcel = self.list.map(function (item) {
  495. return {
  496. LAIYUAN: item.LAIYUAN,
  497. BIANHAO: item.BIANHAO,
  498. TITLE: item.TITLE,
  499. SQGKNRMS: item.SQGKNRMS,
  500. SQRQ: item.SQRQ,
  501. LXDH: item.LXDH,
  502. SJBJRQ: item.SJBJRQ,
  503. GKSXLB: item.GKSXLB,
  504. USERNAMEFROM: item.USERNAMEFROM,
  505. ENDNODENAME: item.ENDNODENAME,
  506. RECEIVEDATE: item.RECEIVEDATE
  507. }
  508. })
  509. } else if (self.type == "done") {
  510. self.columns = [
  511. { header: "来源", key: "LAIYUAN", width: 20 },
  512. { header: "编号", key: "BIANHAO", width: 20 },
  513. { header: "名称", key: "TITLE", width: 25 },
  514. { header: "申请公开描述", key: "SQGKNRMS", width: 100 },
  515. { header: "申请时间", key: "SQRQ", width: 20 },
  516. { header: "联系电话", key: "LXDH", width: 20 },
  517. { header: "实际办结日期", key: "SJBJRQ", width: 20 },
  518. { header: "公开属性类别", key: "GKSXLB", width: 20 },
  519. { header: "当前办理人", key: "USERSNAME", width: 25 },
  520. { header: "当前节点", key: "ENDNODESNAME", width: 25 },
  521. { header: "接收时间", key: "RECEIVEDATE", width: 30 }
  522. ]
  523. self.listExcel = self.list.map(function (item) {
  524. return {
  525. LAIYUAN: item.LAIYUAN,
  526. BIANHAO: item.BIANHAO,
  527. TITLE: item.TITLE,
  528. SQGKNRMS: item.SQGKNRMS,
  529. SQRQ: item.SQRQ,
  530. LXDH: item.LXDH,
  531. SJBJRQ: item.SJBJRQ,
  532. GKSXLB: item.GKSXLB,
  533. USERSNAME: item.USERSNAME,
  534. ENDNODESNAME: item.ENDNODESNAME,
  535. RECEIVEDATE: item.RECEIVEDATE
  536. }
  537. })
  538. } else if (self.type == "finish") {
  539. self.columns = [
  540. { header: "来源", key: "LAIYUAN", width: 20 },
  541. { header: "编号", key: "BIANHAO", width: 20 },
  542. { header: "名称", key: "TITLE", width: 25 },
  543. { header: "申请公开描述", key: "SQGKNRMS", width: 100 },
  544. { header: "申请时间", key: "SQRQ", width: 20 },
  545. { header: "联系电话", key: "LXDH", width: 20 },
  546. { header: "实际办结日期", key: "SJBJRQ", width: 20 },
  547. { header: "公开属性类别", key: "GKSXLB", width: 20 },
  548. { header: "当前节点", key: "ENDNODENAME", width: 25 },
  549. { header: "接收时间", key: "RECEIVEDATE", width: 30 }
  550. ]
  551. self.listExcel = self.list.map(function (item) {
  552. return {
  553. LAIYUAN: item.LAIYUAN,
  554. BIANHAO: item.BIANHAO,
  555. TITLE: item.TITLE,
  556. SQGKNRMS: item.SQGKNRMS,
  557. SQRQ: item.SQRQ,
  558. LXDH: item.LXDH,
  559. SJBJRQ: item.SJBJRQ,
  560. GKSXLB: item.GKSXLB,
  561. ENDNODENAME: item.ENDNODENAME,
  562. RECEIVEDATE: item.RECEIVEDATE
  563. }
  564. })
  565. } else if (self.type == "yifa") {
  566. self.columns = [
  567. { header: "来源", key: "LAIYUAN", width: 20 },
  568. { header: "编号", key: "BIANHAO", width: 20 },
  569. { header: "名称", key: "TITLE", width: 25 },
  570. { header: "申请公开描述", key: "SQGKNRMS", width: 100 },
  571. { header: "申请时间", key: "SQRQ", width: 20 },
  572. { header: "联系电话", key: "LXDH", width: 20 },
  573. { header: "实际办结日期", key: "SJBJRQ", width: 20 },
  574. { header: "公开属性类别", key: "GKSXLB", width: 20 },
  575. { header: "上一节点办理人", key: "USERNAMEFROM", width: 25 },
  576. { header: "当前节点", key: "ENDNODENAME", width: 25 }
  577. ]
  578. self.listExcel = self.list.map(function (item) {
  579. return {
  580. LAIYUAN: item.LAIYUAN,
  581. BIANHAO: item.BIANHAO,
  582. TITLE: item.TITLE,
  583. SQGKNRMS: item.SQGKNRMS,
  584. SQRQ: item.SQRQ,
  585. LXDH: item.LXDH,
  586. SJBJRQ: item.SJBJRQ,
  587. GKSXLB: item.GKSXLB,
  588. USERNAMEFROM: item.USERNAMEFROM,
  589. ENDNODENAME: item.ENDNODENAME
  590. }
  591. })
  592. } else if (self.type == "daifa") {
  593. self.columns = [
  594. { header: "来源", key: "LAIYUAN", width: 20 },
  595. { header: "编号", key: "BIANHAO", width: 20 },
  596. { header: "名称", key: "TITLE", width: 25 },
  597. { header: "联系电话", key: "LXDH", width: 20 },
  598. { header: "实际办结日期", key: "SJBJRQ", width: 20 },
  599. { header: "公开属性类别", key: "GKSXLB", width: 20 },
  600. { header: "撤销原因", key: "UNCANCELCONTENT", width: 100 },
  601. { header: "当前节点", key: "ENDNODENAME", width: 25 },
  602. { header: "撤销时间", key: "UNCANCELCDATE", width: 30 }
  603. ]
  604. self.listExcel = self.list.map(function (item) {
  605. return {
  606. LAIYUAN: item.LAIYUAN,
  607. BIANHAO: item.BIANHAO,
  608. TITLE: item.TITLE,
  609. LXDH: item.LXDH,
  610. SJBJRQ: item.SJBJRQ,
  611. GKSXLB: item.GKSXLB,
  612. UNCANCELCONTENT: item.UNCANCELCONTENT,
  613. ENDNODENAME: item.ENDNODENAME,
  614. UNCANCELCDATE: item.UNCANCELCDATE
  615. }
  616. })
  617. }
  618. // 创建工作簿
  619. var workbook = new ExcelJS.Workbook()
  620. // 添加工作表
  621. var worksheet = workbook.addWorksheet('sheet1')
  622. // 设置表头
  623. worksheet.columns = self.columns
  624. // 添加表体数据
  625. self.listExcel.forEach(function (item) {
  626. worksheet.addRow(item)
  627. })
  628. /**
  629. * 设置样式
  630. */
  631. // 1、设置标题行样式
  632. var headerRow = worksheet.getRow(1)
  633. // 连续遍历所有非空单元格
  634. headerRow.eachCell(function(cell) {
  635. // 边框 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E8%BE%B9%E6%A1%86
  636. cell.border = {
  637. top: {
  638. style: 'thin'
  639. },
  640. left: {
  641. style: 'thin'
  642. },
  643. bottom: {
  644. style: 'thin'
  645. },
  646. right: {
  647. style: 'thin'
  648. },
  649. }
  650. // 填充 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%A1%AB%E5%85%85
  651. cell.fill = {
  652. type: 'pattern',
  653. pattern: 'solid',
  654. fgColor: {
  655. argb: '4f81bd'
  656. }
  657. }
  658. // 字体 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%AD%97%E4%BD%93
  659. cell.font = {
  660. name: '微软雅黑',
  661. size: 11,
  662. bold: true,
  663. color: { argb: '000000' }
  664. }
  665. // 对齐 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%AF%B9%E9%BD%90
  666. cell.alignment = {
  667. vertical: 'middle',
  668. horizontal: 'center'
  669. }
  670. })
  671. // 2、设置内容行样式
  672. const bodyRow = worksheet.getRows(2, self.listExcel.length + 1)
  673. bodyRow.forEach(function (row) {
  674. //遍历此列中的所有当前单元格,包括空单元格
  675. row.eachCell({ includeEmpty: true }, function (cell) {
  676. // 边框
  677. cell.border = {
  678. top: {
  679. style: 'thin'
  680. },
  681. left: {
  682. style: 'thin'
  683. },
  684. bottom: {
  685. style: 'thin'
  686. },
  687. right: {
  688. style: 'thin'
  689. },
  690. }
  691. // 字体 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%AD%97%E4%BD%93
  692. cell.font = {
  693. name: '微软雅黑',
  694. size: 11,
  695. color: { argb: '000000' }
  696. }
  697. // 对齐 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%AF%B9%E9%BD%90
  698. cell.alignment = {
  699. vertical: 'middle',
  700. horizontal: 'center'
  701. }
  702. })
  703. })
  704. // 导出表格
  705. workbook.xlsx.writeBuffer().then(function (buffer) {
  706. const blob = new Blob([buffer], {
  707. type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
  708. })
  709. const link = document.createElement('a')
  710. link.href = URL.createObjectURL(blob)
  711. link.download = '申请公开-' + (self.type == "todo" ? "待办" : self.type == "done" ? "已办" : self.type == "finish" ? "办结" : self.type == "yifa" ? "已发" : "待发") + sp.format(sp.getLocalDate()) + '.xlsx'
  712. link.click()
  713. URL.revokeObjectURL(link.href) // 下载完成释放掉blob对象
  714. })
  715. //})
  716. }
  717. //记录日志
  718. self.journalRecord = function (time1, time2, title, func, url) {
  719. if (!self.CrossPage || !self.CrossPage.cname) { return; }
  720. var data = {
  721. tablename: "SYS_CLICKLOG",
  722. data: {
  723. CTIME: time1 == null ? sp.getLocalDate1() : time1,
  724. TITLE: (title != "" ? self.CrossPage.cname + "/" + title : self.CrossPage.cname),
  725. REQUESTURL: url,
  726. REQUESTHEADERURL: window.location.origin,
  727. LOGTYPE: func,
  728. USERTYPE: $.cookie("GlWorkPlatform-userType"),
  729. ADMIN: $.cookie("GlWorkPlatform-userTypeEng"),
  730. CLIENTIP: sp.myIP(),
  731. PCNAME: sp.detectOS(),
  732. BROWSERNAME: sp.browser(),
  733. RESPONSETIME: time2 == null ? sp.getLocalDate1() : time2,
  734. USERID: self.userId,
  735. USERNAME: self.userName
  736. }
  737. }
  738. $http.post(apiurljs.login + "g2app/dataabase/insertFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  739. .success(function (res) {
  740. self.CrossPage.type = 1;
  741. })
  742. }
  743. $interval(function () {
  744. if (localStorage.getItem("GlWorkPlatform-gongkaizhu-refresh") == 1) {
  745. localStorage.removeItem("GlWorkPlatform-gongkaizhu-refresh")
  746. self.refresh()
  747. }
  748. }, 1000)
  749. //头部下滚冻结
  750. $(function () {
  751. //页面高度撑满
  752. setTimeout(function () {
  753. if ($(".ibox-content").height() < $(window).height() - 31) {
  754. $(".ibox-content").css("height", $(window).height() - 31)
  755. }
  756. }, 1)
  757. })
  758. }])
  759. function getUrl(str) {
  760. switch (str) {
  761. case "todo":
  762. return "queryDataTodoWithPage";
  763. break;
  764. case "done":
  765. return "queryDataDoneWithPage";
  766. break;
  767. case "finish":
  768. return "queryDataFinishWithPage";
  769. break;
  770. case "yifa":
  771. return "queryDataYifaWithPage";
  772. break;
  773. case "daifa":
  774. return "queryDataDaifaWithPage";
  775. break;
  776. }
  777. }
  778. function getDoType(str) {
  779. switch (str) {
  780. case "todo":
  781. return 1;
  782. break;
  783. case "daifa":
  784. return 1;
  785. break;
  786. default:
  787. return 0;
  788. break;
  789. }
  790. }