FeedbackStatistics.cshtml 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. 
  2. @{
  3. ViewBag.Title = "FeedbackStatistics";
  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. <input class="easyui-textbox" style="width:150px" id="Deal" label="姓名:" labelPosition="before" labelWidth="44px" />
  19. </div>
  20. <div style="margin-left:20px;display:inline-block">
  21. <a id="btnSelect" href="#" class="easyui-linkbutton c1" style="margin-left:30px"><i class="fa fa-search"></i> 查询记录</a>
  22. <a id="btnRefresh" href="#" class="easyui-linkbutton c8" data-options="plain:true"><i class="fa fa-refresh"></i> 刷新</a>
  23. <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>
  24. </div>
  25. </div>
  26. <table id="Table"> </table>
  27. </body>
  28. </html>
  29. <script type="text/javascript">
  30. $(function () {
  31. var Report = $('#Table');
  32. Report.datagrid({
  33. fit: true,
  34. showFooter:true,
  35. width: '100%',
  36. toolbar: '#toolbar',
  37. pageSize: 20,
  38. rownumbers: true,
  39. pagination: true,
  40. remoteSort: true,
  41. singleSelect: true, //单行选择
  42. loadMsg: "正在查询数据,请稍候...",
  43. url: '/Report/GetFeedbackStatistics',
  44. method: 'post',
  45. columns:[[
  46. { field: '姓名', title: '姓名', width: 200, halign: 'center' },
  47. { field: '服务数量', title: '服务数量', width: 100, halign: 'center' },
  48. ]]
  49. })
  50. $('#Date').checkbox({
  51. onChange: function (checked) {
  52. if (checked) {
  53. $('#StartDate').datebox({ disabled: false, required: true });
  54. $('#EndDate').datebox({ disabled: false, required: true });
  55. } else {
  56. $('#StartDate').datebox({ disabled: true });
  57. $('#EndDate').datebox({ disabled: true });
  58. }
  59. }
  60. });
  61. $("#btnRefresh").bind("click", function () {
  62. $('#Table').datagrid("reload")
  63. })
  64. $("#btnSelect").bind('click', function () {
  65. $('#Table').datagrid('load', {
  66. startDate: $('#StartDate').datebox('getValue'),
  67. endDate: $('#EndDate').datebox('getValue'),
  68. Deal: $('#Deal').textbox('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. DealPerson: $('#Deal').textbox('getValue')
  103. }
  104. var location = top.ZLPMS.Loading("导出中,请稍等...");
  105. $.post("/Report/GetFeedbackStatistics", params, function (data) {
  106. top.ZLPMS.UnLoading(location);
  107. //获取标题
  108. var name = '<tr>';
  109. for (let Title in data.rows[0]) {
  110. //增加\t为了不让表格显示科学计数法或者其他格式
  111. name += `<td>${Title}</td>`;
  112. }
  113. name += '</tr>';
  114. let str = '';
  115. //循环遍历,每行加入tr标签,每个单元格加td标签
  116. for (let i = 0 ; i < data.rows.length ; i++) {
  117. str += '<tr>';
  118. for (let item in data.rows[i]) {
  119. //增加\t为了不让表格显示科学计数法或者其他格式
  120. str += `<td>${data.rows[i][item] + '\t'}</td>`;
  121. }
  122. str += '</tr>';
  123. }
  124. //合计
  125. var Total = ' <tr><td colspan="1" align="center">合计</td><td colspan="1" align="center">' + data.footer[0].服务数量 + '</td></tr>';
  126. str = name + str + Total;
  127. let worksheet = '反馈人服务问题统计'
  128. let uri = 'data:application/vnd.ms-excel;base64,';
  129. //下载的表格模板数据
  130. 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>`;
  131. //下载模板
  132. window.location.href = uri + base64(template)
  133. })
  134. }
  135. function base64(s) { return window.btoa(unescape(encodeURIComponent(s))) }
  136. </script>