pages-packages-cart.CgCEOqGg.js 6.2 KB

1
  1. import{d as e,C as a,R as s,c as l,o as t,s as c,W as u,g as n,e as o,B as i,b as r,w as d,i as f,L as v,f as _,h as m,j as p,k,u as y,y as h,n as g,F as b,p as C,t as w,G as x,H as q,m as j,X as B,U as E}from"./index-DFZ3CMwM.js";import{c as L,b as A,e as D,f as F,i as G,d as H}from"./cart.B35XxTd-.js";import{t as I,g as R,m as S}from"./format.D6OiU1aS.js";import{u as U,_ as W}from"./CommandStatus.vue_vue_type_script_setup_true_lang.CkHjnHlF.js";import{_ as X}from"./_plugin-vue_export-helper.BCo6x5W8.js";const z=X(e({__name:"cart",setup(e){const X=a(null),z=a(null),J=a(!1),K=a(!1);let M=0;s(()=>c.epoch,()=>{M++,X.value=null,z.value=null,K.value=!1},{flush:"sync"});const N=U(()=>o("enterprise")+"/checkouts",async e=>{F(),v({url:"/pages/orders/checkout?id="+e.id})}),O=l(()=>{var e;return(null==(e=X.value)?void 0:e.amount_cents)??0}),P=l(()=>{var e;return(null==(e=X.value)?void 0:e.discount_cents)??0}),Q=l(()=>{var e;return Boolean(X.value&&c.token&&u()&&(null==(e=z.value)?void 0:e.address)&&J.value&&!K.value&&!N.busy)});async function T(){const e=++M,a=c.epoch;if(X.value=null,K.value=!1,L.items.length&&c.token&&u()){K.value=!0;try{const s=await i(o("enterprise")+"/checkout/quote",{items:A()});e===M&&a===c.epoch&&(D(s),X.value=s)}catch(s){e===M&&a===c.epoch&&I(s instanceof Error?s.message:"报价失败")}finally{e===M&&(K.value=!1)}}}function V(e,a){a>0?G(e):H(e),T()}function Y(){B().length>1?E():R("/pages/packages/index")}function Z(){var e;(null==(e=z.value)?void 0:e.address)?I("付款后请在权益页面预约配送"):R("/pages/addresses/index")}function $(){I("在线开票暂未开放,请联系平台咨询")}function ee(){Q.value&&X.value&&N.execute({items:A(),expected_amount_cents:X.value.amount_cents,quote_revision:X.value.quote_revision,agreement_accepted:!0,invoice:null})}return t(async()=>{M++,X.value=null,z.value=null;const e=c.epoch;if(L.items.length&&c.token&&u()){try{const a=await n(o("enterprise")+"/address");if(e!==c.epoch)return;z.value=a}catch{if(e!==c.epoch)return;z.value=null}await T()}}),(e,a)=>{const s=f,l=k,t=h,c=q,u=x;return _(),r(s,{class:"page checkout-page"},{default:d(()=>[m(s,{class:"checkout-header"},{default:d(()=>[m(s,{class:"back-button","aria-label":"返回",onClick:Y},{default:d(()=>[p("‹")]),_:1}),m(l,{class:"header-title"},{default:d(()=>[p("确认组合订单")]),_:1}),m(l,{class:"manage-link",onClick:Y},{default:d(()=>[p("管理")]),_:1})]),_:1}),y(L).items.length?(_(),g(b,{key:1},[m(s,{class:"selected-card"},{default:d(()=>[(_(!0),g(b,null,C(y(L).items,e=>(_(),r(s,{key:e.product.id,class:"selected-item"},{default:d(()=>[m(s,{class:"item-heading"},{default:d(()=>[m(l,{class:"item-name"},{default:d(()=>[p(w(e.product.name),1)]),_:2},1024),m(l,{class:"item-badge badge-blue"},{default:d(()=>[p(w(e.product.buckets)+"桶/份",1)]),_:2},1024)]),_:2},1024),m(s,{class:"item-subtitle"},{default:d(()=>[p(w(e.product.liters?e.product.liters+"L/桶":"规格以订单为准")+" · 企业产品权益 ",1)]),_:2},1024),m(s,{class:"item-footer"},{default:d(()=>[m(l,{class:"item-price"},{default:d(()=>[p("¥"+w(y(S)(e.product.price_cents)),1)]),_:2},1024),m(s,{class:"quantity-control"},{default:d(()=>[m(t,{class:"quantity-button","aria-label":"减少数量",onClick:a=>V(e.product,-1)},{default:d(()=>[p(" − ")]),_:2},1032,["onClick"]),m(l,{class:"quantity-value"},{default:d(()=>[p(w(e.quantity),1)]),_:2},1024),m(t,{class:"quantity-button","aria-label":"增加数量",onClick:a=>V(e.product,1)},{default:d(()=>[p(" + ")]),_:2},1032,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}),m(s,{class:"section-title"},{default:d(()=>[p("订单服务")]),_:1}),m(s,{class:"services-card"},{default:d(()=>[m(s,{class:"service-row",onClick:Z},{default:d(()=>[m(s,{class:"service-icon icon-delivery"},{default:d(()=>[p("送")]),_:1}),m(s,{class:"service-copy"},{default:d(()=>{var e;return[m(l,{class:"service-title"},{default:d(()=>[p("首次配送计划")]),_:1}),m(l,{class:"service-description"},{default:d(()=>[p("付款后预约,本次不会直接配送全部桶")]),_:1}),(null==(e=z.value)?void 0:e.address)?(_(),r(l,{key:0,class:"service-address"},{default:d(()=>[p(" 配送至:"+w(z.value.address),1)]),_:1})):(_(),r(l,{key:1,class:"service-address warning-text"},{default:d(()=>[p("请先完善企业供水地址")]),_:1}))]}),_:1}),m(l,{class:"service-arrow"},{default:d(()=>[p("›")]),_:1})]),_:1}),m(s,{class:"service-divider"}),m(s,{class:"service-row",onClick:$},{default:d(()=>[m(s,{class:"service-icon icon-invoice"},{default:d(()=>[p("票")]),_:1}),m(s,{class:"service-copy"},{default:d(()=>[m(l,{class:"service-title"},{default:d(()=>[p("企业发票")]),_:1}),m(l,{class:"service-description"},{default:d(()=>[p("在线开票暂未开放,请联系平台")]),_:1})]),_:1}),m(l,{class:"service-arrow"},{default:d(()=>[p("›")]),_:1})]),_:1})]),_:1}),m(s,{class:"checkout-note"},{default:d(()=>[p(" 同规格套餐的桶数合并到企业产品权益账户,付款后可分次预约配送。 ")]),_:1}),m(u,{class:"agreement-row"},{default:d(()=>[m(c,{checked:J.value,color:"#176afa",onClick:a[1]||(a[1]=e=>J.value=!J.value)},null,8,["checked"]),m(l,null,{default:d(()=>[p("我已确认套餐及配送地址,同意购水协议")]),_:1})]),_:1}),m(W,{command:y(N)},null,8,["command"]),X.value||K.value?j("",!0):(_(),r(t,{key:0,class:"text-button",onClick:T},{default:d(()=>[p("重新报价")]),_:1}))],64)):(_(),r(s,{key:0,class:"empty-card"},{default:d(()=>[m(s,{class:"empty-title"},{default:d(()=>[p("组合订单为空")]),_:1}),m(t,{class:"text-button",onClick:a[0]||(a[0]=e=>y(R)("/pages/packages/index"))},{default:d(()=>[p("返回套餐列表")]),_:1})]),_:1})),y(L).items.length?(_(),r(s,{key:2,class:"checkout-footer"},{default:d(()=>[m(s,{class:"footer-summary"},{default:d(()=>[m(l,{class:"footer-discount"},{default:d(()=>[p("优惠 ¥"+w(y(S)(P.value))+" · 实付",1)]),_:1}),X.value?(_(),r(l,{key:0,class:"footer-amount"},{default:d(()=>[p("¥"+w(y(S)(O.value)),1)]),_:1})):(_(),r(l,{key:1,class:"footer-amount loading-amount"},{default:d(()=>[p(w(K.value?"报价中":"报价未完成"),1)]),_:1}))]),_:1}),m(t,{class:"confirm-button",loading:K.value||y(N).busy,disabled:!Q.value,onClick:ee},{default:d(()=>[p(" 确认订单 ")]),_:1},8,["loading","disabled"])]),_:1})):j("",!0)]),_:1})}}}),[["__scopeId","data-v-d4425210"]]);export{z as default};