list.js 33 KB

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