waistcoat.html 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. {extend name="public/layout"}
  2. {block name="body"}
  3. <style>
  4. .layui-table thead tr,
  5. .layui-table-header {
  6. background-color: #D8E6F1 !important;
  7. }
  8. .layui-tab-title .layui-this {
  9. background-color: #249EFB;
  10. color: #fff;
  11. }
  12. .layui-tab-title .layui-this:after {
  13. border-bottom: none;
  14. border: none;
  15. }
  16. .layui-tab-title li {
  17. background-color: #F2F2F2;
  18. margin: 0px 5px;
  19. }
  20. </style>
  21. <body>
  22. <div class="layui-fluid">
  23. <div class="layui-row layui-col-space15">
  24. <div class="layui-col-md12" style="background-color:#ffffff">
  25. <div class="tplay-body-div">
  26. <div class="layui-tab">
  27. <ul class="layui-tab-title">
  28. <li style="margin-left: 0px;">
  29. <a href="{:url('broad/chat')}">聊天记录</a>
  30. </li>
  31. <li>
  32. <a href="{:url('broad/blacklist')}">黑名单</a>
  33. </li>
  34. {if condition="$marketing_account eq 1"}
  35. <li class="layui-this">
  36. 系统客服
  37. </li>
  38. {/if}
  39. </ul>
  40. </div>
  41. <div class="layui-card-body">
  42. <div class="layui-form">
  43. <div class="layui-inline" style="height:38px;">
  44. <div class="layui-btn" data-type="add" title="新建客服">新建客服</div>
  45. <span
  46. style="color:#afb1b6;margin-left: 15px;">新建系统客服后,可在“直播控制台”内,点击右侧“系统客服”来控制发言和下单。</span>
  47. </div>
  48. <div class="layui-inline" style="float:right;margin-right: 100px;margin-left: 5px;">
  49. <button class="layui-btn layui-btn-primary" data-type="reload"><i class="layui-icon layui-icon-search layuiadmin-button-btn"></i></button>
  50. </div>
  51. <div class="layui-inline" style="float:right;">
  52. <input class="layui-input" name="name" id="name" autocomplete="off" placeholder="输入名称..">
  53. </div>
  54. </div>
  55. <div class="layui-row">
  56. <table class="layui-hide" id="user" lay-filter="user"></table>
  57. </div>
  58. </div>
  59. </div>
  60. </div>
  61. </div>
  62. </div>
  63. {/block}
  64. {block name="js"}
  65. <script type="text/html" id="result">
  66. {{# if(d.cmid == 0){ }}
  67. 系统客服
  68. {{# }else{ }}
  69. <!--<a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="editword"><i class="layui-icon">&#xe654;</i></a>-->
  70. <a class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del"><i class="layui-icon layui-icon-delete"></i></a>
  71. {{# } }}
  72. </script>
  73. <script id="headimg" type="text/html">
  74. <img src="{{ d.headimg }}?x-oss-process=image/resize,l_30" style="height: 30px;width: 30px" class="show">
  75. </script>
  76. <script>
  77. var indexurl = '{:url("broad/waistcoat")}';
  78. var addurl = '{:url("broad/waistcoat_add")}';
  79. var editurl = '{:url("broad/waistcoat_edit")}';
  80. var delurl = '{:url("broad/waistcoat_del")}';
  81. var editword = '{:url("waistcoat/editword")}';
  82. var t;
  83. layui.use(['table'], function () {
  84. var form = layui.form
  85. , table = layui.table
  86. , $ = layui.jquery
  87. , active = {
  88. reload: function () {
  89. var name = $('#name');
  90. //执行重载
  91. table.reload('userTable', {
  92. page: {
  93. curr: 1 //重新从第 1 页开始
  94. }
  95. , where: {
  96. name: name.val()
  97. }
  98. });
  99. }
  100. , add: function () {
  101. layer.open({
  102. title: ['添加客服', 'color:#333333;background-color:#D8E6F1;'],
  103. type: 2,
  104. content: addurl,
  105. resize: false,
  106. area: ['400px', '300px']
  107. });
  108. }
  109. , editword: function () {
  110. var id = this.data.id;
  111. layer.open({
  112. title: ['管理话术', 'color:#333333;background-color:#D8E6F1;'],
  113. type: 2,
  114. content: editword + '?id=' + id,
  115. resize: false,
  116. area: ['80%', '80%']
  117. });
  118. }
  119. , edit: function () {
  120. var id = this.data.id;
  121. layer.open({
  122. title: ['修改客服', 'color:#333333;background-color:#D8E6F1;'],
  123. type: 2,
  124. content: editurl + '?id=' + id,
  125. resize: false,
  126. area: ['400px', '300px']
  127. });
  128. }
  129. , del: function () {
  130. var id = this.data.id;
  131. $.post(delurl, { id: id }, function (resp) {
  132. var res = JSON.parse(resp);
  133. if (res.code == 0) {
  134. layer.msg(res.msg, { anim: 1, time: 1000 }, function () {
  135. t.reload();
  136. });
  137. } else {
  138. layer.msg(res.msg, { anim: 6 });
  139. }
  140. });
  141. }
  142. };
  143. //展示已知数据
  144. t = table.render({
  145. elem: '#user'
  146. , url: indexurl
  147. , page: true
  148. , autoSort: true
  149. , cols: [[ //标题栏
  150. { type: 'numbers', title: '序号', fixed: 'left', width: 80 }
  151. , { field: 'name', title: '客服名称', edit: 'text' }
  152. , { templet: '#headimg', title: '客服头像', width: 100 }
  153. , { field: 'addtime', title: '添加时间', width: 400, sort: true }
  154. , { fixed: 'right', title: '操作', toolbar: '#result', width: 180 }
  155. ]]
  156. , id: 'userTable'
  157. });
  158. $('.layui-form .layui-btn').on('click', function () {
  159. var type = $(this).data('type');
  160. active[type] ? active[type].call(this) : '';
  161. });
  162. table.on('toolbar(user)', function (obj) {
  163. var type = obj.event;
  164. active[type] ? active[type].call(this) : '';
  165. });
  166. table.on('tool(user)', function (obj) {
  167. var type = obj.event;
  168. active[type] ? active[type].call(obj) : '';
  169. });
  170. table.on('edit(user)', function (obj) {
  171. var id = obj.data.id,
  172. name = obj.value;
  173. $.post('{:url("broad/waistcoat_edit")}', { id: id, name: name }, function (resp) {
  174. var res = JSON.parse(resp);
  175. if (res.code == 0) {
  176. layer.msg(res.msg, { anim: 0 }, function () {
  177. parent.t.reload();
  178. var index = parent.layer.getFrameIndex(window.name);
  179. parent.layer.close(index);
  180. });
  181. //layer.msg(res.msg, {anim: 0,time:1000});
  182. } else {
  183. layer.msg(res.msg, { anim: 6 });
  184. }
  185. });
  186. });
  187. $('#addrule').click(function () {
  188. var addr = '{:url("rule/index")}';
  189. layer.open({
  190. title: ['设置区间秒数内的随机发话时间', 'color:#333333;background-color:#D8E6F1;'],
  191. type: 2,
  192. content: addr,
  193. resize: false,
  194. area: ['500px', '200px']
  195. });
  196. });
  197. });
  198. </script>
  199. {/block}