2 lines
9.6 KiB
JavaScript
2 lines
9.6 KiB
JavaScript
var _=(c,R,o)=>new Promise((g,C)=>{var I=v=>{try{m(o.next(v))}catch(T){C(T)}},S=v=>{try{m(o.throw(v))}catch(T){C(T)}},m=v=>v.done?g(v.value):Promise.resolve(v.value).then(I,S);m((o=o.apply(c,R)).next())});import{aq as E,ae as he,cp as be,au as ae,bQ as te,D as Te,ay as M,an as ke,S as le,bZ as se,b_ as B,bu as ne,az as oe,ax as Se,ac as De}from"./bootstrap-peLAqOBq.js";import{m as xe,b9 as d,cf as z,aa as $,v as Re,aU as Ce,aX as Ne,x as Ie,ab as h,b2 as n,bJ as i,ae as t,ac as b,j as u,u as l,cT as V,ad as p,I as q,bb as ie,bp as r,ai as x,aR as H,aT as ue}from"../jse/index-index-fr7m5rpH.js";import{g as Le}from"./index-CaErQKiJ.js";import{f as Ee,L as re,a as Ye,g as de}from"./data-H6H7W_MD.js";import je from"./area-stay-chart-CthGp4J5.js";import Oe from"./badge-status-card-ddRO7NQ9.js";import Me from"./stats-cards-CGFOdSMO.js";import Be from"./trajectory-timeline-BnTz1VFx.js";import ze from"./trend-chart-QblwskeE.js";import{_ as Ae}from"./page.vue_vue_type_script_setup_true_lang-Cw-j3v4f.js";import"./use-echarts-CUydHgm6.js";import"./relativeTime-BIEFcLD2.js";import"./zh-cn-CbWfl8dm.js";import"./index-tZEE0MaP.js";function we(c){return E.get("/ops/trajectory/badge-list",{params:c?{keyword:c}:void 0})}function Pe(c){return E.get("/ops/trajectory/page",{params:c})}function $e(c){return E.get("/ops/trajectory/timeline",{params:c})}function Ve(c){return E.get("/ops/trajectory/current-location",{params:{deviceId:c}})}function qe(c,R){return E.get("/ops/trajectory/summary",{params:{deviceId:c,date:R}})}const He={class:"trajectory-page"},Ue={class:"filter-bar"},Fe={class:"filter-item"},Ke={class:"badge-option"},Qe={class:"badge-option-name"},Xe={key:0,class:"badge-option-person"},Ge={class:"filter-item"},Je={class:"filter-actions"},We={class:"table-total"},Ze={class:"table-wrapper"},ea={class:"trajectory-table"},aa={key:0,style:{width:"140px"}},ta={key:0},la=["colspan"],sa={class:"cell-center"},na={key:0},oa={class:"cell-center"},ia={class:"cell-center"},ua={key:1},ra={class:"cell-center"},da={key:1},ca={class:"cell-center"},va={key:1},pa={key:0,class:"table-pagination"},ma={class:"pagination-info"},fa={class:"pagination-buttons"},ya={class:"page-num"},ga=3e4,_a=xe({name:"OpsTrajectory",__name:"index",setup(c){const R=he(),o=d(void 0),g=d(z()),C=d([]),I=d(!1),S=d(!1),m=d(null),v=d(null),T=d(null),N=d([]),A=d(!1),Y=d([]),D=d(0),f=d(1),k=d(20),j=d(),U=$(()=>g.value.format("YYYY-MM-DD")),y=$(()=>o.value!==void 0),ce=$(()=>{var s;return m.value&&((s=m.value.status)==null?void 0:s.toUpperCase())==="OFFLINE"});function F(s){return _(this,null,function*(){I.value=!0;try{C.value=yield we(s||void 0)}catch(e){C.value=[]}finally{I.value=!1}})}function ve(){return _(this,null,function*(){S.value=!0;try{const s=[X()];y.value?s.push(K(),Q(),pe(),me()):(m.value=null,v.value=null,T.value=null,N.value=[]),yield Promise.all(s)}finally{S.value=!1}})}function K(){return _(this,null,function*(){if(o.value)try{m.value=yield Le(o.value)}catch(s){m.value=null}})}function Q(){return _(this,null,function*(){if(o.value)try{v.value=yield Ve(o.value)}catch(s){v.value=null}})}function pe(){return _(this,null,function*(){if(o.value)try{T.value=yield qe(o.value,U.value)}catch(s){T.value=null}})}function me(){return _(this,null,function*(){if(o.value)try{N.value=yield $e({deviceId:o.value,date:U.value})}catch(s){N.value=[]}})}function X(){return _(this,null,function*(){A.value=!0;try{const s=g.value.startOf("day").format("YYYY-MM-DD HH:mm:ss"),e=g.value.endOf("day").format("YYYY-MM-DD HH:mm:ss"),L=yield Pe({deviceId:o.value,enterTime:[s,e],pageNo:f.value,pageSize:k.value});Y.value=L.list,D.value=L.total}catch(s){Y.value=[],D.value=0}finally{A.value=!1}})}function w(){f.value=1,ve(),J()}function fe(){o.value=void 0,g.value=z(),O(),w()}function G(s,e){f.value=s,k.value=e,X()}const P=d();function ye(s){P.value=s.id,setTimeout(()=>{P.value=void 0},3e3)}function J(){O(),o.value&&(j.value=window.setInterval(()=>{K(),Q()},ga))}function O(){j.value&&(clearInterval(j.value),j.value=void 0)}function ge(s){return s&&s>z().endOf("day")}return Re(()=>_(null,null,function*(){yield F("");const s=R.query.deviceId,e=R.query.date;s&&(o.value=Number(s)),e&&typeof e=="string"&&(g.value=z(e)),w()})),Ce(()=>{o.value&&J()}),Ne(()=>{O()}),Ie(()=>{O()}),(s,e)=>(n(),h(l(Ae),{"auto-content-height":""},{default:i(()=>{var L;return[t("div",He,[y.value&&ce.value?(n(),h(l(be),{key:0,banner:"",class:"offline-alert",message:"该设备当前已离线",description:`最后心跳时间: ${(L=m.value)!=null&&L.lastHeartbeatTime?l(V)(m.value.lastHeartbeatTime):"未知"}`,type:"warning","show-icon":""},null,8,["description"])):b("",!0),u(l(ae),{class:"filter-card",size:"small"},{default:i(()=>[t("div",Ue,[t("div",Fe,[e[4]||(e[4]=t("span",{class:"filter-label"},"工牌设备",-1)),u(l(te),{value:o.value,"onUpdate:value":e[0]||(e[0]=a=>o.value=a),"allow-clear":"","filter-option":!1,loading:I.value,"option-filter-prop":"label",placeholder:"请选择或搜索工牌设备","show-search":"",style:{width:"260px"},onSearch:F},{default:i(()=>[(n(!0),p(q,null,ie(C.value,a=>(n(),h(l(te).Option,{key:a.deviceId,label:`${a.nickname||a.deviceKey} ${a.personName||""}`,value:a.deviceId},{default:i(()=>[t("div",Ke,[t("span",Qe,r(a.nickname||a.deviceKey),1),a.personName?(n(),p("span",Xe,r(a.personName),1)):b("",!0)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["value","loading"])]),t("div",Ge,[e[5]||(e[5]=t("span",{class:"filter-label"},"日期",-1)),u(l(Te),{value:g.value,"onUpdate:value":e[1]||(e[1]=a=>g.value=a),"disabled-date":ge,format:"YYYY-MM-DD",placeholder:"选择日期",style:{width:"160px"}},null,8,["value"])]),t("div",Je,[u(l(M),{type:"primary",onClick:w},{default:i(()=>[u(l(ke),{icon:"solar:magnifer-bold"}),e[6]||(e[6]=x(" 查询 ",-1))]),_:1}),u(l(M),{onClick:fe},{default:i(()=>[...e[7]||(e[7]=[x("重置",-1)])]),_:1})])])]),_:1}),u(l(le),{spinning:S.value},{default:i(()=>[u(l(se),{gutter:16,class:"content-area"},{default:i(()=>[y.value?(n(),h(l(B),{key:0,span:6,class:"left-panel"},{default:i(()=>[u(Oe,{data:m.value,loading:S.value},null,8,["data","loading"]),u(Be,{"current-location":v.value,records:N.value,onSelect:ye},null,8,["current-location","records"])]),_:1})):b("",!0),u(l(B),{span:y.value?18:24},{default:i(()=>[y.value?(n(),h(Me,{key:0,"current-location":v.value,loading:S.value,summary:T.value},null,8,["current-location","loading","summary"])):b("",!0),y.value?(n(),h(l(se),{key:1,gutter:16,class:"charts-row"},{default:i(()=>[u(l(B),{span:12},{default:i(()=>[u(je,{records:N.value},null,8,["records"])]),_:1}),u(l(B),{span:12},{default:i(()=>[u(ze,{records:N.value},null,8,["records"])]),_:1})]),_:1})):b("",!0),u(l(ae),{class:H(["table-card",{"table-card--no-top":!y.value}]),size:"small",title:"出入记录明细"},{extra:i(()=>[t("span",We,"共 "+r(D.value)+" 条",1)]),default:i(()=>[u(l(le),{spinning:A.value},{default:i(()=>[t("div",Ze,[t("table",ea,[t("thead",null,[t("tr",null,[e[8]||(e[8]=t("th",{style:{width:"60px"}},"序号",-1)),y.value?b("",!0):(n(),p("th",aa,"设备名称")),e[9]||(e[9]=t("th",{style:{"min-width":"140px"}},"区域名称",-1)),e[10]||(e[10]=t("th",{style:{width:"100px"}},"楼栋",-1)),e[11]||(e[11]=t("th",{style:{width:"70px"}},"楼层",-1)),e[12]||(e[12]=t("th",{style:{width:"160px"}},"进入时间",-1)),e[13]||(e[13]=t("th",{style:{width:"160px"}},"离开时间",-1)),e[14]||(e[14]=t("th",{style:{width:"100px"}},"停留时长",-1)),e[15]||(e[15]=t("th",{style:{width:"100px"}},"离开原因",-1)),e[16]||(e[16]=t("th",{style:{width:"90px"}},"进入信号",-1))])]),t("tbody",null,[Y.value.length===0?(n(),p("tr",ta,[t("td",{colspan:y.value?9:10,class:"table-empty"},[u(l(ne),{description:"暂无记录",image:l(ne).PRESENTED_IMAGE_SIMPLE},null,8,["image"])],8,la)])):b("",!0),(n(!0),p(q,null,ie(Y.value,(a,_e)=>{var W,Z,ee;return n(),p("tr",{key:a.id,class:H({"row-highlight":P.value===a.id})},[t("td",sa,r((f.value-1)*k.value+_e+1),1),y.value?b("",!0):(n(),p("td",na,r(a.nickname||a.deviceName||"-"),1)),t("td",null,r(a.areaName),1),t("td",null,r(a.buildingName||"-"),1),t("td",oa,r(a.floorNo!=null?`${a.floorNo}F`:"-"),1),t("td",null,r(l(V)(a.enterTime)),1),t("td",null,[a.leaveTime?(n(),p(q,{key:0},[x(r(l(V)(a.leaveTime)),1)],64)):(n(),h(l(oe),{key:1,color:"blue",size:"small"},{default:i(()=>[...e[17]||(e[17]=[x(" 停留中 ",-1)])]),_:1}))]),t("td",ia,[a.durationSeconds?(n(),p("span",{key:0,class:H({"duration-warn":((W=a.durationSeconds)!=null?W:0)>3600})},r(l(Ee)(a.durationSeconds)),3)):(n(),p("span",ua,"-"))]),t("td",ra,[a.leaveReason?(n(),h(l(oe),{key:0,color:(Z=l(re)[a.leaveReason])==null?void 0:Z.bg,style:ue({color:(ee=l(re)[a.leaveReason])==null?void 0:ee.text,border:"none"})},{default:i(()=>[x(r(l(Ye)[a.leaveReason]||a.leaveReason),1)]),_:2},1032,["color","style"])):(n(),p("span",da,"-"))]),t("td",ca,[a.enterRssi!=null?(n(),h(l(Se),{key:0,title:`${a.enterRssi} dBm`},{default:i(()=>[t("span",{style:ue({color:l(de)(a.enterRssi).color,fontWeight:500})},r(l(de)(a.enterRssi).label),5)]),_:2},1032,["title"])):(n(),p("span",va,"-"))])],2)}),128))])])]),D.value>0?(n(),p("div",pa,[t("span",ma," 第 "+r((f.value-1)*k.value+1)+"-"+r(Math.min(f.value*k.value,D.value))+" 条 / 共 "+r(D.value)+" 条 ",1),t("div",fa,[u(l(M),{disabled:f.value<=1,size:"small",onClick:e[2]||(e[2]=a=>G(f.value-1,k.value))},{default:i(()=>[...e[18]||(e[18]=[x(" 上一页 ",-1)])]),_:1},8,["disabled"]),t("span",ya,r(f.value),1),u(l(M),{disabled:f.value*k.value>=D.value,size:"small",onClick:e[3]||(e[3]=a=>G(f.value+1,k.value))},{default:i(()=>[...e[19]||(e[19]=[x(" 下一页 ",-1)])]),_:1},8,["disabled"])])])):b("",!0)]),_:1},8,["spinning"])]),_:1},8,["class"])]),_:1},8,["span"])]),_:1})]),_:1},8,["spinning"])])]}),_:1}))}}),Oa=De(_a,[["__scopeId","data-v-6c4b2938"]]);export{Oa as default};
|