TimeoutWindow.cshtml 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. 
  2. @{
  3. ViewBag.Title = "TimeoutWindow";
  4. Layout = "~/Views/Shared/_MainLayoutPage.cshtml";
  5. }
  6. <!DOCTYPE html>
  7. <html>
  8. <head>
  9. <meta name="viewport" content="width=device-width" />
  10. <title>TimeoutWindow</title>
  11. </head>
  12. <body>
  13. <div id="toolbar" style="padding:3px;">
  14. <input class="easyui-checkbox" type="checkbox" id="Date" name="Date" label="登记日期" labelPosition="after" labelWidth="60px">
  15. <input disabled="disabled" id="StartDate" type="text" class="easyui-datetimebox" style="width:180px">-
  16. <input disabled="disabled" id="EndDate" type="text" class="easyui-datetimebox" style="width:180px">
  17. <div style="margin-left:20px;display:inline-block">
  18. <a id="btnSelect" href="#" class="easyui-linkbutton c1" style="margin-left:30px"><i class="fa fa-search"></i> 查询记录</a>
  19. <a id="btnRefresh" href="#" class="easyui-linkbutton c8" data-options="plain:true"><i class="fa fa-refresh"></i> 刷新</a>
  20. <a onclick="GetExcel()" id="btn_Class" href="#" class="easyui-linkbutton c2" data-options="plain:true"><i class="fa fa-file-text-o"> 导出excel</i></a>
  21. </div>
  22. </div>
  23. <table id="Table"> </table>
  24. </body>
  25. </html>
  26. <script type="text/javascript">
  27. $(function () {
  28. var Report = $('#Table');
  29. Report.datagrid({
  30. fit: true,
  31. width: '100%',
  32. //toolbar: '#toolbar',
  33. pageSize: 20,
  34. rownumbers: true,
  35. pagination: true,
  36. showFooter: true,
  37. remoteSort: true,
  38. singleSelect: true,
  39. loadMsg: "正在查询数据,请稍候...",
  40. url: '/Report/TimeoutStatistics',
  41. method: 'post',
  42. columns:[[
  43. {
  44. field: '编号', title: '编号', width: 100, halign: 'center', align: 'center'
  45. },
  46. { field: '问题标题', title: '问题标题', width: 500, halign: 'center', },
  47. { field: '模块', title: '模块', width: 150, halign: 'center', align: 'center' },
  48. { field: '反馈人', title: '反馈人', width: 100, halign: 'center', align: 'center' }
  49. ]]
  50. })
  51. $('#Date').checkbox({
  52. onChange: function (checked) {
  53. if (checked) {
  54. $('#StartDate').datebox({ disabled: false, required: true });
  55. $('#EndDate').datebox({ disabled: false, required: true });
  56. } else {
  57. $('#StartDate').datebox({ disabled: true });
  58. $('#EndDate').datebox({ disabled: true });
  59. }
  60. }
  61. });
  62. $("#btnRefresh").bind("click", function () {
  63. $('#Table').datagrid("reload")
  64. })
  65. $("#btnSelect").bind('click', function () {
  66. $('#Table').datagrid('load', {
  67. startDate: $('#StartDate').datebox('getValue'),
  68. endDate: $('#EndDate').datebox('getValue')
  69. });
  70. })
  71. })
  72. function getPreMonth(date) {
  73. var arr = date.split('-');
  74. var year = arr[0]; //获取当前日期的年份
  75. var month = arr[1]; //获取当前日期的月份
  76. var day = arr[2]; //获取当前日期的日
  77. var days = new Date(year, month, 0);
  78. days = days.getDate(); //获取当前日期中月的天数
  79. var year2 = year;
  80. var month2 = parseInt(month) - 1;
  81. if (month2 == 0) {
  82. year2 = parseInt(year2) - 1;
  83. month2 = 12;
  84. }
  85. var day2 = day;
  86. var days2 = new Date(year2, month2, 0);
  87. days2 = days2.getDate();
  88. if (day2 > days2) {
  89. day2 = days2;
  90. }
  91. if (month2 < 10) {
  92. month2 = '0' + month2;
  93. }
  94. var t2 = year2 + '/' + month2;
  95. return t2;
  96. }
  97. function GetExcel() {
  98. // var data = $('#Table').datagrid('getData');
  99. var params = {
  100. startDate: $('#StartDate').datebox('getValue'),
  101. endDate: $('#EndDate').datebox('getValue')
  102. }
  103. var location = top.ZLPMS.Loading("导出中,请稍等...");
  104. $.post("/Report/TimeoutStatistics", params, function (data) {
  105. top.ZLPMS.UnLoading(location);
  106. //获取标题
  107. var name = '<tr>';
  108. for (let Title in data.rows[0]) {
  109. //增加\t为了不让表格显示科学计数法或者其他格式
  110. name += `<td>${Title}</td>`;
  111. }
  112. name += '</tr>';
  113. let str = '';
  114. //循环遍历,每行加入tr标签,每个单元格加td标签
  115. for (let i = 0 ; i < data.rows.length ; i++) {
  116. str += '<tr>';
  117. for (let item in data.rows[i]) {
  118. //增加\t为了不让表格显示科学计数法或者其他格式
  119. str += `<td>${data.rows[i][item] + '\t'}</td>`;
  120. }
  121. str += '</tr>';
  122. }
  123. var Total = ' <tr><td colspan="1" align="center">合计</td><td colspan="1" align="center">' + data.footer[0].服务数量 + '</td></tr>';
  124. str = name + str+Total ;
  125. let worksheet = '超时统计'
  126. let uri = 'data:application/vnd.ms-excel;base64,';
  127. //下载的表格模板数据
  128. let template = `<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"> <head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet> <x:Name>${worksheet}</x:Name> <x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet> </x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--> </head><body><table>${str}</table></body></html>`;
  129. //下载模板
  130. window.location.href = uri + base64(template)
  131. })
  132. }
  133. function base64(s) { return window.btoa(unescape(encodeURIComponent(s))) }
  134. </script>