DevicePageHeader.CPhRQ1T6.js 5.0 KB

1
  1. import{d as a,c as t,f as e,b as s,i as l,w as d,h as n,k as c,z as i,j as u,t as r,v as _,y as f,m as o,n as v,u as m,A as p,F as y,a0 as g,X as h,T as b,r as k}from"./index-C1kRunFF.js";import{t as x}from"./format.D7Ah6vn5.js";import{_ as C}from"./_plugin-vue_export-helper.BCo6x5W8.js";const w=C(a({__name:"DeviceOverview",props:{data:{}},setup(a){const h=a,b=t(()=>h.data.rights.items.find(a=>a.sku_id===h.data.sku_id)),k=t(()=>Math.max(1,...h.data.trend.map(a=>a.liters??0))),C=t(()=>({online:"设备在线",offline:"设备离线",fault:"设备故障",unconnected:"尚未连接"}[h.data.state])),w=["日","一","二","三","四","五","六"];function j(){g({title:"近7日饮水周报",content:h.data.trend.map(a=>`${a.day}:${null==a.liters?"暂无上报":a.liters+" L"}`).join("\n"),showCancel:!1,confirmText:"知道了",confirmColor:"#176afa"})}return(a,t)=>{const g=c,h=l,D=f;return e(),s(h,{class:"device-content"},{default:d(()=>[n(h,{class:"device-card"},{default:d(()=>[n(h,{class:"device-heading"},{default:d(()=>[n(h,{class:"device-info"},{default:d(()=>[n(g,{class:i(["status-tag",a.data.state])},{default:d(()=>[u(r(C.value),1)]),_:1},8,["class"]),n(h,{class:"device-name"},{default:d(()=>[u(r(a.data.name),1)]),_:1}),n(h,{class:"device-serial"},{default:d(()=>[u("SN "+r(a.data.sn)+" · "+r(a.data.last_seen?"最近上报 "+a.data.last_seen:"尚未上报"),1)]),_:1})]),_:1}),n(h,{class:"device-illustration","aria-hidden":"true"})]),_:1}),n(h,{class:"device-stats"},{default:d(()=>[n(h,{class:"stat"},{default:d(()=>[n(g,{class:"stat-value"},{default:d(()=>[u(r(null==a.data.today_liters?"—":a.data.today_liters+"L"),1)]),_:1}),n(g,{class:"stat-label"},{default:d(()=>[u("今日用水")]),_:1})]),_:1}),n(h,{class:"stat"},{default:d(()=>[n(g,{class:"stat-value"},{default:d(()=>[u(r(b.value?b.value.full_qty+"桶":"—"),1)]),_:1}),n(g,{class:"stat-label"},{default:d(()=>[u("现场估算")]),_:1})]),_:1}),n(h,{class:"stat"},{default:d(()=>[n(g,{class:"stat-value"},{default:d(()=>{var a;return[u(r(null==(null==(a=b.value)?void 0:a.days_left)?"—":b.value.days_left+"天"),1)]}),_:1}),n(g,{class:"stat-label"},{default:d(()=>[u("预计可用")]),_:1})]),_:1})]),_:1}),a.data.fault?(e(),s(h,{key:0,class:"fault-message"},{default:d(()=>[u(r(a.data.fault),1)]),_:1})):_("",!0)]),_:1}),n(h,{class:"section-heading"},{default:d(()=>[n(g,{class:"section-title"},{default:d(()=>[u("近7日饮水趋势")]),_:1}),n(D,{class:"report-button",onClick:j},{default:d(()=>[u("周报 ›")]),_:1})]),_:1}),n(h,{class:"trend-card"},{default:d(()=>[n(h,{class:"chart","aria-label":"近7日用水量,单位升"},{default:d(()=>[(e(!0),o(y,null,v(a.data.trend,(t,l)=>(e(),s(h,{key:t.day,class:"chart-column",onClick:a=>m(x)(t.day+":"+(null==t.liters?"暂无上报":t.liters+" L"))},{default:d(()=>[n(h,{class:"bar-space"},{default:d(()=>[n(h,{class:i(["bar",{latest:l===a.data.trend.length-1}]),style:p({height:null==t.liters?"0%":Math.max(0,t.liters)/k.value*100+"%"})},null,8,["class","style"])]),_:2},1024),n(g,{class:"day-label"},{default:d(()=>{return[u(r((a=t.day,w[new Date(a+"T00:00:00").getDay()]||a.slice(5))),1)];var a}),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1}),a.data.trend.every(a=>null==a.liters)?(e(),s(g,{key:0,class:"chart-empty"},{default:d(()=>[u("暂无用水上报数据")]),_:1})):_("",!0)]),_:1}),n(h,{class:"section-heading"},{default:d(()=>[n(g,{class:"section-title"},{default:d(()=>[u("自动补货")]),_:1})]),_:1}),n(h,{class:"replenishment-card"},{default:d(()=>[n(h,{class:"replenishment-copy"},{default:d(()=>[n(g,{class:"replenishment-title"},{default:d(()=>[u(r(a.data.automatic_delivery?"智能补货已开启":"补货提醒"),1)]),_:1}),n(g,{class:"replenishment-description"},{default:d(()=>[u(r(a.data.automatic_delivery?"平台根据供水情况安排服务":"现场满桶少于"+a.data.rights.policy.alert_qty+"桶时提醒补水"),1)]),_:1})]),_:1}),n(g,{class:i(["status-tag",a.data.automatic_delivery?"online":"offline"])},{default:d(()=>[u(r(a.data.automatic_delivery?"运行中":"手动预约"),1)]),_:1},8,["class"])]),_:1}),n(h,{class:"rights-note"},{default:d(()=>{var a;return[u(r(b.value?"套餐权益剩余 "+b.value.remaining+"桶":"暂无当前设备规格的套餐权益")+r("urgent"===(null==(a=b.value)?void 0:a.severity)?",建议及时补充套餐。":b.value?",可在供水权益中查看。":",请先购买适用套餐。"),1)]}),_:1})]),_:1})}}}),[["__scopeId","data-v-02cb8d65"]]),j=C(a({__name:"DevicePageHeader",emits:["manage"],setup(a){function t(){h().length>1?b():k({url:"/pages/home/index"})}return(a,i)=>{const r=l,_=f,o=c;return e(),s(r,{class:"device-navigation"},{default:d(()=>[n(r,{class:"status-space"}),n(r,{class:"navigation-row"},{default:d(()=>[n(_,{class:"back","aria-label":"返回",onClick:t},{default:d(()=>[u("‹")]),_:1}),n(o,{class:"navigation-title"},{default:d(()=>[u("智能设备")]),_:1}),n(_,{class:"manage",onClick:i[0]||(i[0]=t=>a.$emit("manage"))},{default:d(()=>[u("设备管理")]),_:1})]),_:1})]),_:1})}}}),[["__scopeId","data-v-5b297510"]]);export{j as D,w as a};