| 1 |
- import{d as e,B as a,P as l,o as t,s,Q as u,g as n,e as c,b as d,w as o,i,R 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,T as x,N as w,m as V,D as C,E as j,U}from"./index-B5cm9kgK.js";import{b as I,c as q,d as Q}from"./cart.CwEWoDS5.js";import{u as B,_ as D}from"./CommandStatus.vue_vue_type_script_setup_true_lang.3_gBObIy.js";import{g as E,m as N,t as R}from"./_plugin-vue_export-helper.8dPZPLt_.js";import{I as S}from"./IdentityGuard.ytRI-R6M.js";import{Q as z}from"./QuantityInput.6zJtVK_n.js";const F=e({__name:"cart",setup(e){const F=a(null),G=a(null),J=a(!1),L=a(!1),O=a(!1),P=a({title:"",tax_number:"",email:""});function T(e){O.value=e.detail.value}let A=0;async function H(){if(!u())return void R("仅企业管理员可以报价和下单");J.value=!0;const e=++A;try{const a=await U(c("enterprise")+"/checkout/quote",{items:Q()});e===A&&(F.value=a)}catch(a){R(a instanceof Error?a.message:"报价失败")}finally{J.value=!1}}l(()=>JSON.stringify(Q()),()=>{F.value=null,A++}),t(async()=>{if(F.value=null,A++,s.token&&u())try{G.value=await n(c("enterprise")+"/address")}catch{G.value=null}});const K=B(()=>c("enterprise")+"/checkouts",e=>{I(),r({url:"/pages/orders/checkout?id="+e.id})});function M(){F.value&&L.value?!O.value||P.value.title&&P.value.tax_number&&P.value.email?K.execute({items:Q(),expected_amount_cents:F.value.amount_cents,agreement_accepted:!0,invoice:O.value?{...P.value}:null}):R("请填写完整发票资料"):R("请先获取报价并同意购水协议")}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(_(N)(e.product.price_cents)),1)]),_:2},1024),f(z,{modelValue:e.quantity,"onUpdate:modelValue":a=>e.quantity=a},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024))),128)),f(S,{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=>_(E)("/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=G.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:T},null,8,["checked"])]),_:1}),O.value?(m(),k(g,{key:0},[f(r,{modelValue:P.value.title,"onUpdate:modelValue":a[2]||(a[2]=e=>P.value.title=e),class:"input field",placeholder:"发票抬头",maxlength:"120"},null,8,["modelValue"]),f(r,{modelValue:P.value.tax_number,"onUpdate:modelValue":a[3]||(a[3]=e=>P.value.tax_number=e),class:"input field",placeholder:"纳税人识别号",maxlength:"30"},null,8,["modelValue"]),f(r,{modelValue:P.value.email,"onUpdate:modelValue":a[4]||(a[4]=e=>P.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(_(N)(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(_(N)(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(_(N)(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:L.value,color:"#176afa",onClick:a[5]||(a[5]=e=>L.value=!L.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=>_(E)("/pages/common/web?url="+encodeURIComponent(_(s).configuration.purchase_agreement_url)))},{default:o(()=>[p(" 查看购水协议 ")]),_:1})):V("",!0),f(D,{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?"¥"+_(N)(F.value.amount_cents):"待报价"),1)]),_:1})]),_:1}),F.value?(m(),d(t,{key:1,class:"primary",loading:_(K).busy,disabled:_(K).busy||!L.value,onClick:M},{default:o(()=>[p(" 确认提交订单 ")]),_:1},8,["loading","disabled"])):(m(),d(t,{key:0,class:"primary",loading:J.value,disabled:J.value,onClick:H},{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=>_(E)("/pages/packages/index"))},{default:o(()=>[p("去挑选企业套餐 ›")]),_:1})]),_:1}))]),_:1})}}});export{F as default};
|