index.html 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. {extend name="app/shop/view/base.html"/}
  2. {block name="resources"}
  3. <style type="text/css">
  4. .limit .layui-input{display: inline-block;}
  5. .limit .layui-form-mid{float: none;margin-right: 0}
  6. .limit .layui-form-radio{padding: 0;margin: 0;}
  7. .limit .layui-input[disabled]{background: #eee;cursor:not-allowed}
  8. </style>
  9. {/block}
  10. {block name="main"}
  11. <div class="layui-form form-wrap">
  12. <div class="layui-form-item">
  13. <label class="layui-form-label"><span class="required">*</span>积分抵现:</label>
  14. <div class="layui-input-block">
  15. <input type="checkbox" name="is_enable" value="1" lay-filter="is_enable" lay-skin="switch" {if condition="$config.is_enable == 1"} checked {/if} >
  16. </div>
  17. </div>
  18. <div class="layui-form-item">
  19. <label class="layui-form-label"><span class="required">*</span>积分抵现比例:</label>
  20. <div class="layui-input-inline limit">
  21. <input type="number" name="cash_rate" value="{$config.cash_rate}" lay-verify="cash_rate" autocomplete="off" class="layui-input len-short">
  22. <div class="layui-form-mid">积分可抵1元</div>
  23. </div>
  24. </div>
  25. <div class="layui-form-item">
  26. <label class="layui-form-label"><span class="required">*</span>订单金额门槛:</label>
  27. <div class="layui-input-inline">
  28. <input type="radio" name="is_limit" value="0" title="不限制" lay-filter="is_limit" {if condition="$config.is_limit == 0"}checked{/if}>
  29. <input type="radio" name="is_limit" value="1" title="限制" lay-filter="is_limit" {if condition="$config.is_limit == 1"}checked{/if}>
  30. </div>
  31. </div>
  32. <div class="layui-form-item {if condition='$config.is_limit == 0'}layui-hide{/if} is-limit">
  33. <label class="layui-form-label"></label>
  34. <div class="layui-input-block limit">
  35. <div class="layui-form-mid">订单金额超出</div>
  36. <input type="number" name="limit" value="{$config.limit}" lay-verify="" autocomplete="off" class="layui-input len-short">
  37. <div class="layui-form-mid">元,可使用积分抵现</div>
  38. </div>
  39. <!-- <div class="word-aux">
  40. <p>订单金额最低为1元</p>
  41. </div> -->
  42. </div>
  43. <div class="layui-form-item">
  44. <label class="layui-form-label"><span class="required">*</span>抵现金额上限:</label>
  45. <div class="layui-input-inline">
  46. <input type="radio" name="is_limit_use" value="0" title="不限制" lay-filter="is_limit_use" {if condition="$config.is_limit_use == 0"}checked{/if}>
  47. <input type="radio" name="is_limit_use" value="1" title="限制" lay-filter="is_limit_use" {if condition="$config.is_limit_use == 1"}checked{/if}>
  48. </div>
  49. </div>
  50. <div class="layui-form-item {if condition='$config.is_limit_use == 0'}layui-hide{/if} is-limit-use">
  51. <label class="layui-form-label"></label>
  52. <div class="layui-input-block limit">
  53. <div>
  54. <input type="radio" name="type" value="0" lay-filter="type" {if condition="$config.type == 0"}checked{/if}>
  55. <div class="layui-form-mid">每笔订单最多抵扣</div>
  56. <input type="number" name="money"
  57. {if condition="$config.type == 0"} value="{$config.max_use}"{else/} value="{$config.max_use}" disabled{/if}
  58. {if condition="$config.type == 0 && $config.is_limit_use == 1"} lay-verify="money" {else/} lay-verify="" {/if}
  59. autocomplete="off" class="layui-input len-short">
  60. <div class="layui-form-mid">元</div>
  61. </div>
  62. <div style="margin-top: 10px;">
  63. <input type="radio" name="type" value="1" lay-filter="type" {if condition="$config.type == 1"}checked{/if}>
  64. <div class="layui-form-mid">每笔订单最多抵扣订单金额的</div>
  65. <input type="number" name="ratio"
  66. {if condition="$config.type == 1"} value="{$config.max_use}"{else/} value="{$config.max_use}" disabled lay-verify=""{/if}
  67. {if condition="$config.type == 1 && $config.is_limit_use == 1"} lay-verify="ratio" {else/} lay-verify="" {/if}
  68. autocomplete="off" class="layui-input len-short" onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">
  69. <div class="layui-form-mid">%</div>
  70. </div>
  71. </div>
  72. </div>
  73. <div class="form-row">
  74. <button class="layui-btn" lay-submit lay-filter="save">保存</button>
  75. <button class="layui-btn layui-btn-primary" onclick="back()">返回</button>
  76. </div>
  77. </div>
  78. {/block}
  79. {block name="script"}
  80. <script>
  81. layui.use(['form', 'laydate'], function() {
  82. var form = layui.form,repeat_flag = false; //防重复标识
  83. /**
  84. * 表单验证
  85. */
  86. form.verify({
  87. cash_rate: function(value){
  88. if (!/[\S]+/.test(value)) {
  89. return '请输入积分抵现比例';
  90. }
  91. if (Number(value) <= 0) {
  92. return '积分抵现比不能小于等于0';
  93. }
  94. },
  95. limit: function(value) {
  96. if (!/[\S]+/.test(value)) {
  97. return '请输入订单金额';
  98. }
  99. if (Number(value) <= 1) {
  100. return '订单金额不能小于1元';
  101. }
  102. var arrMen = value.split(".");
  103. var val = 0;
  104. if (arrMen.length == 2) {
  105. val = arrMen[1];
  106. }
  107. if (val.length > 2) {
  108. return '订单金额最多保留两位小数';
  109. }
  110. },
  111. money: function(value){
  112. if (!/[\S]+/.test(value)) {
  113. return '请输入每单最大可抵金额';
  114. }
  115. if (Number(value) <= 0) {
  116. return '可抵金额不能小于等于0元';
  117. }
  118. var arrMen = value.split(".");
  119. var val = 0;
  120. if (arrMen.length == 2) {
  121. val = arrMen[1];
  122. }
  123. if (val.length > 2) {
  124. return '可抵金额最多保留两位小数';
  125. }
  126. },
  127. ratio: function(value){
  128. if (!/[\S]+/.test(value)) {
  129. return '请输入每单最大抵现比率';
  130. }
  131. if (Number(value) <= 0 || Number(value) > 100) {
  132. return '抵现比率需在1-100之间';
  133. }
  134. }
  135. });
  136. form.on('radio(is_limit)', function(data){
  137. if (data.value == 1) {
  138. $(".is-limit").removeClass("layui-hide");
  139. $("[name='limit']").attr("lay-verify", 'limit');
  140. } else {
  141. $(".is-limit").addClass("layui-hide");
  142. $("[name='limit']").removeAttr("lay-verify");
  143. }
  144. });
  145. form.on('radio(is_limit_use)', function(data){
  146. if (data.value == 1) {
  147. $(".is-limit-use").removeClass("layui-hide");
  148. } else {
  149. $(".is-limit-use").addClass("layui-hide");
  150. $("[name='ratio'],[name='money']").removeAttr("lay-verify");
  151. }
  152. });
  153. form.on('radio(type)', function(data){
  154. if (data.value == 1) {
  155. $("[name='ratio']").prop({'disabled': false, 'lay-verify': 'ratio'});
  156. $("[name='money']").prop({'disabled': true, 'lay-verify': ''});
  157. } else {
  158. $("[name='money']").prop({'disabled': false, 'lay-verify': 'ratio'});
  159. $("[name='ratio']").prop({'disabled': true, 'lay-verify': ''});
  160. }
  161. });
  162. /**
  163. * 监听提交
  164. */
  165. form.on('submit(save)', function(data){
  166. data.field.max_use = data.field.type == 0 ? data.field.money : data.field.ratio;
  167. if(repeat_flag) return;
  168. repeat_flag = true;
  169. $.ajax({
  170. type: 'POST',
  171. dataType: 'JSON',
  172. url: ns.url("pointcash://shop/config/index"),
  173. data: data.field,
  174. async: false,
  175. success: function(res){
  176. repeat_flag = false;
  177. layer.msg(res.message);
  178. location.reload();
  179. }
  180. })
  181. });
  182. });
  183. function back() {
  184. location.href = ns.url("shop/promotion/index");
  185. }
  186. </script>
  187. {/block}