Files
yshop-pro-uniapp/unpackage/dist/build/h5/assets/pages-shoppingCartJump-shoppingCart.0a9b76aa.js

2 lines
9.4 KiB
JavaScript

import{a as e,x as t,a1 as a,i as o,a2 as l,u as s,o as n,j as c,w as u,I as i,h as r,B as d,a3 as p,U as f,e as m,F as _,l as g,k as v,m as h,a4 as b,C as k,D as x,y as S,G as y,H as j,Q as C,z as I,a5 as w}from"./index-90c12cc1.js";import{_ as N,a as P}from"./uv-checkbox-group.b7d5b6f9.js";import{_ as L}from"./uv-icon.c815b875.js";import{_ as G}from"./card.908936ad.js";import{G as A}from"./Goods.94b8dae8.js";import{G as V}from"./good-attr-select.3f64fa6c.js";import{M as B}from"./index.4bde3b32.js";import{u as O,g as T,c as z,d as D,a as U}from"./cart.031a8a42.js";import{_ as E}from"./lodash.b1309c50.js";import{u as R}from"./useInterface.bd4f041a.js";import{a as q}from"./product.4783a646.js";import{E as F}from"./index.ed915e92.js";import{e as H}from"./images.cf3befb9.js";import{_ as M}from"./_plugin-vue_export-helper.1b428a4d.js";import{H as W}from"./index.0e2fd26a.js";import{R as $}from"./index.cf172dbd.js";import{u as Q}from"./useScroll.50272fa4.js";import{R as Y}from"./index.b6529df5.js";import"./uv-icon.vue_vue_type_style_index_0_scoped_23936b10_lang.7145f5b2.js";import"./index.d156dd8a.js";import"./utils.80a0ac72.js";import"./uv-image.b3f882de.js";import"./uv-loading-icon.ad70964c.js";import"./uv-loading-icon.vue_vue_type_style_index_0_scoped_bad0efbf_lang.de7e0d02.js";import"./space.af0e7a6e.js";import"./uv-button.8e862d87.js";import"./uv-button.vue_vue_type_style_index_0_scoped_bc0e850d_lang.79bfdc50.js";import"./index.188c29d6.js";import"./_commonjsHelpers.02d3be64.js";import"./usePage.8865205f.js";import"./index.867e23f4.js";import"./config.6730da78.js";const J=[{label:"商品总价",field:"costPrice",prefix:"¥"},{label:"优惠",field:"couponPrice",prefix:"-¥"},{label:"运费",field:"storePostage",prefix:"¥"},{label:"总计",field:"totalPrice",prefix:"¥"}];function K(a){const{cartList:l,doGetCartList:n}=a,{toast:c}=R(),{push:u}=s(),i=e(!1),r=t((()=>i.value?"取消":"管理")),d=e([]),p=e(!1);const f=e(void 0);async function m(){if(o(d).length<=0)return f.value=void 0;const e=await z({cartId:o(d).join(","),orderType:1,useIntegral:!1});f.value=e.priceGroup}return{manage:i,manageStr:r,shoppingSelect:d,shoppingSelectAll:p,statisticsInfo:f,handleSingleSelect:async function(e){p.value=e.length===l.value.length,setTimeout((async()=>{await m()}),100)},handleSelectAll:async function(e){d.value=e?l.value.map((e=>e.id)):[],p.value=e,await m()},computeSelectInfoByShoppingSelect:m,openDelModal:function(e){if(o(d).length<=0)return c({title:"请勾选需要删除的商品"});o(e).show()},doDelete:async function(){await D({ids:d.value}),await n(),await async function(){d.value=[],p.value=!1,await m()}()},submitOrder:function(){if(o(d).length<=0)return c({title:"请勾选需要购买的商品"});u({url:"/pages/submitOrder/submitOrder"},{data:{cartId:d.value.toString()}})}}}function X(){const{toast:t}=R(),a=e(void 0),o=e(void 0),s=e(void 0),n=e(void 0);function c(){a.value=s.value=void 0}return{openProductItem:n,openSkuSkuId:o,openSkuProductId:a,handleOpenSkuSelect:async function(e,t){await(async e=>{n.value=await q(e)})({productId:e.productId}),o.value=e.productInfo.attrInfo.id,a.value=e.productId,s.value=e.id,await l((()=>{t.open(e.cartNum)}))},handleCloseSkuSelect:c,handleSubmitSkuSelect:async function(e,o,l,n,u){if(!a.value)return;const{store:i,num:r}=e;if(await U({id:s.value,productId:a.value,productAttrUnique:i.unique}),"function"==typeof n){const e=l.find((e=>e.id===s.value));await n({detail:{value:r}},e)}setTimeout((async()=>{await u(),t({title:"修改成功",icon:"success"}),c()}),400)}}}const Z=M({__name:"CartEmpty",setup(e){const{pushToTab:t}=s();return(e,a)=>{const l=d;return n(),c(F,{iconSrc:o(H),padding:"220rpx 0 0 0"},{default:u((()=>[i(" 购物车里空空如也~ ")])),bottom:u((()=>[r(l,{class:"go-on-btn",onClick:a[0]||(a[0]=e=>o(t)({url:"/root/index/index"}))},{default:u((()=>[i(" 继续逛逛 ")])),_:1})])),_:1},8,["iconSrc"])}}},[["__scopeId","data-v-ba7d9f9d"]]),ee=M({__name:"shoppingCart",setup(s){const z=e(),D=e(),{showEmpty:U,cartList:q,doGetCartList:F}=function(){const o=e(!1),l=e([]),s=t((()=>l.value.length<=0));async function n(){try{o.value=!0;const e=await T();l.value=(null==e?void 0:e.valid)??[]}finally{o.value=!1}}return a((async()=>{await n()})),{showEmpty:s,cartListLoading:o,cartList:l,doGetCartList:n}}(),{manage:H,manageStr:M,shoppingSelect:ee,shoppingSelectAll:te,handleSingleSelect:ae,handleSelectAll:oe,statisticsInfo:le,computeSelectInfoByShoppingSelect:se,openDelModal:ne,doDelete:ce,submitOrder:ue}=K({cartList:q,doGetCartList:F}),{openProductItem:ie,openSkuSkuId:re,openSkuProductId:de,handleOpenSkuSelect:pe,handleCloseSkuSelect:fe,handleSubmitSkuSelect:me}=X(),{handleCartNumberInputChange:_e,handleCartNumberChange:ge}=function(e){const{toast:t}=R(),a=E.debounce((async t=>{await O({id:t.id,number:t.cartNum}),e&&e.afterChange&&await e.afterChange()}),300);return{handleCartNumberInputChange:function(e,o){const s=parseInt(e.detail.value);return s<=0?(o.cartNum=1,void t({title:"至少选一件哦~"})):s>o.trueStock?(o.cartNum=o.productInfo.stock,void t({title:"超出库存啦~"})):void l((()=>{o.cartNum=s.toString().replace(/^0+/,""),a(o)}))},handleCartNumberChange:function(e,t="plus"){"plus"===t?e.cartNum+1>e.trueStock?e.cartNum=e.trueStock:e.cartNum+=1:e.cartNum<=1?e.cartNum=1:e.cartNum-=1,a(e)}}}({afterChange:se});p((()=>{var e,t;null==(e=z.value)||e.close(),null==(t=D.value)||t.close()}));const ve=e(0);f({success:e=>{ve.value=e.safeAreaInsets.bottom}});const{scrollTop:he}=Q();return(e,t)=>{const a=d,l=y(j("uv-checkbox"),N),s=y(j("uv-icon"),L),p=w,f=y(j("card"),G),O=y(j("uv-checkbox-group"),P);return n(),m(_,null,[r(W,{"scroll-top":o(he),"system-bar-area-bg":"#fff","header-area-bg":"#fff","bg-change-by-scroll":""},{default:u((()=>[i(" 购物车 ")])),_:1},8,["scroll-top"]),o(U)?(n(),c(Z,{key:1})):(n(),c(a,{key:0},{default:u((()=>[r(a,{class:"cart-manage"},{default:u((()=>[r(a,{onClick:t[0]||(t[0]=e=>H.value=!o(H))},{default:u((()=>[i(g(o(M)),1)])),_:1})])),_:1}),r(O,{modelValue:o(ee),"onUpdate:modelValue":t[2]||(t[2]=e=>b(ee)?ee.value=e:null),shape:"circle",activeColor:"#ee6d46",onChange:o(ae)},{default:u((()=>[r(f,{class:"shopping-checkbox"},{default:u((()=>[(n(!0),m(_,null,v(o(q),(e=>(n(),c(a,{key:e.id,class:"shopping-item"},{default:u((()=>[r(l,{name:e.id},null,8,["name"]),r(a,{class:"good"},{default:u((()=>[r(A,{row:"",imgWidth:"200rpx","info-padding":"0 0 0 40rpx",goods:e.productInfo},{options:u((()=>[r(a,{class:"goods-options"},{default:u((()=>[r(a,{class:"sku-row flex"},{default:u((()=>[r(a,{class:"sku-info flex flex-jc__sb flex-ai__center",onClick:C((t=>o(pe)(e,D.value)),["stop"])},{default:u((()=>[r(a,{class:"info"},{default:u((()=>[i(g(e.productInfo&&e.productInfo.attrInfo&&e.productInfo.attrInfo.sku),1)])),_:2},1024),r(s,{class:"icon",name:"arrow-down",color:"#ccc",size:"12"})])),_:2},1032,["onClick"])])),_:2},1024),r(a,{class:"price-row flex flex-ai__center flex-jc__sb"},{default:u((()=>[r(a,{class:"price-box flex flex-ai__end"},{default:u((()=>[i(" ¥"+g(e.truePrice)+" ",1),r(a,{class:"old-price"},{default:u((()=>[i(" ¥"+g(e.productInfo.otPrice),1)])),_:2},1024)])),_:2},1024),r(a,{class:"cart-num flex flex-ai__center flex-jc__sb",onClick:t[1]||(t[1]=C((()=>{}),["stop"]))},{default:u((()=>[r(a,{class:"button",onClick:t=>o(ge)(e,"minus")},{default:u((()=>[r(s,{name:"minus",color:"#333",size:"12"})])),_:2},1032,["onClick"]),r(a,{class:"input"},{default:u((()=>[r(p,{type:"number",inputmode:"numeric",modelValue:e.cartNum,"onUpdate:modelValue":t=>e.cartNum=t,onBlur:t=>o(_e)(t,e)},null,8,["modelValue","onUpdate:modelValue","onBlur"])])),_:2},1024),r(a,{class:"button",onClick:t=>o(ge)(e,"plus")},{default:u((()=>[r(s,{name:"plus",color:"#333",size:"12"})])),_:2},1032,["onClick"])])),_:2},1024)])),_:2},1024)])),_:2},1024)])),_:2},1032,["goods"])])),_:2},1024)])),_:2},1024)))),128)),r(a,{class:h({"select-product-settle-info":!0,show:o(ee).length>0})},{default:u((()=>[(n(!0),m(_,null,v(o(J),((e,t)=>(n(),c(a,{class:"row flex flex-ai__center flex-jc__sb",key:t},{default:u((()=>[r(a,{class:"label"},{default:u((()=>[i(g(e.label),1)])),_:2},1024),o(le)?(n(),c(a,{key:0},{default:u((()=>[i(g(e.prefix)+" "+g(o(le)[e.field].toFixed(2)),1)])),_:2},1024)):I("",!0)])),_:2},1024)))),128))])),_:1},8,["class"])])),_:1})])),_:1},8,["modelValue","onChange"]),r(a,{class:"screen action-bar",style:S({paddingBottom:`${ve.value}px`})},{default:u((()=>[r(a,{class:"action-info"},{default:u((()=>[r(a,{class:"action-checkbox"},{default:u((()=>[r(O,{shape:"circle",activeColor:"#ee6d46"},{default:u((()=>[r(l,{name:"all",checked:o(te),onChange:o(oe)},{default:u((()=>[i(" 全选 ")])),_:1},8,["checked","onChange"])])),_:1})])),_:1})])),_:1}),r(a,{class:"action-btns"},{default:u((()=>[k(r(a,{class:"action-total"},{default:u((()=>[i(" 总计:¥"+g(o(le)?o(le).totalPrice.toFixed(2):"0.00"),1)])),_:1},512),[[x,!o(H)]]),o(H)?(n(),c(a,{key:1,class:"button",onClick:t[3]||(t[3]=e=>o(ne)(z.value))},{default:u((()=>[i(" 删除 ")])),_:1})):(n(),c(a,{key:0,class:"button",onClick:o(ue)},{default:u((()=>[i("结算 ")])),_:1},8,["onClick"]))])),_:1})])),_:1},8,["style"])])),_:1})),r($),r(a,{class:"action-height"}),r(a,{class:"h5-tabbar-height"}),r(V,{style:{"z-index":"999"},id:o(de),ref_key:"goodsAttrSelectRef",ref:D,"goods-detail":o(ie),"sku-id":o(re),onSelect:t[4]||(t[4]=e=>o(me)(e,D.value,o(q),o(_e),o(F)))},null,8,["id","goods-detail","sku-id"]),r(B,{ref_key:"modalRef",ref:z,content:"确认要删除这些购物车数据吗?",onConfirm:o(ce)},null,8,["onConfirm"]),r(Y,{"scroll-top":o(he)},null,8,["scroll-top"])],64)}}},[["__scopeId","data-v-6c568d0d"]]);export{ee as default};