daily.html 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. {extend name="common/common2" /}
  2. {block name="main"}
  3. <div class="ibox-content">
  4. <div class="ibox">
  5. <div class="alert">
  6. <form action="daily" method="GET" id='search_form' class="form-inline">
  7. <div class="input-group" style="width: 200px">
  8. <span class="input-group-addon">开始时间</span>
  9. <input class="form-control dialog-datetime" id="startTime" name="start" type="text" data-date-format="yyyy-mm-dd" value="{$start}" placeholder="" readonly/>
  10. </div>
  11. <div class="input-group" style="width: 200px">
  12. <span class="input-group-addon">结束时间</span>
  13. <input class="form-control dialog-datetime" id="endTime" name="end" type="text" data-date-format="yyyy-mm-dd" value="{$end}" placeholder="" readonly/>
  14. </div>
  15. <div class="input-group">
  16. <span class="input-group-btn">
  17. <button class="btn-sm btn-primary" type="submit" ><i class="fa fa-search"></i></button>
  18. </span>&nbsp;
  19. <span class="input-group-btn">
  20. <button class="btn-sm btn-warning" type="reset" onclick="empty_search()"><i class="fa fa-undo"></i></button>
  21. </span>&nbsp;
  22. <span class="input-group-btn">
  23. <button title="导出" class="btn-sm btn-primary" onclick="exportTableToExcel(this)" type="button" ><i class="fa fa-cloud-download"></i></button>
  24. </span>
  25. </div>
  26. </form>
  27. </div>
  28. <div class="panel-group">
  29. <div class="panel panel-default">
  30. <div class="panel-heading clearfix">
  31. <div class="btn-group pull-left">
  32. 日常工作统计
  33. </div>
  34. </div>
  35. <div class="panel-body" id="printer">
  36. <table class="table table-bordered" id="table">
  37. <thead>
  38. <tr>
  39. <th>序号</th>
  40. <th>任务地点名称</th>
  41. <th>工作记录(数量)</th>
  42. </tr>
  43. </thead>
  44. <tbody>
  45. {foreach $list as $k=>$v}
  46. <tr>
  47. <td>{$k+1}</td>
  48. <td>{$v['title']}</td>
  49. <td>{$v['count']}</td>
  50. </tr>
  51. {/foreach}
  52. </tbody>
  53. </table>
  54. </div>
  55. </div>
  56. </div>
  57. </div>
  58. </div>
  59. {/block}
  60. {block name="script"}
  61. <script src="/static/layDate-v5.0.9/laydate.js"></script>
  62. <script src="/static/browser.js"></script>
  63. <script src="/static/jquery.jqprint-0.3.js"></script>
  64. <script src="/static/xlsx.full.min.js"></script>
  65. <script>
  66. $(function () {
  67. laydate.render({
  68. elem: '#startTime',
  69. trigger: 'click',
  70. theme: '#284a94'
  71. });
  72. laydate.render({
  73. elem: '#endTime',
  74. trigger: 'click',
  75. theme: '#284a94'
  76. });
  77. });
  78. function empty_search(){
  79. window.location.href = 'daily';
  80. }
  81. function printer(){
  82. $('#printer').jqprint();
  83. }
  84. function exportTableToExcel() {
  85. // 获取表格元素
  86. const table = document.getElementById('table');
  87. // 将表格转换为工作表
  88. const ws = XLSX.utils.table_to_sheet(table);
  89. const filename = '日常工作统计'+'.xlsx';
  90. // 设置单元格宽度
  91. // 示例:设置每列的宽度
  92. ws['!cols'] = [
  93. { wch: 5 },
  94. { wch: 10 },
  95. { wch: 10 },
  96. // 根据需要继续添加更多列的宽度设置
  97. ];
  98. // 设置订单编号列的格式为文本
  99. // 假设订单编号在第1列(A列)
  100. const range = XLSX.utils.decode_range(ws['!ref']);
  101. for (let row = range.s.r; row <= range.e.r; row++) {
  102. const cellAddress = { c: 1, r: row }; // 第1列(A列)
  103. const cellRef = XLSX.utils.encode_cell(cellAddress);
  104. if (ws[cellRef]) {
  105. ws[cellRef].t = 's'; // 设置单元格类型为字符串
  106. }
  107. }
  108. // 创建工作簿并添加工作表
  109. const wb = XLSX.utils.book_new();
  110. XLSX.utils.book_append_sheet(wb, ws, "Sheet1");
  111. // 导出为 Excel 文件
  112. XLSX.writeFile(wb, filename || 'tableExport.xlsx');
  113. }
  114. </script>
  115. {/block}