1 |
- import{C as h}from"./index.4cc32b24.js";import{s as i}from"./index.module.3bc378ff.js";import{d as u,T as d,D as m,b as a,a2 as p,G as l,a3 as f,Y as g,I as o,v as C,a0 as c,j as n,F as b}from"./vendor.2bcdc9cf.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{i as k}from"./index.903a2347.js";import{r,m as y,C as I}from"./index.b8b9219f.js";import{f as x}from"./cart.2a3b730f.js";import{g as v}from"./shop-mall.fff18e3c.js";function j(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!C(e)}var $=u({name:"cart",data(){return{loading:!0,dataShow:!1,isManage:!1,cartList:[],selectItems:[]}},computed:{checkAll(){let e=this.selectItems.length,t=this.cartList.length;return t?e===t:!1},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.loading=!0,this.cartList=[];try{let{code:e,data:t}=await r.get("/api-mall-portal/cart/list");e===200&&(this.cartList=t.map(s=>s)),this.$nextTick(()=>{setTimeout(()=>{this.cartList=t.map(s=>(s.stock=s.stock-s.lockStock,s.stock=s.stock<=0?0:s.stock,s))},0)})}catch{}this.dataShow=!0,this.loading=!1},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(()=>{d("\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?",confirmButtonColor:"var(--van-primary)"}).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,v())}catch{}})},async generateConfirmOrder(){this.$router.push({path:"/cartConfirm",query:{cartIds:this.selectItems.join(",")}})},gotoShopMall(){this.$router.replace("/")}},render(){let e;return a(b,null,[this.dataShow?a("div",null,[a(h,{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",{class:i.rightText},[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},j(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:y(t.price),desc:x(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:()=>{console.log(1),t.quantity&&this.setCartItem(t)},inputWidth:"50px",buttonSize:"24px",min:1,max:t.stock>200?200: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:k,fit:"cover",class:i.sellOutImg},null)])])})]})])))?e:{default:()=>[e]}):null,!this.loading&&!this.cartList.length&&a(I,{tips:"\u8D2D\u7269\u8F66\u7A7A\u7A7A\u5982\u4E5F",buttonText:"\u53BB\u5546\u57CE\u901B\u901B",classImgSize:"GOODS",type:"goods",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.len===0,safeAreaInsetBottom:!1,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)",safeAreaInsetBottom:!1,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};
|