index.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  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. <form class="layui-form serch" action="index" method="post">
  37. <div class="layui-form-item" style="float: left;">
  38. <!--<div class="layui-input-inline">-->
  39. <!--<input type="text" name="ids" autocomplete="off" placeholder="请输入ID,多个id逗号分隔"-->
  40. <!--class="layui-input layui-btn-sm">-->
  41. <!--</div>-->
  42. <div class="layui-input-inline">
  43. <input type="text" name="name" autocomplete="off" placeholder="姓名(模糊搜索)"
  44. class="layui-input layui-btn-sm">
  45. </div>
  46. <div class="layui-input-inline" style="width: 100px">
  47. <select name="sex" lay-search="">
  48. <option value="">性别</option>
  49. <option value="1">男</option>
  50. <option value="2">女</option>
  51. </select>
  52. </div>
  53. <div class="layui-input-inline">
  54. <input type="text" name="phone" autocomplete="off" placeholder="电话(模糊搜索)"
  55. class="layui-input layui-btn-sm">
  56. </div>
  57. <div class="layui-input-inline">
  58. <input type="text" name="id_card" autocomplete="off" placeholder="身份证(模糊搜索)"
  59. class="layui-input layui-btn-sm">
  60. </div>
  61. <div class="layui-input-inline" style="width: 100px">
  62. <select name="appointment_period" lay-search="">
  63. <option value="">时段</option>
  64. <option value="1">上午</option>
  65. <option value="2">下午</option>
  66. <option value="3">晚上</option>
  67. </select>
  68. </div>
  69. <div class="layui-input-inline" style="width: 100px">
  70. <select name="status" lay-search="">
  71. <option value="">订单状态</option>
  72. <option value="0">未签到</option>
  73. <option value="1">已签到</option>
  74. <option value="2">爽约</option>
  75. </select>
  76. </div>
  77. <div class="layui-input-inline">
  78. <input type="text" name="remark" autocomplete="off" placeholder="备注(模糊搜索)"
  79. class="layui-input layui-btn-sm">
  80. </div>
  81. <div class="layui-input-inline">
  82. <input type="text" class="layui-input time_range" id="time_range_create_time" autocomplete="off"
  83. placeholder="下单时间" name="create_time">
  84. </div>
  85. <button class="layui-btn layui-btn-sm" lay-submit="" lay-filter="serch">立即提交</button>
  86. </div>
  87. </form>
  88. <script type="text/html" id="barDemo">
  89. <div class="layui-btn-group">
  90. <button class="layui-btn layui-btn-xs delete" lay-event="view"><i class="layui-icon"
  91. style="margin-right: 0;">&#xe622;</i></button>
  92. <button class="layui-btn layui-btn-xs a_menu" lay-event="edit"><i class="layui-icon"
  93. style="margin-right: 0;"></i></button>
  94. </div>
  95. </script>
  96. <table class="layui-table" id="table" lay-filter="table"></table>
  97. {include file="public/foot"}
  98. <form id="myForm" style="display:none;margin: 10px 30px;" class="layui-form alert-form">
  99. <table class="layui-table">
  100. <colgroup>
  101. <col width="100">
  102. <col width="200">
  103. </colgroup>
  104. <tbody id="mytable">
  105. <!--<tr>-->
  106. <!--<td>贤心</td>-->
  107. <!--<td>2016-11-29</td>-->
  108. <!--</tr>-->
  109. <!--<tr>-->
  110. <!--<td>许闲心</td>-->
  111. <!--<td>2016-11-28</td>-->
  112. <!--</tr>-->
  113. </tbody>
  114. </table>
  115. </form>
  116. <script type="text/javascript">
  117. layui.use(['table', 'layer', 'form', 'laydate'], function () {
  118. var table = layui.table,
  119. form = layui.form,
  120. layer = layui.layer;
  121. var laydate = layui.laydate;
  122. //第一个实例
  123. table.render({
  124. id: 'table'
  125. , elem: '#table'
  126. , size: 'sm' //小尺寸的表格
  127. , toolbar: '#toolbarDemo'
  128. , limit: 15
  129. , limits: [15, 20, 30, 40, 50, 100]
  130. , url: "{:url('index')}" //数据接口
  131. , page: true //开启分页
  132. , cols: [[ //表头
  133. {type: 'checkbox'},
  134. {field: 'id', title: 'ID', width: 60},
  135. {field: "name", title: '姓名', width: 90},
  136. {field: "phone", title: '电话', width: 120},
  137. {field: "problem_desc", title: '问题描述'},
  138. {field: "requirement_desc", title: '需求描述'},
  139. {field: "appointment_time", title: '预约时间段'},
  140. {field: "remark", title: '备注'},
  141. {field: "create_time", title: '下单时间'},
  142. {field:'status',title:'订单状态', width: 80, templet:function (row) {
  143. if (row.finish_time == 0) {
  144. return '<span class="layui-badge status" style="background-color: #8FCDA0" data-id="' + row.id + '">' + row.status_text + '</span>';
  145. }
  146. return '<span class="layui-badge layui-bg-gray">' + row.status_text + '</span>';
  147. }},
  148. {field: 'action', title: '操作', toolbar: '#barDemo', fixed: 'right' ,align: 'center',width:110}
  149. ]],
  150. done: function () {
  151. $('.status').click(function () {
  152. var id = $(this).attr('data-id');
  153. layer.msg('修改订单状态', {
  154. time: 20000,
  155. btn: ['已签到', '已爽约', '再想想'],
  156. yes: function (index, layero) {
  157. $.ajax({
  158. url: "{:url('status')}",
  159. type: 'post',
  160. dataType: 'json', data: {id: id, status: '1'},
  161. success: function (res) {
  162. layer.msg(res.msg);
  163. if (res.code == 1) {
  164. table.reload('table');
  165. }
  166. }
  167. })
  168. },
  169. btn2: function (index, layero) {
  170. $.ajax({
  171. url: "{:url('status')}",
  172. type: 'post',
  173. dataType: 'json', data: {id: id, status: '2'},
  174. success: function (res) {
  175. layer.msg(res.msg);
  176. if (res.code == 1) {
  177. table.reload('table');
  178. }
  179. }
  180. })
  181. }
  182. })
  183. })
  184. }
  185. });
  186. laydate.render({
  187. elem: '#time_range_create_time'
  188. , type: 'datetime'
  189. , range: true
  190. , max: 0 //最大值0天后
  191. , theme: 'molv'
  192. , calendar: true
  193. , done: function (value, date, endDate) {
  194. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  195. setTimeout(function () {
  196. $('#time_range_create_time').val(value.replace(/00:00:00$/, '23:59:59'))
  197. }, 100)
  198. }
  199. }
  200. });
  201. laydate.render({
  202. elem: '#time_range_finish_time'
  203. , type: 'datetime'
  204. , range: true
  205. , max: 0 //最大值0天后
  206. , theme: 'molv'
  207. , calendar: true
  208. , done: function (value, date, endDate) {
  209. if (endDate.hours == 0 && endDate.minutes == 0 && endDate.seconds == 0) {
  210. setTimeout(function () {
  211. $('#time_range_finish_time').val(value.replace(/00:00:00$/, '23:59:59'))
  212. }, 100)
  213. }
  214. }
  215. });
  216. form.on('submit(serch)', function (data) {
  217. table.reload('table', {
  218. where: data.field
  219. , page: {
  220. curr: 1 //重新从第 1 页开始
  221. }
  222. });
  223. return false;
  224. });
  225. table.on('tool(table)', function (obj) {
  226. if (obj.event == 'edit') {
  227. window.parent.tab.tabAdd({
  228. icon: "fa-bookmark",
  229. id: "tplay_appointment_application" + obj.data.id,
  230. title: "预约 | " + obj.data.name,
  231. url: "/admin/appointment_application/publish?id=" + obj.data.id
  232. });
  233. }
  234. else if (obj.event == 'view') {
  235. var fromdata = {
  236. "姓名":obj.data.name,
  237. "性别":obj.data.sex_text,
  238. "年龄":obj.data.age,
  239. "出生年月":obj.data.birthday,
  240. "电话":obj.data.phone,
  241. "身份证":obj.data.id_card,
  242. "子女数量":obj.data.childs_num,
  243. "问题描述":obj.data.problem_desc,
  244. "需求描述":obj.data.requirement_desc,
  245. "预约时间段": obj.data.appointment_time,
  246. "订单状态" : obj.data.status_text,
  247. "备注" :obj.data.remark,
  248. "下单时间":obj.data.create_time,
  249. "完成时间":obj.data.finish_time,
  250. };
  251. var html = "";
  252. for (var val in fromdata) {
  253. html += "<tr><td>" + val + "</td><td>" + fromdata[val] + "</td></tr>";
  254. }
  255. $('#mytable').html(html);
  256. var fromobj = $('#myForm');
  257. //弹出框
  258. layer.open({
  259. type: 1,
  260. title: '预约订单详情',
  261. area: ['800px', '90%'],
  262. id: 'layerDemo', //防止重复弹出
  263. content: fromobj,
  264. btn: ['关闭'],
  265. maxmin: true,
  266. btnAlign: 'c', //按钮居中
  267. yes: function (index, layero) {
  268. layer.close(index);
  269. },
  270. zIndex: 999 //重点1
  271. });
  272. }
  273. });
  274. });
  275. </script>
  276. </div>
  277. </body>
  278. </html>