index.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238
  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. <body class="gray-bg">
  16. <div class="wrapper wrapper-content animated fadeInRight">
  17. <!-- Panel Other -->
  18. <div class="ibox float-e-margins">
  19. <div class="ibox-title">
  20. <h5>接入设置</h5>
  21. </div>
  22. <div class="ibox-content">
  23. <h4 style="margin-bottom: 10px;">入口设置</h4>
  24. <div class="ibox-title" style="min-height: 0px;">
  25. </div>
  26. <a href="/admin/settings/add.html" style="margin-top: -10px">
  27. <button class="btn btn-primary btn-sm" type="button" style="margin-top:5px">新增
  28. </button>
  29. </a>
  30. <div class="example-wrap">
  31. <div class="example">
  32. <table id="cusTable">
  33. <thead>
  34. <!--<th data-field="id">id</th>-->
  35. <th data-field="name">名称</th>
  36. <th data-field="image">图片</th>
  37. <th data-field="user_group">关联客服组</th>
  38. <th data-field="sort">排序</th>
  39. <th data-field="operate">操作</th>
  40. </thead>
  41. </table>
  42. </div>
  43. </div>
  44. <form class="form-horizontal m-t layui-form" id="commentForm" method="post" action="{:url('settings/index')}">
  45. <h4 style="margin-bottom: 10px; margin-top: 40px;">自动邀请设置</h4>
  46. <div class="ibox-title" style="min-height: 0px;">
  47. </div>
  48. <div class="form-group" style="flex-wrap: wrap; display: flex">
  49. <p style="width: 100%; margin-left: 20px; color: #9c9c9c; margin-bottom: 15px; font-size: 15px;">访客访问网站时,系统可以自动发起会话邀请,默认0秒为不邀请。</p>
  50. <label style="font-weight: 500;" class="col-sm-2 control-label">访问停留:</label>
  51. <div class="input-group col-sm-1">
  52. <input id="runTime" type="text" class="form-control" name="overtime" required="" aria-required="true" value="{$settings['stop_time']}">
  53. </div>
  54. <label style="font-weight: 500;" class="control-label" style="margin-left: 20px;">秒</label>
  55. </div>
  56. <div class="form-group" style="flex-wrap: wrap; display: flex">
  57. <label style="font-weight: 500;" class="col-sm-2 control-label">发出邀请文案:</label>
  58. <div class="input-group col-sm-8">
  59. <input id="runContent" type="text" class="form-control" name="overtimeInfo" required="" aria-required="true" value="{$settings['copywriting']}">
  60. </div>
  61. </div>
  62. <h4 style="margin-bottom: 10px; margin-top: 40px;">访客端入口位置设置</h4>
  63. <div class="ibox-title" style="min-height: 0px;">
  64. </div>
  65. <div class="form-group" style="flex-wrap: wrap; display: flex">
  66. <p style="width: 100%; margin-left: 20px; color: #9c9c9c; margin-bottom: 15px; font-size: 15px;">访客端入口上边距设置</p>
  67. <label style="font-weight: 500;" class="col-sm-2 control-label">上边距:</label>
  68. <div class="input-group col-sm-1">
  69. <input id="distance" type="text" class="form-control" name="marginTop" required="" aria-required="true" value="{$settings['margin_top']}">
  70. </div>
  71. <label style="font-weight: 500;" class="control-label" style="margin-left: 20px;">px</label>
  72. </div>
  73. <h4 style="margin-bottom: 10px; margin-top: 40px;">JS设置</h4>
  74. <div class="ibox-title" style="min-height: 0px;">
  75. </div>
  76. <div class="form-group" style="flex-wrap: wrap; display: flex">
  77. <label style="font-weight: 500;" class="col-sm-2 control-label">JS名:</label>
  78. <div class="input-group col-sm-1">
  79. <input type="text" class="form-control" name="name" required="" aria-required="true">
  80. </div>
  81. </div>
  82. <div class="form-group" style="margin-top: 40px;">
  83. <div class="input-group col-sm-4" style="margin-left: 20px;">
  84. <a class="btn btn-primary btn-sm" onclick="goDemo()">预览</a>
  85. <button class="btn btn-primary btn-sm" type="submit" style="margin-left: 20px;">提交</button>
  86. </div>
  87. </div>
  88. </form>
  89. <!-- End Example Pagination -->
  90. </div>
  91. </div>
  92. </div>
  93. <!-- End Panel Other -->
  94. <script src="__JS__/jquery.min.js?v=2.1.4"></script>
  95. <script src="__JS__/bootstrap.min.js?v=3.3.6"></script>
  96. <script src="__JS__/content.min.js?v=1.0.0"></script>
  97. <script src="__JS__/plugins/bootstrap-table/bootstrap-table.min.js"></script>
  98. <script src="__JS__/plugins/bootstrap-table/bootstrap-table-mobile.min.js"></script>
  99. <script src="__JS__/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script>
  100. <script src="__JS__/plugins/layer/layer.min.js"></script>
  101. <script src="__JS__/layui/layui.js"></script>
  102. <script src="__JS__/jquery.form.js"></script>
  103. <script type="text/javascript">
  104. function goDemo() {
  105. let runTime = $('#runTime').val();
  106. let runContent = $('#runContent').val();
  107. let distance = $('#distance').val();
  108. window.open("/admin/Settings/demo.html?runTime="+runTime+"&runContent="+runContent+"&distance="+distance);
  109. }
  110. layui.use(['form', 'upload'], function(){
  111. var form = layui.form;
  112. form.on('select(group)', function(value){
  113. $("#group_id").val(value.value);
  114. onSearch()
  115. });
  116. });
  117. </script>
  118. <script type="text/javascript">
  119. function initTable() {
  120. //先销毁表格
  121. $('#cusTable').bootstrapTable('destroy');
  122. //初始化表格,动态从服务器加载数据
  123. $("#cusTable").bootstrapTable({
  124. method: "get", //使用get请求到服务器获取数据
  125. url: "{:url('settings/index')}", //获取数据的地址
  126. striped: true, //表格显示条纹
  127. pagination: false, //启动分页
  128. pageSize: 50, //每页显示的记录数
  129. pageNumber:1, //当前第几页
  130. pageList: [20, 50], //记录数可选列表
  131. sidePagination: "server", //表示服务端请求
  132. paginationFirstText: "首页",
  133. paginationPreText: "上一页",
  134. paginationNextText: "下一页",
  135. paginationLastText: "尾页",
  136. queryParamsType : "undefined",
  137. queryParams: function queryParams(params) { //设置查询参数
  138. var param = {
  139. pageNumber: params.pageNumber,
  140. pageSize: params.pageSize,
  141. group_id:$('#group_id').val(),
  142. searchText:$('#username').val()
  143. };
  144. return param;
  145. },
  146. onLoadSuccess: function(res){ //加载成功时执行
  147. if(111 == res.code){
  148. window.location.reload();
  149. }
  150. layer.msg("加载成功", {time : 1000});
  151. },
  152. onLoadError: function(){ //加载失败时执行
  153. layer.msg("加载数据失败");
  154. }
  155. });
  156. }
  157. $(document).ready(function () {
  158. //调用函数,初始化表格
  159. initTable();
  160. //当点击查询按钮的时候执行
  161. $("#search").bind("click", initTable);
  162. });
  163. function Del(id){
  164. layer.confirm('确认删除此功能菜单?', {icon: 3, title:'提示'}, function(index){
  165. //do something
  166. $.getJSON("{:url('settings/del')}", {'id' : id}, function(res){
  167. if(1 == res.code){
  168. layer.alert(res.msg, {title: '友情提示', icon: 1, closeBtn: 0}, function(){
  169. initTable();
  170. });
  171. }else if(111 == res.code){
  172. window.location.reload();
  173. }else{
  174. layer.alert(res.msg, {title: '友情提示', icon: 2});
  175. }
  176. });
  177. layer.close(index);
  178. })
  179. }
  180. function showStart(){
  181. index = layer.load(0, {shade: false});
  182. return true;
  183. }
  184. function showSuccess(res){
  185. layer.ready(function(){
  186. layer.close(index);
  187. if(1 == res.code){
  188. layer.alert(res.msg, {title: '友情提示', icon: 1, closeBtn: 0}, function(){
  189. window.location.href = '/admin/settings/entranceList.html';
  190. });
  191. }else if(111 == res.code){
  192. window.location.reload();
  193. }else{
  194. layer.msg(res.msg, {anim: 6});
  195. }
  196. });
  197. }
  198. $(document).ready(function(){
  199. // 添加菜单
  200. var options = {
  201. beforeSubmit:showStart,
  202. success:showSuccess
  203. };
  204. $('#commentForm').submit(function(){
  205. $(this).ajaxSubmit(options);
  206. return false;
  207. });
  208. });
  209. // 表单验证
  210. $.validator.setDefaults({
  211. highlight: function(e) {
  212. $(e).closest(".form-group").removeClass("has-success").addClass("has-error")
  213. },
  214. success: function(e) {
  215. e.closest(".form-group").removeClass("has-error").addClass("has-success")
  216. },
  217. errorElement: "span",
  218. errorPlacement: function(e, r) {
  219. e.appendTo(r.is(":radio") || r.is(":checkbox") ? r.parent().parent().parent() : r.parent())
  220. },
  221. errorClass: "help-block m-b-none",
  222. validClass: "help-block m-b-none"
  223. });
  224. </script>
  225. </body>
  226. </html>