pages-packages-cart.BpryA1_2.js 6.2 KB

1
  1. import{d as e,C as a,Q as s,c as l,o as t,s as c,V as u,g as n,e as o,B as i,b as r,w as d,i as f,W as v,f as _,h as m,j as p,k,u as y,y as h,m as g,F as b,n as C,t as w,G as x,H as q,v as j,X as B,T as E}from"./index-B_Ot80lt.js";import{c as A,b as D,e as F,f as G,i as H,d as I}from"./cart.BhkagpzB.js";import{t as L,g as Q,m as S}from"./format.Xn8FxGM8.js";import{u as T,_ as V}from"./CommandStatus.vue_vue_type_script_setup_true_lang.B3_MGHvH.js";import{_ as W}from"./_plugin-vue_export-helper.BCo6x5W8.js";const X=W(e({__name:"cart",setup(e){const W=a(null),X=a(null),z=a(!1),J=a(!1);let K=0;s(()=>c.epoch,()=>{K++,W.value=null,X.value=null,J.value=!1},{flush:"sync"});const M=T(()=>o("enterprise")+"/checkouts",async e=>{G(),v({url:"/pages/orders/checkout?id="+e.id})}),N=l(()=>{var e;return(null==(e=W.value)?void 0:e.amount_cents)??0}),O=l(()=>{var e;return(null==(e=W.value)?void 0:e.discount_cents)??0}),P=l(()=>{var e;return Boolean(W.value&&c.token&&u()&&(null==(e=X.value)?void 0:e.address)&&z.value&&!J.value&&!M.busy)});async function R(){const e=++K,a=c.epoch;if(W.value=null,J.value=!1,A.items.length&&c.token&&u()){J.value=!0;try{const s=await i(o("enterprise")+"/checkout/quote",{items:D()});e===K&&a===c.epoch&&(F(s),W.value=s)}catch(s){e===K&&a===c.epoch&&L(s instanceof Error?s.message:"报价失败")}finally{e===K&&(J.value=!1)}}}function U(e,a){a>0?H(e):I(e),R()}function Y(){B().length>1?E():Q("/pages/packages/index")}function Z(){var e;(null==(e=X.value)?void 0:e.address)?L("付款后请在权益页面预约配送"):Q("/pages/addresses/index")}function $(){L("在线开票暂未开放,请联系平台咨询")}function ee(){P.value&&W.value&&M.execute({items:D(),expected_amount_cents:W.value.amount_cents,quote_revision:W.value.quote_revision,agreement_accepted:!0,invoice:null})}return t(async()=>{K++,W.value=null,X.value=null;const e=c.epoch;if(A.items.length&&c.token&&u()){try{const a=await n(o("enterprise")+"/address");if(e!==c.epoch)return;X.value=a}catch{if(e!==c.epoch)return;X.value=null}await R()}}),(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(A).items.length?(_(),g(b,{key:1},[m(s,{class:"selected-card"},{default:d(()=>[(_(!0),g(b,null,C(y(A).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=>U(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=>U(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=X.value)?void 0:e.address)?(_(),r(l,{key:0,class:"service-address"},{default:d(()=>[p(" 配送至:"+w(X.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:z.value,color:"#176afa",onClick:a[1]||(a[1]=e=>z.value=!z.value)},null,8,["checked"]),m(l,null,{default:d(()=>[p("我已确认套餐及配送地址,同意购水协议")]),_:1})]),_:1}),m(V,{command:y(M)},null,8,["command"]),W.value||J.value?j("",!0):(_(),r(t,{key:0,class:"text-button",onClick:R},{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(Q)("/pages/packages/index"))},{default:d(()=>[p("返回套餐列表")]),_:1})]),_:1})),y(A).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)(O.value))+" · 实付",1)]),_:1}),W.value?(_(),r(l,{key:0,class:"footer-amount"},{default:d(()=>[p("¥"+w(y(S)(N.value)),1)]),_:1})):(_(),r(l,{key:1,class:"footer-amount loading-amount"},{default:d(()=>[p(w(J.value?"报价中":"报价未完成"),1)]),_:1}))]),_:1}),m(t,{class:"confirm-button",loading:J.value||y(M).busy,disabled:!P.value,onClick:ee},{default:d(()=>[p(" 确认订单 ")]),_:1},8,["loading","disabled"])]),_:1})):j("",!0)]),_:1})}}}),[["__scopeId","data-v-d4425210"]]);export{X as default};