index.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324
  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: '排号日期',templet:function (row) {
  88. return row.start_time + ' ~ ' + row.end_time;
  89. }},
  90. {field: "title", title: '服务名称'},
  91. {field: "provider_id", title: '服务人'},
  92. {field: "morning_num", title: '上午放号个数'},
  93. {field: "morning_start_time", title: 'morning_start_time'},
  94. {field: "morning_end_time", title: 'morning_end_time'},
  95. {field: "afternoon_num", title: '下午放号个数'},
  96. {field: "afternoon_start_time", title: 'afternoon_start_time'},
  97. {field: "afternoon_end_time", title: 'afternoon_end_time'},
  98. {field: "night_num", title: '晚上放号个数'},
  99. {field: "night_start_time", title: 'night_start_time'},
  100. {field: "night_end_time", title: 'night_end_time'},
  101. {field: "create_time", title: '创建时间'},
  102. {field: 'action', title: '操作', toolbar: '#barDemo', fixed: 'right'}
  103. ]],
  104. done: function () {
  105. if (isExitsFunction('showThumb')) {
  106. showThumb()
  107. }
  108. }
  109. });
  110. laydate.render({
  111. elem: '#time_range_start_time'
  112. , type: 'datetime'
  113. , range: true
  114. , max: 0 //最大值0天后
  115. , theme: 'molv'
  116. , calendar: true
  117. , done: function (value, date, endDate) {
  118. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  119. setTimeout(function () {
  120. $('#time_range_start_time').val(value.replace(/00:00:00$/, '23:59:59'))
  121. }, 100)
  122. }
  123. }
  124. });
  125. laydate.render({
  126. elem: '#time_range_end_time'
  127. , type: 'datetime'
  128. , range: true
  129. , max: 0 //最大值0天后
  130. , theme: 'molv'
  131. , calendar: true
  132. , done: function (value, date, endDate) {
  133. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  134. setTimeout(function () {
  135. $('#time_range_end_time').val(value.replace(/00:00:00$/, '23:59:59'))
  136. }, 100)
  137. }
  138. }
  139. });
  140. laydate.render({
  141. elem: '#time_range_morning_start_time'
  142. , type: 'datetime'
  143. , range: true
  144. , max: 0 //最大值0天后
  145. , theme: 'molv'
  146. , calendar: true
  147. , done: function (value, date, endDate) {
  148. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  149. setTimeout(function () {
  150. $('#time_range_morning_start_time').val(value.replace(/00:00:00$/, '23:59:59'))
  151. }, 100)
  152. }
  153. }
  154. });
  155. laydate.render({
  156. elem: '#time_range_morning_end_time'
  157. , type: 'datetime'
  158. , range: true
  159. , max: 0 //最大值0天后
  160. , theme: 'molv'
  161. , calendar: true
  162. , done: function (value, date, endDate) {
  163. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  164. setTimeout(function () {
  165. $('#time_range_morning_end_time').val(value.replace(/00:00:00$/, '23:59:59'))
  166. }, 100)
  167. }
  168. }
  169. });
  170. laydate.render({
  171. elem: '#time_range_afternoon_start_time'
  172. , type: 'datetime'
  173. , range: true
  174. , max: 0 //最大值0天后
  175. , theme: 'molv'
  176. , calendar: true
  177. , done: function (value, date, endDate) {
  178. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  179. setTimeout(function () {
  180. $('#time_range_afternoon_start_time').val(value.replace(/00:00:00$/, '23:59:59'))
  181. }, 100)
  182. }
  183. }
  184. });
  185. laydate.render({
  186. elem: '#time_range_afternoon_end_time'
  187. , type: 'datetime'
  188. , range: true
  189. , max: 0 //最大值0天后
  190. , theme: 'molv'
  191. , calendar: true
  192. , done: function (value, date, endDate) {
  193. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  194. setTimeout(function () {
  195. $('#time_range_afternoon_end_time').val(value.replace(/00:00:00$/, '23:59:59'))
  196. }, 100)
  197. }
  198. }
  199. });
  200. laydate.render({
  201. elem: '#time_range_night_start_time'
  202. , type: 'datetime'
  203. , range: true
  204. , max: 0 //最大值0天后
  205. , theme: 'molv'
  206. , calendar: true
  207. , done: function (value, date, endDate) {
  208. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  209. setTimeout(function () {
  210. $('#time_range_night_start_time').val(value.replace(/00:00:00$/, '23:59:59'))
  211. }, 100)
  212. }
  213. }
  214. });
  215. laydate.render({
  216. elem: '#time_range_night_end_time'
  217. , type: 'datetime'
  218. , range: true
  219. , max: 0 //最大值0天后
  220. , theme: 'molv'
  221. , calendar: true
  222. , done: function (value, date, endDate) {
  223. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  224. setTimeout(function () {
  225. $('#time_range_night_end_time').val(value.replace(/00:00:00$/, '23:59:59'))
  226. }, 100)
  227. }
  228. }
  229. });
  230. laydate.render({
  231. elem: '#time_range_create_time'
  232. , type: 'datetime'
  233. , range: true
  234. , max: 0 //最大值0天后
  235. , theme: 'molv'
  236. , calendar: true
  237. , done: function (value, date, endDate) {
  238. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  239. setTimeout(function () {
  240. $('#time_range_create_time').val(value.replace(/00:00:00$/, '23:59:59'))
  241. }, 100)
  242. }
  243. }
  244. });
  245. form.on('submit(serch)', function (data) {
  246. table.reload('table', {
  247. where: data.field
  248. , page: {
  249. curr: 1 //重新从第 1 页开始
  250. }
  251. });
  252. return false;
  253. });
  254. table.on('tool(table)', function (obj) {
  255. if (obj.event == 'edit') {
  256. location.href = "{:url('publish',['pid'=>$Request.param.pid])}?id=" + obj.data.id;
  257. }
  258. else if (obj.event == 'del') {
  259. layer.confirm('确定要删除?', function (index) {
  260. $.ajax({
  261. url: "{:url('delete')}",
  262. dataType: 'json',
  263. data: {id: obj.data.id},
  264. success: function (res) {
  265. layer.msg(res.msg);
  266. if (res.code == 1) {
  267. table.reload('table');
  268. }
  269. }
  270. })
  271. })
  272. }
  273. });
  274. //监听事件
  275. table.on('toolbar(table)', function (obj) {
  276. if (obj.event == 'deletes') {
  277. var checkStatus = table.checkStatus(obj.config.id);//获取选中的数据
  278. var data = checkStatus.data;
  279. if (data.length > 0) {
  280. var ids = [];//数组
  281. data.forEach(function (item, key) {
  282. ids[key] = item.id;
  283. })
  284. layer.confirm('是否删除?', function (index, layero) {
  285. $.ajax({
  286. url: "{:url('deletes')}",
  287. dataType: 'json',
  288. data: {"ids": ids},
  289. type: 'post',
  290. success: function (res) {
  291. layer.msg(res.msg);
  292. if (res.code == 1) {
  293. table.reload('table');
  294. }
  295. }
  296. })
  297. layer.close(index)
  298. });
  299. } else {
  300. layer.msg('请先勾选需要操作的记录');
  301. }
  302. }
  303. });
  304. });
  305. </script>
  306. </div>
  307. </body>
  308. </html>