1 line
12 KiB
JavaScript
1 line
12 KiB
JavaScript
"use strict";(wx["webpackJsonp"]=wx["webpackJsonp"]||[]).push([[616],{1952:function(e,n,t){var a=t(8774),r=t(3433),l=t(2688),i=t(5861),s=t(9439),o=t(7294),c=t(1515),d=t(2954),_=t.n(d),m={dashboardPage:"index-module__dashboardPage___o9zHL",header:"index-module__header___ET1N8",headerLeft:"index-module__headerLeft___VUrS1",greeting:"index-module__greeting___pLgYD",userName:"index-module__userName___xQFqo",settingsBtn:"index-module__settingsBtn___WZvpC",statsGrid:"index-module__statsGrid___edlJb",section:"index-module__section___nWT2B",sectionHeader:"index-module__sectionHeader___ATKam",sectionTitle:"index-module__sectionTitle___C15Ex",sectionAction:"index-module__sectionAction___o2Md4",roomSelector:"index-module__roomSelector___pxn4h",roomChip:"index-module__roomChip___vM1Tl",roomChipActive:"index-module__roomChipActive___TZW7s",telemetryGrid:"index-module__telemetryGrid___x26ci",telemetryCard:"index-module__telemetryCard___MaV6K",telemetryTop:"index-module__telemetryTop___rkll7",telemetryLabel:"index-module__telemetryLabel___q85k8",telemetryIcon:"index-module__telemetryIcon___w_TAp",telemetryValue:"index-module__telemetryValue___UVxqW",telemetryUnit:"index-module__telemetryUnit___SUnM5",miniChart:"index-module__miniChart___FegNp",bar:"index-module__bar___JCM5S",barActive:"index-module__barActive___eRaK7",loadingWrap:"index-module__loadingWrap___aIDRu",loadingText:"index-module__loadingText___yL7Xb",errorWrap:"index-module__errorWrap___Lrlwi",errorIcon:"index-module__errorIcon___dL2Jt",errorText:"index-module__errorText___EjCQQ",retryBtn:"index-module__retryBtn___l59Er",alarmPreview:"index-module__alarmPreview___VSlsq",alarmItem:"index-module__alarmItem___ZWZ1g",alarmDot:"index-module__alarmDot___BQNRh",alarmContent:"index-module__alarmContent____PhBU",alarmTitle:"index-module__alarmTitle___En3Oo",alarmTime:"index-module__alarmTime___A0OSb",alarmSeverity:"index-module__alarmSeverity___vYFx1",emptyWrap:"index-module__emptyWrap___xkP9p",emptyIcon:"index-module__emptyIcon___bM_6E",emptyText:"index-module__emptyText___dlSnb",trendCard:"index-module__trendCard___DAtSt",trendLoading:"index-module__trendLoading___yJw7D"},u={statCard:"index-module__statCard___wYm06",icon:"index-module__icon___jxc3l",label:"index-module__label___D6N3_",valueRow:"index-module__valueRow___UIqgC",value:"index-module__value___BU2vU",unit:"index-module__unit___OpsZv",trendUp:"index-module__trendUp___sR0eI",trendDown:"index-module__trendDown___X25BW",trendNormal:"index-module__trendNormal___Ki6tU"},x=t(5893),h=function(e){var n=e.label,t=e.value,a=e.unit,r=e.icon,l=e.trend,i=e.trendType,s=void 0===i?"normal":i,o=e.color,d=e.onClick;return(0,x.jsxs)(c.G7,{className:u.statCard,onClick:d,style:o?{borderTop:"4rpx solid ".concat(o)}:void 0,children:[r&&(0,x.jsx)(c.xv,{className:u.icon,children:r}),(0,x.jsx)(c.xv,{className:u.label,children:n}),(0,x.jsxs)(c.G7,{className:u.valueRow,children:[(0,x.jsx)(c.xv,{className:u.value,children:t}),a&&(0,x.jsx)(c.xv,{className:u.unit,children:a})]}),l&&(0,x.jsx)(c.xv,{className:"up"===s?u.trendUp:"down"===s?u.trendDown:u.trendNormal,children:l})]})},v=h,f=t(5387),p=t(5487),N=t(195),j=t(821),g=t(3851),y=t(5616),C=t(151),b=t(8944),G=function(){var e=(0,g.o)(),n=e.user,t=e.token,a=(0,o.useState)([]),u=(0,s.Z)(a,2),h=u[0],G=u[1],T=(0,o.useState)([]),w=(0,s.Z)(T,2),S=w[0],Z=w[1],k=(0,o.useState)([]),D=(0,s.Z)(k,2),A=D[0],I=D[1],W=(0,o.useState)(""),P=(0,s.Z)(W,2),L=P[0],U=P[1],B=(0,o.useState)([]),E=(0,s.Z)(B,2),R=E[0],M=E[1],H=(0,o.useState)(!0),V=(0,s.Z)(H,2),X=V[0],J=V[1],K=(0,o.useState)(""),O=(0,s.Z)(K,2),q=O[0],Q=O[1],Y=(0,o.useState)({roomCount:0,deviceCount:0,onlineDeviceCount:0,alarmCount:0,openAlarmCount:0}),F=(0,s.Z)(Y,2),z=F[0],$=F[1],ee=(0,o.useState)([]),ne=(0,s.Z)(ee,2),te=ne[0],ae=ne[1],re=(0,o.useState)([]),le=(0,s.Z)(re,2),ie=le[0],se=le[1],oe=(0,o.useState)(!1),ce=(0,s.Z)(oe,2),de=ce[0],_e=ce[1],me=(0,o.useCallback)((0,i.Z)((0,l.Z)().m(function e(){var n,t,a,r,i,o,c,d;return(0,l.Z)().w(function(e){while(1)switch(e.p=e.n){case 0:return e.p=0,Q(""),e.n=1,Promise.all([(0,f.A)().catch(function(){return[]}),(0,p.PW)().catch(function(){return[]}),(0,N.uA)({openOnly:!0}).catch(function(){return[]})]);case 1:n=e.v,t=(0,s.Z)(n,3),a=t[0],r=t[1],i=t[2],G(a),Z(r),I(i),o=r.filter(function(e){return"online"===e.onlineStatus}).length,c=i.filter(function(e){return e.open}).length,$({roomCount:a.length,deviceCount:r.length,onlineDeviceCount:o,alarmCount:i.length,openAlarmCount:c}),a.length>0&&!L&&U(a[0].id),e.n=3;break;case 2:e.p=2,d=e.v,console.error("[Dashboard] \u6570\u636e\u52a0\u8f7d\u5931\u8d25:",d),Q(d instanceof Error?d.message:"\u6570\u636e\u52a0\u8f7d\u5931\u8d25");case 3:return e.p=3,J(!1),e.f(3);case 4:return e.a(2)}},e,null,[[0,2,3,4]])})),[L]),ue=(0,o.useCallback)((0,i.Z)((0,l.Z)().m(function e(){var n,t,a,r,i;return(0,l.Z)().w(function(e){while(1)switch(e.p=e.n){case 0:if(L){e.n=1;break}return e.a(2);case 1:if(n=S.filter(function(e){return e.roomId===L}),0!==n.length){e.n=2;break}return M([]),e.a(2);case 2:return e.p=2,t=n[0],e.n=3,(0,j.ml)(t.deviceKey).catch(function(){return[]});case 3:a=e.v,M(a),r=a.map(function(e){return e.value}),ae(r.length>0?r.slice(-8):[]),e.n=5;break;case 4:e.p=4,i=e.v,console.error("[Dashboard] \u9065\u6d4b\u6570\u636e\u52a0\u8f7d\u5931\u8d25:",i);case 5:return e.a(2)}},e,null,[[2,4]])})),[L,S]),xe=(0,o.useCallback)((0,i.Z)((0,l.Z)().m(function e(){var n;return(0,l.Z)().w(function(e){while(1)switch(e.p=e.n){case 0:return _e(!0),e.p=1,e.n=2,(0,j.k1)(24).catch(function(){return[]});case 2:n=e.v,se(n);case 3:return e.p=3,_e(!1),e.f(3);case 4:return e.a(2)}},e,null,[[1,,3,4]])})),[]);(0,o.useEffect)(function(){me()},[me]),(0,o.useEffect)(function(){ue()},[ue]),(0,o.useEffect)(function(){xe()},[xe]),(0,o.useEffect)(function(){var e=setInterval(function(){me(),ue(),xe()},3e4);return function(){return clearInterval(e)}},[me,ue,xe]),(0,o.useEffect)(function(){if(t){var e=y.X.on("telemetry",function(e){console.log("[Dashboard] WS telemetry:",e),me()});return function(){e()}}},[t,me]),(0,d.useDidShow)(function(){me()}),(0,d.useDidHide)(function(){}),(0,d.usePullDownRefresh)(function(){Promise.all([me(),xe()]).then(function(){_().stopPullDownRefresh()})});var he=function(){_().navigateTo({url:"/pages/settings/index"})},ve=function(e){U(e),ue()},fe=function(e){_().navigateTo({url:"/pages/rooms/detail/index?id=".concat(e)})},pe=function(){J(!0),me()},Ne=function(){_().switchTab({url:"/pages/alerts/index"})},je=h.find(function(e){return e.id===L}),ge=A.slice(0,3),ye=Math.max.apply(Math,(0,r.Z)(te).concat([1])),Ce=function(){var e=(new Date).getHours();return e<6?"\u51cc\u6668\u597d":e<12?"\u65e9\u4e0a\u597d":e<14?"\u4e2d\u5348\u597d":e<18?"\u4e0b\u5348\u597d":"\u665a\u4e0a\u597d"};return X&&0===z.roomCount?(0,x.jsx)(c.G7,{className:m.dashboardPage,children:(0,x.jsx)(c.G7,{className:m.loadingWrap,children:(0,x.jsx)(c.xv,{className:m.loadingText,children:"\u52a0\u8f7d\u4e2d..."})})}):q&&0===z.roomCount?(0,x.jsx)(c.G7,{className:m.dashboardPage,children:(0,x.jsxs)(c.G7,{className:m.errorWrap,children:[(0,x.jsx)(c.xv,{className:m.errorIcon,children:"\u26a0\ufe0f"}),(0,x.jsx)(c.xv,{className:m.errorText,children:q}),(0,x.jsx)(c.G7,{className:m.retryBtn,onClick:pe,children:(0,x.jsx)(c.xv,{style:{color:"#fff"},children:"\u91cd\u8bd5"})})]})}):(0,x.jsxs)(c.G7,{className:m.dashboardPage,children:[(0,x.jsxs)(c.G7,{className:m.header,children:[(0,x.jsxs)(c.G7,{className:m.headerLeft,children:[(0,x.jsx)(c.xv,{className:m.greeting,children:Ce()}),(0,x.jsx)(c.xv,{className:m.userName,children:(null===n||void 0===n?void 0:n.fullName)||(null===n||void 0===n?void 0:n.username)||"\u7ba1\u7406\u5458"})]}),(0,x.jsx)(c.G7,{className:m.settingsBtn,onClick:he,children:(0,x.jsx)(c.xv,{children:"\u2699\ufe0f"})})]}),(0,x.jsxs)(c.G7,{className:m.statsGrid,children:[(0,x.jsx)(v,{label:"\u8695\u623f\u6570\u91cf",value:z.roomCount,unit:"\u95f4",icon:"\ud83c\udfe0",color:"#10b981"}),(0,x.jsx)(v,{label:"\u8bbe\u5907\u5728\u7ebf",value:"".concat(z.onlineDeviceCount,"/").concat(z.deviceCount),icon:"\ud83d\udce1",color:"#165dff"}),(0,x.jsx)(v,{label:"\u6d3b\u8dc3\u544a\u8b66",value:z.openAlarmCount,unit:"\u6761",icon:"\ud83d\udd14",color:"#f53f3f",trend:z.openAlarmCount>0?"\u9700\u5904\u7406":"\u6b63\u5e38",trendType:z.openAlarmCount>0?"up":"down",onClick:Ne}),(0,x.jsx)(v,{label:"\u8bbe\u5907\u603b\u6570",value:z.deviceCount,unit:"\u53f0",icon:"\ud83d\udcca",color:"#ff7d00"})]}),(0,x.jsxs)(c.G7,{className:m.section,children:[(0,x.jsx)(c.G7,{className:m.sectionHeader,children:(0,x.jsx)(c.xv,{className:m.sectionTitle,children:"24\u5c0f\u65f6\u6e29\u5ea6\u8d8b\u52bf"})}),(0,x.jsx)(c.G7,{className:m.trendCard,children:de&&0===ie.length?(0,x.jsx)(c.G7,{className:m.trendLoading,children:(0,x.jsx)(c.xv,{className:m.loadingText,children:"\u8d8b\u52bf\u6570\u636e\u52a0\u8f7d\u4e2d..."})}):(0,x.jsx)(b.Z,{data:ie,metric:"temp",color:"#f53f3f",height:200})})]}),h.length>0&&(0,x.jsxs)(c.G7,{className:m.section,children:[(0,x.jsxs)(c.G7,{className:m.sectionHeader,children:[(0,x.jsx)(c.xv,{className:m.sectionTitle,children:"\u5b9e\u65f6\u76d1\u6d4b"}),je&&(0,x.jsx)(c.xv,{className:m.sectionAction,onClick:function(){return fe(je.id)},children:"\u8be6\u60c5 >"})]}),(0,x.jsx)(c.pf,{scrollX:!0,className:m.roomSelector,children:h.map(function(e){return(0,x.jsx)(c.G7,{className:"".concat(m.roomChip," ").concat(L===e.id?m.roomChipActive:""),onClick:function(){return ve(e.id)},children:e.name},e.id)})})]}),R.length>0?(0,x.jsx)(c.G7,{className:m.section,children:(0,x.jsx)(c.G7,{className:m.telemetryGrid,children:R.map(function(e){return(0,x.jsxs)(c.G7,{className:m.telemetryCard,children:[(0,x.jsxs)(c.G7,{className:m.telemetryTop,children:[(0,x.jsx)(c.xv,{className:m.telemetryLabel,children:(0,C.C8)(e.metric)}),(0,x.jsx)(c.xv,{className:m.telemetryIcon,children:"temperature"===e.metric?"\ud83c\udf21":"humidity"===e.metric?"\ud83d\udca7":"\ud83d\udcc8"})]}),(0,x.jsxs)(c.G7,{children:[(0,x.jsx)(c.xv,{className:m.telemetryValue,children:(0,C.uf)(e.value)}),(0,x.jsx)(c.xv,{className:m.telemetryUnit,children:(0,C.R_)(e.metric)})]}),(0,x.jsx)(c.G7,{className:m.miniChart,children:te.map(function(e,n){return(0,x.jsx)(c.G7,{className:"".concat(m.bar," ").concat(n===te.length-1?m.barActive:""),style:{height:"".concat(Math.max(e/ye*100,10),"%")}},n)})})]},"".concat(e.deviceKey,"-").concat(e.metric))})})}):!X&&(0,x.jsx)(c.G7,{className:m.section,children:(0,x.jsxs)(c.G7,{className:m.emptyWrap,children:[(0,x.jsx)(c.xv,{className:m.emptyIcon,children:"\ud83d\udced"}),(0,x.jsx)(c.xv,{className:m.emptyText,children:"\u6682\u65e0\u9065\u6d4b\u6570\u636e"})]})}),(0,x.jsxs)(c.G7,{className:m.section,children:[(0,x.jsxs)(c.G7,{className:m.sectionHeader,children:[(0,x.jsx)(c.xv,{className:m.sectionTitle,children:"\u6700\u8fd1\u544a\u8b66"}),(0,x.jsx)(c.xv,{className:m.sectionAction,onClick:Ne,children:"\u5168\u90e8 >"})]}),ge.length>0?(0,x.jsx)(c.G7,{className:m.alarmPreview,children:ge.map(function(e){return(0,x.jsxs)(c.G7,{className:m.alarmItem,onClick:Ne,children:[(0,x.jsx)(c.G7,{className:m.alarmDot,style:{background:(0,C.bX)(e.severity)}}),(0,x.jsxs)(c.G7,{className:m.alarmContent,children:[(0,x.jsx)(c.xv,{className:m.alarmTitle,children:e.title||e.message||e.code||"\u544a\u8b66"}),(0,x.jsx)(c.xv,{className:m.alarmTime,children:(0,C.SY)(e.triggeredAt)})]}),(0,x.jsx)(c.G7,{className:m.alarmSeverity,style:{background:"".concat((0,C.bX)(e.severity),"20"),color:(0,C.bX)(e.severity)},children:(0,C.Wy)(e.severity)})]},e.id)})}):(0,x.jsxs)(c.G7,{className:m.emptyWrap,children:[(0,x.jsx)(c.xv,{className:m.emptyIcon,children:"\u2705"}),(0,x.jsx)(c.xv,{className:m.emptyText,children:"\u6682\u65e0\u6d3b\u8dc3\u544a\u8b66"})]})]})]})},T=G,w={navigationBarTitleText:"\u4eea\u8868\u76d8",enablePullDownRefresh:!0},S=(0,a.R4)(T,"pages/dashboard/index",{root:{cn:[]}},w||{});T&&T.behaviors&&(S.behaviors=(S.behaviors||[]).concat(T.behaviors));Page(S)}},function(e){var n=function(n){return e(e.s=n)};e.O(0,[107,216,592],function(){return n(1952)});e.O()}]); |