list.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636
  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. self.getflowids = sp.getUrlName("flowids")
  16. var postCfg = {
  17. headers: {
  18. 'Content-Type': 'application/json',
  19. 'Authorization': "Bearer " + self.get_AccessToken
  20. }
  21. }
  22. self.type = self.get_type != "" ? self.get_type : "todo";
  23. self.Url = getUrl(self.type);
  24. self.CrossPage = window.parent.CrossPage;
  25. self.loading = false;
  26. self.search = null//JSON.parse($.cookie("GlWorkPlatform-gwhgwhfawenbg"));
  27. self.noDataTip = 1;//没有数据时赋变量为0,先默认为1
  28. self.pageno = 1;
  29. self.total_count = 0;
  30. self.itemsPerPage = 20;
  31. self.pageOptions = [20, 30, 40, 50, 100, 300, 500];
  32. self.getGWZL = function () {
  33. var data = {
  34. tablename: "CODE_GWTYPE",
  35. colums: "ID,CODE,CNAME,FLOWID",
  36. order: "ID desc",
  37. sqlwhere: {
  38. USEMARK: 1
  39. },
  40. sqlinwhere: { FLOWID: self.flowids.map(function (item) { return "'" + item.ID + "'" }).join(",") },
  41. sqllikewhere: ""
  42. }
  43. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  44. .success(function (obj) {
  45. var res = strToJson(s4.decryptData_CBC(obj.data));
  46. self.GWZL = res.data;
  47. self.getHJCD()
  48. })
  49. }
  50. self.getHJCD = function () {
  51. var data = {
  52. ckey: "CODE_HJCD",
  53. routeinfoid: self.routeinfoid
  54. }
  55. $http.post(apiurljs.login + "g2app/abase/queryDataCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  56. .success(function (obj) {
  57. var res = strToJson(s4.decryptData_CBC(obj.data));
  58. self.HJCD = res.data.CODE_HJCD;
  59. self.load()
  60. })
  61. }
  62. self.ordercondition = []
  63. self.flowids = [
  64. { ID: "AA55", NAME: "管委会办公室发文", checked: false },
  65. { ID: "AA56", NAME: "管委会发文稿纸", checked: false }
  66. ]
  67. if (self.getflowids != "") {
  68. self.flowids = self.flowids.filter(function (item) {
  69. if (self.getflowids.indexOf(item.ID) > -1) {
  70. return true
  71. }
  72. })
  73. }
  74. self.getData = function (pageno) {
  75. if (self.search == null) {
  76. self.search = {
  77. FLOW: [],
  78. HJCD: [],
  79. GWZL: [],
  80. TITLE: "",
  81. GBDX: "",
  82. DATE1: "",
  83. DATE2: "",
  84. LHFW: '',
  85. NGR: ''
  86. }
  87. }
  88. var urlflowids = self.flowids.map(function (item) { return item.ID }).join("|");
  89. var flowids = self.search.FLOW.join("|");
  90. var querycondition = [];
  91. var columnscondition = [
  92. { COLID: "GWZL", COLUMNS: "FW_GWHBGSFW.FWZL|FW_GWHFWGZ.FWZL" },
  93. { COLID: "GBDX", COLUMNS: "FW_GWHBGSFW.GBDX|FW_GWHFWGZ.GBDX" },
  94. { COLID: "LHFW", COLUMNS: "FW_GWHBGSFW.LHFW|FW_GWHFWGZ.LHFW" },
  95. { COLID: "HJCD", COLUMNS: "FW_GWHBGSFW.HJCD|FW_GWHFWGZ.HJCD" },
  96. { COLID: "NGR", COLUMNS: "FW_GWHBGSFW.NGR|FW_GWHFWGZ.NGR" }
  97. ]
  98. if (self.search.HJCD != "") {
  99. querycondition.push({ "CKIND": "VARLIST", "TABLEID": "CODETABLE", "COLID": "HJCD", "VALUEA": self.search.HJCD.join(","), "VALUEB": "" })
  100. }
  101. if (self.search.GWZL != "") {
  102. querycondition.push({ "CKIND": "VARLIST", "TABLEID": "CODETABLE", "COLID": "GWZL", "VALUEA": self.search.GWZL.join(","), "VALUEB": "" })
  103. }
  104. if (self.search.TITLE != "") {
  105. querycondition.push({ "CKIND": "VARCHAR", "TABLEID": "SYS_ROUTE_VIEW", "COLID": "TITLE", "VALUEA": self.search.TITLE, "VALUEB": "" })
  106. }
  107. if (self.search.GBDX != "") {
  108. querycondition.push({ "CKIND": "VARCHAR", "TABLEID": "CODETABLE", "COLID": "GBDX", "VALUEA": self.search.GBDX, "VALUEB": "" })
  109. }
  110. if (self.search.LHFW != "") {
  111. querycondition.push({ "CKIND": "VARCHAR", "TABLEID": "CODETABLE", "COLID": "LHFW", "VALUEA": self.search.LHFW, "VALUEB": "" })
  112. }
  113. if (self.search.NGR != "") {
  114. querycondition.push({ "CKIND": "VARCHAR", "TABLEID": "CODETABLE", "COLID": "NGR", "VALUEA": self.search.NGR, "VALUEB": "" })
  115. }
  116. if (self.params != "") {
  117. querycondition.push({ "CKIND": "VARLIST", "TABLEID": "SYS_ROUTE", "COLID": "ROUTEID", "VALUEA": self.params, "VALUEB": "" })
  118. }
  119. if (self.search.DATE1 != "" && self.search.DATE2 != "") {
  120. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "SYS_ROUTE_VIEW", "COLID": "RECEIVEDATE", "VALUEA": self.search.DATE1, "VALUEB": self.search.DATE2 })
  121. } else if (self.search.DATE1 != "" && self.search.DATE2 == "") {
  122. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "SYS_ROUTE_VIEW", "COLID": "RECEIVEDATE", "VALUEA": self.search.DATE1, "VALUEB": "" })
  123. } else if (self.search.DATE1 == "" && self.search.DATE2 != "") {
  124. querycondition.push({ "CKIND": "DATETIME", "TABLEID": "SYS_ROUTE_VIEW", "COLID": "RECEIVEDATE", "VALUEA": "", "VALUEB": self.search.DATE2 })
  125. }
  126. self.list = [];
  127. self.loading = true;
  128. self.pageno = pageno;
  129. $scope.__default__currentPage = self.pageno; //设置页面样式在第几页
  130. var data = {
  131. flowid: flowids != "" ? flowids : urlflowids != "" ? urlflowids : "AA55|AA56",
  132. userid: self.userId,
  133. pageno: self.pageno,
  134. pagesize: self.itemsPerPage,
  135. columnscondition: JSON.stringify(columnscondition),
  136. querycondition: JSON.stringify(querycondition),
  137. ordercondition: self.ordercondition.length == 0 ? "" : JSON.stringify(self.ordercondition)
  138. }
  139. //$http.post(apiurljs.login + "g2work/routeinfo/" + self.Url, { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  140. $http.post(apiurljs.login + "g2work/routeinfo/" + self.Url, data, postCfg)
  141. .success(function (obj) {
  142. var res = obj;
  143. //var res = strToJson(s4.decryptData_CBC(obj.data));
  144. self.loading = false;
  145. if (res.data == null || res.data == undefined || res.data == "") {
  146. self.noDataTip = 0;
  147. if (self.params != "") {
  148. self.params = "";
  149. self.getData(1)
  150. }
  151. } else {
  152. self.noDataTip = 1;
  153. self.list = res.data;
  154. self.total_count = res.totalCount;
  155. $.each(self.list, function (index, item) {
  156. self.HJCD.forEach(function (item1) {
  157. if (item.HJCD == item1.CODE)
  158. item.HJCD = item1.CNAME
  159. })
  160. self.GWZL.forEach(function (item1) {
  161. if (item.GWZL == item1.CODE)
  162. item.GWZL = item1.CNAME
  163. })
  164. if (item.FILEN != "") {
  165. item.FILEN = item.FILEN.indexOf("dotype") > -1 ? item.FILEN.replace("dotype=1", "dotype=" + getDoType(self.type)) + "&type=" + self.type + "&lastReturnPageno=" + self.pageno + "&flowid=" + item.FLOWID : item.FILEN + "&dotype=" + getDoType(self.type) + "&type=" + self.type + "&lastReturnPageno=" + self.pageno + "&flowid=" + item.FLOWID;
  166. } else {
  167. item.FILEN = "#";
  168. }
  169. if (item.TODOLIST) {
  170. item.TODOLIST.forEach(function (item1) {
  171. if (item1.FILEN != "") {
  172. item1.FILEN = item1.FILEN.indexOf("dotype") > -1 ? item1.FILEN.replace("dotype=1", "dotype=" + getDoType(self.type)) + "&type=" + self.type + "&lastReturnPageno=" + self.pageno + "&flowid=" + item.FLOWID : item1.FILEN + "&dotype=" + getDoType(self.type) + "&type=" + self.type + "&lastReturnPageno=" + self.pageno + "&flowid=" + item.FLOWID;
  173. } else {
  174. item1.FILEN = "#";
  175. }
  176. })
  177. }
  178. if (self.type == "finish") {
  179. item.RECEIVEDATE = item.FINISHEDDATE;
  180. }
  181. })
  182. }
  183. if (self.CrossPage.type == 0) {
  184. self.journalRecord(self.CrossPage.ctime, sp.getLocalDate1(), "", "接入日志", window.location.pathname)
  185. }
  186. })
  187. }
  188. self.load = function () {
  189. if (self.get_lastReturnPageno == undefined || self.get_lastReturnPageno == null || self.get_lastReturnPageno == "") {
  190. self.getData(self.pageno);
  191. } else {
  192. $timeout(function () {
  193. self.getData(self.get_lastReturnPageno);
  194. }, 1)
  195. }
  196. }
  197. self.sortFiled = function (str) {
  198. var n = 0, obj, x = -1;
  199. self.ordercondition.forEach(function (item, index) {
  200. if (item.COLID == str) {
  201. n++
  202. item.SORTTYPE = item.SORTTYPE == "" || item.SORTTYPE == "asc" ? "desc" : "asc"
  203. obj = item; x = index
  204. }
  205. })
  206. if (n == 0) {
  207. self.ordercondition.unshift({ COLID: str, SORTTYPE: "desc" })
  208. }
  209. if (x != -1) {
  210. self.ordercondition.splice(x, 1)
  211. self.ordercondition.unshift(obj)
  212. }
  213. self.getData(1);
  214. }
  215. self.getGWZL();
  216. self.openLayer = function () {
  217. self.params = "";
  218. if (self.search == null) {
  219. self.search = {
  220. FLOW: [],
  221. HJCD: [],
  222. GWZL: [],
  223. TITLE: "",
  224. GBDX: "",
  225. DATE1: "",
  226. DATE2: "",
  227. LHFW: '',
  228. NGR: ''
  229. }
  230. } else {
  231. self.flowids.forEach(function (item) {
  232. item.checked = false;
  233. if (self.search.FLOW.indexOf(item.ID) > -1) {
  234. item.checked = true;
  235. }
  236. })
  237. self.HJCD.forEach(function (item) {
  238. item.checked = false;
  239. if (self.search.HJCD.indexOf(item.CODE) > -1) {
  240. item.checked = true;
  241. }
  242. })
  243. self.GWZL.forEach(function (item) {
  244. item.checked = false;
  245. if (self.search.GWZL.indexOf(item.CODE) > -1) {
  246. item.checked = true;
  247. }
  248. })
  249. }
  250. sp.layer("#Search")
  251. }
  252. self.doSearch = function () {
  253. self.search.FLOW = [];
  254. self.flowids.forEach(function (item) {
  255. if (item.checked == true) {
  256. self.search.FLOW.push(item.ID)
  257. }
  258. })
  259. self.search.HJCD = [];
  260. self.HJCD.forEach(function (item) {
  261. if (item.checked == true) {
  262. self.search.HJCD.push(item.CODE)
  263. }
  264. })
  265. self.search.GWZL = [];
  266. self.GWZL.forEach(function (item) {
  267. if (item.checked == true) {
  268. self.search.GWZL.push(item.CODE)
  269. }
  270. })
  271. self.getData(self.pageno)
  272. sp.layerhide()
  273. }
  274. self.cancal = function () {
  275. self.search = {
  276. FLOW: [],
  277. HJCD: [],
  278. GWZL: [],
  279. TITLE: "",
  280. GBDX: "",
  281. DATE1: "",
  282. DATE2: "",
  283. LHFW: '',
  284. NGR: ''
  285. }
  286. $.cookie("GlWorkPlatform-gwhfawenbg", null, { path: '/', expires: 1 });
  287. self.getData(1)
  288. sp.layerhide()
  289. }
  290. self.refresh = function () {
  291. self.CrossPage.type = null;
  292. self.getData(self.pageno);
  293. }
  294. self.goUrl = function (item) {
  295. if (item.TODOLIST && item.TODOLIST.length > 1) {
  296. self.todoTitle = item.TITLE;
  297. self.todoList = item.TODOLIST;
  298. sp.layer("#todolist")
  299. } else {
  300. if (self.deviceType == "pad") {
  301. window.location.href = item.FILEN + "&dotype=" + getDoType(self.type)
  302. } else {
  303. sp.openNewWindow(item.FILEN + "&dotype=" + getDoType(self.type), item.TITLE)
  304. }
  305. sp.layerhide();
  306. }
  307. }
  308. self.btnDel = function (item) {
  309. var data = {
  310. routeinfoid: item.ROUTEINFOID,
  311. userid: self.userId
  312. }
  313. $http.post(apiurljs.login + "g2work/routeinfo/deleteDraftByRouteinfoid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  314. .success(function (obj) {
  315. var res = strToJson(s4.decryptData_CBC(obj.data));
  316. if (res.success == true) {
  317. self.getData(self.pageno)
  318. } else {
  319. sp.dialog(res.message)
  320. }
  321. })
  322. }
  323. self.btnRecall = function (routeid, kind) {
  324. var data = {
  325. routeid: routeid,
  326. kind: kind,
  327. userid: self.userId
  328. }
  329. $http.post(apiurljs.login + "g2work/routeinfo/queryDataRecallDoneByRouteid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  330. .success(function (obj) {
  331. var res = strToJson(s4.decryptData_CBC(obj.data));
  332. var dialogHead = "<span class=\"sp-dialog-head\"><span class=\"sp-dialog-tip\">温馨提示</span><span class=\"sp-dialog-close sp-closeDialog\" title=\"关闭\">×</span></span>";
  333. var dialogBody = "<div class=\"sp-dialog-body\">" + res.data.REMARK + "</div>";
  334. 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>";
  335. $('.sp-dialog').html(dialogHead + dialogBody + dialogFoot);
  336. sp.openCenter(".sp-dialog");
  337. ///取消按钮
  338. $('.sp-closeDialog').click(function (event) {
  339. sp.closeCenter(".sp-dialog");
  340. event.preventDefault();
  341. event.stopPropagation();
  342. });
  343. //post消息的id
  344. $("#delDataTrue").click(function () {
  345. $http.post(apiurljs.login + "g2work/routeinfo/recallDoneByRouteid", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  346. .success(function (obj) {
  347. var res = strToJson(s4.decryptData_CBC(obj.data));
  348. sp.dialoghide()
  349. if (res.success == true) {
  350. self.getData(self.pageno)
  351. } else {
  352. sp.dialog(res.message)
  353. }
  354. })
  355. });
  356. })
  357. }
  358. self.changeType = function (str) {
  359. if (self.type == str) {
  360. return;
  361. } else {
  362. var time1 = sp.getLocalDate1();
  363. self.journalRecord(time1, sp.getLocalDate1(), "查询", "查询日志", "/g2work/routeinfo/" + self.Url)
  364. self.type = str;
  365. self.Url = getUrl(self.type);
  366. self.getData(1)
  367. }
  368. }
  369. self.getAddFlag = function () {
  370. var data = {
  371. userid: self.userId,
  372. ntops: 0
  373. }
  374. $http.post(apiurljs.login + "g2work/desktop/queryWorkflowCando", data, postCfg)
  375. .success(function (obj) {
  376. var res = strToJson(s4.decryptData_CBC(obj.data));
  377. self.lcList = [];
  378. self.activeLC = {};
  379. var urlflowids = self.flowids.map(function (item) { return item.ID }).join("|");
  380. var flows = urlflowids != "" ? urlflowids : "AA55|AA56";
  381. res.data.forEach(function (item) {
  382. //if ("AA03|AA04|AA06|AA07|AA08|AA09|AA10|AA11|AA20|AA21|AA23|AA24|AA40|AA41|AA42|AA43|AA49|AA55|AA56|AA57|AA63|AA75|AA76|AA77|AA78|AA79|AA80".indexOf(item.FLOWID) > -1) {
  383. if (flows.indexOf(item.FLOWID) > -1) {
  384. self.lcList.push(item);
  385. }
  386. })
  387. })
  388. }
  389. self.getAddFlag()
  390. self.addLC = function () {
  391. if (self.lcList.length == 1) {
  392. sp.openNewWindow(self.lcList[0].FILEN + "&dotype=1&GWCODE=" + self.activeLC.CODE + "&flowid=" + self.lcList[0].FLOWID, self.lcList[0].FLOWNAME)
  393. } else {
  394. //self.seeMB()
  395. sp.layer("#addLC");
  396. }
  397. }
  398. self.seeMB = function () {
  399. var postData = {
  400. convertType: 0,
  401. zoom: 0.8,
  402. fileUrl: apiurljs.login.split("glwork/")[0] + "glworkweb/templates/docfile/" + self.activeLC.DOCFILE
  403. };
  404. var postCfg_transfer = {
  405. headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
  406. transformRequest: function (data) {
  407. return $.param(data);
  408. }
  409. };
  410. $http.post(apiurljs.login.split("glwork/")[0] + "fcscloud/composite/httpfile", postData, postCfg_transfer)
  411. .success(function (res) {
  412. if (res.errorcode === 0) {
  413. $("#iframe_MB").attr("src", res.data.viewUrl);
  414. } else {
  415. sp.dialog(res.message);
  416. }
  417. });
  418. }
  419. self.seeLCT = function (item, event) {
  420. event.preventDefault();
  421. event.stopPropagation();
  422. }
  423. self.goAddUrl = function () {
  424. if (!self.activeLC.FILEN) {
  425. return
  426. }
  427. sp.openNewWindow(self.activeLC.FILEN + "&dotype=1&GWCODE=" + self.activeLC.CODE + "&flowid=" + self.activeLC.FLOWID, self.activeLC.FLOWNAME)
  428. sp.layerhide()
  429. }
  430. self.printEXCEL = function () {
  431. self.columns = [
  432. { header: "缓急程度", key: "HJCD", width: 20 },
  433. { header: "公文种类", key: "GWZL", width: 20 },
  434. { header: "标题", key: "TITLE", width: 100 },
  435. { header: "公布对象", key: "GBDX", width: 20 },
  436. { header: "联合发文", key: "LHFW", width: 20 },
  437. { header: "拟稿人", key: "NGR", width: 20 },
  438. { header: "上一节点转办时间", key: "RECEIVEDATE", width: 25 }
  439. ]
  440. self.listExcel = self.list.map(function (item) {
  441. return {
  442. HJCD: item.HJCD,
  443. GWZL: item.GWZL,
  444. TITLE: item.TITLE,
  445. GBDX: item.GBDX,
  446. LHFW: item.LHFW,
  447. NGR: item.NGR,
  448. RECEIVEDATE: item.RECEIVEDATE
  449. }
  450. })
  451. // 创建工作簿
  452. var workbook = new ExcelJS.Workbook()
  453. // 添加工作表
  454. var worksheet = workbook.addWorksheet('sheet1')
  455. // 设置表头
  456. worksheet.columns = self.columns
  457. // 添加表体数据
  458. self.listExcel.forEach(function (item) {
  459. worksheet.addRow(item)
  460. })
  461. /**
  462. * 设置样式
  463. */
  464. // 1、设置标题行样式
  465. var headerRow = worksheet.getRow(1)
  466. // 连续遍历所有非空单元格
  467. headerRow.eachCell(function (cell) {
  468. // 边框 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E8%BE%B9%E6%A1%86
  469. cell.border = {
  470. top: {
  471. style: 'thin'
  472. },
  473. left: {
  474. style: 'thin'
  475. },
  476. bottom: {
  477. style: 'thin'
  478. },
  479. right: {
  480. style: 'thin'
  481. },
  482. }
  483. // 填充 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%A1%AB%E5%85%85
  484. cell.fill = {
  485. type: 'pattern',
  486. pattern: 'solid',
  487. fgColor: {
  488. argb: '4f81bd'
  489. }
  490. }
  491. // 字体 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%AD%97%E4%BD%93
  492. cell.font = {
  493. name: '微软雅黑',
  494. size: 11,
  495. bold: true,
  496. color: { argb: '000000' }
  497. }
  498. // 对齐 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%AF%B9%E9%BD%90
  499. cell.alignment = {
  500. vertical: 'middle',
  501. horizontal: 'center'
  502. }
  503. })
  504. // 2、设置内容行样式
  505. const bodyRow = worksheet.getRows(2, self.listExcel.length + 1)
  506. bodyRow.forEach(function (row) {
  507. //遍历此列中的所有当前单元格,包括空单元格
  508. row.eachCell({ includeEmpty: true }, function (cell) {
  509. // 边框
  510. cell.border = {
  511. top: {
  512. style: 'thin'
  513. },
  514. left: {
  515. style: 'thin'
  516. },
  517. bottom: {
  518. style: 'thin'
  519. },
  520. right: {
  521. style: 'thin'
  522. },
  523. }
  524. // 字体 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%AD%97%E4%BD%93
  525. cell.font = {
  526. name: '微软雅黑',
  527. size: 11,
  528. color: { argb: '000000' }
  529. }
  530. // 对齐 https://github.com/exceljs/exceljs/blob/HEAD/README_zh.md#%E5%AF%B9%E9%BD%90
  531. cell.alignment = {
  532. vertical: 'middle',
  533. horizontal: 'center'
  534. }
  535. })
  536. })
  537. // 导出表格
  538. workbook.xlsx.writeBuffer().then(function (buffer) {
  539. const blob = new Blob([buffer], {
  540. type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
  541. })
  542. const link = document.createElement('a')
  543. link.href = URL.createObjectURL(blob)
  544. link.download = '管委会发文' + sp.format(sp.getLocalDate()) + '.xlsx'
  545. link.click()
  546. URL.revokeObjectURL(link.href) // 下载完成释放掉blob对象
  547. })
  548. //})
  549. }
  550. //记录日志
  551. self.journalRecord = function (time1, time2, title, func, url) {
  552. if (!self.CrossPage || !self.CrossPage.cname) { return; }
  553. var data = {
  554. tablename: "SYS_CLICKLOG",
  555. data: {
  556. CTIME: time1 == null ? sp.getLocalDate1() : time1,
  557. TITLE: (title != "" ? self.CrossPage.cname + "/" + title : self.CrossPage.cname),
  558. REQUESTURL: url,
  559. REQUESTHEADERURL: window.location.origin,
  560. LOGTYPE: func,
  561. USERTYPE: $.cookie("GlWorkPlatform-userType"),
  562. ADMIN: $.cookie("GlWorkPlatform-userTypeEng"),
  563. CLIENTIP: sp.myIP(),
  564. PCNAME: sp.detectOS(),
  565. BROWSERNAME: sp.browser(),
  566. RESPONSETIME: time2 == null ? sp.getLocalDate1() : time2,
  567. USERID: self.userId,
  568. USERNAME: self.userName
  569. }
  570. }
  571. $http.post(apiurljs.login + "g2app/dataabase/insertFormData", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  572. .success(function (res) {
  573. self.CrossPage.type = 1;
  574. })
  575. }
  576. localStorage.removeItem("GlWorkPlatform-gwhfawenbg-refresh")
  577. $interval(function () {
  578. if (localStorage.getItem("GlWorkPlatform-gwhfawenbg-refresh") == 1) {
  579. localStorage.removeItem("GlWorkPlatform-gwhfawenbg-refresh")
  580. self.refresh()
  581. }
  582. }, 1000)
  583. //头部下滚冻结
  584. $(function () {
  585. //页面高度撑满
  586. setTimeout(function () {
  587. if ($(".ibox-content").height() < $(window).height() - 31) {
  588. $(".ibox-content").css("height", $(window).height() - 31)
  589. }
  590. }, 1)
  591. })
  592. }])
  593. function getUrl(str) {
  594. switch (str) {
  595. case "todo":
  596. return "queryDataTodoWithPage";
  597. break;
  598. case "done":
  599. return "queryDataDoneWithPage";
  600. break;
  601. case "finish":
  602. return "queryDataFinishWithPage";
  603. break;
  604. }
  605. }
  606. function getDoType(str) {
  607. switch (str) {
  608. case "todo":
  609. return 1;
  610. break;
  611. default:
  612. return 0;
  613. break;
  614. }
  615. }