index.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316
  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',['pid'=>$Request.param.pid])}" 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" class="layui-input time_range" id="time_range_start_time" autocomplete="off"
  45. placeholder="排号日期" name="start_time">
  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">
  52. <input type="text" class="layui-input time_range" id="time_range_create_time" autocomplete="off"
  53. placeholder="创建时间" name="create_time">
  54. </div>
  55. <button class="layui-btn layui-btn-sm" lay-submit="" lay-filter="serch">立即提交</button>
  56. </div>
  57. </form>
  58. <script type="text/html" id="barDemo">
  59. <div class="layui-btn-group">
  60. <button class="layui-btn layui-btn-xs a_menu" lay-event="edit"><i class="layui-icon"
  61. style="margin-right: 0;"></i></button>
  62. <button class="layui-btn layui-btn-xs delete" lay-event="del"><i class="layui-icon"
  63. style="margin-right: 0;"></i></button>
  64. </div>
  65. </script>
  66. <table class="layui-table" id="table" lay-filter="table"></table>
  67. {include file="public/foot"}
  68. <script type="text/javascript">
  69. layui.use(['table', 'layer', 'form', 'laydate'], function () {
  70. var table = layui.table,
  71. form = layui.form,
  72. layer = layui.layer;
  73. var laydate = layui.laydate;
  74. //第一个实例
  75. table.render({
  76. id: 'table'
  77. , elem: '#table'
  78. , size: 'sm' //小尺寸的表格
  79. , toolbar: '#toolbarDemo'
  80. , limit: 15
  81. , limits: [15, 20, 30, 40, 50, 100]
  82. , url: "{:url('index',['pid'=>$Request.param.pid])}" //数据接口
  83. , page: true //开启分页
  84. , cols: [[ //表头
  85. {type: 'checkbox'},
  86. {field: 'id', title: 'ID', width: 60},
  87. {field: "start_time", title: '排号日期',width: 200,templet:function (row) {
  88. return row.start_time + ' ~ ' + row.end_time;
  89. }},
  90. // {field: "title", title: '服务名称'},
  91. {field: "morning_num", title: '上午放号个数'},
  92. {field: "afternoon_num", title: '下午放号个数'},
  93. {field: "night_num", title: '晚上放号个数'},
  94. {field: 'action', title: '操作', toolbar: '#barDemo', fixed: 'right'}
  95. ]],
  96. done: function () {
  97. if (isExitsFunction('showThumb')) {
  98. showThumb()
  99. }
  100. }
  101. });
  102. laydate.render({
  103. elem: '#time_range_start_time'
  104. , type: 'datetime'
  105. , range: true
  106. , max: 0 //最大值0天后
  107. , theme: 'molv'
  108. , calendar: true
  109. , done: function (value, date, endDate) {
  110. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  111. setTimeout(function () {
  112. $('#time_range_start_time').val(value.replace(/00:00:00$/, '23:59:59'))
  113. }, 100)
  114. }
  115. }
  116. });
  117. laydate.render({
  118. elem: '#time_range_end_time'
  119. , type: 'datetime'
  120. , range: true
  121. , max: 0 //最大值0天后
  122. , theme: 'molv'
  123. , calendar: true
  124. , done: function (value, date, endDate) {
  125. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  126. setTimeout(function () {
  127. $('#time_range_end_time').val(value.replace(/00:00:00$/, '23:59:59'))
  128. }, 100)
  129. }
  130. }
  131. });
  132. laydate.render({
  133. elem: '#time_range_morning_start_time'
  134. , type: 'datetime'
  135. , range: true
  136. , max: 0 //最大值0天后
  137. , theme: 'molv'
  138. , calendar: true
  139. , done: function (value, date, endDate) {
  140. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  141. setTimeout(function () {
  142. $('#time_range_morning_start_time').val(value.replace(/00:00:00$/, '23:59:59'))
  143. }, 100)
  144. }
  145. }
  146. });
  147. laydate.render({
  148. elem: '#time_range_morning_end_time'
  149. , type: 'datetime'
  150. , range: true
  151. , max: 0 //最大值0天后
  152. , theme: 'molv'
  153. , calendar: true
  154. , done: function (value, date, endDate) {
  155. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  156. setTimeout(function () {
  157. $('#time_range_morning_end_time').val(value.replace(/00:00:00$/, '23:59:59'))
  158. }, 100)
  159. }
  160. }
  161. });
  162. laydate.render({
  163. elem: '#time_range_afternoon_start_time'
  164. , type: 'datetime'
  165. , range: true
  166. , max: 0 //最大值0天后
  167. , theme: 'molv'
  168. , calendar: true
  169. , done: function (value, date, endDate) {
  170. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  171. setTimeout(function () {
  172. $('#time_range_afternoon_start_time').val(value.replace(/00:00:00$/, '23:59:59'))
  173. }, 100)
  174. }
  175. }
  176. });
  177. laydate.render({
  178. elem: '#time_range_afternoon_end_time'
  179. , type: 'datetime'
  180. , range: true
  181. , max: 0 //最大值0天后
  182. , theme: 'molv'
  183. , calendar: true
  184. , done: function (value, date, endDate) {
  185. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  186. setTimeout(function () {
  187. $('#time_range_afternoon_end_time').val(value.replace(/00:00:00$/, '23:59:59'))
  188. }, 100)
  189. }
  190. }
  191. });
  192. laydate.render({
  193. elem: '#time_range_night_start_time'
  194. , type: 'datetime'
  195. , range: true
  196. , max: 0 //最大值0天后
  197. , theme: 'molv'
  198. , calendar: true
  199. , done: function (value, date, endDate) {
  200. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  201. setTimeout(function () {
  202. $('#time_range_night_start_time').val(value.replace(/00:00:00$/, '23:59:59'))
  203. }, 100)
  204. }
  205. }
  206. });
  207. laydate.render({
  208. elem: '#time_range_night_end_time'
  209. , type: 'datetime'
  210. , range: true
  211. , max: 0 //最大值0天后
  212. , theme: 'molv'
  213. , calendar: true
  214. , done: function (value, date, endDate) {
  215. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  216. setTimeout(function () {
  217. $('#time_range_night_end_time').val(value.replace(/00:00:00$/, '23:59:59'))
  218. }, 100)
  219. }
  220. }
  221. });
  222. laydate.render({
  223. elem: '#time_range_create_time'
  224. , type: 'datetime'
  225. , range: true
  226. , max: 0 //最大值0天后
  227. , theme: 'molv'
  228. , calendar: true
  229. , done: function (value, date, endDate) {
  230. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  231. setTimeout(function () {
  232. $('#time_range_create_time').val(value.replace(/00:00:00$/, '23:59:59'))
  233. }, 100)
  234. }
  235. }
  236. });
  237. form.on('submit(serch)', function (data) {
  238. table.reload('table', {
  239. where: data.field
  240. , page: {
  241. curr: 1 //重新从第 1 页开始
  242. }
  243. });
  244. return false;
  245. });
  246. table.on('tool(table)', function (obj) {
  247. if (obj.event == 'edit') {
  248. location.href = "{:url('publish',['pid'=>$Request.param.pid])}?id=" + obj.data.id;
  249. }
  250. else if (obj.event == 'del') {
  251. layer.confirm('确定要删除?', function (index) {
  252. $.ajax({
  253. url: "{:url('delete')}",
  254. dataType: 'json',
  255. data: {id: obj.data.id},
  256. success: function (res) {
  257. layer.msg(res.msg);
  258. if (res.code == 1) {
  259. table.reload('table');
  260. }
  261. }
  262. })
  263. })
  264. }
  265. });
  266. //监听事件
  267. table.on('toolbar(table)', function (obj) {
  268. if (obj.event == 'deletes') {
  269. var checkStatus = table.checkStatus(obj.config.id);//获取选中的数据
  270. var data = checkStatus.data;
  271. if (data.length > 0) {
  272. var ids = [];//数组
  273. data.forEach(function (item, key) {
  274. ids[key] = item.id;
  275. })
  276. layer.confirm('是否删除?', function (index, layero) {
  277. $.ajax({
  278. url: "{:url('deletes')}",
  279. dataType: 'json',
  280. data: {"ids": ids},
  281. type: 'post',
  282. success: function (res) {
  283. layer.msg(res.msg);
  284. if (res.code == 1) {
  285. table.reload('table');
  286. }
  287. }
  288. })
  289. layer.close(index)
  290. });
  291. } else {
  292. layer.msg('请先勾选需要操作的记录');
  293. }
  294. }
  295. });
  296. });
  297. </script>
  298. </div>
  299. </body>
  300. </html>