地铁二期项目正式开始

GetDZView.js 5.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. layui.use('element', function () {
  2. var $ = layui.jquery
  3. , element = layui.element; //Tab的切换功能,切换事件监听等,需要依赖element模块
  4. $('.site-demo-active').on('click', function () {
  5. var othis = $(this), type = othis.data('type');
  6. active[type] ? active[type].call(this, othis) : '';
  7. });
  8. //Hash地址的定位
  9. var layid = location.hash.replace(/^#test=/, '');
  10. element.tabChange('test', layid);
  11. element.on('tab(test)', function (elem) {
  12. location.hash = 'test=' + $(this).attr('lay-id');
  13. });
  14. });
  15. layui.use('laydate', function () {
  16. var laydate = layui.laydate;
  17. //日期时间范围
  18. laydate.render({
  19. elem: '#test10'
  20. // , type: 'datetime'
  21. , range: true
  22. });
  23. });
  24. layui.use(['table', 'jquery'], function () {
  25. var table = layui.table;
  26. var form = layui.form,
  27. layer = parent.layer === undefined ? layui.layer : parent.layer,
  28. $ = layui.jquery;
  29. //监听表格复选框选择
  30. table.on('checkbox(demo)', function (obj) {
  31. console.log(obj);
  32. });
  33. $ = layui.$, active = {
  34. //查询按钮
  35. reload: function () {
  36. //执行重载
  37. table.reload('recordtable', {
  38. where: {
  39. dateParty: $("#test10").val()
  40. , NowDateTime: new Date()
  41. }
  42. });
  43. }
  44. //本周
  45. , oneWeek: function () {
  46. var thisDateParty = getWeekStartDate() + ' - ' + formatDate(now);
  47. $("#test10").val(thisDateParty);
  48. //执行重载
  49. table.reload('recordtable', {
  50. where: {
  51. dateParty: thisDateParty
  52. , NowDateTime: new Date()
  53. }
  54. });
  55. }
  56. //本月
  57. , oneMonth: function () {
  58. var thisDateParty = getMonthStartDate() + ' - ' + formatDate(now);
  59. $("#test10").val(thisDateParty);
  60. //执行重载
  61. table.reload('recordtable', {
  62. where: {
  63. dateParty: thisDateParty
  64. , NowDateTime: new Date()
  65. }
  66. });
  67. }
  68. //本年
  69. , oneYear: function () {
  70. var thisDateParty = getYearStartDate() + ' - ' + formatDate(now);
  71. $("#test10").val(thisDateParty);
  72. //执行重载
  73. table.reload('recordtable', {
  74. where: {
  75. dateParty: thisDateParty
  76. , NowDateTime: new Date()
  77. }
  78. });
  79. }
  80. };
  81. $('.searchfilter .layui-btn').on('click', function () {
  82. var type = $(this).data('type');
  83. active[type] ? active[type].call(this) : '';
  84. });
  85. function saveAs (blob, filename) {
  86. var type = blob.type;
  87. var force_saveable_type = 'application/octet-stream';
  88. if (type && type != force_saveable_type) { // 强制下载,而非在浏览器中打开
  89. var slice = blob.slice || blob.webkitSlice || blob.mozSlice;
  90. blob = slice.call(blob, 0, blob.size, force_saveable_type);
  91. }
  92. var url = URL.createObjectURL(blob);
  93. var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
  94. save_link.href = url;
  95. save_link.download = filename;
  96. var theevent = document.createEvent('MouseEvents');
  97. theevent.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
  98. save_link.dispatchEvent(theevent);
  99. URL.revokeObjectURL(url);
  100. }
  101. //导出到excel
  102. $('#ExToExcel').on('click', function () {
  103. urlExcel = "GetDZDataExcel"
  104. ExToExcel()
  105. })
  106. function ExToExcel () {
  107. var img = $("#progressImgage");
  108. var mask = $("#maskOfProgressImage");
  109. var dataModel = {
  110. dateParty: $("#test10").val()
  111. }
  112. var para = JSON.stringify(dataModel);
  113. $.ajaxLoading({
  114. url: urlExcel,
  115. type: "post",
  116. async: true,
  117. contentType: "application/json;charset=utf-8",
  118. dataType: "json",
  119. cache: false,
  120. data: para,
  121. success: function (dataContent, result) {
  122. if (dataContent.Code == "0") {
  123. var datajson = dataContent.Data.replace(/"/g, "\"");
  124. var ItemList = JSON.parse(datajson);
  125. // alert(ItemList);
  126. var bytes = window.atob(ItemList); //转换为byte
  127. //处理异常,将ascii码小于0的转换为大于0
  128. var ab = new ArrayBuffer(bytes.length);
  129. var ia = new Uint8Array(ab);
  130. for (var i = 0; i < bytes.length; i++) {
  131. ia[i] = bytes.charCodeAt(i);
  132. }
  133. var blob = new Blob([ab], { type: 'application/vnd.ms-excel' })
  134. var fileName = '工单数据.xls';
  135. if (dataContent.Message != null && dataContent.Message != "") {
  136. fileName = dataContent.Message;
  137. }
  138. //获取浏览器信息
  139. var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
  140. var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器
  141. var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //判断是否IE的Edge浏览器
  142. var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1;
  143. if (isIE || isEdge || isIE11) {
  144. navigator.msSaveBlob(blob, fileName);
  145. }
  146. else {
  147. saveAs(blob, fileName);
  148. }
  149. }
  150. else {
  151. layer.msg('数据转换失败');
  152. }
  153. },
  154. error: function (XMLHttpRequest, textStatus, errorThrown) {
  155. layer.msg(textStatus);
  156. layer.msg(errorThrown);
  157. }
  158. });
  159. }
  160. });