award_select.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. <script type="text/html" id="add_award">
  2. <div class="layui-form form-wrap add-award">
  3. {{# if($.isEmptyObject(d)){ }}
  4. <div class="layui-form-item">
  5. <label class="layui-form-label"><span class="required">*</span>名称:</label>
  6. <div class="layui-input-block">
  7. <input type="text" maxlength="6" placeholder="最多可输入6个字" value="" name="award_name" lay-verify="required" autocomplete="off" class="layui-input len-mid">
  8. </div>
  9. </div>
  10. <div class="layui-form-item award-type">
  11. <label class="layui-form-label">奖品:</label>
  12. <div class="layui-input-block">
  13. <div class="layui-input-block coupon">
  14. <input type="radio" name="award_type" value="3" title="优惠券" checked>
  15. <div class="len-mid coupon-box">
  16. <span class="coupon-title">请选择</span>
  17. <div class="coupon-option layui-hide">
  18. <div class="coupon-search">
  19. <i class="layui-icon">&#xe615;</i>
  20. <input type="text" class="layui-input" placeholder="请输入搜索内容">
  21. </div>
  22. <div class="coupon-item-box">
  23. <div class="coupon-item">内容</div>
  24. </div>
  25. </div>
  26. </div>
  27. </div>
  28. <input type="hidden" name="relate_name">
  29. <input type="hidden" name="relate_id">
  30. <div class="layui-input-block">
  31. <input type="radio" name="award_type" value="1" title="积分">
  32. <input type="text" name="point" value="1" class="layui-input len-mid" lay-verify="point">
  33. <div class="layui-word-aux">积分</div>
  34. </div>
  35. <div class="layui-input-block">
  36. <input type="radio" name="award_type" value="2" title="红包">
  37. <input type="text" name="balance" value="1" class="layui-input len-mid" lay-verify="balance">
  38. <div class="layui-word-aux">元</div>
  39. </div>
  40. </div>
  41. </div>
  42. {{# }else{ }}
  43. <div class="layui-form-item">
  44. <label class="layui-form-label"><span class="required">*</span>名称:</label>
  45. <div class="layui-input-block">
  46. <input type="text" maxlength="6" placeholder="最多可输入6个字" value="{{d.award_name}}" name="award_name" lay-verify="required" autocomplete="off" class="layui-input len-mid">
  47. </div>
  48. </div>
  49. <div class="layui-form-item award-type">
  50. <label class="layui-form-label">奖品:</label>
  51. <div class="layui-input-block">
  52. <!-- 红包 -->
  53. {{# if(d.award_type == 3){ }}
  54. <div class="layui-input-block coupon">
  55. <input type="radio" name="award_type" value="3" title="优惠券" checked>
  56. <div class="len-mid coupon-box">
  57. <span class="coupon-title">{{d.relate_name}}</span>
  58. <div class="coupon-option layui-hide">
  59. <div class="coupon-search">
  60. <i class="layui-icon">&#xe615;</i>
  61. <input type="text" class="layui-input" placeholder="请输入搜索内容">
  62. </div>
  63. <div class="coupon-item-box"></div>
  64. </div>
  65. </div>
  66. </div>
  67. <input type="hidden" name="relate_name" value="{{d.relate_name}}">
  68. <input type="hidden" name="relate_id" value="{{d.relate_id}}">
  69. {{# }else{ }}
  70. <div class="layui-input-block coupon">
  71. <input type="radio" name="award_type" value="3" title="优惠券" checked>
  72. <div class="len-mid coupon-box">
  73. <span class="coupon-title">请选择</span>
  74. <div class="coupon-option layui-hide">
  75. <div class="coupon-search">
  76. <i class="layui-icon">&#xe615;</i>
  77. <input type="text" class="layui-input" placeholder="请输入搜索内容">
  78. </div>
  79. <div class="coupon-item-box"></div>
  80. </div>
  81. </div>
  82. </div>
  83. <input type="hidden" name="relate_name">
  84. <input type="hidden" name="relate_id">
  85. {{# } }}
  86. <!-- 积分 -->
  87. {{# if(d.award_type == 1){ }}
  88. <div class="layui-input-block">
  89. <input type="radio" name="award_type" value="1" title="积分" checked>
  90. <input type="text" name="point" value="{{d.point}}" class="layui-input len-mid">
  91. <div class="layui-word-aux">积分</div>
  92. </div>
  93. {{# }else{ }}
  94. <div class="layui-input-block">
  95. <input type="radio" name="award_type" value="1" title="积分">
  96. <input type="text" name="point" value="1" class="layui-input len-mid">
  97. <div class="layui-word-aux">积分</div>
  98. </div>
  99. {{# } }}
  100. <!-- 红包 -->
  101. {{# if(d.award_type == 2){ }}
  102. <div class="layui-input-block">
  103. <input type="radio" name="award_type" value="2" title="红包" checked>
  104. <input type="text" name="balance" value="{{d.balance}}" onchange="detectionInteger(this)" class="layui-input len-mid">
  105. <div class="layui-word-aux">元</div>
  106. </div>
  107. {{# }else{ }}
  108. <div class="layui-input-block">
  109. <input type="radio" name="award_type" value="2" title="红包">
  110. <input type="text" name="balance" value="1" class="layui-input len-mid" onchange="detectionInteger(this)">
  111. <div class="layui-word-aux">元</div>
  112. </div>
  113. {{# } }}
  114. </div>
  115. </div>
  116. <input type="hidden" name="ident" value="{{d.ident}}">
  117. {{# } }}
  118. <input type="hidden" name="award_id" value="{{d.award_id}}">
  119. <div class="form-row">
  120. <button class="layui-btn" lay-submit lay-filter="addAwardSave">确定</button>
  121. <button class="layui-btn layui-btn-primary" onclick="cancelAward()">取消</button>
  122. </div>
  123. </div>
  124. </script>
  125. <script>
  126. var form,laydate,laytpl,upload;
  127. layui.use(['form', 'laydate', 'laytpl'], function() {
  128. form = layui.form;
  129. laydate = layui.laydate;
  130. laytpl = layui.laytpl;
  131. form.render();
  132. /**
  133. * 表单验证
  134. */
  135. form.verify({
  136. point: function(value) {
  137. if (value % 1 != 0 || value < 0) {
  138. return '请输入大于0的正整数!'
  139. }
  140. },
  141. balance: function(value) {
  142. if (value % 1 != 0 || value < 0) {
  143. return '请输入大于0的正整数!'
  144. }
  145. }
  146. });
  147. });
  148. /*
  149. * 奖品弹框
  150. * */
  151. function awardPop(data = {}){
  152. laytpl($('#add_award').html()).render(data,function(html){
  153. layer.open({
  154. type: 1,
  155. title: '添加奖品',
  156. area:['650px','auto'],
  157. content: html,
  158. success: function(layero, index){
  159. form.render();
  160. form.on('submit(addAwardSave)', function(data) {
  161. if (data.field.award_type == 3 && !data.field.relate_name){
  162. layer.msg("请选择优惠券");
  163. return false;
  164. }
  165. if (tableData.length > 0 && data.field.ident){
  166. for (var i = 0; i < tableData.length; i++){
  167. if(tableData[i].ident == data.field.ident){
  168. tableData[i] = data.field;
  169. break;
  170. }
  171. }
  172. }else{
  173. data.field.ident = ++awardId;
  174. tableData.push(data.field);
  175. }
  176. renderTable(tableData);
  177. layer.closeAll();
  178. })
  179. }
  180. });
  181. });
  182. getCouponData({'status': 1});
  183. //选择框效果
  184. $(".award-type .coupon-title").click(function (e) {
  185. e.stopPropagation(); //阻止事件冒泡
  186. if (!$(this).hasClass("focus")){
  187. $(this).addClass("focus border-color");
  188. $(this).parents(".coupon-box").find(".coupon-option").removeClass("layui-hide");
  189. } else{
  190. $(this).removeClass("focus border-color");
  191. $(this).parents(".coupon-box").find(".coupon-option").addClass("layui-hide");
  192. }
  193. })
  194. }
  195. /*
  196. * 获取优惠券数据
  197. * */
  198. var getCouponIdent = false;
  199. function getCouponData(data = ''){
  200. if (getCouponIdent) return false;
  201. getCouponIdent = true;
  202. $.ajax({
  203. url: ns.url("coupon://shop/coupon/lists"),
  204. dataType: 'json',
  205. data: data,
  206. type: 'post',
  207. success : function(res) {
  208. getCouponIdent = false;
  209. $(".coupon-search input").val();
  210. var data = res.data.list,
  211. html = '';
  212. if (res.code >= 0){
  213. for(var i = 0; i < data.length; i++){
  214. html += '<div class="coupon-item layui-elip" data-coupon_id="'+data[i].coupon_type_id+'">'+ data[i].coupon_name +'</div>';
  215. }
  216. $(".add-award .coupon .coupon-item-box").html(html);
  217. }else
  218. layer.msg(res.message);
  219. }
  220. });
  221. }
  222. //点击搜素对应优惠券
  223. $("body").on("click",".coupon-search i",function (e) {
  224. e.stopPropagation(); //阻止事件冒泡
  225. var data = {'coupon_name': $(".coupon-search input").val(),'status': 1};
  226. getCouponData(data);
  227. });
  228. //选择具体优惠券
  229. $("body").on("click",".add-award .coupon .coupon-item",function (e) {
  230. e.stopPropagation(); //阻止事件冒泡
  231. $("input[name='relate_name']").val($(this).text());
  232. $("input[name='relate_id']").val($(this).attr('data-coupon_id'));
  233. $(this).parents(".coupon-box").find(".coupon-title").text($(this).text());
  234. $(".coupon-option").addClass("layui-hide");
  235. $(".award-type .coupon-title").removeClass("focus border-color");
  236. });
  237. $("body").click(function () {
  238. $(".coupon-option").addClass("layui-hide");
  239. $(".award-type .coupon-title").removeClass("focus border-color");
  240. });
  241. $("body").on("click",".add-award .coupon-search", function (e) {
  242. e.stopPropagation(); //阻止事件冒泡
  243. });
  244. function cancelAward (){
  245. layer.closeAll();
  246. }
  247. </script>