RoomDetail-BXkalj78.js 2.8 KB

1
  1. import{$ as e,G as t,H as n,K as r,Q as i,U as a,V as o,W as s,X as c,ct as l,f as u,g as d,i as f,it as p,k as m,ot as h,p as g,q as _,r as v,st as y,tt as b,ut as x,z as S}from"./vue-router-DiegbtGD.js";import{n as C,t as w}from"./AppLayout-r9BI5ihT.js";var T={key:0},E={key:1},D={key:2},O={style:{"font-size":`12px`,color:`#999`}},k=C(_({__name:`RoomDetail`,setup(_){let C=f(),k=v(),A=h(null),j=h([]),M=h(!0),N=async()=>{M.value=!0;try{let e=k.params.id,t=await d.getRoomById(e);t.success&&(A.value=t.data);let n=await g.getRoomDevicesWithDetails(e);n.success&&(j.value=n.data||[])}catch{m.error(`加载房间数据失败`)}finally{M.value=!1}},P=async(e,t)=>{try{await u.controlRelay(e,t),m.success(`已发送${t===`ON`?`开启`:`关闭`}指令`)}catch(e){m.error(`控制失败: `+(e.message||`未知错误`))}};return c(()=>N()),(c,u)=>{let d=b(`a-page-header`),f=b(`a-tag`),m=b(`a-space`),h=b(`a-button`),g=b(`a-button-group`),_=b(`a-card`),v=b(`a-col`),k=b(`a-empty`),N=b(`a-row`),F=b(`a-spin`);return i(),n(w,null,{default:p(()=>[o(`div`,null,[r(d,{title:`房间: `+(A.value?.name||``),onBack:u[0]||=e=>y(C).push(`/rooms`)},null,8,[`title`]),r(F,{spinning:M.value},{default:p(()=>[r(N,{gutter:[16,16]},{default:p(()=>[(i(!0),s(S,null,e(j.value,e=>(i(),n(v,{key:e.clientid,xs:24,sm:12,md:8,lg:6},{default:p(()=>[r(_,{size:`small`,class:l({"device-online":e.status===`online`,"device-offline":e.status!==`online`})},{title:p(()=>[r(m,null,{default:p(()=>[r(f,{color:e.status===`online`?`green`:`red`,dot:``},{default:p(()=>[t(x(e.status===`online`?`在线`:`离线`),1)]),_:2},1032,[`color`]),o(`span`,null,x(e.device_name||e.clientid),1)]),_:2},1024)]),default:p(()=>[r(m,{direction:`vertical`,style:{width:`100%`},size:8},{default:p(()=>[e.temperature!==void 0&&e.temperature!==null?(i(),s(`div`,T,[u[1]||=t(` 温度: `,-1),o(`strong`,null,x(e.temperature)+`°C`,1)])):a(``,!0),e.relay_status===void 0?a(``,!0):(i(),s(`div`,E,[u[4]||=t(` 继电器: `,-1),r(f,{color:e.relay_status?`green`:`red`},{default:p(()=>[t(x(e.relay_status?`开`:`关`),1)]),_:2},1032,[`color`]),r(g,{style:{"margin-left":`8px`}},{default:p(()=>[r(h,{size:`small`,onClick:t=>P(e.clientid,`ON`),disabled:e.status!==`online`},{default:p(()=>[...u[2]||=[t(`开`,-1)]]),_:1},8,[`onClick`,`disabled`]),r(h,{size:`small`,onClick:t=>P(e.clientid,`OFF`),disabled:e.status!==`online`},{default:p(()=>[...u[3]||=[t(`关`,-1)]]),_:1},8,[`onClick`,`disabled`])]),_:2},1024)])),e.rssi?(i(),s(`div`,D,`WiFi: `+x(e.rssi)+` dBm`,1)):a(``,!0),o(`div`,O,x(e.clientid),1)]),_:2},1024)]),_:2},1032,[`class`])]),_:2},1024))),128)),j.value.length===0&&!M.value?(i(),n(v,{key:0,span:24},{default:p(()=>[r(k,{description:`此房间暂无设备`})]),_:1})):a(``,!0)]),_:1})]),_:1},8,[`spinning`])])]),_:1})}}}),[[`__scopeId`,`data-v-b1c69f66`]]);export{k as default};