1 |
- import{d as h,y as l,T as u,D as d,n as m,j as a,bC as p,C as f,A as o,F as g,$ as C}from"./ResizeObserver.es.39b48a47.js";import{C as k}from"./index.970ad07b.js";import{s as i}from"./index.module.0e920025.js";import{C as r}from"./index.0a093430.js";import"./index.3c44a6d7.js";import{S as c}from"./index.18400b32.js";import{I as n}from"./index.fcbcb027.js";import"./index.34ac729a.js";import{C as y}from"./index.ff5688ac.js";import{S as b}from"./index.c88884de.js";import{f as I}from"./cart.426348e2.js";import{i as v}from"./icon-sell-out.98742fd0.js";import{g as S}from"./shop-mall.eb722a4b.js";import{C as L}from"./index.a256e876.js";function x(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!C(e)}var z=h({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 l.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,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 l.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(){d.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 l.post("/api-mall-portal/cart/delete?ids="+e);t===200&&(this.getCartList(),this.selectItems=[],this.isManage=!1,S())}catch{}})},async generateConfirmOrder(){this.$router.push({path:"/cartConfirm",query:{cartIds:this.selectItems.join(",")}})},gotoShopMall(){m({api:"back"})}},render(){let e;return a(g,null,[this.dataShow?a("div",null,[a(k,{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(L,{modelValue:this.selectItems,"onUpdate:modelValue":t=>this.selectItems=t},x(e=this.cartList.map(t=>a("div",{class:i.cartItem},[a(r,{name:t.id,disabled:t.stock<=0&&!this.isManage},{default:()=>[a(y,{price:p(t.price),desc:I(t.productAttr),title:t.productName,thumb:t.productPic},{num:()=>a(b,{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>200?200:t.stock,integer:!0},null),thumb:()=>a("div",null,[a(n,{src:t.productPic},null),t.stock<=0&&a("div",{class:i.sellOut},[a(n,{src:v,fit:"cover",class:i.sellOutImg},null)])])})]})])))?e:{default:()=>[e]}):null,!this.loading&&!this.cartList.length&&a(f,{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.len===0,onSubmit:()=>this.onDeleteCartItem()},{default:()=>[a(r,{modelValue:this.checkAll,onClick:t=>this.setCheckAll()},{default:()=>[o("\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(r,{modelValue:this.checkAll,onClick:t=>this.setCheckAll()},{default:()=>[o("\u5168\u9009")]})]})])])]):null])}});export{z as default};
|