5 lines
26 KiB
JavaScript
5 lines
26 KiB
JavaScript
/*!
|
|
Build based on gin-vue-admin
|
|
Time : 1776662816000 */
|
|
import{a as e,G as a,q as t,c as l,o as i,b as o,t as s,e as n,f as d,x as r,F as c,J as v,a2 as u,aa as m,K as p}from"./087AC4D233B64EB0index.D-00lXMX.js";import{_ as y}from"./087AC4D233B64EB0logo.BHOZqcoF.js";import{L as b,E as f}from"./087AC4D233B64EB0index.D87tq4Bj.js";import{_ as g}from"./087AC4D233B64EB0_plugin-vue_export-helper.BCo6x5W8.js";const h={class:"large-screen-container"},x={class:"header"},S={class:"time"},w={class:"main-content"},k={class:"left-section"},L={class:"module-card energy-module"},M={class:"energy-chart"},z={class:"module-card device-category-module"},A={class:"device-category-content"},C={class:"ring-chart"},T={class:"category-list"},I={class:"category-name"},j={class:"category-value"},B={class:"module-card power-curve-module"},W={class:"power-chart"},_={class:"center-section"},D={class:"card map-card"},P={class:"map-control"},R={class:"control-top"},E={class:"control-value"},H={class:"card alarm-list-card"},N={class:"alarm-list-header"},O={class:"alarm-list-controls"},K={class:"control-item"},F={class:"control-item"},V={class:"alarm-table-container"},U={class:"alarm-table"},q={class:"status-tag pending"},G={class:"right-section"},J={class:"module-card alarm-pending-module"},Y={class:"alarm-pending-chart"},Q={class:"module-card alert-distribution-module"},X={class:"alert-distribution-content"},Z={class:"alert-ring-chart"},$={class:"alert-list"},ee={class:"alert-name"},ae={class:"alert-count"},te={class:"alert-percent"},le={class:"module-card alert-trend-module"},ie={class:"alert-trend-chart"},oe=g({__name:"index",setup(g){const oe=e(""),se=()=>{const e=new Date,a=e.getFullYear(),t=String(e.getMonth()+1).padStart(2,"0"),l=String(e.getDate()).padStart(2,"0"),i=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0"),s=String(e.getSeconds()).padStart(2,"0");oe.value="".concat(a,"-").concat(t,"-").concat(l," ").concat(i,":").concat(o,":").concat(s)},ne=a(()=>ue.value.length);a(()=>ue.value.filter(e=>"online"===e.status).length),a(()=>ue.value.filter(e=>"offline"===e.status).length);const de=a(()=>ue.value.filter(e=>"alarm"===e.status).length),re=a(()=>Math.floor(.5*de.value)),ce=a(()=>Math.floor(.3*de.value)),ve=a(()=>de.value-re.value-ce.value);e([{title:"关于系统升级维护的通知",time:"2026-01-10"},{title:"设备巡检计划安排",time:"2026-01-08"},{title:"新功能上线公告",time:"2026-01-05"},{title:"春节放假安排通知",time:"2026-01-02"}]),e([{title:"设备1过温报警",time:"2026-01-15 14:32:18"},{title:"设备2电流异常",time:"2026-01-15 14:28:45"},{title:"设备3电压过高",time:"2026-01-15 14:25:30"},{title:"设备4通信中断",time:"2026-01-15 14:20:12"},{title:"设备5功率过载",time:"2026-01-15 14:15:47"},{title:"设备6温度异常",time:"2026-01-15 14:10:22"},{title:"设备7电流波动",time:"2026-01-15 14:05:58"},{title:"设备8电压过低",time:"2026-01-15 14:00:33"},{title:"设备9通信超时",time:"2026-01-15 13:55:17"},{title:"设备10功率异常",time:"2026-01-15 13:50:02"},{title:"设备11过温报警",time:"2026-01-15 13:45:38"},{title:"设备12电流过高",time:"2026-01-15 13:40:23"},{title:"设备13电压波动",time:"2026-01-15 13:35:09"},{title:"设备14通信异常",time:"2026-01-15 13:30:44"},{title:"设备15功率过载",time:"2026-01-15 13:25:29"},{title:"设备16温度过高",time:"2026-01-15 13:20:14"},{title:"设备17电流异常",time:"2026-01-15 13:15:50"},{title:"设备18电压异常",time:"2026-01-15 13:10:35"},{title:"设备19通信中断",time:"2026-01-15 13:05:20"},{title:"设备20功率异常",time:"2026-01-15 13:00:05"},{title:"设备21过温报警",time:"2026-01-15 12:55:41"},{title:"设备22电流过高",time:"2026-01-15 12:50:26"},{title:"设备23电压过低",time:"2026-01-15 12:45:11"},{title:"设备24通信超时",time:"2026-01-15 12:40:56"},{title:"设备25功率过载",time:"2026-01-15 12:35:42"},{title:"设备26温度异常",time:"2026-01-15 12:30:27"},{title:"设备27电流波动",time:"2026-01-15 12:25:12"},{title:"设备28电压波动",time:"2026-01-15 12:20:58"},{title:"设备29通信异常",time:"2026-01-15 12:15:43"},{title:"设备30功率异常",time:"2026-01-15 12:10:28"}]);const ue=e([{name:"设备1",status:"online",longitude:116.4074,latitude:39.9042,city:"北京"},{name:"设备2",status:"alarm",longitude:121.4737,latitude:31.2304,city:"上海"},{name:"设备3",status:"online",longitude:113.2644,latitude:23.1291,city:"广州"},{name:"设备4",status:"offline",longitude:120.1551,latitude:30.2741,city:"杭州"},{name:"设备5",status:"online",longitude:104.0668,latitude:30.5728,city:"成都"},{name:"设备6",status:"online",longitude:118.7969,latitude:32.0603,city:"南京"},{name:"设备7",status:"alarm",longitude:123.4328,latitude:41.8045,city:"沈阳"},{name:"设备8",status:"online",longitude:114.0579,latitude:22.5431,city:"深圳"},{name:"设备9",status:"offline",longitude:119.3062,latitude:26.0745,city:"福州"},{name:"设备10",status:"online",longitude:117.2008,latitude:39.0842,city:"天津"},{name:"设备11",status:"online",longitude:108.9398,latitude:34.3416,city:"西安"},{name:"设备12",status:"alarm",longitude:106.5516,latitude:29.563,city:"重庆"},{name:"设备13",status:"online",longitude:113.6254,latitude:34.7466,city:"郑州"},{name:"设备14",status:"offline",longitude:125.3245,latitude:43.8171,city:"长春"},{name:"设备15",status:"online",longitude:112.5489,latitude:37.857,city:"太原"},{name:"设备16",status:"online",longitude:103.8235,latitude:36.058,city:"兰州"},{name:"设备17",status:"alarm",longitude:91.1175,latitude:29.6469,city:"拉萨"},{name:"设备18",status:"online",longitude:111.6708,latitude:40.8183,city:"呼和浩特"},{name:"设备19",status:"offline",longitude:102.7126,latitude:25.0406,city:"昆明"},{name:"设备20",status:"online",longitude:108.32,latitude:22.8241,city:"南宁"},{name:"潍坊设备1",status:"online",longitude:119.03,latitude:36.42,city:"潍坊"},{name:"潍坊设备2",status:"alarm",longitude:118.8,latitude:36.5,city:"潍坊"},{name:"潍坊设备3",status:"online",longitude:119.2,latitude:36.35,city:"潍坊"},{name:"潍坊设备4",status:"offline",longitude:118.5,latitude:36.6,city:"潍坊"},{name:"潍坊设备5",status:"online",longitude:119.5,latitude:36.25,city:"潍坊"},{name:"潍坊设备6",status:"alarm",longitude:118.9,latitude:36.7,city:"潍坊"},{name:"潍坊设备7",status:"online",longitude:119.3,latitude:36.45,city:"潍坊"},{name:"潍坊设备8",status:"offline",longitude:118.6,latitude:36.55,city:"潍坊"},{name:"潍坊设备9",status:"online",longitude:119.1,latitude:36.3,city:"潍坊"},{name:"潍坊设备10",status:"alarm",longitude:118.7,latitude:36.4,city:"潍坊"}]),me=e(null),pe=e(null),ye=e([]),be=e(null),fe=e(null),ge=e(null),he=e(null),xe=e(null),Se=e([{name:"其他设备报警",count:403,percent:41.16,color:"#10b981"},{name:"分合闸报警",count:384,percent:39.22,color:"#3b82f6"},{name:"电压报警",count:53,percent:5.41,color:"#06b6d4"},{name:"其他",count:139,percent:14.21,color:"#f59e0b"}]),we=e(!1),ke=e(!1),Le=e([{project:"DM100展板 (K1系列)",location:"070529 300号院,1单元",deviceNo:"21070529",line:"节点1",alarmType:"湿度上限报警",alarmTime:"04:53 2026-03-18",status:"未处理"},{project:"曼顿石岩展厅",location:"2号楼,12层,展厅配电",deviceNo:"98CC4D12D72E",line:"线路04",alarmType:"异常分闸",alarmTime:"05:02 2026-03-18",status:"未处理"},{project:"DM100展板 (K1系列)",location:"070529 300号院,1单元",deviceNo:"21070529",line:"节点1",alarmType:"湿度上限报警",alarmTime:"23:31 2026-03-18",status:"未处理"},{project:"DM100展板 (K1系列)",location:"070529 300号院,1单元",deviceNo:"21070529",line:"节点1",alarmType:"湿度上限报警",alarmTime:"14:37 2026-03-18",status:"未处理"},{project:"曼顿石岩展厅",location:"厅L10S 2号楼,12层,2号",deviceNo:"B813322F82A8",line:"总路",alarmType:"异常分闸",alarmTime:"01:41 2026-03-18",status:"未处理"}]),Me=e({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:"量(kWh)",nameTextStyle:{color:"#64748b",fontSize:10},splitLine:{lineStyle:{color:"#1e3a8a",type:"dashed"}},axisLine:{lineStyle:{color:"#1e3a8a"}},axisLabel:{color:"#64748b",fontSize:10}},series:[{name:"本月",data:[0,35,10,20,5,15,25],type:"line",smooth:!0,lineStyle:{color:"#00d4ff",width:2},itemStyle:{color:"#00d4ff"},areaStyle:{color:new b(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",itemStyle:{}},{type:"min",name:"Min",itemStyle:{}}],symbol:"rect",symbolSize:[36,28],symbolOffset:[0,-20]}}]}),ze=e([{name:"智能空开",value:22,color:"#3b82f6"},{name:"温湿度传感器",value:2,color:"#06b6d4"},{name:"烟雾报警器",value:2,color:"#8b5cf6"},{name:"水位水压",value:2,color:"#10b981"},{name:"其他",value:1,color:"#f59e0b"}]),Ae=a(()=>({series:[{type:"pie",radius:["45%","70%"],center:["40%","50%"],avoidLabelOverlap:!1,itemStyle:{borderRadius:8,borderColor:"#0f172a",borderWidth:2},label:{show:!1},data:ze.value.map(e=>({value:e.value,name:e.name,itemStyle:{color:e.color}}))}]})),Ce=e({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:["13:45","18:00","22:15","02:30","06:45","11:00","13:45"],axisLine:{lineStyle:{color:"#1e3a8a"}},axisLabel:{color:"#64748b",fontSize:10}},yAxis:{type:"value",name:"功率(kW)",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.944,0,0,0,1.8,0],type:"line",smooth:!0,lineStyle:{color:"#00d4ff",width:2},itemStyle:{color:"#00d4ff"},areaStyle:{color:new b(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"}]}}]});e({grid:{top:"10%",left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",data:["2026-01-03","2026-01-04","2026-01-05","2026-01-06","2026-01-07","2026-01-08","2026-01-09","2026-01-10","2026-01-11","2026-01-12"],axisLine:{lineStyle:{color:"#1e3a8a"}},axisLabel:{color:"#94a3b8",fontSize:10}},yAxis:{type:"value",min:0,max:30,interval:5,splitLine:{lineStyle:{color:"#1e3a8a",type:"dashed"}},axisLine:{lineStyle:{color:"#1e3a8a"}},axisLabel:{color:"#94a3b8",fontSize:10}},series:[{data:[10,12,15,20,25,28,25,20,15,10],type:"line",smooth:!0,lineStyle:{color:"#3b82f6",width:2},areaStyle:{color:new b(0,0,0,1,[{offset:0,color:"rgba(59, 130, 246, 0.3)"},{offset:1,color:"rgba(59, 130, 246, 0)"}])},symbol:"circle",symbolSize:6,itemStyle:{color:"#3b82f6"}}]}),a(()=>({series:[{name:"预警类型",type:"pie",radius:["40%","70%"],avoidLabelOverlap:!1,itemStyle:{borderRadius:10,borderColor:"#0f172a",borderWidth:2},label:{show:!1,position:"center"},emphasis:{label:{show:!0,fontSize:16,fontWeight:"bold",color:"#e2e8f0"}},labelLine:{show:!1},data:[{value:re.value,name:"过温报警",itemStyle:{color:"#3b82f6"}},{value:ce.value,name:"过载报警",itemStyle:{color:"#10b981"}},{value:ve.value,name:"漏电报警",itemStyle:{color:"#ef4444"}},{value:0,name:"智能断路器",itemStyle:{color:"#f59e0b"}},{value:0,name:"温湿度传感器",itemStyle:{color:"#8b5cf6"}},{value:0,name:"烟雾报警器",itemStyle:{color:"#ec4899"}}]}]})),a(()=>({series:[{name:"设备类型",type:"pie",radius:["40%","70%"],avoidLabelOverlap:!1,itemStyle:{borderRadius:10,borderColor:"#0f172a",borderWidth:2},label:{show:!1,position:"center"},emphasis:{label:{show:!0,fontSize:16,fontWeight:"bold",color:"#e2e8f0"}},labelLine:{show:!1},data:[{value:22,name:"智能空开",itemStyle:{color:"#3b82f6"}},{value:2,name:"温湿度传感器",itemStyle:{color:"#10b981"}},{value:2,name:"烟雾报警器",itemStyle:{color:"#f59e0b"}},{value:2,name:"水位水压",itemStyle:{color:"#8b5cf6"}},{value:1,name:"其他",itemStyle:{color:"#ec4899"}}]}]}));const Te=e({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:[4805,4850,4900,4958,5e3,5304],type:"line",smooth:!0,lineStyle:{color:"#00d4ff",width:2},itemStyle:{color:"#00d4ff"},areaStyle:{color:new b(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"}]}}]}),Ie=a(()=>({series:[{type:"pie",radius:["30%","60%"],center:["40%","50%"],avoidLabelOverlap:!1,itemStyle:{borderRadius:8,borderColor:"#0f172a",borderWidth:2},label:{show:!0,position:"center",formatter:"{total|979}\n{name|报警总数}",rich:{total:{fontSize:28,fontWeight:"bold",color:"#e2e8f0",lineHeight:35},name:{fontSize:14,color:"#94a3b8"}}},labelLine:{show:!1},data:Se.value.map(e=>({value:e.count,name:e.name,itemStyle:{color:e.color}}))}]})),je=e({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,100,50,0,0,0,0],type:"line",smooth:!0,lineStyle:{color:"#a855f7",width:2},itemStyle:{color:"#a855f7"},markPoint:{data:[{type:"max",name:"Max"},{type:"min",name:"Min"}]}},{name:"报警",data:[0,80,30,119,0,0,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,20,18,0,0,0,0],type:"line",smooth:!0,lineStyle:{color:"#f59e0b",width:2},itemStyle:{color:"#f59e0b"},markPoint:{data:[{type:"max",name:"Max"},{type:"min",name:"Min"}]}}]}),Be=e=>{const a="online"===e?"#10b981":"alarm"===e?"#ef4444":"#64748b";return'\n <div style="\n width: 12px;\n height: 12px;\n background-color: '.concat(a,";\n border-radius: 50%;\n border: 2px solid #fff;\n box-shadow: 0 0 10px ").concat(a,';\n "></div>\n ')},We=e=>{const a="online"===e.status?"在线":"alarm"===e.status?"告警":"离线",t="online"===e.status?"#10b981":"alarm"===e.status?"#ef4444":"#64748b";return'\n <div style="\n padding: 10px;\n background-color: rgba(15, 23, 42, 0.9);\n border: 1px solid #1e3a8a;\n border-radius: 4px;\n color: #e2e8f0;\n min-width: 150px;\n ">\n <div style="font-weight: bold; font-size: 14px; margin-bottom: 5px; color: #3b82f6;">'.concat(e.name,'</div>\n <div style="font-size: 12px; margin-bottom: 3px;">状态: <span style="color: ').concat(t,';">').concat(a,'</span></div>\n <div style="font-size: 12px;">城市: ').concat(e.city,"</div>\n </div>\n ")};t(()=>{se(),setInterval(se,1e3),setTimeout(()=>{"undefined"!=typeof AMap&&(me.value=new AMap.Map("chinaMap",{zoom:5,center:[116.4074,39.9042],mapStyle:"amap://styles/darkblue",viewMode:"2D",features:["bg","road","building","point"]}),ue.value.forEach(e=>{const a=new AMap.Marker({position:[e.longitude,e.latitude],title:e.name,content:Be(e.status)}),t=new AMap.InfoWindow({content:We(e),offset:new AMap.Pixel(0,-30)});a.on("click",()=>{t.open(me.value,a.getPosition())}),me.value.add(a),ye.value.push(a)}))},1e3),setTimeout(()=>{_e()},1500),setTimeout(()=>{De()},2e3),setTimeout(()=>{Pe()},2200),setTimeout(()=>{Re()},2400)});const _e=()=>{if(!be.value)return;const e=be.value;let a=0;const t=Me.value.xAxis.data.length;setInterval(()=>{e.dispatchAction({type:"showTip",seriesIndex:0,dataIndex:a}),a=(a+1)%t},2e3)},De=()=>{if(!fe.value)return;const e=fe.value;let a=0;const t=Ce.value.xAxis.data.length;setInterval(()=>{e.dispatchAction({type:"showTip",seriesIndex:0,dataIndex:a}),a=(a+1)%t},2e3)},Pe=()=>{if(!ge.value)return;const e=ge.value;let a=0;const t=Te.value.xAxis.data.length;setInterval(()=>{e.dispatchAction({type:"showTip",seriesIndex:0,dataIndex:a}),a=(a+1)%t},2e3)},Re=()=>{if(!xe.value)return;const e=xe.value;let a=0;const t=je.value.xAxis.data.length;setInterval(()=>{for(let t=0;t<3;t++)e.dispatchAction({type:"showTip",seriesIndex:t,dataIndex:a});a=(a+1)%t},2e3)};return(e,a)=>(i(),l("div",h,[o("div",x,[a[2]||(a[2]=o("div",{class:"logo"},[o("img",{src:y,alt:"logo"}),o("span",null,"星卡科技")],-1)),a[3]||(a[3]=o("div",{class:"title"},"安全用电预警平台",-1)),o("div",S,s(oe.value),1)]),o("div",w,[o("div",k,[o("div",L,[a[4]||(a[4]=n('<div class="module-header" data-v-1a9e1e3e><div class="module-title" data-v-1a9e1e3e><span class="title-icon" data-v-1a9e1e3e></span><span data-v-1a9e1e3e>用能趋势</span></div><div class="module-more" data-v-1a9e1e3e>远程遥控 ></div></div><div class="energy-stats" data-v-1a9e1e3e><div class="energy-item" data-v-1a9e1e3e><div class="energy-icon" data-v-1a9e1e3e><div class="icon-bg" data-v-1a9e1e3e><svg viewBox="0 0 24 24" fill="none" width="24" height="24" data-v-1a9e1e3e><path d="M13 2L3 14h9l-1 8 10-12h-9l1-8z" stroke="#00d4ff" stroke-width="2" fill="none" data-v-1a9e1e3e></path></svg></div><div class="energy-label" data-v-1a9e1e3e>用电量<br data-v-1a9e1e3e><span class="unit" data-v-1a9e1e3e>kW·h</span></div></div><div class="energy-values" data-v-1a9e1e3e><div class="value-item" data-v-1a9e1e3e><span class="value-label" data-v-1a9e1e3e>本年</span><span class="value-num blue" data-v-1a9e1e3e>833</span></div><div class="value-item" data-v-1a9e1e3e><span class="value-label" data-v-1a9e1e3e>本月</span><span class="value-num blue" data-v-1a9e1e3e>224</span></div><div class="value-item" data-v-1a9e1e3e><span class="value-label" data-v-1a9e1e3e>昨日</span><span class="value-num blue" data-v-1a9e1e3e>14</span></div></div></div><div class="energy-item" data-v-1a9e1e3e><div class="energy-icon" data-v-1a9e1e3e><div class="icon-bg green" data-v-1a9e1e3e><svg viewBox="0 0 24 24" fill="none" width="24" height="24" data-v-1a9e1e3e><circle cx="12" cy="12" r="10" stroke="#10b981" stroke-width="2" fill="none" data-v-1a9e1e3e></circle><path d="M12 6v6l4 2" stroke="#10b981" stroke-width="2" fill="none" data-v-1a9e1e3e></path></svg></div><div class="energy-label" data-v-1a9e1e3e>碳排放<span class="help-icon" data-v-1a9e1e3e>?</span><br data-v-1a9e1e3e><span class="unit" data-v-1a9e1e3e>kgCO₂</span></div></div><div class="energy-values" data-v-1a9e1e3e><div class="value-item" data-v-1a9e1e3e><span class="value-label" data-v-1a9e1e3e>本年</span><span class="value-num cyan" data-v-1a9e1e3e>502.655</span></div><div class="value-item" data-v-1a9e1e3e><span class="value-label" data-v-1a9e1e3e>本月</span><span class="value-num cyan" data-v-1a9e1e3e>134.777</span></div><div class="value-item" data-v-1a9e1e3e><span class="value-label" data-v-1a9e1e3e>昨日</span><span class="value-num cyan" data-v-1a9e1e3e>8.183</span></div></div></div></div>',2)),o("div",M,[d(r(f),{ref_key:"energyChartRef",ref:be,option:Me.value,autoresize:""},null,8,["option"])])]),o("div",z,[a[5]||(a[5]=o("div",{class:"module-header"},[o("div",{class:"module-title"},[o("span",{class:"title-icon"}),o("span",null,"设备分类")])],-1)),o("div",A,[o("div",C,[d(r(f),{option:Ae.value,autoresize:""},null,8,["option"])]),o("div",T,[(i(!0),l(c,null,v(ze.value,(e,a)=>(i(),l("div",{class:"category-item",key:a},[o("span",{class:"category-dot",style:p({backgroundColor:e.color})},null,4),o("span",I,s(e.name),1),o("span",j,s(e.value),1)]))),128))])])]),o("div",B,[a[6]||(a[6]=o("div",{class:"module-header"},[o("div",{class:"module-title"},[o("span",{class:"title-icon"}),o("span",null,"24小时设备功率曲线")]),o("div",{class:"module-more"},"查看详情 >")],-1)),o("div",W,[d(r(f),{ref_key:"powerChartRef",ref:fe,option:Ce.value,autoresize:""},null,8,["option"])])])]),o("div",_,[o("div",D,[a[9]||(a[9]=o("div",{class:"card-title",style:{display:"none"}},"设备分布",-1)),o("div",{class:"map-container-full",id:"chinaMap",ref_key:"chinaMap",ref:pe},[o("div",P,[o("div",R,[a[7]||(a[7]=o("div",{class:"control-title"},"设备总数量",-1)),o("div",E,s(ne.value),1)]),a[8]||(a[8]=n('<div class="control-bottom" data-v-1a9e1e3e><div class="control-title" data-v-1a9e1e3e>设备状态</div><div class="status-list" data-v-1a9e1e3e><div class="status-item" data-v-1a9e1e3e><div class="status-dot online" data-v-1a9e1e3e></div><span data-v-1a9e1e3e>在线</span></div><div class="status-item" data-v-1a9e1e3e><div class="status-dot alarm" data-v-1a9e1e3e></div><span data-v-1a9e1e3e>告警</span></div><div class="status-item" data-v-1a9e1e3e><div class="status-dot offline" data-v-1a9e1e3e></div><span data-v-1a9e1e3e>离线</span></div></div></div>',1))])],512)]),o("div",H,[o("div",N,[a[13]||(a[13]=o("div",{class:"alarm-list-title"},[o("span",{class:"title-decoration"}),o("span",null,"实时报警列表")],-1)),o("div",O,[o("label",K,[u(o("input",{type:"checkbox","onUpdate:modelValue":a[0]||(a[0]=e=>we.value=e)},null,512),[[m,we.value]]),a[10]||(a[10]=o("span",null,"包含预警",-1))]),o("label",F,[u(o("input",{type:"checkbox","onUpdate:modelValue":a[1]||(a[1]=e=>ke.value=e)},null,512),[[m,ke.value]]),a[11]||(a[11]=o("span",null,"只显示离线报警",-1))]),a[12]||(a[12]=o("div",{class:"expand-btn"},"展开",-1))])]),o("div",V,[o("table",U,[a[14]||(a[14]=o("thead",null,[o("tr",null,[o("th",null,"序号"),o("th",null,"项目"),o("th",null,"地点"),o("th",null,"设备号"),o("th",null,"线路"),o("th",null,"报警类型"),o("th",null,"报警时间"),o("th",null,"状态")])],-1)),o("tbody",null,[(i(!0),l(c,null,v(Le.value,(e,a)=>(i(),l("tr",{key:a},[o("td",null,s(a+1),1),o("td",null,s(e.project),1),o("td",null,s(e.location),1),o("td",null,s(e.deviceNo),1),o("td",null,s(e.line),1),o("td",null,s(e.alarmType),1),o("td",null,s(e.alarmTime),1),o("td",null,[o("span",q,s(e.status),1)])]))),128))])])])])]),o("div",G,[o("div",J,[a[15]||(a[15]=o("div",{class:"module-header"},[o("div",{class:"module-title"},[o("span",{class:"title-icon"}),o("span",null,"待处理报警")])],-1)),o("div",Y,[d(r(f),{ref_key:"alarmPendingChartRef",ref:ge,option:Te.value,autoresize:""},null,8,["option"])])]),o("div",Q,[a[16]||(a[16]=n('<div class="module-header" data-v-1a9e1e3e><div class="module-title" data-v-1a9e1e3e><span class="title-icon" data-v-1a9e1e3e></span><span data-v-1a9e1e3e>警情分布</span></div></div><div class="alert-tabs" data-v-1a9e1e3e><div class="alert-tab active" data-v-1a9e1e3e>二级报警</div><div class="alert-tab" data-v-1a9e1e3e>报警</div><div class="alert-tab" data-v-1a9e1e3e>预警</div></div>',2)),o("div",X,[o("div",Z,[d(r(f),{ref_key:"alertDistributionChartRef",ref:he,option:Ie.value,autoresize:""},null,8,["option"])]),o("div",$,[(i(!0),l(c,null,v(Se.value,(e,a)=>(i(),l("div",{class:"alert-item",key:a},[o("span",{class:"alert-dot",style:p({backgroundColor:e.color})},null,4),o("span",ee,s(e.name),1),o("span",ae,s(e.count),1),o("span",te,s(e.percent)+"%",1)]))),128))])])]),o("div",le,[a[17]||(a[17]=o("div",{class:"module-header"},[o("div",{class:"module-title"},[o("span",{class:"title-icon"}),o("span",null,"警情趋势")])],-1)),o("div",ie,[d(r(f),{ref_key:"alertTrendChartRef",ref:xe,option:je.value,autoresize:""},null,8,["option"])])]),a[18]||(a[18]=n('<div class="module-card work-order-module" data-v-1a9e1e3e><div class="module-header" data-v-1a9e1e3e><div class="module-title" data-v-1a9e1e3e><span class="title-icon" data-v-1a9e1e3e></span><span data-v-1a9e1e3e>工单管理</span></div><div class="module-more" data-v-1a9e1e3e>统计报告 ↓</div></div><div class="work-order-content" data-v-1a9e1e3e><div class="work-order-item" data-v-1a9e1e3e><div class="order-icon" data-v-1a9e1e3e><svg width="40" height="40" viewBox="0 0 24 24" fill="none" data-v-1a9e1e3e><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5" stroke="#3b82f6" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-1a9e1e3e></path></svg></div><div class="order-info" data-v-1a9e1e3e><div class="order-label" data-v-1a9e1e3e>隐患查询</div><div class="order-count white" data-v-1a9e1e3e>110</div></div></div><div class="work-order-item" data-v-1a9e1e3e><div class="order-icon" data-v-1a9e1e3e><svg width="40" height="40" viewBox="0 0 24 24" fill="none" data-v-1a9e1e3e><path d="M12 6v6l4 2" stroke="#3b82f6" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-1a9e1e3e></path><circle cx="12" cy="12" r="10" stroke="#3b82f6" stroke-width="2" data-v-1a9e1e3e></circle></svg></div><div class="order-info" data-v-1a9e1e3e><div class="order-label" data-v-1a9e1e3e>处理中</div><div class="order-count cyan" data-v-1a9e1e3e>0</div></div></div><div class="work-order-item" data-v-1a9e1e3e><div class="order-icon" data-v-1a9e1e3e><svg width="40" height="40" viewBox="0 0 24 24" fill="none" data-v-1a9e1e3e><path d="M9 11l3 3L22 4" stroke="#10b981" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-1a9e1e3e></path><path d="M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11" stroke="#10b981" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-1a9e1e3e></path></svg></div><div class="order-info" data-v-1a9e1e3e><div class="order-label" data-v-1a9e1e3e>完成工单</div><div class="order-count green" data-v-1a9e1e3e>14</div></div></div></div></div>',1))])])]))}},[["__scopeId","data-v-1a9e1e3e"]]);export{oe as default};
|