cashier.blade.php 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577
  1. @extends('layouts.base')
  2. @section('content')
  3. @section('title', trans('队列设置'))
  4. <script type="text/javascript">
  5. window.optionchanged = false;
  6. require(['bootstrap'], function () {
  7. $('#myTab a').click(function (e) {
  8. e.preventDefault();
  9. $(this).tab('show');
  10. })
  11. });
  12. require(['select2'], function () {
  13. $('.diy-notice').select2();
  14. })
  15. function message_default(name) {
  16. var id = "#" + name;
  17. var setting_name = "plugin.nominate_notice";
  18. var select_name = "select[name='yz_notice[" + name + "]']"
  19. var url_open = "{!! yzWebUrl('setting.default-notice.index') !!}"
  20. var url_close = "{!! yzWebUrl('setting.default-notice.cancel') !!}"
  21. var postdata = {
  22. notice_name: name,
  23. setting_name: setting_name
  24. };
  25. if ($(id).is(':checked')) {
  26. //开
  27. $.post(url_open,postdata,function(data){
  28. if (data.result == 1) {
  29. $(select_name).find("option:selected").val(data.id)
  30. showPopover($(id),"开启成功")
  31. } else {
  32. showPopover($(id),"开启失败,请检查微信模版")
  33. $(id).attr("checked",false);
  34. }
  35. }, "json");
  36. } else {
  37. //关
  38. $.post(url_close,postdata,function(data){
  39. $(select_name).val('');
  40. showPopover($(id),"关闭成功")
  41. }, "json");
  42. }
  43. }
  44. function showPopover(target, msg) {
  45. target.attr("data-original-title", msg);
  46. $('[data-toggle="tooltip"]').tooltip();
  47. target.tooltip('show');
  48. target.focus();
  49. //2秒后消失提示框
  50. setTimeout(function () {
  51. target.attr("data-original-title", "");
  52. target.tooltip('hide');
  53. }, 2000
  54. );
  55. }
  56. </script>
  57. <section class="content">
  58. <form id="setform" action="" method="post" class="form-horizontal form">
  59. <div class="info">
  60. <div class="panel-body">
  61. <div class="tab-content">
  62. <div class="form-group">
  63. <label class="col-xs-12 col-sm-3 col-md-2 control-label">
  64. {{$set['plugin_name']?:'自定义队列'}}
  65. </label>
  66. <div class="col-sm-6 col-xs-6">
  67. <label class="radio-inline">
  68. <input type="radio" name="queueData[is_open]" value="0"
  69. @if($diyQueueCashier['is_open'] != 1) checked="checked" @endif /> 关闭</label>
  70. <label class="radio-inline">
  71. <input type="radio" name="queueData[is_open]" value="1"
  72. @if($diyQueueCashier['is_open'] == 1) checked="checked" @endif /> 开启</label>
  73. </div>
  74. </div>
  75. <div class="form-group">
  76. <label class="col-xs-12 col-sm-3 col-md-2 control-label">
  77. 独立规则
  78. </label>
  79. <div class="col-sm-6 col-xs-6">
  80. <label class="radio-inline">
  81. <input type="radio" name="queueData[is_independent]" value="0"
  82. @if($diyQueueCashier['is_independent'] != 1) checked="checked" @endif /> 关闭</label>
  83. <label class="radio-inline">
  84. <input type="radio" name="queueData[is_independent]" value="1"
  85. @if($diyQueueCashier['is_independent'] == 1) checked="checked" @endif /> 开启</label>
  86. </div>
  87. </div>
  88. <div class="form-group">
  89. <label class="col-xs-12 col-sm-3 col-md-2 control-label">提取比例</label>
  90. <div class="col-sm-6 col-xs-6">
  91. <div class='input-group'>
  92. <input type='text'
  93. name='queueData[extract_ratio]'
  94. onkeyup="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''"
  95. class="form-control discounts_value"
  96. value="{{$diyQueueCashier['extract_ratio']}}"
  97. />
  98. <div class='input-group-addon waytxt'>%</div>
  99. </div>
  100. </div>
  101. </div>
  102. <div class="form-group">
  103. <label class="col-xs-12 col-sm-3 col-md-2 control-label">
  104. 会员等级-奖励权益
  105. </label>
  106. <div class="row">
  107. <div class="col-lg-2">
  108. <div class="input-group">
  109. <span class="input-group-addon">
  110. <input type="checkbox"
  111. aria-label="..."
  112. name="queueData[member_level][switch]"
  113. value="1"
  114. @if ($diyQueueCashier['member_level']['switch'])
  115. checked
  116. @endif
  117. >
  118. </span>
  119. <input type="text"
  120. class="form-control"
  121. aria-label="..."
  122. name="queueData[member_level][sort]"
  123. placeholder="排序"
  124. value="{{$diyQueueCashier['member_level']['sort']}}"
  125. >
  126. </div>
  127. @foreach ($memberLevels as $key => $item)
  128. <div class="input-group">
  129. <span class="input-group-addon">
  130. <input type="checkbox"
  131. aria-label="..."
  132. name="queueData[member_level][level][{{$item->id}}][switch]"
  133. value="1"
  134. @if ($diyQueueCashier['member_level']['level'][$item->id]['switch'])
  135. checked
  136. @endif
  137. >
  138. </span>
  139. <input type="text"
  140. class="form-control"
  141. aria-label="..."
  142. disabled="disabled"
  143. value="{{$item->level_name}}"
  144. >
  145. <input type="text"
  146. class="form-control"
  147. onkeyup="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''"
  148. aria-label="..."
  149. name="queueData[member_level][level][{{$item->id}}][ratio]]"
  150. value="{{$diyQueueCashier['member_level']['level'][$item->id]['ratio']}}"
  151. >
  152. </div>
  153. @endforeach
  154. </div>
  155. </div>
  156. </div>
  157. <div class="form-group">
  158. <label class="col-xs-12 col-sm-3 col-md-2 control-label">
  159. 时间段-奖励权益
  160. </label>
  161. <div class="row">
  162. <div class="col-lg-6">
  163. <div class="input-group">
  164. <span class="input-group-addon">
  165. <input type="checkbox"
  166. aria-label="..."
  167. name="queueData[time][switch]"
  168. value="1"
  169. @if ($diyQueueCashier['time']['switch'])
  170. checked
  171. @endif
  172. >
  173. </span>
  174. <input type="text"
  175. class="form-control"
  176. aria-label="..."
  177. name="queueData[time][sort]"
  178. placeholder="排序"
  179. value="{{$diyQueueCashier['time']['sort']}}"
  180. >
  181. </div>
  182. <div class="input-group clockpicker">
  183. <input type="text"
  184. class="form-control"
  185. value="{{$diyQueueCashier['time']['many'][0]['hours_start']}}"
  186. name="queueData[time][many][0][hours_start]"
  187. >
  188. <span class="input-group-addon">
  189. <span class="fa fa-clock-o"></span>
  190. </span>
  191. <input type="text"
  192. class="form-control"
  193. value="{{$diyQueueCashier['time']['many'][0]['hours_end']}}"
  194. name="queueData[time][many][0][hours_end]"
  195. >
  196. <span class="input-group-addon">
  197. <span class="fa fa-clock-o"></span>
  198. </span>
  199. </div>
  200. <div class="input-group">
  201. <span class="input-group-addon">
  202. <input type="checkbox"
  203. aria-label="..."
  204. name="queueData[time][many][0][limit][people_num][switch]"
  205. value="1"
  206. @if ($diyQueueCashier['time']['many'][0]['limit']['people_num']['switch'])
  207. checked
  208. @endif
  209. >
  210. </span>
  211. <input type="text"
  212. onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
  213. class="form-control"
  214. placeholder="消费会员前N人"
  215. aria-describedby="basic-addon2"
  216. name="queueData[time][many][0][limit][people_num][people_num]"
  217. value="{{$diyQueueCashier['time']['many'][0]['limit']['people_num']['people_num']}}"
  218. >
  219. <span class="input-group-addon" id="basic-addon2">人</span>
  220. </div>
  221. <div class="input-group">
  222. <span class="input-group-addon">
  223. <input type="checkbox"
  224. aria-label="..."
  225. name="queueData[time][many][0][limit][buy_num][switch]"
  226. value="1"
  227. @if ($diyQueueCashier['time']['many'][0]['limit']['buy_num']['switch'])
  228. checked
  229. @endif
  230. >
  231. </span>
  232. <input type="text"
  233. onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
  234. class="form-control"
  235. placeholder="会员只能获得N次"
  236. aria-describedby="basic-addon2"
  237. name="queueData[time][many][0][limit][buy_num][buy_num]"
  238. value="{{$diyQueueCashier['time']['many'][0]['limit']['buy_num']['buy_num']}}"
  239. >
  240. <span class="input-group-addon" id="basic-addon2">次</span>
  241. </div>
  242. <div class="input-group">
  243. <span class="input-group-addon">
  244. <input type="checkbox"
  245. aria-label="..."
  246. name="queueData[time][many][0][limit][buy_money][switch]"
  247. value="1"
  248. @if ($diyQueueCashier['time']['many'][0]['limit']['buy_money']['switch'])
  249. checked
  250. @endif
  251. >
  252. </span>
  253. <input type="text"
  254. onkeyup="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''"
  255. class="form-control"
  256. placeholder="消费金额超过N元"
  257. aria-describedby="basic-addon2"
  258. name="queueData[time][many][0][limit][buy_money][buy_money]"
  259. value="{{$diyQueueCashier['time']['many'][0]['limit']['buy_money']['buy_money']}}"
  260. >
  261. <span class="input-group-addon" id="basic-addon2">元</span>
  262. </div>
  263. <div class="input-group">
  264. <span class="input-group-addon">时间段内</span>
  265. <input type='text'
  266. name='queueData[time][many][0][time_in_ratio]'
  267. onkeyup="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''"
  268. class="form-control discounts_value"
  269. value="{{$diyQueueCashier['time']['many'][0]['time_in_ratio']}}"
  270. />
  271. <span class="input-group-addon">%</span>
  272. </div>
  273. @foreach($diyQueueCashier['time']['many'] as $key => $timeMany)
  274. @if($key != 0)
  275. <div class="time-many">
  276. <div class="input-group clockpicker">
  277. <input type="text"
  278. class="form-control"
  279. value="{{$timeMany['hours_start']}}"
  280. name="queueData[time][many][{{$key}}][hours_start]"
  281. >
  282. <span class="input-group-addon">
  283. <span class="fa fa-clock-o"></span>
  284. </span>
  285. <input type="text"
  286. class="form-control"
  287. value="{{$timeMany['hours_end']}}"
  288. name="queueData[time][many][{{$key}}][hours_end]"
  289. >
  290. <span class="input-group-addon">
  291. <span class="fa fa-clock-o"></span>
  292. </span>
  293. </div>
  294. <div class="input-group">
  295. <span class="input-group-addon">
  296. <input type="checkbox"
  297. aria-label="..."
  298. name="queueData[time][many][{{$key}}][limit][people_num][switch]"
  299. value="1"
  300. @if ($timeMany['limit']['people_num']['switch'])
  301. checked
  302. @endif
  303. >
  304. </span>
  305. <input type="text"
  306. onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
  307. class="form-control"
  308. placeholder="消费会员前N人"
  309. aria-describedby="basic-addon2"
  310. name="queueData[time][many][{{$key}}][limit][people_num][people_num]"
  311. value="{{$timeMany['limit']['people_num']['people_num']}}"
  312. >
  313. <span class="input-group-addon" id="basic-addon2">人</span>
  314. </div>
  315. <div class="input-group">
  316. <span class="input-group-addon">
  317. <input type="checkbox"
  318. aria-label="..."
  319. name="queueData[time][many][{{$key}}][limit][buy_num][switch]"
  320. value="1"
  321. @if ($timeMany['limit']['buy_num']['switch'])
  322. checked
  323. @endif
  324. >
  325. </span>
  326. <input type="text"
  327. onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
  328. class="form-control"
  329. placeholder="会员只能获得N次"
  330. aria-describedby="basic-addon2"
  331. name="queueData[time][many][{{$key}}][limit][buy_num][buy_num]"
  332. value="{{$timeMany['limit']['buy_num']['buy_num']}}"
  333. >
  334. <span class="input-group-addon" id="basic-addon2">次</span>
  335. </div>
  336. <div class="input-group">
  337. <span class="input-group-addon">
  338. <input type="checkbox"
  339. aria-label="..."
  340. name="queueData[time][many][{{$key}}][limit][buy_money][switch]"
  341. value="1"
  342. @if ($timeMany['limit']['buy_money']['switch'])
  343. checked
  344. @endif
  345. >
  346. </span>
  347. <input type="text"
  348. onkeyup="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''"
  349. class="form-control"
  350. placeholder="消费金额超过N元"
  351. aria-describedby="basic-addon2"
  352. name="queueData[time][many][{{$key}}][limit][buy_money][buy_money]"
  353. value="{{$timeMany['limit']['buy_money']['buy_money']}}"
  354. >
  355. <span class="input-group-addon" id="basic-addon2">元</span>
  356. </div>
  357. <div class="input-group">
  358. <span class="input-group-addon">时间段内</span>
  359. <input type='text'
  360. name='queueData[time][many][{{$key}}][time_in_ratio]'
  361. onkeyup="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''"
  362. class="form-control discounts_value"
  363. value="{{$timeMany['time_in_ratio']}}"
  364. />
  365. <span class="input-group-addon">%</span>
  366. <div class="input-group-addon del-task" title="删除" ><i class="fa fa-trash"></i></div>
  367. </div>
  368. </div>
  369. @endif
  370. @endforeach
  371. <div class="time-obj"></div>
  372. <span class='help-block'><input type="button" value="添加时间" class="btn btn-success add-task"/></span>
  373. <div class="input-group">
  374. <span class="input-group-addon">时间段外</span>
  375. <input type='text'
  376. name='queueData[time][time_out_ratio]'
  377. onkeyup="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''"
  378. class="form-control discounts_value"
  379. value="{{$diyQueueCashier['time']['time_out_ratio']}}"
  380. />
  381. <span class="input-group-addon">%</span>
  382. </div>
  383. </div>
  384. </div>
  385. </div>
  386. <div class="form-group">
  387. <label class="col-xs-12 col-sm-3 col-md-2 control-label">
  388. 限制条件
  389. </label>
  390. <div class="row">
  391. <div class="col-lg-6">
  392. <div class="input-group">
  393. <span class="input-group-addon">
  394. <input type="checkbox"
  395. aria-label="..."
  396. name="queueData[limit][people_num][switch]"
  397. value="1"
  398. @if ($diyQueueCashier['limit']['people_num']['switch'])
  399. checked
  400. @endif
  401. >
  402. </span>
  403. <input type="text"
  404. onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
  405. class="form-control"
  406. placeholder="消费会员前N人"
  407. aria-describedby="basic-addon2"
  408. name="queueData[limit][people_num][people_num]"
  409. value="{{$diyQueueCashier['limit']['people_num']['people_num']}}"
  410. >
  411. <span class="input-group-addon" id="basic-addon2">人</span>
  412. </div>
  413. </div>
  414. </div>
  415. </div>
  416. <div class="form-group">
  417. <label class="col-xs-12 col-sm-3 col-md-2 control-label">
  418. </label>
  419. <div class="row">
  420. <div class="col-lg-6">
  421. <div class="input-group">
  422. <span class="input-group-addon">
  423. <input type="checkbox"
  424. aria-label="..."
  425. name="queueData[limit][buy_num][switch]"
  426. value="1"
  427. @if ($diyQueueCashier['limit']['buy_num']['switch'])
  428. checked
  429. @endif
  430. >
  431. </span>
  432. <input type="text"
  433. onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')"
  434. class="form-control"
  435. placeholder="会员只能获得N次"
  436. aria-describedby="basic-addon2"
  437. name="queueData[limit][buy_num][buy_num]"
  438. value="{{$diyQueueCashier['limit']['buy_num']['buy_num']}}"
  439. >
  440. <span class="input-group-addon" id="basic-addon2">次</span>
  441. </div>
  442. </div>
  443. </div>
  444. </div>
  445. <div class="form-group">
  446. <label class="col-xs-12 col-sm-3 col-md-2 control-label">
  447. </label>
  448. <div class="row">
  449. <div class="col-lg-6">
  450. <div class="input-group">
  451. <span class="input-group-addon">
  452. <input type="checkbox"
  453. aria-label="..."
  454. name="queueData[limit][buy_money][switch]"
  455. value="1"
  456. @if ($diyQueueCashier['limit']['buy_money']['switch'])
  457. checked
  458. @endif
  459. >
  460. </span>
  461. <input type="text"
  462. onkeyup="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''"
  463. class="form-control"
  464. placeholder="消费金额超过N元"
  465. aria-describedby="basic-addon2"
  466. name="queueData[limit][buy_money][buy_money]"
  467. value="{{$diyQueueCashier['limit']['buy_money']['buy_money']}}"
  468. >
  469. <span class="input-group-addon" id="basic-addon2">元</span>
  470. </div>
  471. </div>
  472. </div>
  473. </div>
  474. <script language='javascript'>
  475. require(['util', 'clockpicker'], function(u, $){
  476. $('.clockpicker :text').clockpicker({autoclose: true});
  477. $('.time-obj').on("focus",'.clockpicker :text',function(){
  478. $('.clockpicker :text').clockpicker({autoclose: true});
  479. });
  480. u.editor($('.richtext')[0]);
  481. $('#add-time').click(function(){
  482. $('#time-list').append($('#time-form-html').html());
  483. $('.clockpicker :text').clockpicker({autoclose: true});
  484. });
  485. });
  486. var i = "{{ count($diyQueueCashier['time']['many']) > 0 ?: 1 }}";
  487. $('.add-task').click(function () {
  488. var html = '';
  489. html += '<div class="time-many">';
  490. html += '<div class="input-group clockpicker">';
  491. html += '<input type="text" class="form-control" value="" name="queueData[time][many]['+ i +'][hours_start]">';
  492. html += '<span class="input-group-addon"><span class="fa fa-clock-o"></span></span>';
  493. html += '<input type="text" class="form-control" value="" name="queueData[time][many]['+ i +'][hours_end]">';
  494. html += '<span class="input-group-addon"><span class="fa fa-clock-o"></span></span>';
  495. html += '</div>';
  496. html += '<div class="input-group">';
  497. html += '<span class="input-group-addon">';
  498. html += '<input type="checkbox" aria-label="..." name="queueData[time][many]['+ i +'][limit][people_num][switch]" value="1">';
  499. html += '</span>';
  500. html += '<input type="text" class="form-control" placeholder="消费会员前N人" aria-describedby="basic-addon2" name="queueData[time][many]['+ i +'][limit][people_num][people_num]">';
  501. html += '<span class="input-group-addon" id="basic-addon2">人</span>';
  502. html += '</div>';
  503. html += '<div class="input-group">';
  504. html += '<span class="input-group-addon">';
  505. html += '<input type="checkbox" aria-label="..." name="queueData[time][many]['+ i +'][limit][buy_num][switch]" value="1">';
  506. html += '</span>';
  507. html += '<input type="text" class="form-control" placeholder="会员只能获得N次" aria-describedby="basic-addon2" name="queueData[time][many]['+ i +'][limit][buy_num][buy_num]">';
  508. html += '<span class="input-group-addon" id="basic-addon2">次</span>';
  509. html += '</div>';
  510. html += '<div class="input-group">';
  511. html += '<span class="input-group-addon">';
  512. html += '<input type="checkbox" aria-label="..." name="queueData[time][many]['+ i +'][limit][buy_money][switch]" value="1">';
  513. html += '</span>';
  514. html += '<input type="text" class="form-control" placeholder="消费金额超过N元" aria-describedby="basic-addon2" name="queueData[time][many]['+ i +'][limit][buy_money][buy_money]">';
  515. html += '<span class="input-group-addon" id="basic-addon2">元</span>';
  516. html += '</div>';
  517. html += '<div class="input-group">';
  518. html += '<span class="input-group-addon">时间段内</span>';
  519. html += '<input type="text" name="queueData[time][many]['+ i +'][time_in_ratio]" class="form-control discounts_value" value=""/>';
  520. html += '<span class="input-group-addon">%</span>';
  521. html += '<div class="input-group-addon del-task" title="删除" ><i class="fa fa-trash"></i></div>';
  522. html += '</div>';
  523. html += '</div>';
  524. $('.time-obj').append(html);
  525. i = parseInt(i) + parseInt(1);
  526. });
  527. $(document).on('click', '.del-task', function () {
  528. var _this = $(this);
  529. _this.parents('.time-many').remove();
  530. });
  531. </script>
  532. </div>
  533. <div class="form-group">
  534. <label class="col-xs-12 col-sm-3 col-md-2 control-label"></label>
  535. <div class="col-xs-12 col-sm-9 col-md-10">
  536. <input type="submit" name="submit" value="保存设置" class="btn btn-success"
  537. onclick="return formcheck()"/>
  538. </div>
  539. </div>
  540. </div>
  541. </div>
  542. </form>
  543. </section>
  544. @endsection