workreport.html 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>工作报表</title>
  7. <link rel="shortcut icon" href="favicon.ico">
  8. <link href="__CSS__/bootstrap.min.css?v=3.3.6" rel="stylesheet">
  9. <link href="__CSS__/font-awesome.min.css?v=4.4.0" rel="stylesheet">
  10. <link href="__CSS__/plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet">
  11. <link href="__CSS__/animate.min.css" rel="stylesheet">
  12. <link href="__CSS__/style.min.css?v=4.1.0" rel="stylesheet">
  13. <link href="__JS__/layui/css/myLayui.css" rel="stylesheet">
  14. </head>
  15. <style>
  16. dl dd{
  17. height: 30px;
  18. }
  19. input.layui-input.layui-unselect {
  20. height: 30px;
  21. }
  22. </style>
  23. <body class="gray-bg">
  24. <div class="wrapper wrapper-content animated fadeInRight">
  25. <!-- Panel Other -->
  26. <div class="ibox float-e-margins">
  27. <div class="ibox-title">
  28. <h5>工作报表</h5>
  29. </div>
  30. <div class="ibox-content">
  31. <!--搜索框开始-->
  32. <form id='commentForm' role="form" method="post" class="form-inline pull-right">
  33. <div class="content clearfix m-b">
  34. <div class="form-group">
  35. <label>工作日期:</label>
  36. <input type="text" class="form-control" id="start" value="<?php echo date('Y-m-d',time()-86400);?>" style="width: 100px;height: 30px;"> --
  37. <input type="text" class="form-control" id="end" value="<?php echo date('Y-m-d',time()-86400);?>" style="width: 100px;height: 30px;">
  38. </div>
  39. <div class="form-group" style="margin-left: 10px;">
  40. <div class="input-group col-sm-4 layui-form" style="width: 70px;">
  41. <input type="hidden" id="user" value="user_account"/>
  42. <select lay-verify="required" lay-filter="user">
  43. <option value="user_account">账号</option>
  44. <option value="user_name">名称</option>
  45. </select>
  46. </div>
  47. </div>
  48. <div class="form-group">
  49. <!--<label>客服:</label>-->
  50. <input type="text" class="form-control" id="username" name="user_name" style="height:30px;">
  51. </div>
  52. <div class="form-group">
  53. <button class="btn btn-primary btn-sm" type="button" style="margin-top:5px" id="search">搜索
  54. </button>
  55. </div>
  56. <div class="form-group" style="margin-left:20px;margin-top:5px">
  57. <button class="btn btn-primary btn-sm" type="button" id="toExcel" name="toExcel" value="0">导出Excel
  58. </button>
  59. </div>
  60. </div>
  61. </form>
  62. <!--搜索框结束-->
  63. <div class="example-wrap">
  64. <div class="example">
  65. <table id="cusTable">
  66. <thead>
  67. <th data-field="user_account">账号</th>
  68. <th data-field="user_name">名称</th>
  69. <th data-field="user_job_number">工号</th>
  70. <th data-field="service_num">接入会话量</th>
  71. <th data-field="send_words">总消息量</th>
  72. <th data-field="transfer_in">接入转接量</th>
  73. <th data-field="reply">回复率</th>
  74. <th data-field="answer_problem">答问比</th>
  75. <th data-field="conversation">平均会话时长</th>
  76. <th data-field="response">平均响应时长</th>
  77. <th data-field="appraise">参评率</th>
  78. <th data-field="pleased">相对满意度率</th>
  79. <th data-field="pleased_num">满意评价次数</th>
  80. <th data-field="commonly">一般评价次数</th>
  81. <th data-field="no_pleased">不满意评价次数</th>
  82. <th data-field="message">留言处理量</th>
  83. </thead>
  84. </table>
  85. </div>
  86. </div>
  87. <!-- End Example Pagination -->
  88. </div>
  89. </div>
  90. </div>
  91. <!-- End Panel Other -->
  92. <script src="__JS__/jquery.min.js?v=2.1.4"></script>
  93. <script src="__JS__/bootstrap.min.js?v=3.3.6"></script>
  94. <script src="__JS__/content.min.js?v=1.0.0"></script>
  95. <script src="__JS__/plugins/bootstrap-table/bootstrap-table.min.js"></script>
  96. <script src="__JS__/plugins/bootstrap-table/bootstrap-table-mobile.min.js"></script>
  97. <script src="__JS__/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script>
  98. <script src="__JS__/plugins/layer/layer.min.js"></script>
  99. <script src="__JS__/layui/layui.js"></script>
  100. <script type="text/javascript">
  101. layui.use(['form', 'upload'], function(){
  102. var form = layui.form;
  103. form.on('select(message_status)', function(value){
  104. $("#message_status").val(value.value);
  105. onSearch()
  106. });
  107. form.on('select(user)', function(value){
  108. $("#user").val(value.value);
  109. onSearch()
  110. });
  111. });
  112. </script>
  113. <script type="text/javascript">
  114. function initTable() {
  115. //先销毁表格
  116. $('#cusTable').bootstrapTable('destroy');
  117. //初始化表格,动态从服务器加载数据
  118. $("#cusTable").bootstrapTable({
  119. method: "get", //使用get请求到服务器获取数据
  120. url: "{:url('report/workreport')}", //获取数据的地址
  121. striped: true, //表格显示条纹
  122. pagination: true, //启动分页
  123. pageSize: 50, //每页显示的记录数
  124. pageNumber:1, //当前第几页
  125. pageList: [20, 50], //记录数可选列表
  126. sidePagination: "server", //表示服务端请求
  127. paginationFirstText: "首页",
  128. paginationPreText: "上一页",
  129. paginationNextText: "下一页",
  130. paginationLastText: "尾页",
  131. queryParamsType : "undefined",
  132. queryParams: function queryParams(params) { //设置查询参数
  133. var param = {
  134. pageNumber: params.pageNumber,
  135. pageSize: params.pageSize,
  136. searchText:$('#username').val(),
  137. start:$('#start').val(),
  138. end:$('#end').val(),
  139. user:$('#user').val()
  140. };
  141. return param;
  142. },
  143. onLoadSuccess: function(res){ //加载成功时执行
  144. if(111 == res.code){
  145. window.location.reload();
  146. }
  147. layer.msg("加载成功", {time : 1000});
  148. },
  149. onLoadError: function(){ //加载失败时执行
  150. layer.msg("加载数据失败");
  151. }
  152. });
  153. }
  154. $(document).ready(function () {
  155. //调用函数,初始化表格
  156. initTable();
  157. //当点击查询按钮的时候执行
  158. $("#search").bind("click", function(){
  159. var start = $('#start').val();
  160. var end = $('#end').val();
  161. if(start > end){
  162. layer.msg('开始时间不能大于结束时间');
  163. return false;
  164. }
  165. //获取当前时间 年月日
  166. var date = new Date();
  167. var year = date.getFullYear();
  168. var month = date.getMonth() + 1;
  169. var day = date.getDate();
  170. if (month < 10) {
  171. month = "0" + month;
  172. }
  173. if (day < 10) {
  174. day = "0" + day;
  175. }
  176. var nowDate = year + "-" + month + "-" + day;
  177. console.log(nowDate);
  178. if(nowDate <= end){
  179. layer.msg('结束时间不能大于等于当前时间');
  180. return false;
  181. }
  182. initTable();
  183. });
  184. $("#toExcel").on("click", function () {
  185. $("#toExcel").val(1);
  186. $("#start").val();
  187. $("#end").val();
  188. $("#username").val();
  189. var url = "{:url('report/workreport')}" + "?pageNumber=1&pageSize=100&start="+$("#start").val()+"&end="+$("#end").val()+"&searchText="+$("#username").val()+"&toExcel=1";
  190. window.open(url);
  191. return false;
  192. });
  193. });
  194. function messageDel(id){
  195. layer.confirm('确认删除?', {icon: 3, title:'提示'}, function(index){
  196. //do something
  197. $.getJSON("{:url('Messages/delMessage')}", {'id' : id}, function(res){
  198. if(1 == res.code){
  199. layer.alert(res.msg, {title: '友情提示', icon: 1, closeBtn: 0}, function(){
  200. initTable();
  201. });
  202. }else if(111 == res.code){
  203. window.location.reload();
  204. }else{
  205. layer.alert(res.msg, {title: '友情提示', icon: 2});
  206. }
  207. });
  208. layer.close(index);
  209. })
  210. }
  211. layui.use('laydate', function(){
  212. var laydate = layui.laydate;
  213. laydate.render({
  214. elem: '#start'
  215. ,type: 'date'
  216. });
  217. laydate.render({
  218. elem: '#end'
  219. ,type: 'date'
  220. });
  221. });
  222. </script>
  223. </body>
  224. </html>