index.html 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>layui</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  9. <link rel="stylesheet" href="__PUBLIC__/layui/css/layui.css" media="all">
  10. <link rel="stylesheet" href="__PUBLIC__/font-awesome/css/font-awesome.min.css" media="all"/>
  11. <link rel="stylesheet" href="__CSS__/admin.css" media="all">
  12. <style type="text/css">
  13. /* tooltip */
  14. #tooltip {
  15. position: absolute;
  16. border: 1px solid #ccc;
  17. background: #333;
  18. padding: 2px;
  19. display: none;
  20. color: #fff;
  21. }
  22. </style>
  23. </head>
  24. <body style="padding:10px;">
  25. <div class="tplay-body-div">
  26. <div class="layui-tab">
  27. <ul class="layui-tab-title">
  28. <li class="layui-this">全部配置</li>
  29. <li><a href="{:url('publish',['tab_id'=>$Request.param.tab_id])}" class="a_menu">新增</a></li>
  30. </ul>
  31. </div>
  32. <form class="layui-form serch" action="{:url('index')}" method="post">
  33. <div class="layui-form-item" style="float: left;">
  34. <div class="layui-input-inline">
  35. <input type="text" name="keywords" lay-verify="title" autocomplete="off" placeholder="请输入名称"
  36. class="layui-input layui-btn-sm">
  37. </div>
  38. <div class="layui-input-inline">
  39. <select name="tab_id" lay-search="">
  40. <option value="">标签</option>
  41. {foreach name="$tabs" item="vo" key="k"}
  42. <option value="{$vo.id}">{$vo.name}</option>
  43. {/foreach}
  44. </select>
  45. </div>
  46. <button class="layui-btn layui-btn-sm" lay-submit="" lay-filter="serch">立即提交</button>
  47. </div>
  48. </form>
  49. <script type="text/html" id="toolbarDemo">
  50. <div class="layui-btn-container">
  51. <button class="layui-btn layui-btn-sm" lay-submit lay-filter="admin">排序</button>
  52. <button class="layui-btn layui-btn-sm" lay-event="addGroupTab">配置标签</button>
  53. </div>
  54. </script>
  55. <script type="text/html" id="barDemo">
  56. <div class="layui-btn-group">
  57. <a class="layui-btn layui-btn-xs" lay-event="edit"><i class="layui-icon"
  58. style="margin-right: 0;"></i></a>
  59. <a class="layui-btn layui-btn-xs delete" lay-event="del"><i class="layui-icon"
  60. style="margin-right: 0;"></i></a>
  61. </div>
  62. </script>
  63. <table class="layui-table" id="table" lay-filter="table"></table>
  64. {include file="public/foot"}
  65. <script type="text/javascript">
  66. layui.use(['table', 'layer', 'form'], function () {
  67. var table = layui.table,
  68. form = layui.form,
  69. layer = layui.layer;
  70. //第一个实例
  71. table.render({
  72. id: 'table'
  73. , elem: '#table'
  74. , size: 'sm' //小尺寸的表格
  75. , toolbar: '#toolbarDemo'
  76. , defaultToolbar: []
  77. , limit: 15
  78. , limits: [15, 20, 30, 40, 50, 100]
  79. , url: "{:url('index')}?tab_id={$Request.param.tab_id}" //数据接口
  80. , page: true //开启分页
  81. , cols: [[ //表头
  82. {
  83. key: 'sort', title: '排序', align: 'center', width: 60, templet: function (row) {
  84. return '<input type="text" name="sorts[]" value="' + row.sort + '" style="width: 20px;" class="sort"><input type="hidden" name="ids[]" value="' + row.id + '">';
  85. }
  86. },
  87. {field: 'tab_text', title: '标签', width: 120, align: 'center'},
  88. {field: 'id', title: 'ID', width: 60, align: 'center'},
  89. {field: 'name', title: '名称'},
  90. {field: 'type_text', title: '配置类型', width: 100, align: 'center'},
  91. {field: 'value', title: '配置值',templet:function (row) {
  92. if(row.type == 0){
  93. return row.value;
  94. }
  95. return '<a class="layui-btn layui-btn-xs" lay-event="options">配置</a>';
  96. }},
  97. {field: 'remark', title: '备注'},
  98. {
  99. field: 'status', title: '状态', align: 'center', width: 100, templet: function (row) {
  100. return '<a href="javascript:;" style="font-size:18px;" class="status" data-id="' + row.id + '" data-val="' + row.status + '">' + (row.status == 1 ? '<i class="fa fa-toggle-on"></i>' : '<i class="fa fa-toggle-off"></i>') + '</a>';
  101. }
  102. },
  103. {field: 'action', title: '操作', align: 'center', toolbar: '#barDemo',width: 150, fixed: 'right'}
  104. ]],
  105. done: function () {
  106. //审核
  107. switchStatus('.status',"{:url('status')}");
  108. }
  109. });
  110. form.on('submit(serch)', function (data) {
  111. table.reload('table', {
  112. where: data.field
  113. , page: {
  114. curr: 1 //重新从第 1 页开始
  115. }
  116. });
  117. return false;
  118. });
  119. table.on('tool(table)', function (obj) {
  120. if (obj.event == 'edit') {
  121. location.href = "{:url('publish')}?id=" + obj.data.id;
  122. }
  123. else if (obj.event == 'del') {
  124. layer.confirm('确定要删除?', function (index) {
  125. $.ajax({
  126. url: "{:url('delete')}",
  127. dataType: 'json',
  128. data: {id: obj.data.id},
  129. success: function (res) {
  130. layer.msg(res.msg);
  131. if (res.code == 1) {
  132. table.reload('table');
  133. }
  134. }
  135. })
  136. })
  137. }
  138. else if(obj.event == 'options'){
  139. layer.open({
  140. type: 2,
  141. title: obj.data.id + '.' + obj.data.name ,
  142. area: ['90%', '90%'],
  143. maxmin: true,
  144. id: 'layerDemo', //防止重复弹出
  145. content: "{:url('config_option/index')}?pid=" + obj.data.id
  146. });
  147. }
  148. });
  149. //监听事件
  150. table.on('toolbar(table)', function (obj) {
  151. if(obj.event == 'addGroupTab') {
  152. layer.open({
  153. type: 2,
  154. title: "配置标签",
  155. area: ['60%', '60%'],
  156. maxmin: true,
  157. id: 'layerDemo', //防止重复弹出
  158. content: "{:url('admin/config_tab/index')}"
  159. });
  160. }
  161. });
  162. });
  163. </script>
  164. <script>
  165. // 排序
  166. layui.use(['layer', 'form'], function () {
  167. var layer = layui.layer,
  168. $ = layui.jquery,
  169. form = layui.form;
  170. $(window).on('load', function () {
  171. form.on('submit(admin)', function (data) {
  172. $sort_eles = $('.sort');
  173. $data = {};
  174. if ($sort_eles.length > 0) {
  175. for (var i = 0; i < $sort_eles.length; i++) {
  176. $data['sorts[' + i + ']'] = $sort_eles[i].value;
  177. $data['ids[' + i + ']'] = $sort_eles[i].nextSibling.value;
  178. }
  179. }
  180. console.log($data)
  181. $.ajax({
  182. url: "{:url('sort')}",
  183. data: $data,
  184. type: 'post',
  185. async: false,
  186. success: function (res) {
  187. if (res.code == 1) {
  188. layer.alert(res.msg, function (index) {
  189. location.reload();
  190. })
  191. } else {
  192. layer.msg(res.msg);
  193. }
  194. }
  195. })
  196. return false;
  197. });
  198. });
  199. });
  200. </script>
  201. </div>
  202. </body>
  203. </html>