taizhang.js 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. 'use strict';
  2. var app = angular.module('app', [
  3. 'angularUtils.directives.dirPagination'
  4. ]);
  5. app.controller("taizhangCtrl", ["$scope", "$http", "$timeout", function ($scope, $http, $timeout) {
  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.get_lastReturnPageno = sp.getUrlName("lastReturnPageno");
  12. var postCfg = {
  13. headers: {
  14. 'Content-Type': 'application/json',
  15. 'Authorization': "Bearer " + self.get_AccessToken
  16. }
  17. }
  18. self.loading = false;
  19. self.search = JSON.parse($.cookie("GlWorkPlatform-sjpstz")) || { LEADERNAME: "", CTIME: "" };
  20. self.getData = function () {
  21. self.list = [];
  22. self.loading = true;
  23. var data = {
  24. tablename: "SX_SJPSWJTZ",
  25. colums: "*,TO_CHAR(QPSJ,'yyyy-mm-dd')as QPSJ1,TO_CHAR(DBTXTIME,'yyyy-mm-dd')as DBTXTIME1",
  26. order: "ID",
  27. sqlwhere: "",
  28. sqlorwhere: "",
  29. sqlinwhere: "",
  30. sqllikewhere: {
  31. WJMC: self.search.WJMC,
  32. LWDW: self.search.LWDW
  33. }
  34. }
  35. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  36. .success(function (obj) {
  37. var res = strToJson(s4.decryptData_CBC(obj.data));
  38. self.loading = false;
  39. self.list = res.data;
  40. self.list.forEach(function (item) {
  41. if (item.SJPS != null && item.SJPS.slice(0, 1) == "[") {
  42. var text = [];
  43. JSON.parse(item.SJPS).forEach(function (item1) {
  44. text.push(item1.opinion + " — " + item1.username + "," + item1.cdate)
  45. })
  46. item.SJPS=text.join(";")
  47. }
  48. })
  49. self.canExportExcel = true;
  50. })
  51. }
  52. self.init = function () {
  53. var data = {
  54. flowid: { AA16: "AA16", AA18: "AA18" },
  55. userid:self.userId
  56. }
  57. $http.post(apiurljs.login+"g2app/richang/initLingDaoPiShiFlow",{ data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  58. .success(function (obj) {
  59. var res = strToJson(s4.decryptData_CBC(obj.data));
  60. if (res.success) {
  61. self.getData()
  62. }
  63. })
  64. }
  65. self.init();
  66. self.openLayer = function () {
  67. sp.layer("#Search")
  68. }
  69. self.doSearch = function () {
  70. $.cookie("GlWorkPlatform-sjpstz", JSON.stringify(self.search), { path: '/', expires: 1 });
  71. self.getData(self.pageno)
  72. sp.layerhide()
  73. }
  74. self.cancal = function () {
  75. self.search = {
  76. CTIME: "",
  77. LEADERNAME: ""
  78. }
  79. $.cookie("GlWorkPlatform-sjpstz", null, { path: '/', expires: 1 });
  80. self.getData(1)
  81. sp.layerhide()
  82. }
  83. self.refresh = function () {
  84. self.getData(self.pageno);
  85. }
  86. self.printOut = function () {
  87. if (self.canExportExcel) {
  88. $('#table td').attr('t', 's')
  89. var defaultCellStyle = {
  90. font: {
  91. name: 'Times New Roman',
  92. sz: 12,
  93. color: {
  94. rgb: "000000"
  95. },
  96. bold: false, italic: false,
  97. underline: false
  98. },
  99. alignment: {
  100. vertical: "center",
  101. horizontal: "center", indent: 0, wrapText: true
  102. },
  103. border: {
  104. top: {
  105. style: "thin",
  106. color: {
  107. rgb: "000000"
  108. }
  109. },
  110. right: {
  111. style: "thin",
  112. color: {
  113. rgb: "000000"
  114. }
  115. },
  116. bottom: {
  117. style: "thin",
  118. color: {
  119. rgb: "000000"
  120. }
  121. },
  122. left: {
  123. style: "thin",
  124. color: {
  125. rgb: "000000"
  126. }
  127. }
  128. }
  129. };
  130. var cell = { defaultCellStyle: defaultCellStyle };
  131. var wb = XLSX.utils.table_to_book_addtitle(document.querySelector('#table'), cell, "书记批示台账")
  132. //设置表格的样式
  133. var wbout = XLSX.write(wb, {
  134. bookType: 'xlsx',
  135. bookSST: false,
  136. type: 'binary',
  137. cellStyles: true,
  138. defaultCellStyle: defaultCellStyle,
  139. showGridLines: false
  140. });
  141. var s2ab = function (s) {
  142. var buf = new ArrayBuffer(s.length);
  143. var view = new Uint8Array(buf);
  144. for (var i = 0; i !== s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
  145. return buf;
  146. };
  147. try {
  148. saveAs(new Blob([s2ab(wbout)], { type: 'application/octet-stream' }), '书记批示台账.xlsx')
  149. } catch (e) { if (typeof console !== 'undefined') console.log(e, wbout) }
  150. return wbout
  151. } else {
  152. sp.dialog('数据还未加载完成,请稍等...')
  153. }
  154. }
  155. //头部下滚冻结
  156. $(function () {
  157. //页面高度撑满
  158. setTimeout(function () {
  159. if ($(".ibox-content").height() < $(window).height() - 31) {
  160. $(".ibox-content").css("height", $(window).height() - 31)
  161. }
  162. }, 1)
  163. })
  164. }])