index.html 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  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="/static/public/layui/css/layui.css" media="all">
  10. <link rel="stylesheet" href="/static/public/font-awesome/css/font-awesome.min.css" media="all"/>
  11. <link rel="stylesheet" href="/static/admin/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. .tooltip > img {
  23. width: 20px;
  24. height: 20px;
  25. }
  26. </style>
  27. </head>
  28. <body style="padding:10px;">
  29. <div class="tplay-body-div">
  30. <div class="layui-tab">
  31. <ul class="layui-tab-title">
  32. <li class="layui-this">列表</li>
  33. <li><a href="{:url('publish')}" class="a_menu">新增</a></li>
  34. </ul>
  35. </div>
  36. <script type="text/html" id="toolbarDemo">
  37. <div class="layui-btn-container">
  38. <button class="layui-btn layui-btn-danger layui-btn-sm" lay-event="deletes">批量删除</button>
  39. </div>
  40. </script>
  41. <form class="layui-form serch" action="index" method="post">
  42. <div class="layui-form-item" style="float: left;">
  43. <div class="layui-input-inline">
  44. <input type="text" name="ids" autocomplete="off" placeholder="请输入ID,多个id逗号分隔"
  45. class="layui-input layui-btn-sm">
  46. </div>
  47. <div class="layui-input-inline">
  48. <input type="text" name="title" autocomplete="off" placeholder="标题(模糊搜索)"
  49. class="layui-input layui-btn-sm">
  50. </div>
  51. <div class="layui-input-inline" style="width: 100px">
  52. <div class="layui-inline">
  53. <select name="admin_id" lay-search="">
  54. <option value="">创建人</option>
  55. {volist name="$admins" id="vo"}
  56. <option value="{$vo.id}">{$vo.nickname}</option>
  57. {/volist}
  58. </select>
  59. </div>
  60. </div>
  61. <div class="layui-input-inline">
  62. <input type="text" class="layui-input time_range" id="time_range_create_time" autocomplete="off"
  63. placeholder="日期" name="create_time">
  64. </div>
  65. <button class="layui-btn layui-btn-sm" lay-submit="" lay-filter="serch">立即提交</button>
  66. </div>
  67. </form>
  68. <script type="text/html" id="barDemo">
  69. <div class="layui-btn-group">
  70. <button class="layui-btn layui-btn-xs a_menu" lay-event="edit"><i class="layui-icon"
  71. style="margin-right: 0;"></i></button>
  72. <button class="layui-btn layui-btn-xs delete" lay-event="del"><i class="layui-icon"
  73. style="margin-right: 0;"></i></button>
  74. </div>
  75. </script>
  76. <table class="layui-table" id="table" lay-filter="table"></table>
  77. {include file="public/foot"}
  78. <script type="text/javascript">
  79. layui.use(['table', 'layer', 'form', 'laydate'], function () {
  80. var table = layui.table,
  81. form = layui.form,
  82. layer = layui.layer;
  83. var laydate = layui.laydate;
  84. //第一个实例
  85. table.render({
  86. id: 'table'
  87. , elem: '#table'
  88. , size: 'sm' //小尺寸的表格
  89. , toolbar: '#toolbarDemo'
  90. , limit: 15
  91. , limits: [15, 20, 30, 40, 50, 100]
  92. , url: "{:url('index')}" //数据接口
  93. , page: true //开启分页
  94. , cols: [[ //表头
  95. {type: 'checkbox'},
  96. {field: 'id', title: 'ID', width: 60},
  97. {field: "title", title: '标题'},
  98. {
  99. field: 'image', title: '缩略图', width: 70, align: 'center', templet: function (row) {
  100. return (row.thumb_url == '') ? '' : '<a href="' + row.thumb_url + '" class="tooltip" target="_blank"><img src="' + row.thumb_url + '" width="20" height="20"></a>';
  101. }
  102. },
  103. {field: "admin_name", title: '创建人'},
  104. {field: "create_time", title: '日期'},
  105. {field: 'action', title: '操作', toolbar: '#barDemo', fixed: 'right'}
  106. ]],
  107. done: function () {
  108. if (isExitsFunction('showThumb')) {
  109. showThumb()
  110. }
  111. }
  112. });
  113. laydate.render({
  114. elem: '#time_range_create_time'
  115. , type: 'datetime'
  116. , range: true
  117. , max: 0 //最大值0天后
  118. , theme: 'molv'
  119. , calendar: true
  120. , done: function (value, date, endDate) {
  121. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  122. setTimeout(function () {
  123. $('#time_range_create_time').val(value.replace(/00:00:00$/, '23:59:59'))
  124. }, 100)
  125. }
  126. }
  127. });
  128. form.on('submit(serch)', function (data) {
  129. table.reload('table', {
  130. where: data.field
  131. , page: {
  132. curr: 1 //重新从第 1 页开始
  133. }
  134. });
  135. return false;
  136. });
  137. table.on('tool(table)', function (obj) {
  138. if (obj.event == 'edit') {
  139. window.parent.tab.tabAdd({
  140. icon: "fa-bookmark",
  141. id: "tplay_announcement" + obj.data.id,
  142. title: obj.data.title == null ? "公告表" + obj.data.id : obj.data.title,
  143. url: "/admin/announcement/publish?id=" + obj.data.id
  144. });
  145. }
  146. else if (obj.event == 'del') {
  147. layer.confirm('确定要删除?', function (index) {
  148. $.ajax({
  149. url: "{:url('delete')}",
  150. dataType: 'json',
  151. data: {id: obj.data.id},
  152. success: function (res) {
  153. layer.msg(res.msg);
  154. if (res.code == 1) {
  155. table.reload('table');
  156. }
  157. }
  158. })
  159. })
  160. }
  161. });
  162. //监听事件
  163. table.on('toolbar(table)', function (obj) {
  164. if (obj.event == 'deletes') {
  165. var checkStatus = table.checkStatus(obj.config.id);//获取选中的数据
  166. var data = checkStatus.data;
  167. if (data.length > 0) {
  168. var ids = [];//数组
  169. data.forEach(function (item, key) {
  170. ids[key] = item.id;
  171. })
  172. layer.confirm('是否删除?', function (index, layero) {
  173. $.ajax({
  174. url: "{:url('deletes')}",
  175. dataType: 'json',
  176. data: {"ids": ids},
  177. type: 'post',
  178. success: function (res) {
  179. layer.msg(res.msg);
  180. if (res.code == 1) {
  181. table.reload('table');
  182. }
  183. }
  184. })
  185. layer.close(index)
  186. });
  187. } else {
  188. layer.msg('请先勾选需要操作的记录');
  189. }
  190. }
  191. });
  192. });
  193. </script>
  194. </div>
  195. </body>
  196. </html>