index.html 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  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. </head>
  14. <body class="gray-bg">
  15. <div class="wrapper wrapper-content animated fadeInRight">
  16. <!-- Panel Other -->
  17. <div class="ibox float-e-margins">
  18. <div class="ibox-title">
  19. <h5>分组列表</h5>
  20. </div>
  21. <div class="ibox-content">
  22. <a href="/admin/groups/addgroup.html">
  23. <button class="btn btn-primary btn-sm" type="button" style="margin-top:5px">新增
  24. </button>
  25. </a>
  26. <!--搜索框开始-->
  27. <!--<form id='commentForm' role="form" method="post" class="form-inline pull-right">-->
  28. <!--<div class="content clearfix m-b">-->
  29. <!--<div class="form-group">-->
  30. <!--<label>分组名称:</label>-->
  31. <!--<input type="text" class="form-control" id="username" name="name">-->
  32. <!--</div>-->
  33. <!--<div class="form-group">-->
  34. <!--<button class="btn btn-primary" type="button" style="margin-top:5px" id="search"><strong>搜 索</strong>-->
  35. <!--</button>-->
  36. <!--</div>-->
  37. <!--</div>-->
  38. <!--</form>-->
  39. <!--搜索框结束-->
  40. <div class="example-wrap">
  41. <div class="example">
  42. <table id="cusTable">
  43. <thead>
  44. <th data-field="id">分组ID</th>
  45. <th data-field="name">分组名称</th>
  46. <th data-field="users_num">客服人数</th>
  47. <th data-field="status">对外可见状态</th>
  48. <th data-field="operate">操作</th>
  49. </thead>
  50. </table>
  51. </div>
  52. </div>
  53. <!-- End Example Pagination -->
  54. </div>
  55. </div>
  56. </div>
  57. <!-- End Panel Other -->
  58. <script src="__JS__/jquery.min.js?v=2.1.4"></script>
  59. <script src="__JS__/bootstrap.min.js?v=3.3.6"></script>
  60. <script src="__JS__/content.min.js?v=1.0.0"></script>
  61. <script src="__JS__/plugins/bootstrap-table/bootstrap-table.min.js"></script>
  62. <script src="__JS__/plugins/bootstrap-table/bootstrap-table-mobile.min.js"></script>
  63. <script src="__JS__/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script>
  64. <script src="__JS__/plugins/layer/layer.min.js"></script>
  65. <script src="/static/customer/js/md5.js"></script>
  66. <script type="text/javascript">
  67. let config = {
  68. socket: '{$socket}',
  69. };
  70. let date = new Date(new Date().setHours(0, 0, 0, 0)) / 1000;
  71. let getLocation = window.location.href;
  72. let host = getLocation.split('/admin')[0];
  73. //let apiToken = hex_md5('customer-service'+date+host);
  74. let apiToken = hex_md5('customer-service'+host);
  75. function initTable() {
  76. //先销毁表格
  77. $('#cusTable').bootstrapTable('destroy');
  78. //初始化表格,动态从服务器加载数据
  79. $("#cusTable").bootstrapTable({
  80. method: "get", //使用get请求到服务器获取数据
  81. url: "{:url('groups/index')}", //获取数据的地址
  82. striped: true, //表格显示条纹
  83. pagination: true, //启动分页
  84. pageSize: 50, //每页显示的记录数
  85. pageNumber:1, //当前第几页
  86. pageList: [20, 50], //记录数可选列表
  87. sidePagination: "server", //表示服务端请求
  88. paginationFirstText: "首页",
  89. paginationPreText: "上一页",
  90. paginationNextText: "下一页",
  91. paginationLastText: "尾页",
  92. queryParamsType : "undefined",
  93. queryParams: function queryParams(params) { //设置查询参数
  94. var param = {
  95. pageNumber: params.pageNumber,
  96. pageSize: params.pageSize,
  97. searchText:$('#username').val()
  98. };
  99. return param;
  100. },
  101. onLoadSuccess: function(res){ //加载成功时执行
  102. if(111 == res.code){
  103. window.location.reload();
  104. }
  105. layer.msg("加载成功", {time : 1000});
  106. },
  107. onLoadError: function(){ //加载失败时执行
  108. layer.msg("加载数据失败");
  109. }
  110. });
  111. }
  112. $(document).ready(function () {
  113. //调用函数,初始化表格
  114. initTable();
  115. //当点击查询按钮的时候执行
  116. $("#search").bind("click", initTable);
  117. });
  118. function userGroup(id){
  119. layer.confirm('确认删除此分组?', {icon: 3, title:'提示'}, function(index){
  120. //do something
  121. $.getJSON("{:url('groups/delGroup')}", {'id' : id}, function(res){
  122. let socket = new WebSocket('ws://' + config.socket+'?apiToken=' + apiToken);
  123. socket.onopen = function(res) {
  124. console.log('握手成功');
  125. socket.send(JSON.stringify({
  126. type: 'updatecache',
  127. data: {dtype: ''},
  128. }));
  129. };
  130. if(1 == res.code){
  131. layer.alert(res.msg, {title: '友情提示', icon: 1, closeBtn: 0}, function(){
  132. initTable();
  133. });
  134. }else if(111 == res.code){
  135. window.location.reload();
  136. }else{
  137. layer.alert(res.msg, {title: '友情提示', icon: 2});
  138. }
  139. });
  140. layer.close(index);
  141. })
  142. }
  143. </script>
  144. </body>
  145. </html>