config.html 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. {extend name="app/shop/view/base.html"/}
  2. {block name="resources"}
  3. <style>
  4. .layui-input {
  5. display: inline-block;
  6. }
  7. </style>
  8. {/block}
  9. {block name="main"}
  10. <div class="layui-form main-wrap form-wrap" lay-filter="form">
  11. <div class="layui-form-item">
  12. <label class="layui-form-label"><span class="required">*</span>预约时间:</label>
  13. <div class="layui-input-block">
  14. <input type="checkbox" title="周一" lay-skin="primary" name="week[]" value="1" {if in_array(1, $config.week)}checked{/if}>
  15. <input type="checkbox" title="周二" lay-skin="primary" name="week[]" value="2" {if in_array(2, $config.week)}checked{/if}>
  16. <input type="checkbox" title="周三" lay-skin="primary" name="week[]" value="3" {if in_array(3, $config.week)}checked{/if}>
  17. <input type="checkbox" title="周四" lay-skin="primary" name="week[]" value="4" {if in_array(4, $config.week)}checked{/if}>
  18. <input type="checkbox" title="周五" lay-skin="primary" name="week[]" value="5" {if in_array(5, $config.week)}checked{/if}>
  19. <input type="checkbox" title="周六" lay-skin="primary" name="week[]" value="6" {if in_array(6, $config.week)}checked{/if}>
  20. <input type="checkbox" title="周日" lay-skin="primary" name="week[]" value="0" {if in_array(0, $config.week)}checked{/if}>
  21. </div>
  22. </div>
  23. <div class="layui-form-item">
  24. <label class="layui-form-label"></label>
  25. <div class="layui-input-inline len-short">
  26. {php}$today = strtotime(date('Y-m-d')) {/php}
  27. <select name="start">
  28. {for start="0" end="48" name="i"}
  29. <option value="{$i * 1800}" {if $config.start == ($i * 1800)}selected{/if}>{:date('H:i', $today + ($i * 1800))}</option>
  30. {/for}
  31. </select>
  32. </div>
  33. <div class="layui-form-mid layui-word-aux">-</div>
  34. <div class="layui-input-inline len-short">
  35. <select name="end" id="">
  36. {for start="0" end="48" name="i"}
  37. <option value="{$i * 1800}" {if $config.end == ($i * 1800)}selected{/if}>{:date('H:i', $today + ($i * 1800))}</option>
  38. {/for}
  39. </select>
  40. </div>
  41. </div>
  42. <div class="layui-form-item">
  43. <label class="layui-form-label"><span class="required">*</span>预约时间间隔:</label>
  44. <div class="layui-input-block">
  45. <input type="radio" title="30分钟" lay-skin="primary" name="interval" value="30" {if empty($config) || $config.interval == 30}checked{/if}>
  46. <input type="radio" title="1小时" lay-skin="primary" name="interval" value="60" {if !empty($config) && $config.interval == 60}checked{/if}>
  47. <input type="radio" title="90分钟" lay-skin="primary" name="interval" value="90" {if !empty($config) && $config.interval == 90}checked{/if}>
  48. <input type="radio" title="2小时" lay-skin="primary" name="interval" value="120" {if !empty($config) && $config.interval == 120}checked{/if}>
  49. </div>
  50. </div>
  51. <div class="layui-form-item">
  52. <label class="layui-form-label"><span class="required">*</span>预约提前:</label>
  53. <div class="layui-input-block">
  54. <input type="number" name="advance" value="{$config.advance ?? 1}" class="layui-input len-short" lay-verify="advance">
  55. <div class="layui-word-aux">小时</div>
  56. </div>
  57. </div>
  58. <div class="layui-form-item">
  59. <label class="layui-form-label"><span class="required">*</span>每时段可预约:</label>
  60. <div class="layui-input-block">
  61. <input type="number" name="max" value="{$config.max ?? 1}" class="layui-input len-short" lay-verify="max">
  62. <div class="layui-word-aux">人</div>
  63. </div>
  64. </div>
  65. <div class="form-row">
  66. <button class="layui-btn bg-color " lay-submit="" lay-filter="save">保存</button>
  67. </div>
  68. </div>
  69. {/block}
  70. {block name="script"}
  71. <script>
  72. var repeat_flag = false, form;
  73. layui.use(['form'], function () {
  74. form = layui.form;
  75. form.verify({
  76. advance(value) {
  77. if (isNaN(value) || !/(^[1-9]\d*$)/.test(value)) {
  78. return "预约提前时间格式输入错误";
  79. }
  80. if (value < 0) {
  81. return "预约提前时间不能小于0";
  82. }
  83. },
  84. max(value) {
  85. if (isNaN(value) || !/(^[1-9]\d*$)/.test(value)) {
  86. return "每时段可预约人数格式输入错误";
  87. }
  88. if (value < 0) {
  89. return "每时段可预约人数不能小于0";
  90. }
  91. }
  92. })
  93. form.on('submit(save)', function (data) {
  94. if (repeat_flag) return false;
  95. repeat_flag = true;
  96. $.ajax({
  97. url: ns.url("store://shop/reserve/config"),
  98. data: data.field,
  99. dataType: 'JSON',
  100. type: 'POST',
  101. success: function (res) {
  102. layer.msg(res.message, { time: 1000 }, function () {});
  103. repeat_flag = false;
  104. }
  105. });
  106. })
  107. })
  108. </script>
  109. {/block}