import{C as d}from"./index.fc7d34d1.js";import{s as i}from"./index.module.0e920025.js";import{d as h,T as u,D as m,a,$ as p,a0 as l,as as f,O as g,I as o,x as C,aq as c,j as n,F as k}from"./vendor.a0144ce9.js";/* empty css                *//* empty css                *//* empty css                *//* empty css               *//* empty css                *//* empty css                *//* empty css                */import{r,p as y,m as b,C as x}from"./index.3d95a92c.js";import{f as I}from"./cart.70a33c1b.js";import{i as j}from"./icon-sell-out.bc315722.js";/* empty css               */function v(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!C(e)}var $=h({name:"cart",data(){return{dataShow:!1,isManage:!1,cartList:[],selectItems:[]}},computed:{checkAll(){let e=this.selectItems.length,t=this.cartList.length;return e===t},len(){return this.selectItems.length},totalPrice(){let e=0;const t=this.selectItems;return this.cartList.forEach(s=>{t.includes(s.id)&&typeof s.price=="number"&&(e+=s.price*s.quantity)}),e*100}},mounted(){this.getCartList()},methods:{async getCartList(){this.cartList=[];try{let{code:e,data:t}=await r.get("/api-mall-portal/cart/list");e===200&&(this.cartList=t.map(s=>(s.stock=s.stock-s.lockStock,s.stock=s.stock<=0?0:s.stock,s)))}catch{}this.dataShow=!0},setCheckAll(){const e=[];this.checkAll||this.cartList.forEach(t=>{(this.isManage||t.stock>0)&&e.push(t.id)}),this.selectItems=e},async setCartItem(e){try{let{code:t,data:s}=await r.get("/api-mall-portal/cart/update/quantity",{params:{id:e.id,quantity:e.quantity}});e.stock=s,e.quantity>s&&(e.quantity=s,setTimeout(()=>{u("\u5E93\u5B58\u4E0D\u8DB3")},500))}catch{}},onChecked(e){const t=this.selectItems;t.includes(e)?t.splice(t.indexOf(e),1):t.push(e),this.selectItems=t},async onDeleteCartItem(){m.confirm({message:"\u662F\u5426\u786E\u8BA4\u5220\u9664\u9009\u4E2D\u7684\u5546\u54C1?"}).then(async()=>{const e=this.selectItems.join(",");try{let{code:t,data:s}=await r.post("/api-mall-portal/cart/delete?ids="+e);t===200&&(this.getCartList(),this.selectItems=[],this.isManage=!1)}catch{}})},async generateConfirmOrder(){this.$router.push({path:"/cartConfirm",query:{cartIds:this.selectItems.join(",")}})},gotoShopMall(){y({api:"back"})}},render(){let e;return a(k,null,[this.dataShow?a("div",null,[a(d,{onClickRight:()=>{this.isManage=!this.isManage,this.isManage||this.cartList.forEach(t=>{t.stock<=0&&(this.selectItems=this.selectItems.filter(s=>s!=t.id))})}},{right:()=>a("span",{style:{color:"#333",fontSize:"14px"}},[this.isManage?"\u5B8C\u6210":"\u7BA1\u7406"])}),a("div",{class:i.cartBox},[this.cartList.length?a(p,{modelValue:this.selectItems,"onUpdate:modelValue":t=>this.selectItems=t},v(e=this.cartList.map(t=>a("div",{class:i.cartItem},[a(l,{name:t.id,disabled:t.stock<=0&&!this.isManage},{default:()=>[a(f,{price:b(t.price),desc:I(t.productAttr),title:t.productName,thumb:t.productPic},{num:()=>a(g,{modelValue:t.quantity,"onUpdate:modelValue":s=>t.quantity=s,onClick:s=>{s.stopPropagation()},onChange:()=>{t.quantity&&this.setCartItem(t)},inputWidth:"50px",buttonSize:"24px",min:1,max:t.stock,integer:!0},null),thumb:()=>a("div",null,[a(o,{src:t.productPic},null),t.stock<=0&&a("div",{class:i.sellOut},[a(o,{src:j,fit:"cover",class:i.sellOutImg},null)])])})]})])))?e:{default:()=>[e]}):a(x,{tips:"\u8D2D\u7269\u8F66\u7A7A\u7A7A\u5982\u4E5F",buttonText:"\u53BB\u5546\u57CE\u901B\u901B",onClick:()=>this.gotoShopMall()},null),a("div",{style:{height:"var(--van-submit-bar-height)"}},null),this.isManage?a("div",{class:i.delete},[a(c,{buttonText:"\u5220\u9664",buttonColor:"var(--van-primary)",disabled:this.totalPrice===0,onSubmit:()=>this.onDeleteCartItem()},{default:()=>[a(l,{modelValue:this.checkAll,onClick:t=>this.setCheckAll()},{default:()=>[n("\u5168\u9009")]})]})]):a("div",{class:i.submit},[a(c,{price:this.totalPrice,buttonText:`\u7ED3\u7B97(${this.len})`,buttonColor:"var(--van-primary)",disabled:this.len===0,onSubmit:()=>this.generateConfirmOrder()},{default:()=>[a(l,{modelValue:this.checkAll,onClick:t=>this.setCheckAll()},{default:()=>[n("\u5168\u9009")]})]})])])]):null])}});export{$ as default};
