zhiban1.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  1. 'use strict';
  2. var app = angular.module('app', [
  3. 'angularUtils.directives.dirPagination'
  4. ]);
  5. app.controller("listCtrl", ["$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. self.dateParam = sp.getUrlName("date");
  12. var postCfg = {
  13. headers: {
  14. 'Content-Type': 'application/json',
  15. 'Authorization': "Bearer " + self.get_AccessToken
  16. }
  17. }
  18. self.search = {
  19. type: 1,
  20. dw: "",
  21. date: self.dateParam == "" ? sp.currentYear() + "-" + formate(sp.currentMonth()) : self.dateParam
  22. }
  23. self.showType = 1;
  24. self.getYF = function () {
  25. var data = {
  26. ckey: "CODE_ZBYF",
  27. routeinfoid: self.routeinfoid
  28. }
  29. $http.post(apiurljs.login + "g2app/abase/queryDataCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  30. .success(function (obj) {
  31. var res = strToJson(s4.decryptData_CBC(obj.data));
  32. self.YF = res.data.CODE_ZBYF;
  33. self.getXQ()
  34. })
  35. }
  36. self.getXQ = function () {
  37. var data = {
  38. ckey: "CODE_ZBXQ",
  39. routeinfoid: self.routeinfoid
  40. }
  41. $http.post(apiurljs.login + "g2app/abase/queryDataCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  42. .success(function (obj) {
  43. var res = strToJson(s4.decryptData_CBC(obj.data));
  44. self.XQ = res.data.CODE_ZBXQ;
  45. self.getType()
  46. })
  47. }
  48. self.getType = function () {
  49. var data = {
  50. userid: self.userId
  51. }
  52. $http.post(apiurljs.login + "g2app/dataabase/queryDPParentName", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  53. .success(function (obj) {
  54. var res = strToJson(s4.decryptData_CBC(obj.data));
  55. for (var i in res.data[0]) {
  56. if (res.data[0][i][0].PARENT_DATA.length > 0){
  57. self.search.type = res.data[0][i][0].PARENT_DATA[0].SECTION != "直属单位" ? 1 : 2;
  58. } else {
  59. self.search.type = 1;
  60. }
  61. }
  62. //self.search.type == res.data;
  63. if (self.search.type == 1) {
  64. self.getZBSJ()
  65. } else {
  66. self.getZBSJ1()
  67. }
  68. })
  69. }
  70. //委机关
  71. self.getZBSJ = function () {
  72. var data = {
  73. ckey: "CODE_ZHIBANTIME",
  74. routeinfoid: self.routeinfoid
  75. }
  76. $http.post(apiurljs.login + "g2app/abase/queryDataCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  77. .success(function (obj) {
  78. var res = strToJson(s4.decryptData_CBC(obj.data));
  79. self.ZBSJ = res.data.CODE_ZHIBANTIME;
  80. self.getData()
  81. })
  82. }
  83. //直属单位
  84. self.getZBSJ1 = function () {
  85. var data = {
  86. ckey: "CODE_ZHIBANTIMEZSDW",
  87. routeinfoid: self.routeinfoid
  88. }
  89. $http.post(apiurljs.login + "g2app/abase/queryDataCode", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  90. .success(function (obj) {
  91. var res = strToJson(s4.decryptData_CBC(obj.data));
  92. self.ZBSJ = res.data.CODE_ZHIBANTIMEZSDW;
  93. self.getData()
  94. })
  95. }
  96. self.getYF()
  97. self.noDataTip = 1;//没有数据时赋变量为0,先默认为1
  98. self.getData = function () {
  99. console.log(self.search.type)
  100. var year = self.search.date.split("-")[0], month = "";
  101. self.YF.forEach(function (item) {
  102. if (formate(item.CNAME) == self.search.date.split("-")[1]) {
  103. month = item.CODE;
  104. }
  105. })
  106. self.list = [];
  107. var data = {
  108. tablename: self.search.type == 1 ? "SX_PRZBB" : "SX_YFZBB",
  109. colums: "*",
  110. order: "ID desc",
  111. sqlwhere: { NF: year, YF: month, STOPMARK: 1 },
  112. sqlorwhere: "",
  113. sqlinwhere: "",
  114. sqllikewhere: { SQDW: self.search.dw }
  115. }
  116. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  117. .success(function (obj) {
  118. var res = strToJson(s4.decryptData_CBC(obj.data));
  119. self.canExportExcel = true;
  120. if (res.data == null || res.data == undefined || res.data == "") {
  121. self.noDataTip = 0;
  122. } else {
  123. self.parentID = res.data[0].ID;
  124. if (self.search.type == 1) {
  125. self.ZBREMARK = res.data[0].ZBREMARK;
  126. } else {
  127. self.ZBSJREMARK = res.data[0].ZBSJREMARK;
  128. self.ZBDH = res.data[0].ZBDH;
  129. self.ZBCZ = res.data[0].ZBCZ;
  130. self.YJJJRZBDH = res.data[0].YJJJRZBDH;
  131. self.YJJJRZBCZ = res.data[0].YJJJRZBCZ;
  132. self.ZBDD = res.data[0].ZBDD;
  133. self.TBR = res.data[0].TBR;
  134. self.REMARK = res.data[0].REMARK;
  135. }
  136. var data1 = {
  137. tablename: self.search.type == 1 ? "SX_PRZBB_01" : "SX_YFZBB_01",
  138. colums: "*",
  139. order: "ID",
  140. sqlwhere: { PID: self.parentID },
  141. sqlinwhere: "",
  142. sqllikewhere: ""
  143. }
  144. $http.post(apiurljs.login + "g2app/dataabase/queryDataByCol", { data: s4.encryptData_CBC(JSON.stringify(data1)) }, postCfg)
  145. .success(function (obj1) {
  146. var res1 = strToJson(s4.decryptData_CBC(obj1.data));
  147. self.noDataTip = 1;
  148. self.list = res1.data;
  149. self.list.forEach(function (item) {
  150. item.RIQI = formate(item.RIQI);
  151. self.XQ.forEach(function (item1) {
  152. if (item.XINGQI == item1.CODE) {
  153. item.XINGQI = item1.CNAME
  154. }
  155. })
  156. self.ZBSJ.forEach(function (item1) {
  157. if (item.ZBSJ == item1.CODE) {
  158. item.ZBSJ = item1.CNAME
  159. }
  160. })
  161. })
  162. })
  163. }
  164. })
  165. }
  166. self.printOut = function () {
  167. if (self.canExportExcel) {
  168. $('#printOut td').attr('t', 's')
  169. var defaultCellStyle = {
  170. font: {
  171. name: 'Times New Roman',
  172. sz: 12,
  173. color: {
  174. rgb: "000000"
  175. },
  176. bold: false, italic: false,
  177. underline: false
  178. },
  179. alignment: {
  180. vertical: "center",
  181. horizontal: "center", indent: 0, wrapText: true
  182. },
  183. border: {
  184. top: {
  185. style: "thin",
  186. color: {
  187. rgb: "000000"
  188. }
  189. },
  190. right: {
  191. style: "thin",
  192. color: {
  193. rgb: "000000"
  194. }
  195. },
  196. bottom: {
  197. style: "thin",
  198. color: {
  199. rgb: "000000"
  200. }
  201. },
  202. left: {
  203. style: "thin",
  204. color: {
  205. rgb: "000000"
  206. }
  207. }
  208. }
  209. };
  210. var cell = { defaultCellStyle: defaultCellStyle };
  211. var wb = XLSX.utils.table_to_book_addtitle(document.querySelector('#printOut'), cell, (self.search.type == 1 ? "委机关值班表" : "直属单位值班表"))
  212. //设置表格的样式
  213. var wbout = XLSX.write(wb, {
  214. bookType: 'xlsx',
  215. bookSST: false,
  216. type: 'binary',
  217. cellStyles: true,
  218. defaultCellStyle: defaultCellStyle,
  219. showGridLines: false
  220. });
  221. var s2ab = function (s) {
  222. var buf = new ArrayBuffer(s.length);
  223. var view = new Uint8Array(buf);
  224. for (var i = 0; i !== s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
  225. return buf;
  226. };
  227. try {
  228. saveAs(new Blob([s2ab(wbout)], { type: 'application/octet-stream' }), (self.search.type == 1 ? "委机关值班表" : "直属单位值班表") + '.xlsx')
  229. } catch (e) { if (typeof console !== 'undefined') console.log(e, wbout) }
  230. return wbout
  231. } else {
  232. sp.dialog('数据还未加载完成,请稍等...')
  233. }
  234. }
  235. //委机关查看直属单位
  236. self.getZSDW = function () {
  237. var data = {
  238. nf: self.search.date.split("-")[0],
  239. yfname: parseInt(self.search.date.split("-")[1]),
  240. columns: "*"
  241. }
  242. $http.post(apiurljs.login + "g2app/ZhiBan/queryZSDWList", { data: s4.encryptData_CBC(JSON.stringify(data)) }, postCfg)
  243. .success(function (obj) {
  244. var res = strToJson(s4.decryptData_CBC(obj.data));
  245. self.zsdwList = res.data;
  246. self.zsdwList.forEach(function (item) {
  247. item.BSDATE1 = sp.datefmt("yyyy-MM-dd HH:mm", item.BSDATE)
  248. })
  249. })
  250. }
  251. self.goDetail = function (item) {
  252. if (item.STOPMARK !='1') {
  253. return
  254. } else {
  255. sp.openNewWindow("detail.html?id=" + item.ID, item.CNAME + self.search.date.slice(5) + "月值班表")
  256. }
  257. }
  258. //头部下滚冻结
  259. $(function () {
  260. //页面高度撑满
  261. setTimeout(function () {
  262. if ($(".ibox-content").height() < $(window).height() - 31) {
  263. $(".ibox-content").css("height", $(window).height() - 31)
  264. }
  265. }, 1)
  266. })
  267. }])
  268. app.filter('trustHtml', function ($sce) {
  269. return function (input) {
  270. return $sce.trustAsHtml(input.replace(/\n/g, '<br/>').replace(/\s/g, '&nbsp;'));
  271. };
  272. });
  273. app.directive("repeatFinish", function () {
  274. return {
  275. link: function (scope) {
  276. if (scope.$last == true) {
  277. setTimeout(function () {
  278. $(".sp-table").rowspan(1)
  279. $(".sp-table").rowspan(0)
  280. }, 10);
  281. }
  282. }
  283. };
  284. });
  285. function formate(d) {
  286. return d * 1 > 9 ? d * 1 : "0" + d * 1
  287. }
  288. jQuery.fn.rowspan = function (colIdx) { //封装的一个JQuery小插件
  289. return this.each(function () {
  290. var that;
  291. $('tr', this).each(function (row) {
  292. $('td:eq(' + colIdx + ')', this).filter(':visible').each(function (col) {
  293. if (that != null && $(this).html() == $(that).html()) {
  294. var rowspan = $(that).attr("rowSpan");
  295. if (rowspan == undefined) {
  296. $(that).attr("rowSpan", 1);
  297. rowspan = $(that).attr("rowSpan");
  298. }
  299. rowspan = Number(rowspan) + 1;
  300. $(that).attr("rowSpan", rowspan);
  301. $(this).remove();
  302. } else {
  303. that = this;
  304. }
  305. });
  306. });
  307. });
  308. }