截流自动化的商城平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

lists.html 7.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. {layout name="layout1" /}
  2. <div class="wrapper">
  3. <div class="layui-card">
  4. <!-- 操作提示 -->
  5. <div class="layui-card-body">
  6. <div class="layui-collapse" style="border:1px dashed #c4c4c4">
  7. <div class="layui-colla-item">
  8. <h2 class="layui-colla-title like-layui-colla-title">操作提示</h2>
  9. <div class="layui-colla-content layui-show">
  10. <p>*添加在线客服。</p>
  11. </div>
  12. </div>
  13. </div>
  14. </div>
  15. <!-- 主体区域 -->
  16. <div class="layui-card-body">
  17. <button type="button" class="layui-btn layui-btn-normal layui-btn-sm layEvent" lay-event="add">新增客服</button>
  18. <table id="like-table-lists" lay-filter="like-table-lists"></table>
  19. <script type="text/html" id="table-image">
  20. {{# if(d.avatar){ }}
  21. <img src="{{d.avatar}}" class="image-show" alt="图" style="width:30px;height:30px;">
  22. {{# } }}
  23. </script>
  24. <script type="text/html" id="table-operation">
  25. <a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="edit">编辑</a>
  26. <a class="layui-btn layui-btn-normal layui-btn-sm" lay-event="workbench">工作台</a>
  27. <a class="layui-btn layui-btn-danger layui-btn-sm" lay-event="del">删除</a>
  28. </script>
  29. <script type="text/html" id="statusTpl">
  30. <input type="checkbox" lay-filter="switch-disable" data-id={{d.id}} lay-skin="switch"
  31. lay-text="开启|关闭" {{# if(d.disable==0){ }} checked {{# } }}/>
  32. </script>
  33. </div>
  34. </div>
  35. </div>
  36. <script>
  37. layui.use(["table", "form"], function () {
  38. var table = layui.table;
  39. var form = layui.form;
  40. like.tableLists("#like-table-lists", "{:url()}", [
  41. {field: "id", width: 60, title: "ID"}
  42. , {field: "avatar", align: "center", title: "客服头像", templet: "#table-image"}
  43. , {field: "account", align: "center", title: "客服账号"}
  44. , {field: "nickname", align: "center", title: "客服昵称"}
  45. , {field: "sort", width: 60, align: "center", title: "排序"}
  46. , {field: "disable", align: "center", title: "状态", templet: "#statusTpl"}
  47. , {field: "create_time", align: "center", title: "创建时间"}
  48. , {title: "操作", width: 250, align: "center", fixed: "right", toolbar: "#table-operation"}
  49. ]);
  50. var active = {
  51. add: function () {
  52. layer.open({
  53. type: 2
  54. , title: "新增客服"
  55. , content: "{:url('kefu.Kefu/add')}"
  56. , area: ["90%", "90%"]
  57. , btn: ["确定", "取消"]
  58. , yes: function (index, layero) {
  59. var iframeWindow = window["layui-layer-iframe" + index];
  60. var submit = layero.find("iframe").contents().find("#addSubmit");
  61. iframeWindow.layui.form.on("submit(addSubmit)", function (data) {
  62. like.ajax({
  63. url: "{:url('kefu.Kefu/add')}",
  64. data: data.field,
  65. type: "POST",
  66. success: function (res) {
  67. if (res.code === 1) {
  68. layui.layer.msg(res.msg);
  69. layer.close(index);
  70. table.reload("like-table-lists", {
  71. where: {},
  72. page: {cur: 1}
  73. });
  74. }
  75. }
  76. });
  77. });
  78. submit.trigger("click");
  79. }
  80. });
  81. },
  82. edit: function (obj) {
  83. layer.open({
  84. type: 2
  85. , title: "编辑客服"
  86. , content: "{:url('kefu.Kefu/edit')}?id=" + obj.data.id
  87. , area: ["90%", "90%"]
  88. , btn: ["确定", "取消"]
  89. , yes: function (index, layero) {
  90. var iframeWindow = window["layui-layer-iframe" + index];
  91. var submit = layero.find("iframe").contents().find("#addSubmit");
  92. iframeWindow.layui.form.on("submit(addSubmit)", function (data) {
  93. data.field['id'] = obj.data.id;
  94. like.ajax({
  95. url: "{:url('kefu.Kefu/edit')}",
  96. data: data.field,
  97. type: "POST",
  98. success: function (res) {
  99. if (res.code === 1) {
  100. layui.layer.msg(res.msg);
  101. layer.close(index);
  102. table.reload("like-table-lists", {
  103. where: {},
  104. page: {cur: 1}
  105. });
  106. }
  107. }
  108. });
  109. });
  110. submit.trigger("click");
  111. }
  112. });
  113. },
  114. del: function (obj) {
  115. layer.confirm("确定删除客服:" + obj.data.nickname, function (index) {
  116. like.ajax({
  117. url: "{:url('kefu.Kefu/del')}",
  118. data: {id: obj.data.id},
  119. type: "POST",
  120. success: function (res) {
  121. if (res.code === 1) {
  122. layui.layer.msg(res.msg);
  123. layer.close(index);
  124. obj.del();
  125. }
  126. }
  127. });
  128. layer.close(index);
  129. })
  130. },
  131. workbench: function (obj) {
  132. like.ajax({
  133. url: '{:url("kefu.Kefu/login")}',
  134. type: 'post',
  135. data: {'id': obj.data.id},
  136. success: function(res) {
  137. if(res.code == 1) {
  138. window.parent.open(res.data.url);
  139. }
  140. }
  141. });
  142. },
  143. };
  144. like.eventClick(active);
  145. // 图片放大
  146. $(document).on('click', '.image-show', function () {
  147. var src = $(this).attr('src');
  148. like.showImg(src, 400);
  149. });
  150. // 状态切换
  151. form.on('switch(switch-disable)', function (obj) {
  152. var kefu_id = obj.elem.attributes['data-id'].nodeValue;
  153. var disable = 1;
  154. if (obj.elem.checked) {
  155. disable = 0;
  156. }
  157. var data = {disable: disable, id: kefu_id};
  158. like.ajax({
  159. url: '{:url("kefu.kefu/status")}',
  160. data: data,
  161. type: "post",
  162. success: function (res) {
  163. if (res.code == 1) {
  164. layui.layer.msg(res.msg, {offset: '15px', icon: 1, time: 1000});
  165. }
  166. }
  167. });
  168. });
  169. })
  170. </script>