pages-packages-cart.PwlHXhx7.js 6.3 KB

1
  1. import{d as e,C as a,V as l,o as t,s,W as u,g as n,e as c,b as d,w as o,i,L as r,f as m,u as _,h as f,j as p,y as v,n as k,F as g,p as y,t as h,k as b,X as x,I as w,m as V,G as C,H as j,B as U}from"./index-C_Tg8IkC.js";import{b as I,c as q,d as B}from"./cart.CQJ0rncN.js";import{u as G,_ as L}from"./CommandStatus.vue_vue_type_script_setup_true_lang.BX_z9Q4Q.js";import{g as Q,m as S,t as z}from"./_plugin-vue_export-helper.xoKxFmkD.js";import{I as D}from"./IdentityGuard.Yr0XHnJV.js";import{Q as E}from"./QuantityInput.C76Z3lYt.js";const F=e({__name:"cart",setup(e){const F=a(null),H=a(null),J=a(!1),N=a(!1),O=a(!1),R=a({title:"",tax_number:"",email:""});function W(e){O.value=e.detail.value}let X=0;async function A(){if(!u())return void z("仅企业管理员可以报价和下单");J.value=!0;const e=++X;try{const a=await U(c("enterprise")+"/checkout/quote",{items:B()});e===X&&(F.value=a)}catch(a){z(a instanceof Error?a.message:"报价失败")}finally{J.value=!1}}l(()=>JSON.stringify(B()),()=>{F.value=null,X++}),t(async()=>{if(F.value=null,X++,s.token&&u())try{H.value=await n(c("enterprise")+"/address")}catch{H.value=null}});const K=G(()=>c("enterprise")+"/checkouts",e=>{I(),r({url:"/pages/orders/checkout?id="+e.id})});function M(){F.value&&N.value?!O.value||R.value.title&&R.value.tax_number&&R.value.email?K.execute({items:B(),expected_amount_cents:F.value.amount_cents,agreement_accepted:!0,invoice:O.value?{...R.value}:null}):z("请填写完整发票资料"):z("请先获取报价并同意购水协议")}return(e,a)=>{const l=i,t=v,n=b,c=x,r=w,U=j,I=C;return m(),d(l,{class:"page"},{default:o(()=>[_(q).items.length?(m(),k(g,{key:1},[(m(!0),k(g,null,y(_(q).items,(e,a)=>(m(),d(l,{key:e.product.id,class:"card"},{default:o(()=>[f(l,{class:"row"},{default:o(()=>[f(l,{class:"title"},{default:o(()=>[p(h(e.product.name),1)]),_:2},1024),f(n,{class:"muted",onClick:e=>_(q).items.splice(a,1)},{default:o(()=>[p("移除")]),_:2},1032,["onClick"])]),_:2},1024),f(l,{class:"muted"},{default:o(()=>[p(h(e.product.liters)+"L · "+h(e.product.buckets)+"桶 / 份",1)]),_:2},1024),f(l,{class:"row",style:{"margin-top":"24rpx"}},{default:o(()=>[f(n,{class:"amount"},{default:o(()=>[p("¥"+h(_(S)(e.product.price_cents)),1)]),_:2},1024),f(E,{modelValue:e.quantity,"onUpdate:modelValue":a=>e.quantity=a},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024))),128)),f(D,{kind:"enterprise"},{default:o(()=>{var e,i;return[_(u)()?(m(),k(g,{key:1},[f(l,{class:"section"},{default:o(()=>[f(l,{class:"title"},{default:o(()=>[p("订单服务")]),_:1})]),_:1}),f(l,{class:"card"},{default:o(()=>[f(l,{class:"link-row",onClick:a[1]||(a[1]=e=>_(Q)("/pages/addresses/index"))},{default:o(()=>[f(l,{class:"icon-tile"},{default:o(()=>[p("址")]),_:1}),f(l,{class:"grow"},{default:o(()=>[f(l,{class:"strong"},{default:o(()=>[p("首批配送地址")]),_:1}),f(l,{class:"muted"},{default:o(()=>{var e;return[p(h((null==(e=H.value)?void 0:e.address)||"请完善企业供水地址"),1)]}),_:1})]),_:1}),f(n,null,{default:o(()=>[p("›")]),_:1})]),_:1}),f(l,{class:"link-row"},{default:o(()=>[f(l,{class:"icon-tile green"},{default:o(()=>[p("票")]),_:1}),f(l,{class:"grow"},{default:o(()=>[p("申请企业发票")]),_:1}),f(c,{checked:O.value,color:"#176afa",onChange:W},null,8,["checked"])]),_:1}),O.value?(m(),k(g,{key:0},[f(r,{modelValue:R.value.title,"onUpdate:modelValue":a[2]||(a[2]=e=>R.value.title=e),class:"input field",placeholder:"发票抬头",maxlength:"120"},null,8,["modelValue"]),f(r,{modelValue:R.value.tax_number,"onUpdate:modelValue":a[3]||(a[3]=e=>R.value.tax_number=e),class:"input field",placeholder:"纳税人识别号",maxlength:"30"},null,8,["modelValue"]),f(r,{modelValue:R.value.email,"onUpdate:modelValue":a[4]||(a[4]=e=>R.value.email=e),class:"input field",placeholder:"收票邮箱",maxlength:"120"},null,8,["modelValue"]),f(l,{class:"muted"},{default:o(()=>[p("当前仅保存申请资料,实际开票由平台处理。")]),_:1})],64)):V("",!0)]),_:1}),F.value?(m(),d(l,{key:0,class:"card stack"},{default:o(()=>[f(l,{class:"row"},{default:o(()=>[f(n,{class:"label"},{default:o(()=>[p("套餐合计")]),_:1}),f(n,null,{default:o(()=>[p("¥"+h(_(S)(F.value.subtotal_cents)),1)]),_:1})]),_:1}),f(l,{class:"row"},{default:o(()=>[f(n,{class:"label"},{default:o(()=>[p("优惠金额")]),_:1}),f(n,null,{default:o(()=>[p("−¥"+h(_(S)(F.value.discount_cents)),1)]),_:1})]),_:1}),f(l,{class:"divider"}),f(l,{class:"row"},{default:o(()=>[f(n,null,{default:o(()=>[p("实时报价")]),_:1}),f(n,{class:"amount"},{default:o(()=>[p("¥"+h(_(S)(F.value.amount_cents)),1)]),_:1})]),_:1})]),_:1})):V("",!0),(null==(e=_(s).configuration)?void 0:e.capabilities.payment)?V("",!0):(m(),d(l,{key:1,class:"notice warning"},{default:o(()=>[p(" 在线支付暂未开放。提交后仅保存待支付订单,不会扣款或增加供水权益。 ")]),_:1})),f(I,{class:"check-row"},{default:o(()=>[f(U,{checked:N.value,color:"#176afa",onClick:a[5]||(a[5]=e=>N.value=!N.value)},null,8,["checked"]),f(n,null,{default:o(()=>[p("我已确认套餐及地址,同意购水协议")]),_:1})]),_:1}),(null==(i=_(s).configuration)?void 0:i.purchase_agreement_url)?(m(),d(t,{key:2,class:"text-button",onClick:a[6]||(a[6]=e=>_(Q)("/pages/common/web?url="+encodeURIComponent(_(s).configuration.purchase_agreement_url)))},{default:o(()=>[p(" 查看购水协议 ")]),_:1})):V("",!0),f(L,{command:_(K)},null,8,["command"]),f(l,{class:"fixed-action"},{default:o(()=>[f(l,{class:"row"},{default:o(()=>[f(l,null,{default:o(()=>[f(l,{class:"muted"},{default:o(()=>[p("应付合计")]),_:1}),f(l,{class:"amount"},{default:o(()=>[p(h(F.value?"¥"+_(S)(F.value.amount_cents):"待报价"),1)]),_:1})]),_:1}),F.value?(m(),d(t,{key:1,class:"primary",loading:_(K).busy,disabled:_(K).busy||!N.value,onClick:M},{default:o(()=>[p(" 确认提交订单 ")]),_:1},8,["loading","disabled"])):(m(),d(t,{key:0,class:"primary",loading:J.value,disabled:J.value,onClick:A},{default:o(()=>[p(" 获取实时报价 ")]),_:1},8,["loading","disabled"]))]),_:1})]),_:1})],64)):(m(),d(l,{key:0,class:"notice warning"},{default:o(()=>[p(" 当前为企业成员,请联系企业管理员下单。 ")]),_:1}))]}),_:1})],64)):(m(),d(l,{key:0,class:"card empty-space"},{default:o(()=>[f(l,{class:"title"},{default:o(()=>[p("还没有选择套餐")]),_:1}),f(t,{class:"text-button",onClick:a[0]||(a[0]=e=>_(Q)("/pages/packages/index"))},{default:o(()=>[p("去挑选企业套餐 ›")]),_:1})]),_:1}))]),_:1})}}});export{F as default};