2 lines
3.9 KiB
JavaScript
2 lines
3.9 KiB
JavaScript
var k=(w,x,i)=>new Promise((h,u)=>{var v=n=>{try{p(i.next(n))}catch(m){u(m)}},a=n=>{try{p(i.throw(n))}catch(m){u(m)}},p=n=>n.done?h(n.value):Promise.resolve(n.value).then(v,a);p((i=i.apply(w,x)).next())});import{c1 as b,an as r,bX as D,ay as M,c0 as R,ac as V}from"./bootstrap-Cih4O7h2.js";import{b as L}from"./index-ba8CrzoP.js";import{m as E,b9 as C,aa as g,v as O,aW as S,ad as B,b2 as T,j as l,ae as s,bJ as d,u as e,bp as c,aR as U,aT as f,ac as j,cT as A}from"../jse/index-index-B6W-azrl.js";const F={class:"people-counter-wrapper"},J={class:"stat-item in"},W={class:"stat-icon"},X={class:"stat-content"},$={class:"stat-value"},q={class:"stat-item out"},G={class:"stat-icon"},H={class:"stat-content"},K={class:"stat-value"},Q={class:"stat-item net"},Y={class:"stat-icon"},Z={class:"stat-content"},ss={class:"stat-item signal"},ts={class:"stat-content"},es={class:"signal-bar"},as={class:"status-row"},os={class:"battery-info"},ls={class:"update-info"},ns={key:0,class:"update-time"},is={class:"flow-bar-section"},cs={class:"flow-bar"},rs={class:"flow-divider"},ds=5e3,us=E({__name:"device-realtime-people-counter",props:{deviceId:{}},setup(w){const x=w,i=C(!1),h=C({}),u=C(null);let v=null;function a(o,t=0){var P;const _=h.value[o];return(P=_==null?void 0:_.value)!=null?P:t}const p=g(()=>{const o=Number(a("battery_tx",0));return o<=20?"#ff4d4f":o<=50?"#faad14":"#52c41a"}),n=g(()=>{const o=Number(a("rssi",-100)),t=Math.abs(o);return t<=50?"#52c41a":t<=70?"#1890ff":t<=85?"#faad14":"#ff4d4f"}),m=g(()=>{const o=Number(a("rssi",-100));return Math.max(0,Math.min(100,100+o))}),y=g(()=>{const o=Number(a("people_in",0)),t=Number(a("people_out",0));return o-t});function N(){return k(this,null,function*(){i.value=!0;try{const o=yield L({deviceId:x.deviceId}),t={};o.forEach(_=>{t[_.identifier]=_}),h.value=t,u.value=new Date}catch(o){console.error("获取设备属性失败:",o)}finally{i.value=!1}})}function z(){I(),v=setInterval(()=>{N()},ds)}function I(){v&&(clearInterval(v),v=null)}return O(()=>{N(),z()}),S(()=>{I()}),(o,t)=>(T(),B("div",F,[l(e(R),{gutter:12},{default:d(()=>[l(e(b),{xs:12,sm:6,md:5},{default:d(()=>[s("div",J,[s("div",W,[l(e(r),{icon:"mdi:arrow-right-bold"})]),s("div",X,[t[0]||(t[0]=s("div",{class:"stat-label"},"客流进",-1)),s("div",$,c(a("people_in",0)),1)])])]),_:1}),l(e(b),{xs:12,sm:6,md:5},{default:d(()=>[s("div",q,[s("div",G,[l(e(r),{icon:"mdi:arrow-left-bold"})]),s("div",H,[t[1]||(t[1]=s("div",{class:"stat-label"},"客流出",-1)),s("div",K,c(a("people_out",0)),1)])])]),_:1}),l(e(b),{xs:12,sm:6,md:5},{default:d(()=>[s("div",Q,[s("div",Y,[l(e(r),{icon:"mdi:account-group"})]),s("div",Z,[t[2]||(t[2]=s("div",{class:"stat-label"},"在场人数",-1)),s("div",{class:U(["stat-value",{positive:y.value>0,negative:y.value<0}])},c(y.value>=0?y.value:0),3)])])]),_:1}),l(e(b),{xs:12,sm:6,md:4},{default:d(()=>[s("div",ss,[s("div",{class:"stat-icon",style:f({background:`${n.value}15`,color:n.value})},[l(e(r),{icon:"mdi:signal"})],4),s("div",ts,[t[3]||(t[3]=s("div",{class:"stat-label"},"蓝牙信号",-1)),s("div",es,[l(e(D),{percent:m.value,"stroke-color":n.value,"show-info":!1,size:"small"},null,8,["percent","stroke-color"]),s("span",{class:"signal-val",style:f({color:n.value})},c(a("rssi","-"))+"dBm",5)])])])]),_:1}),l(e(b),{xs:24,sm:24,md:5},{default:d(()=>[s("div",as,[s("div",os,[l(e(r),{icon:"mdi:battery",style:f({color:p.value})},null,8,["style"]),s("span",{style:f({color:p.value})},c(a("battery_tx",0))+"%",5)]),s("div",ls,[u.value?(T(),B("span",ns,c(e(A)(u.value)),1)):j("",!0),l(e(M),{size:"small",onClick:N,loading:i.value},{icon:d(()=>[l(e(r),{icon:"mdi:refresh"})]),_:1},8,["loading"])])])]),_:1})]),_:1}),s("div",is,[s("div",cs,[s("div",{class:"flow-in",style:f({flex:Number(a("people_in",0))||1})},[s("span",null,c(a("people_in",0)),1)],4),s("div",rs,[l(e(r),{icon:"mdi:swap-horizontal"})]),s("div",{class:"flow-out",style:f({flex:Number(a("people_out",0))||1})},[s("span",null,c(a("people_out",0)),1)],4)])])]))}}),ms=V(us,[["__scopeId","data-v-2baa73f9"]]);export{ms as default};
|