Files
yshop-pro-uniapp/unpackage/dist/build/h5/assets/root-shoppingCart-shoppingCart.cf8b709e.js

2 lines
9.5 KiB
JavaScript

import{a as e,x as t,a1 as a,i as o,a2 as l,u as n,o as s,j as c,w as u,I as i,h as r,B as d,a3 as p,e as f,F as m,l as _,k as g,m as v,a4 as h,C as b,D as k,G as x,H as S,Q as y,z as j,a5 as C}from"./index-90c12cc1.js";import{_ as I,a as w}from"./uv-checkbox-group.b7d5b6f9.js";import{_ as N}from"./uv-icon.c815b875.js";import{_ as P}from"./card.908936ad.js";import{G as L}from"./Goods.94b8dae8.js";import{G}from"./good-attr-select.3f64fa6c.js";import{M as V}from"./index.4bde3b32.js";import{u as A,g as O,c as T,d as z,a as B}from"./cart.031a8a42.js";import{_ as D}from"./lodash.b1309c50.js";import{u as E}from"./useInterface.bd4f041a.js";import{a as R}from"./product.4783a646.js";import{E as U}from"./index.ed915e92.js";import{e as q}from"./images.cf3befb9.js";import{_ as F}from"./_plugin-vue_export-helper.1b428a4d.js";import{H}from"./index.0e2fd26a.js";import{R as M}from"./index.cf172dbd.js";import{u as W}from"./useScroll.50272fa4.js";import{R as Q}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 Y=[{label:"商品总价",field:"costPrice",prefix:"¥"},{label:"优惠",field:"couponPrice",prefix:"-¥"},{label:"运费",field:"storePostage",prefix:"¥"},{label:"总计",field:"totalPrice",prefix:"¥"}];function $(a){const{cartList:l,doGetCartList:s}=a,{toast:c}=E(),{push:u}=n(),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 T({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 z({ids:d.value}),await s(),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 J(){const{toast:t}=E(),a=e(void 0),o=e(void 0),n=e(void 0),s=e(void 0);function c(){a.value=n.value=void 0}return{openProductItem:s,openSkuSkuId:o,openSkuProductId:a,handleOpenSkuSelect:async function(e,t){await(async e=>{s.value=await R(e)})({productId:e.productId}),o.value=e.productInfo.attrInfo.id,a.value=e.productId,n.value=e.id,await l((()=>{t.open(e.cartNum)}))},handleCloseSkuSelect:c,handleSubmitSkuSelect:async function(e,o,l,s,u){if(!a.value)return;const{store:i,num:r}=e;if(await B({id:n.value,productId:a.value,productAttrUnique:i.unique}),"function"==typeof s){const e=l.find((e=>e.id===n.value));await s({detail:{value:r}},e)}setTimeout((async()=>{await u(),t({title:"修改成功",icon:"success"}),c()}),400)}}}const K=F({__name:"CartEmpty",setup(e){const{pushToTab:t}=n();return(e,a)=>{const l=d;return s(),c(U,{iconSrc:o(q),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-694748f4"]]),X=F({__name:"shoppingCart",setup(n){const T=e(),z=e(),{showEmpty:B,cartList:R,doGetCartList:U}=function(){const o=e(!1),l=e([]),n=t((()=>l.value.length<=0));async function s(){try{o.value=!0;const e=await O();l.value=(null==e?void 0:e.valid)??[]}finally{o.value=!1}}return a((async()=>{await s()})),{showEmpty:n,cartListLoading:o,cartList:l,doGetCartList:s}}(),{manage:q,manageStr:F,shoppingSelect:X,shoppingSelectAll:Z,handleSingleSelect:ee,handleSelectAll:te,statisticsInfo:ae,computeSelectInfoByShoppingSelect:oe,openDelModal:le,doDelete:ne,submitOrder:se}=$({cartList:R,doGetCartList:U}),{openSkuSkuId:ce,openProductItem:ue,openSkuProductId:ie,handleOpenSkuSelect:re,handleCloseSkuSelect:de,handleSubmitSkuSelect:pe}=J(),{handleCartNumberInputChange:fe,handleCartNumberChange:me,cartNumberInput:_e}=function(e){const{toast:t}=E(),a=D.debounce((async t=>{await A({id:t.id,number:t.cartNum}),e&&e.afterChange&&await e.afterChange()}),300);return{handleCartNumberInputChange:function(e,o){const n=parseInt(e.detail.value.toString().replace(/^0+/,""));return n<=0?(o.cartNum=1,void t({title:"至少选一件哦~"})):n>o.trueStock?(o.cartNum=o.productInfo.stock,void t({title:"超出库存啦~"})):void l((()=>{o.cartNum=n,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)},cartNumberInput:function(e,t){const a=/^0+|[.]*/g;l((()=>{t.cartNum=e.detail.value.replace(a,"")}))}}}({afterChange:oe});p((()=>{var e,t;null==(e=T.value)||e.close(),null==(t=z.value)||t.close()}));const{scrollTop:ge}=W();return(e,t)=>{const a=d,l=x(S("uv-checkbox"),I),n=x(S("uv-icon"),N),p=C,A=x(S("card"),P),O=x(S("uv-checkbox-group"),w);return s(),f(m,null,[r(H,{"scroll-top":o(ge),"system-bar-area-bg":"#fff","header-area-bg":"#fff","bg-change-by-scroll":""},{default:u((()=>[i(" 购物车 ")])),_:1},8,["scroll-top"]),o(B)?(s(),c(K,{key:1})):(s(),c(a,{key:0},{default:u((()=>[r(a,{class:"cart-manage"},{default:u((()=>[r(a,{onClick:t[0]||(t[0]=e=>q.value=!o(q))},{default:u((()=>[i(_(o(F)),1)])),_:1})])),_:1}),r(O,{modelValue:o(X),"onUpdate:modelValue":t[2]||(t[2]=e=>h(X)?X.value=e:null),shape:"circle",activeColor:"#ee6d46",onChange:o(ee)},{default:u((()=>[r(A,{class:"shopping-checkbox"},{default:u((()=>[(s(!0),f(m,null,g(o(R),(e=>(s(),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(L,{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:y((t=>o(re)(e,z.value)),["stop"])},{default:u((()=>[r(a,{class:"info"},{default:u((()=>[i(_(e.productInfo&&e.productInfo.attrInfo&&e.productInfo.attrInfo.sku),1)])),_:2},1024),r(n,{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(" ¥"+_(e.truePrice)+" ",1),r(a,{class:"old-price"},{default:u((()=>[i(" ¥"+_(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]=y((()=>{}),["stop"]))},{default:u((()=>[r(a,{class:v(["button",e.cartNum<=1&&"disabled"]),onClick:t=>o(me)(e,"minus")},{default:u((()=>[r(n,{name:"minus",color:"#333",size:"24rpx"})])),_:2},1032,["class","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(fe)(t,e),onInput:t=>o(_e)(t,e)},null,8,["modelValue","onUpdate:modelValue","onBlur","onInput"])])),_:2},1024),r(a,{class:v(["button",e.cartNum>=e.trueStock&&"disabled"]),onClick:t=>o(me)(e,"plus")},{default:u((()=>[r(n,{name:"plus",color:"#333",size:"24rpx"})])),_:2},1032,["class","onClick"])])),_:2},1024)])),_:2},1024)])),_:2},1024)])),_:2},1032,["goods"])])),_:2},1024)])),_:2},1024)))),128)),r(a,{class:v({"select-product-settle-info":!0,show:o(X).length>0})},{default:u((()=>[(s(!0),f(m,null,g(o(Y),((e,t)=>(s(),c(a,{class:"row flex flex-ai__center flex-jc__sb",key:t},{default:u((()=>[r(a,{class:"label"},{default:u((()=>[i(_(e.label),1)])),_:2},1024),o(ae)?(s(),c(a,{key:0},{default:u((()=>[i(_(e.prefix)+" "+_(o(ae)[e.field].toFixed(2)),1)])),_:2},1024)):j("",!0)])),_:2},1024)))),128))])),_:1},8,["class"])])),_:1})])),_:1},8,["modelValue","onChange"]),r(a,{class:"screen action-bar"},{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(Z),onChange:o(te)},{default:u((()=>[i(" 全选 ")])),_:1},8,["checked","onChange"])])),_:1})])),_:1})])),_:1}),r(a,{class:"action-btns"},{default:u((()=>[b(r(a,{class:"action-total"},{default:u((()=>[i(" 总计:¥"+_(o(ae)?o(ae).totalPrice.toFixed(2):"0.00"),1)])),_:1},512),[[k,!o(q)]]),o(q)?(s(),c(a,{key:1,class:"button",onClick:t[3]||(t[3]=e=>o(le)(T.value))},{default:u((()=>[i(" 删除 ")])),_:1})):(s(),c(a,{key:0,class:"button",onClick:o(se)},{default:u((()=>[i("结算 ")])),_:1},8,["onClick"]))])),_:1})])),_:1})])),_:1})),r(M),r(a,{class:"action-height"}),r(a,{class:"h5-tabbar-height"}),r(G,{style:{"z-index":"999"},id:o(ie),ref_key:"goodsAttrSelectRef",ref:z,"goods-detail":o(ue),"sku-id":o(ce),onSelect:t[4]||(t[4]=e=>o(pe)(e,z.value,o(R),o(fe),o(U)))},null,8,["id","goods-detail","sku-id"]),r(V,{ref_key:"modalRef",ref:T,content:"确认要删除这些购物车数据吗?",onConfirm:o(ne)},null,8,["onConfirm"]),r(Q,{"scroll-top":o(ge)},null,8,["scroll-top"])],64)}}},[["__scopeId","data-v-3c3cd6a7"]]);export{X as default};