1 |
- import{C as r,r as d,s as h}from"./index.937d41ec.js";import{d as p,a as t,j as a,F as c,L as C,B as f,C as m,P as L}from"./vendor.75613d65.js";/* empty css */import{u as g}from"./hooks.e9c2073b.js";import{I as S}from"./item.ea55aebd.js";const b="_useCoupon_dzp2v_1",y="_couponCount_dzp2v_5",A="_choiceCoupon_dzp2v_14",I="_couponTitle_dzp2v_20",_="_iconClose_dzp2v_32",E="_couponContent_dzp2v_39",v="_couponFooter_dzp2v_46",k="_couponSelectText_dzp2v_53";var i={useCoupon:b,couponCount:y,choiceCoupon:A,couponTitle:I,iconClose:_,couponContent:E,couponFooter:v,couponSelectText:k},N=p({name:"choice-coupon",props:{orderAmount:{type:Number,default:0},useCoupon:{type:Array,default:()=>[]},couponCategory:{type:String,default:"UNIVERSAL"},couponList:{type:Array,default:()=>[]}},emits:["close","submit"],data(){return{list:[],dataLoading:!1}},computed:{useLength(){return this.list.filter(o=>o.checked).length||0}},async mounted(){this.couponList.forEach(e=>{this.useCoupon.forEach(s=>{e.couponIssueId===s.couponIssueId&&(e.checked=!0)})});const o=this.couponList.filter(e=>!e.disabled),u=this.couponList.filter(e=>e.disabled);this.list=[...o,...u],this.calcCoupon(),g("\u4F18\u60E0\u5238")},methods:{onSubmit(){this.$emit("submit",this.list.filter(o=>o.checked)),this.list.forEach(o=>{o.checked=!1})},onSelect(o){o.checked=!o.checked,this.calcCoupon()},calcCoupon(){const u=this.list.filter(n=>n.checked).map(n=>Number(n.useLimit||0)),e=u.length>0?u.reduce((n,l)=>n+l):0,s=this.orderAmount-e;this.list.forEach(n=>{Number(n.useLimit)>s&&!n.checked?n.disabled=!0:n.disabled=!1})}},render(){return t("div",{class:i.choiceCoupon},[t("div",{class:i.couponTitle},[t("span",null,[a("\u4F18\u60E0\u5238")]),t("i",{class:i.iconClose,onClick:()=>this.$emit("close")},null)]),t("div",{class:i.couponContent},[this.dataLoading?t(C,{size:48,color:"#2dc7aa",vertical:!0,style:{height:"100%",justifyContent:"center"}},{default:()=>[a("\u52A0\u8F7D\u4E2D...")]}):t(c,null,[this.list.length>0?t(c,null,[this.list.map(o=>t(S,{item:o,isSelect:!0,onClick:this.onSelect},null))]):t(r,{btnStatus:!1,tips:"\u6682\u65E0\u4F18\u60E0\u5238",classImgSize:"SMALL"},null)])]),t("div",{class:[i.couponFooter,"van-hairline--top"]},[t("div",{class:i.couponSelectText},[a("\u5DF2\u9009"),t("span",null,[this.useLength]),a("\u5F20")]),t(f,{type:"primary",round:!0,style:{minWidth:"105px",fontSize:"16px"},onClick:this.onSubmit},{default:()=>[a("\u786E\u5B9A")]})])])}});const U={UNIVERSAL:"UNIVERSAL",VIP:"VIP",PINAO_ROOM:"PIANO",GOODS:"MALL",MUSIC:"MUSIC",PRACTICE:"SPARRING",LIVE:"LIVE",VIDEO:"VIDEO",ALBUM:"ALBUM"};var z=p({name:"use-conpon",props:{disabled:{type:Boolean,default:!1},orderAmount:{type:Number,default:0},orderType:{type:String,default:""},discountPrice:{type:Number,default:0}},emits:["couponSelect"],data(){return{popupStatus:!1,popupLoading:!1,useCouponList:[],useCouponLoading:!1,useCouponCount:0,dataLoading:!1,list:[]}},computed:{couponCount(){const o=this.useCouponList.map(e=>Number(e.discountPrice||0));let u=0;return this.disabled?u=this.discountPrice:u=o.length>0?o.reduce((e,s)=>e+s):0,u},couponCategory(){return U[this.orderType]||"UNIVERSAL"}},mounted(){this.getList()},methods:{async getList(){if(!this.dataLoading){this.dataLoading=!0;try{const o=await d.post(`${h.platformApi}/couponInfo/page`,{data:{couponCategory:this.couponCategory,couponType:"FULL_DISCOUNT",useState:"USABLE",orderUse:1,page:1,rows:100}});this.dataLoading=!1;const u=o.data||{};if(this.list.length>0&&u.pageNo===1)return;this.list=u.rows||[],this.list.forEach(s=>{s.checked=!1,s.useLimit>this.orderAmount?s.disabled=!0:s.disabled=!1});let e=0;this.list.forEach(s=>{s.disabled||e++}),console.log(this.list,"list"),this.useCouponCount=e}catch{}}},onSubmit(o){this.useCouponList=o,this.$emit("couponSelect",o),this.popupStatus=!1,this.popupLoading=!1}},render(){return t(c,null,[t(m,{title:"\u4F18\u60E0\u5238",class:i.useCoupon,style:{borderRadius:"8px"},isLink:!this.disabled,clickable:!1,onClick:()=>{this.disabled||(this.popupStatus=!0,this.popupLoading=!0)}},{value:()=>!this.useCouponLoading&&t(c,null,[this.couponCount>0?t("span",{class:i.couponCount},[t("i",null,[a("-\uFFE5")]),this.couponCount]):t(c,null,[this.useCouponCount>0?`${this.useCouponCount}\u5F20\u53EF\u4F7F\u7528`:"\u6682\u65E0\u53EF\u4F7F\u7528\u4F18\u60E0\u5238"])])}),t(L,{show:this.popupStatus,"onUpdate:show":o=>this.popupStatus=o,position:"bottom",round:!0,safeAreaInsetBottom:!0,style:{height:"75%"},onClosed:()=>{this.popupLoading=!1}},{default:()=>[this.popupLoading&&t(N,{couponCategory:this.couponCategory,useCoupon:this.useCouponList,orderAmount:this.orderAmount,couponList:this.list,onClose:()=>this.popupStatus=!1,onSubmit:o=>this.onSubmit(o)},null)]})])}});export{z as U};
|