/*! Build based on gin-vue-admin Time : 1776662816000 */ !function(){function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function n(e){for(var n=1;ndiv{position:absolute}.container .center .top>div>p{font-size:.16rem;font-weight:700;color:#fff}.container .center .top>div>img{width:1.32rem;height:.85rem}.container .center .top>div.first{top:5.22rem;left:50%;transform:translate(-3.9rem)}.container .center .top>div.second{top:5.54rem;left:50%;transform:translate(-1.9rem)}.container .center .top>div.third{top:5.54rem;left:50%;transform:translate(.73rem)}.container .center .top>div.fourth{top:5.22rem;left:50%;transform:translate(2.65rem)}.container .center .bottom{height:3.57rem;background:url(/electricity/assets/087AC4D233B64EB0center-10.ByDfgIgo.png) no-repeat;background-size:100% 100%;padding:.5rem .3rem .3rem;box-sizing:border-box}.container .center .bottom .scroll-container{width:100%;overflow:hidden;white-space:nowrap}.container .center .bottom .scroll-text{display:inline-block;white-space:nowrap;animation:scroll 10s linear infinite}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.container .center .bottom .el-table{--el-table-border-color: transparent !important;background-color:transparent!important;background:transparent!important}.container .center .bottom .el-table th,.container .center .bottom .el-table td,.container .center .bottom .el-table tr,.container .center .bottom .el-table .el-table__cell,.container .center .bottom .el-table .el-table__row{background-color:transparent!important;background:transparent!important}.container .center .bottom .el-table td,.container .center .bottom .el-table th{border:none!important}.container .center .bottom .el-table .cell{font-size:.14rem!important;color:#e2e8f0!important}.container .right{width:5.63rem;height:100%;background:url(/electricity/assets/087AC4D233B64EB0background-right.DKiuluSy.png) no-repeat;background-size:100% 100%;padding:.9rem 0;display:flex;flex-direction:column;gap:.12rem}.container .right .module-card{border-radius:8px;padding:.2rem .2rem .2rem .4rem;display:flex;flex-direction:column}.container .right .module-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.08rem}.container .right .module-title{display:flex;align-items:center;gap:.1rem;font-size:.2rem;font-weight:700;color:#e2e8f0}.container .right .title-icon{width:.06rem;height:.24rem;background:linear-gradient(180deg,#00d4ff,#3b82f6);border-radius:2px}.container .right .module-more{font-size:.18rem;font-weight:700;color:#e2e8f0;cursor:pointer}.container .right .module-more:hover{color:#00d4ff}.container .right .alarm-pending-module{flex:1}.container .right .alarm-pending-chart{flex:1;min-height:1.2rem}.container .right .alert-distribution-module{flex:1}.container .right .alert-tab{padding:.06rem .15rem;background:rgba(30,58,138,.3);border:1px solid rgba(59,130,246,.3);border-radius:4px;color:#94a3b8;font-size:.16rem;font-weight:700;cursor:pointer;transition:all .3s;white-space:nowrap}.container .right .alert-tab.active{background:rgba(59,130,246,.3);border-color:#3b82f6;color:#00d4ff}.container .right .alert-distribution-content{display:flex;gap:.4rem;flex:1}.container .right .alert-ring-chart{flex:1;min-height:2rem}.container .right .alert-list{flex:1;display:flex;flex-direction:column;gap:.12rem}.container .right .alert-item{display:flex;align-items:center;gap:.12rem;font-size:.18rem;font-weight:700;white-space:nowrap}.container .right .alert-dot{width:.16rem;height:.16rem;border-radius:2px}.container .right .alert-name{color:#e2e8f0;flex:1;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.container .right .alert-count{color:#e2e8f0;font-weight:700;font-size:.2rem;margin-right:.06rem;white-space:nowrap}.container .right .alert-percent{color:#10b981;font-weight:700;white-space:nowrap}.container .right .alert-trend-module{flex:1}.container .right .alert-trend-chart{flex:1;min-height:1.2rem}.container .right .work-order-module{flex:.5}.container .right .work-order-content{display:flex;gap:.3rem;flex:1}.container .right .work-order-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:.12rem;padding:.1rem;background:rgba(30,58,138,.2);border-radius:8px;border:1px solid rgba(59,130,246,.3)}.container .right .order-icon{display:flex;align-items:center;justify-content:center}.container .right .order-info{text-align:center}.container .right .order-label{font-size:.22rem;color:#e2e8f0;margin-bottom:.08rem}.container .right .order-count{font-size:.36rem;font-weight:700}.container .right .order-count.white{color:#e2e8f0}.container .right .order-count.cyan{color:#06b6d4}.container .right .order-count.green{color:#10b981}.map-card{flex:1;padding:0;overflow:hidden}.card{background-color:rgba(15,23,42,.8);display:flex;flex-direction:column;position:relative}.card-title{font-size:16px;font-weight:700;color:#94a3b8;margin-bottom:15px;text-align:center}.map-container-full{flex:1;display:flex;flex-direction:column;padding:0;margin:0}.map-control{position:absolute;top:15px;left:15px;background-color:rgba(15,23,42,.9);border:1px solid #1e3a8a;border-radius:8px;padding:15px;z-index:1000;min-width:120px}.control-top{margin-bottom:15px;padding-bottom:15px;border-bottom:1px solid #1e3a8a}.control-title{font-size:14px;font-weight:700;color:#64748b;margin-bottom:5px}.control-value{font-size:26px;font-weight:700;color:#3b82f6}.status-list{display:flex;flex-direction:column;gap:8px}.status-item{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#e2e8f0}.status-dot{width:10px;height:10px;border-radius:50%}.status-dot.online{background-color:#10b981}.status-dot.alarm{background-color:#ef4444}.status-dot.offline{background-color:#64748b}.top2{flex:1;display:flex;flex-direction:column}\n/*$vite$:1*/",document.head.appendChild(t);var z={class:"background-box"},L={class:"container"},C={class:"left"},_={class:"module-card left-first-module"},j={class:"device-stat-content"},D={class:"device-ring-chart"},E={class:"device-list"},A={class:"device-name"},O={key:0,class:"device-percent"},M={class:"module-card left-second-module"},P={class:"device-status-content"},B={class:"module-card left-third-module"},F={class:"project-bar-chart"},T={class:"center"},W={class:"top2"},R={class:"card map-card"},H={class:"map-container-full",id:"chinaMap",ref:"chinaMap"},N={class:"map-control"},G={class:"control-top"},I={class:"control-value"},J={class:"bottom"},K={class:"scroll-container"},$={class:"scroll-text"},q={style:{"margin-left":"0.1rem"}},Q={class:"right"},X={class:"module-card alarm-pending-module"},Z={class:"alarm-pending-chart"},U={class:"module-card alert-distribution-module"},V={class:"alert-distribution-content"},Y={class:"alert-ring-chart"},ee={class:"alert-list"},te={class:"alert-name"},ne={class:"alert-count"},oe={class:"alert-percent"},re={class:"module-card alert-trend-module"},ae={class:"alert-trend-chart"};e("default",{__name:"index",setup:function(e){var t=r(null),ie=r(180),le=r(null),ce=r([]),de=r([]),se=r([{name:"其他设备报警",count:1,percent:41.16,color:"#10b981"},{name:"分合闸报警",count:12,percent:39.22,color:"#3b82f6"},{name:"电压报警",count:2,percent:5.41,color:"#06b6d4"},{name:"其他",count:0,percent:14.21,color:"#f59e0b"}]),ue=[{value:1,label:"线路1"},{value:2,label:"线路2"},{value:3,label:"线路3"},{value:4,label:"线路4"}],fe=r([]),me=r([]),pe=r(null),ge=r(null),be=r(null),he=r(null),ve=r(null),ye=r([]),xe=r([]),we=a(function(){return xe.value.length});a(function(){return xe.value.filter(function(e){return"online"===e.status}).length}),a(function(){return xe.value.filter(function(e){return"offline"===e.status}).length}),a(function(){return xe.value.filter(function(e){return"alarm"===e.status}).length});var ke=a(function(){return{tooltip:{trigger:"axis",backgroundColor:"rgba(15, 23, 42, 0.9)",borderColor:"#1e3a8a",textStyle:{color:"#e2e8f0"}},grid:{top:"15%",left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",data:["02-17","02-22","02-27","03-04","03-09","03-14"],axisLine:{lineStyle:{color:"#1e3a8a"}},axisLabel:{color:"#64748b",fontSize:10}},yAxis:{type:"value",name:"次数",nameTextStyle:{color:"#64748b",fontSize:10},splitLine:{lineStyle:{color:"#1e3a8a",type:"dashed"}},axisLine:{lineStyle:{color:"#1e3a8a"}},axisLabel:{color:"#64748b",fontSize:10}},series:[{name:"待处理报警",data:[1,3,2,5,2,3],type:"line",smooth:!0,lineStyle:{color:"#00d4ff",width:2},itemStyle:{color:"#00d4ff"},areaStyle:{color:new k(0,0,0,1,[{offset:0,color:"rgba(0, 212, 255, 0.3)"},{offset:1,color:"rgba(0, 212, 255, 0)"}])},markPoint:{data:[{type:"max",name:"Max"},{type:"min",name:"Min"}]}}]}}),Se=a(function(){return function(e){return{series:[{type:"pie",radius:["45%","70%"],center:["50%","50%"],avoidLabelOverlap:!1,itemStyle:{borderRadius:8,borderColor:"#0f172a",borderWidth:2},label:{show:!0,position:"center",formatter:"{total|15}\n{name|报警总数}",rich:{total:{fontSize:28,fontWeight:"bold",color:"#e2e8f0",lineHeight:35},name:{fontSize:14,color:"#94a3b8"}}},labelLine:{show:!1},data:e.map(function(e){return{value:e.count,name:e.name,itemStyle:{color:e.color}}})}]}}(se.value)}),ze=a(function(){return function(e){var t=e.reduce(function(e,t){return e+(t.count||t.value||0)},0);return{grid:{top:0,left:0,right:0,bottom:0,containLabel:!1},series:[{type:"pie",radius:["45%","70%"],center:["50%","50%"],avoidLabelOverlap:!1,itemStyle:{borderRadius:8,borderColor:"#0f172a",borderWidth:2},label:{show:!0,position:"center",formatter:"{total|".concat(t,"}\n{name|设备总数}"),rich:{total:{fontSize:18,fontWeight:"bold",color:"#e2e8f0",lineHeight:35},name:{fontSize:12,color:"#94a3b8"}}},labelLine:{show:!1},data:e.map(function(e){return{value:e.count||0,name:e.cb_type_name||"未知",itemStyle:{color:e.color}}})}]}}(fe.value)}),Le=a(function(){return function(e){return{tooltip:{trigger:"axis",backgroundColor:"rgba(15, 23, 42, 0.9)",borderColor:"#1e3a8a",textStyle:{color:"#e2e8f0"}},grid:{top:"10%",left:"10%",right:"5%",bottom:"15%",containLabel:!0},xAxis:{type:"category",data:e.map(function(e){return e.projectName||e.name||"未知"}),axisLine:{lineStyle:{color:"#1e3a8a"}},axisLabel:{color:"#64748b",fontSize:9,rotate:30,interval:0,overflow:"truncate",width:60,margin:8}},yAxis:{type:"value",name:"数量",nameTextStyle:{color:"#64748b",fontSize:10},splitLine:{lineStyle:{color:"#1e3a8a",type:"dashed"}},axisLine:{lineStyle:{color:"#1e3a8a"}},axisLabel:{color:"#64748b",fontSize:10}},series:[{name:"网关数量",data:e.map(function(e){return e.gatewayNum||e.count||0}),type:"bar",barWidth:"40%",itemStyle:{color:new k(0,0,0,1,[{offset:0,color:"#00d4ff"},{offset:1,color:"#3b82f6"}]),borderRadius:[4,4,0,0]}}]}}(ye.value)}),Ce=a(function(){return{tooltip:{trigger:"axis",backgroundColor:"rgba(15, 23, 42, 0.9)",borderColor:"#1e3a8a",textStyle:{color:"#e2e8f0"}},legend:{data:["二级报警","报警","预警"],right:10,top:0,textStyle:{color:"#94a3b8",fontSize:10},itemWidth:10,itemHeight:10},grid:{top:"15%",left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",data:["01","05","10","15","20","25","30"],axisLine:{lineStyle:{color:"#1e3a8a"}},axisLabel:{color:"#64748b",fontSize:10}},yAxis:{type:"value",name:"数量",nameTextStyle:{color:"#64748b",fontSize:10},splitLine:{lineStyle:{color:"#1e3a8a",type:"dashed"}},axisLine:{lineStyle:{color:"#1e3a8a"}},axisLabel:{color:"#64748b",fontSize:10}},series:[{name:"二级报警",data:[0,1,1,2,0,0,3],type:"line",smooth:!0,lineStyle:{color:"#a855f7",width:2},itemStyle:{color:"#a855f7"},markPoint:{data:[{type:"max",name:"Max"},{type:"min",name:"Min"}]}},{name:"报警",data:[1,0,0,1,1,1,0],type:"line",smooth:!0,lineStyle:{color:"#ef4444",width:2},itemStyle:{color:"#ef4444"},markPoint:{data:[{type:"max",name:"Max"},{type:"min",name:"Min"}]}},{name:"预警",data:[0,1,1,0,1,1,1],type:"line",smooth:!0,lineStyle:{color:"#f59e0b",width:2},itemStyle:{color:"#f59e0b"},markPoint:{data:[{type:"max",name:"Max"},{type:"min",name:"Min"}]}}]}}),_e=function(){var e=(document.documentElement.clientWidth||document.body.clientWidth)/1920,t=(document.documentElement.clientHeight||document.body.clientHeight)/1080,n=100*Math.min(e,t);document.documentElement.style.fontSize=n+"px"};i(function(){_e(),window.addEventListener("resize",_e),l(function(){t.value&&(ie.value=t.value.offsetHeight)}),je(),De(),Ee(),Ae(),Oe(),Me()});var je=function(){o({url:"/device/getDeviceWarningList",method:"post"}).then(function(e){0===e.code&&(de.value=e.data)})},De=function(){o({url:"/device/getDeviceCategoryGroup",method:"post"}).then(function(e){if(0===e.code){var t=["#FFED71","#009FFF","#53E8FF","#C790FF","#9EFFDD","#FFB57D"];fe.value=e.data.map(function(e,n){return{name:e.cb_type_name||"--",count:e.count||0,color:t[n%t.length]}})}})},Ee=function(){o({url:"/device/getDeviceChangeList",method:"post"}).then(function(e){0===e.code&&(me.value=e.data)})},Ae=function(){o({url:"/device/getProjectCategoryGroup",method:"post"}).then(function(e){0===e.code&&(ye.value=e.data)})},Oe=function(){o({url:"/device/getDeviceGatewayList",method:"post"}).then(function(e){0===e.code&&(xe.value=e.data.map(function(e){return n(n({},e),{},{status:e.status||"online"})}),l(function(){Pe()}))})},Me=function(){"undefined"!=typeof AMap&&(le.value=new AMap.Map("chinaMap",{zoom:5,center:[116.4074,39.9042],mapStyle:"amap://styles/darkblue",viewMode:"2D",features:["bg","road","building","point"]}),le.value.on("complete",function(){xe.value&&xe.value.length>0&&Pe()}))},Pe=function(){le.value&&xe.value&&0!==xe.value.length&&(ce.value.forEach(function(e){le.value.remove(e)}),ce.value=[],xe.value.slice(0,20).forEach(function(e,t){var n=new AMap.Marker({position:[e.gatewayLong,e.gatewayLat],content:Be(e.status),zIndex:5}),o=new AMap.InfoWindow({content:Fe(e),offset:new AMap.Pixel(0,-30)});n.on("click",function(){o.open(le.value,n.getPosition())}),le.value.add(n),ce.value.push(n)}))},Be=function(e){var t="online"===e?"#10b981":"alarm"===e?"#ef4444":"#64748b";return'\n
\n ')},Fe=function(e){var t="online"===e.status?"在线":"alarm"===e.status?"告警":"离线",n="online"===e.status?"#10b981":"alarm"===e.status?"#ef4444":"#64748b";return'\n
\n
状态: ').concat(t,'
\n
地址: ').concat(e.gatewayAddress||"","
\n
\n ")};return c(function(){window.removeEventListener("resize",_e),document.documentElement.style.fontSize=""}),function(e,n){var o=d("el-table-column"),r=d("el-table");return u(),s("div",z,[f("div",L,[f("div",C,[f("div",_,[n[0]||(n[0]=f("div",{class:"module-header"},[f("div",{class:"module-title"},[f("span",{class:"title-icon"}),f("span",null,"设备统计")])],-1)),f("div",j,[f("div",D,[m(p(S),{ref_key:"deviceStatChartRef",ref:he,option:ze.value,autoresize:""},null,8,["option"])]),f("div",E,[(u(!0),s(g,null,b(fe.value,function(e,t){return u(),s("div",{class:"device-item",key:t},[f("span",{class:"device-dot",style:v({backgroundColor:e.color})},null,4),f("span",A,y(e.name||e.deviceTypeName),1),f("span",{class:"device-count",style:v({color:e.color})},y(e.count||e.value),5),void 0!==e.percent?(u(),s("span",O,y(e.percent)+"%",1)):w("",!0)])}),128))])])]),f("div",M,[n[1]||(n[1]=f("div",{class:"module-header"},[f("div",{class:"module-title"},[f("span",{class:"title-icon"}),f("span",null,"设备状态通知")])],-1)),f("div",P,[m(r,{data:me.value,height:"20vh",style:{width:"100%"},"show-header":!1,"header-cell-style":{background:"transparent",color:"#fff",border:"none"},"cell-style":{color:"#fff",border:"none"}},{default:h(function(){return[m(o,{prop:"cbTypeName",label:"设备名称",align:"center",width:"100"}),m(o,{prop:"type",label:"设备状态",align:"center",width:"70"},{default:h(function(e){var t=e.row;return[f("span",{style:v({color:"device_online"===t.type?"green":"red"})},y("device_online"===t.type?"上线":"下线"),5)]}),_:1}),m(o,{prop:"time",label:"时间",align:"center"})]}),_:1},8,["data"])])]),f("div",B,[n[2]||(n[2]=f("div",{class:"module-header"},[f("div",{class:"module-title"},[f("span",{class:"title-icon"}),f("span",null,"项目数量")])],-1)),f("div",F,[m(p(S),{ref_key:"projectBarChartRef",ref:ve,option:Le.value,autoresize:""},null,8,["option"])])])]),f("div",T,[n[6]||(n[6]=f("div",{class:"title"},"智慧用电安全监控平台",-1)),f("div",W,[f("div",R,[n[5]||(n[5]=f("div",{class:"card-title",style:{display:"none"}},"设备分布",-1)),f("div",H,[f("div",N,[f("div",G,[n[3]||(n[3]=f("div",{class:"control-title"},"设备总数量",-1)),f("div",I,y(we.value),1)]),n[4]||(n[4]=x('
设备状态
在线
告警
离线
',1))])],512)])]),f("div",J,[f("div",{ref_key:"bottomRef",ref:t,style:{height:"100%"}},[m(r,{data:de.value,height:ie.value,style:{width:"100%"},stripe:"","show-header":!0},{default:h(function(){return[m(o,{type:"index",width:"50"}),m(o,{prop:"cbTypeName",label:"设备名称",align:"center"}),m(o,{prop:"gatewayAddress",label:"地点",align:"center"},{default:h(function(e){var t=e.row;return[f("div",K,[f("div",$,[f("span",null,y(t.gatewayAddress),1),f("span",q,y(t.gatewayAddress),1)])])]}),_:1}),m(o,{prop:"cbTypeCode",label:"设备型号",align:"center"}),m(o,{prop:"warningContent",label:"报警类型",align:"center"}),m(o,{prop:"rate",label:"线路",align:"center"},{default:h(function(e){var t,n=e.row;return[f("span",null,y((null===(t=ue.find(function(e){return e.value===n.gatewayType}))||void 0===t?void 0:t.label)||"-"),1)]}),_:1})]}),_:1},8,["data","height"])],512)])]),f("div",Q,[f("div",X,[n[7]||(n[7]=f("div",{class:"module-header"},[f("div",{class:"module-title"},[f("span",{class:"title-icon"}),f("span",null,"待处理报警")])],-1)),f("div",Z,[m(p(S),{ref_key:"alarmPendingChartRef",ref:pe,option:ke.value,autoresize:""},null,8,["option"])])]),f("div",U,[n[8]||(n[8]=f("div",{class:"module-header"},[f("div",{class:"module-title"},[f("span",{class:"title-icon"}),f("span",null,"警情分布")])],-1)),f("div",V,[f("div",Y,[m(p(S),{ref_key:"alertDistributionChartRef",ref:ge,option:Se.value,autoresize:""},null,8,["option"])]),f("div",ee,[(u(!0),s(g,null,b(se.value,function(e,t){return u(),s("div",{class:"alert-item",key:t},[f("span",{class:"alert-dot",style:v({backgroundColor:e.color})},null,4),f("span",te,y(e.name),1),f("span",ne,y(e.count),1),f("span",oe,y(e.percent)+"%",1)])}),128))])])]),f("div",re,[n[9]||(n[9]=f("div",{class:"module-header"},[f("div",{class:"module-title"},[f("span",{class:"title-icon"}),f("span",null,"警情趋势")])],-1)),f("div",ae,[m(p(S),{ref_key:"alertTrendChartRef",ref:be,option:Ce.value,autoresize:""},null,8,["option"])])])])])])}}})}}})}();