ChannelStatistics.cshtml 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. 
  2. @{
  3. ViewBag.Title = "RingStatistics";
  4. Layout = "~/Views/Shared/_MainLayoutPage.cshtml";
  5. }
  6. <!DOCTYPE html>
  7. <html>
  8. <head>
  9. <meta name="viewport" content="width=device-width" />
  10. <title>RingStatistics</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. showFooter:true,
  32. width: '100%',
  33. toolbar: '#toolbar',
  34. pageSize: 20,
  35. rownumbers: true,
  36. pagination: true,
  37. remoteSort: true,
  38. singleSelect: true, //单行选择
  39. loadMsg: "正在查询数据,请稍候...",
  40. url: '/Report/GetChannelStatistics',
  41. method: 'post',
  42. columns:[[
  43. { field: '名称', title: '渠道', width: 200, halign: 'center' },
  44. { field: '服务数量', title: '服务数量', width: 100, halign: 'center' },
  45. ]]
  46. })
  47. $('#Date').checkbox({
  48. onChange: function (checked) {
  49. if (checked) {
  50. $('#StartDate').datebox({ disabled: false, required: true });
  51. $('#EndDate').datebox({ disabled: false, required: true });
  52. } else {
  53. $('#StartDate').datebox({ disabled: true });
  54. $('#EndDate').datebox({ disabled: true });
  55. }
  56. }
  57. });
  58. $("#btnSelect").bind('click', function () {
  59. $('#Table').datagrid('load', {
  60. startDate: $('#StartDate').datebox('getValue'),
  61. endDate: $('#EndDate').datebox('getValue')
  62. });
  63. })
  64. $("#btnRefresh").bind('click', function () {
  65. $('#Table').datagrid('reload');
  66. })
  67. })
  68. function getPreMonth(date) {
  69. var arr = date.split('-');
  70. var year = arr[0]; //获取当前日期的年份
  71. var month = arr[1]; //获取当前日期的月份
  72. var day = arr[2]; //获取当前日期的日
  73. var days = new Date(year, month, 0);
  74. days = days.getDate(); //获取当前日期中月的天数
  75. var year2 = year;
  76. var month2 = parseInt(month) - 1;
  77. if (month2 == 0) {
  78. year2 = parseInt(year2) - 1;
  79. month2 = 12;
  80. }
  81. var day2 = day;
  82. var days2 = new Date(year2, month2, 0);
  83. days2 = days2.getDate();
  84. if (day2 > days2) {
  85. day2 = days2;
  86. }
  87. if (month2 < 10) {
  88. month2 = '0' + month2;
  89. }
  90. var t2 = year2 + '/' + month2;
  91. return t2;
  92. }
  93. function GetExcel() {
  94. // var data = $('#Table').datagrid('getData');
  95. var params = {
  96. startDate: $('#StartDate').datebox('getValue'),
  97. endDate: $('#EndDate').datebox('getValue')
  98. }
  99. var location = top.ZLPMS.Loading("导出中,请稍等...");
  100. $.post("/Report/GetChannelStatistics", params, function (data) {
  101. top.ZLPMS.UnLoading(location);
  102. //获取标题
  103. var name = '<tr>';
  104. for (let Title in data.rows[0]) {
  105. //增加\t为了不让表格显示科学计数法或者其他格式
  106. name += `<td>${Title}</td>`;
  107. }
  108. name += '</tr>';
  109. let str = '';
  110. //循环遍历,每行加入tr标签,每个单元格加td标签
  111. for (let i = 0 ; i < data.rows.length ; i++) {
  112. str += '<tr>';
  113. for (let item in data.rows[i]) {
  114. //增加\t为了不让表格显示科学计数法或者其他格式
  115. str += `<td>${data.rows[i][item] + '\t'}</td>`;
  116. }
  117. str += '</tr>';
  118. }
  119. //合计
  120. var Total = ' <tr><td colspan="1" align="center">合计</td><td colspan="1" align="center">' + data.footer[0].服务数量 + '</td></tr>';
  121. str = name + str + Total;
  122. let worksheet = '渠道服务问题统计'
  123. let uri = 'data:application/vnd.ms-excel;base64,';
  124. //下载的表格模板数据
  125. 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>`;
  126. //下载模板
  127. window.location.href = uri + base64(template)
  128. })
  129. }
  130. function base64(s) { return window.btoa(unescape(encodeURIComponent(s))) }
  131. </script>