window["shopCouponRecord"] = function(couponCode,showCouponCode){ function addCoupons(code){ moi.ajax({ url: "/coupons", type: "post", data: JSON.stringify({code:code}), success: function (res) { if (res.code == 0) { getCoupons() } } }) } function getCoupons(showCouponCode){ var couponBox = $('.order_discount'); var couponType = couponBox.data("type"); if (typeof(storeConfig.coupon_position) == "undefined"){ storeConfig.coupon_position = "cart,minicart,checkout" } var coupon_rule = storeConfig.coupon_position ? storeConfig.coupon_position.split(","):[] if(!coupon_rule.includes(couponType)){ return false } if (couponBox.length) { moi.ajax({ url: "/coupons", type: "get", success: function (res) { if (res.code == 0 && res.data.length) { if(couponBox.find("#coupons-record-template").length){ couponBox.find("#coupons-record-template").html("") }else{ couponBox.append("
") } engine .parseAndRender($("#coupons-record-template").html(), { coupons: res.data, storeConfig: storeConfig, showCouponCode: showCouponCode, lang: window.lang }).then(function (html) { couponBox.find("#coupons-record-template").append(html) couponBox.find(".coupons-record-item").click(function(){ var selfNode = $(this); $(this).addClass("coupons-record-item-active").siblings().removeClass("coupons-record-item-active"); const couponInput =$(this).parents(".order_discount").find(".coupon_code_input") couponInput.val($(this).data("code")) couponInput.keyup(function(){ if($(this).val() == ""){ selfNode.siblings().removeClass("coupons-record-item-active"); } }) couponInput.parents('.order_text_box').addClass('order_text_on'); couponInput.parents('.order_text_box').siblings(".order_discount_code_btn").addClass('order_discount_code_btn_on'); couponInput.parents('.order_text_box').siblings(".order_discount_code_btn").click() }) couponBox.find(".coupons-record-more-btn").click(function(){ couponBox.find(".coupons-record-wrap").css('height','auto') $(this).parent().remove() }) }) } } }); } } if(couponCode){ addCoupons(couponCode); }else{ getCoupons(showCouponCode); } }