import{d as a,C as e,o as s,s as l,a as t,b as u,w as r,i,g as d,e as n,f as o,h as m,u as _,n as c,F as f,j as p,t as y,k as v,A as g,p as h,z as k,W as b,y as x,m as w}from"./index-DWY81BT5.js";import{u as j}from"./useResource.BTzzihpp.js";import{u as C,_ as M}from"./CommandStatus.vue_vue_type_script_setup_true_lang.CDRUdJOQ.js";import{t as z,g as I,v as B,c as R}from"./format.DVgND03A.js";import{I as V}from"./IdentityGuard.DadeehP1.js";import{P as q}from"./PageState.u2zidmrU.js";import{B as A}from"./BottomNav.BlgJJC4F.js";import{Q as F}from"./QuantityInput.5GT0BGBc.js";import{_ as P}from"./_plugin-vue_export-helper.BCo6x5W8.js";const Q=P(a({__name:"index",setup(a){const{data:P,loading:Q,error:S,load:W}=j(()=>d(n("enterprise")+"/rights")),E=e(null),G=e(1),L=C(()=>n("enterprise")+"/deliveries",async()=>{E.value=null,z("配送预约已提交"),await W()});return s(()=>{var a;(null==(a=l.active)?void 0:a.role.startsWith("enterprise_"))&&W()}),t(W),(a,e)=>{const s=i,l=v,t=x;return o(),u(s,{class:"page"},{default:r(()=>[m(V,{kind:"enterprise"},{default:r(()=>[m(q,{loading:_(Q),error:_(S),onRetry:_(W)},null,8,["loading","error","onRetry"]),_(P)?(o(),c(f,{key:0},[m(s,{class:"hero"},{default:r(()=>[m(s,{class:"hero-subtitle"},{default:r(()=>[p("企业供水可用权益")]),_:1}),m(s,{class:"number"},{default:r(()=>[p(y(_(P).summary.available)+" ",1),m(l,{class:"muted"},{default:r(()=>[p("桶")]),_:1})]),_:1}),m(s,{class:"progress"},{default:r(()=>[m(s,{class:"progress-fill",style:g({width:Math.min(100,_(P).summary.available/Math.max(1,_(P).summary.purchased)*100)+"%"})},null,8,["style"])]),_:1}),m(s,{class:"row hero-subtitle"},{default:r(()=>[m(l,null,{default:r(()=>[p("剩余 "+y(_(P).summary.remaining)+" 桶",1)]),_:1}),m(l,null,{default:r(()=>[p("配送冻结 "+y(_(P).summary.frozen)+" 桶",1)]),_:1})]),_:1})]),_:1}),m(s,{class:"section"},{default:r(()=>[m(s,{class:"title"},{default:r(()=>[p("供水账户")]),_:1}),m(l,{class:"muted",onClick:e[0]||(e[0]=a=>_(I)("/pages/rights/ledger"))},{default:r(()=>[p("权益明细 ›")]),_:1})]),_:1}),(o(!0),c(f,null,h(_(P).items,a=>(o(),u(s,{key:a.id,class:"card"},{default:r(()=>[m(s,{class:"row"},{default:r(()=>[m(l,{class:k(["tag","healthy"===a.severity?"green":"orange"])},{default:r(()=>[p(y("healthy"===a.severity?"用水正常":"建议补水"),1)]),_:2},1032,["class"]),m(l,{class:"muted"},{default:r(()=>[p(y(a.liters)+"L",1)]),_:2},1024)]),_:2},1024),m(s,{class:"title",style:{margin:"20rpx 0"}},{default:r(()=>[p(y(a.sku_name),1)]),_:2},1024),m(s,{class:"row"},{default:r(()=>[m(s,null,{default:r(()=>[m(l,{class:"amount"},{default:r(()=>[p(y(a.available),1)]),_:2},1024),m(l,{class:"muted"},{default:r(()=>[p("桶可预约")]),_:1})]),_:2},1024),m(l,{class:"muted"},{default:r(()=>[p("现场满桶 "+y(a.full_qty),1)]),_:2},1024)]),_:2},1024),m(s,{class:"progress"},{default:r(()=>[m(s,{class:"progress-fill",style:g({width:Math.min(100,a.available/Math.max(1,a.remaining)*100)+"%"})},null,8,["style"])]),_:2},1024),m(s,{class:"row muted"},{default:r(()=>[m(l,null,{default:r(()=>[p("冻结 "+y(a.frozen)+" 桶",1)]),_:2},1024),m(l,null,{default:r(()=>[p("预计用水 "+y(_(B)(a.days_left))+" 天",1)]),_:2},1024)]),_:2},1024),_(b)()?(o(),c(f,{key:0},[E.value===a.sku_id?(o(),u(s,{key:0,class:"booking"},{default:r(()=>[m(s,{class:"row"},{default:r(()=>[m(l,null,{default:r(()=>[p("预约桶数")]),_:1}),m(F,{modelValue:G.value,"onUpdate:modelValue":e[1]||(e[1]=a=>G.value=a),max:Math.min(1e4,a.available)},null,8,["modelValue","max"])]),_:2},1024),m(t,{class:"primary",disabled:_(L).busy||a.available<1,onClick:e=>async function(a){await R("预约配送",`确认预约 ${G.value} 桶?将冻结对应供水权益,等待平台安排配送。`)&&L.execute({sku_id:a,quantity:G.value})}(a.sku_id)},{default:r(()=>[p(" 确认预约配送 ")]),_:2},1032,["disabled","onClick"])]),_:2},1024)):(o(),u(t,{key:1,class:"secondary",style:{"margin-top":"24rpx"},disabled:a.available<1,onClick:e=>{E.value=a.sku_id,G.value=1}},{default:r(()=>[p(" 预约配送 ")]),_:2},1032,["disabled","onClick"]))],64)):w("",!0)]),_:2},1024))),128)),m(q,{empty:!_(P).items.length,"empty-text":"还没有供水权益,购买后由平台登记"},null,8,["empty"]),m(M,{command:_(L)},null,8,["command"]),m(s,{class:"notice"},{default:r(()=>[p(" 权益按企业和水品汇总。可预约桶数已扣除配送冻结数量,现场满桶数不等于可预约权益。 ")]),_:1})],64)):w("",!0)]),_:1}),m(A,{active:"/pages/rights/index"})]),_:1})}}}),[["__scopeId","data-v-8fd77068"]]);export{Q as default};