GaochunDataBigScreen/index.html

2981 lines
148 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>高淳电网数据</title>
<script src="./js/echarts.js"></script>
<link rel="stylesheet" href="css/index.css">
<link rel="stylesheet" href="css/element.css">
<link rel="stylesheet" href="css/dialog.css">
</head>
<body>
<script src="./js/vue.js"></script>
<script src="./js/element.js"></script>
<!-- <script src="/js/jquery.js"></script> -->
<script src="./js/axios.minV0.18.0.js"></script>
<script src="./js/draw.js"></script>
<div id="app">
<!-- 光伏发电站列表弹窗 -->
<div class="v-modal" style="z-index: 2000;background-color: rgba(0, 0, 0, .7);opacity: 1;" v-show="PVDialog">
<div class="pv_dialog">
<p class="pv_title"><span>光伏发电站列表</span><span class="pv_close" @click="PVDialog=false"></span></p>
<div class="pv_box">
<div class="pv_box_item" v-for="(item,index) in pvList">
<div :id="'pv_box_echart' + index"></div>
<div class="pv_box_data">
<div class="pv_box_data_item">
<p><i class="icon"></i><span>容量(MWp)</span></p>
<p>{{item.capacity}}</p>
</div>
<div class="pv_box_data_item">
<p><i class="icon"></i><span>功率(MW)</span></p>
<p>{{item.power}}</p>
</div>
</div>
</div>
</div>
<div class="pv_subtitle">
<span>实时数据</span>
</div>
<div class="pv_table">
<el-table :data="realTimeList" @row-click="selectRow" :header-row-style="getHeaderRowStyle"
cell-class-name="pv_cell" :row-class-name="getRowClass" style="width: 100%">
<el-table-column prop="id" label="序号" width="80">
</el-table-column>
<el-table-column prop="site" label="光伏厂站名称">
</el-table-column>
<el-table-column prop="district" label="区县">
</el-table-column>
<el-table-column prop="capacity" label="装机容量">
</el-table-column>
<el-table-column prop="type" label="光伏场站类型">
</el-table-column>
<el-table-column prop="date" label="发电时间">
</el-table-column>
<el-table-column prop="power" label="实时功率">
</el-table-column>
<el-table-column prop="simultaneityRate" label="同时率">
</el-table-column>
</el-table>
</div>
<div class="pv_subtitle2">
<span class="txt">数据详情</span>
<span style="margin:0 8px">——</span>
<span class="txt2">{{selectSite}}</span>
</div>
<!-- <ul>
<li></li>ite
</ul> -->
<div class="pv_tab">
<div style="display: flex;">
<div @click="tabSelect(index)" v-for="(item,index) in tabs" class="pv_tab_item">
<img :src="tabsIndex==index?item.select:item.default" alt=""
style="width: 112px;height:32px">
</div>
</div>
<div class="el-picker">
<span>发电日期:</span>
<el-date-picker v-model="value2" type="datetimerange" start-placeholder="开始日期"
end-placeholder="结束日期">
</el-date-picker>
</div>
</div>
<div class="pv_detail_echart">
</div>
</div>
</div>
<!-- 背景body -->
<div class="content_bg">
<!-- 背景头部 -->
<div class="top_bg">
<!-- 左边文字 -->
<div class="left_text" v-if="powerGridList">
{{powerGridList.title1}}<br>
{{powerGridList.title2}}<br>
{{powerGridList.title3}}<br>
</div>
<div class="left_text" v-else>
部门信条:夯实专业技术、精益调度管理、根植主动服务;<br>
部门管理目标:防患未然,争当安全哨兵;薪火相传,争当技能尖兵;<br>
文化引领,争当服务标兵,争当电网精兵。<br>
</div>
<!-- 背景文字图 -->
<div class="top_text">
</div>
<div class="right_text">
<div class="nowTime" style="display: inline-block;width: 450px;line-height: 40px;word-spacing: 2;">
<div style="width: 300px;display: inline-block;word-spacing: 1em;">
{{time}}
<span>|</span>
{{date}}
<span>{{week}}</span>
</div>
<span v-for="(s,i) in weatherMsg" :class="nowDay==getLastDate(getTimeByDay(i))?'not':''">
<span>
<i v-if="s.tq=='阴'||s.tq=='多云'" class="weatherIcon1"></i>
<i v-if="s.tq=='暴雨'" class="weatherIcon2"></i>
<i v-if="s.tq=='晴'" class="weatherIcon3"></i>
<i v-if="s.tq=='冰雹'" class="weatherIcon4"></i>
<i v-if="s.tq=='大风'" class="weatherIcon5"></i>
<i v-if="s.tq=='大雨'" class="weatherIcon6"></i>
<i v-if="s.tq=='雷电'" class="weatherIcon7"></i>
<i v-if="s.tq=='雷阵雨'" class="weatherIcon8"></i>
<i v-if="s.tq=='沙尘暴'" class="weatherIcon9"></i>
<i v-if="s.tq=='雾霾'" class="weatherIcon10"></i>
<i v-if="s.tq=='小雪'" class="weatherIcon11"></i>
<i v-if="s.tq=='小雨'" class="weatherIcon12"></i>
<i v-if="s.tq=='雪'" class="weatherIcon13"></i>
<i v-if="s.tq=='雨夹雪'" class="weatherIcon14"></i>
<i v-if="s.tq=='中雪'" class="weatherIcon15"></i>
<i v-if="s.tq=='中雨'" class="weatherIcon16"></i>
<i v-if="s.tq=='大雪'" class="weatherIcon17"></i>
{{s.tq}}<span
v-if="nowDay!=getLastDate(getTimeByDay(i))">{{getLastDate(getTimeByDay(i))}}</span><span
v-if="s.zgwd||s.zd">{{s.zdwd}}℃~{{s.zgwd}}℃</span>
</span>
</span>
</div>
</div>
</div>
<!-- 数据大屏内容 -->
<div class="content">
<!-- 布局的上两个框 -->
<div class="top_box">
<div class="left-plate" v-show="addClass==false">
<div class="border_d" style="height: 398px;">
<div>
<p class="text_l" v-if="powerGridList">
{{powerGridList.dwjs}}
</p>
<section class="job_img">
<span class="department_job">部门管理</span>
<span class="p1">调控运行管理</span>
<span class="p2">继保运行与管理</span>
<span class="p3">综合技术与管理</span>
<span class="p4">方式运行与管理</span>
<span class="p5">调度自动化运行化与管理</span>
<span class="p6">配网抢修指挥管理</span>
</section>
</div>
<div class="echart">
<canvas id="canvas" ref="canvas" width="220px" height="220"></canvas>
</div>
</div>
<div class="border_k" style="margin-top: 18px;">
<span class="k_title">高淳负荷曲线</span>
<div class="cable_echart" ref="cableEchart">
</div>
</div>
</div>
<!-- 中框 -->
<div :class="addClass==true?'middle-p':''" class="middle-plate">
<div class="middle-title" style="width:1300px">
<ul style="display: flex;">
<li v-for="(s,i) in middleTitle" :class="middleTitleIndex==i?'selectLi'+i:'li'+i"
@click="changeSence(s,i)">{{s}}</li>
<!-- <li style="background-image: url(/images/zl.png);width:146px">总览</li>
<li>10KV分布式电源</li>
<li>35KV线路一览</li>
<li>110KV线路一览</li>
<li>220KV线路一览</li>
<li style="width: 170px;">工单热力图</li> -->
</ul>
</div>
<div v-if="loadShow==false"
style="position: absolute;top: 10px;left: 6px;z-index: 1000;width: 1386px;height: 802px;border-radius: 40px;overflow: hidden;background-color: black;">
</div>
<div :class="addClass==true?'showMedia':''"
style="position: absolute;top: 10px;left: 6px;z-index: 0;width: 1386px;height: 801px;border-radius: 38px;overflow: hidden;">
<!-- 点击全屏显示 -->
<div class="fullBtn" v-show="addClass==false" @click="fullScreen">
</div>
<!-- 点击全屏退出 -->
<div class="closeFull" v-show="addClass==true" @click="addClass=false"></div>
<div class="dialog" v-if="clickShow">
<span class="dialogIcon" @click="closeDialog">
</span>
<p class="dialog-title">{{dialogTitle}}</p>
<div class="dialog-content">
<section class="dialog-item1">
<ul class="item1-title" style="display: flex;">
<li style="width: 90px;">并网单位</li>
<li style="width: 170px;">并网线路</li>
<li style="width: 106px;">所属厂站</li>
</ul>
<div class="dialog-box">
<div>
<ul class="item1-content" v-for="s in dialogList1"
style="display:flex;width: 100%;border-bottom: 2px solid #12485c;">
<li style="width: 90px;"><span>{{s.changzhan}}</span></li>
<li style="width: 170px;"><span>{{s.bwdw}}</span></li>
<li style="width: 106px;"><span>{{s.bwxl}}</span></li>
</ul>
</div>
</div>
</section>
<section class="dialog-item2">
<ul class="item2-title" style="width: 272px;">
<li style="width: 120px;">可用间隔</li>
<li style="width: 138px;">所属母线(10KV)</li>
</ul>
<div class="dialog-box">
<div>
<ul class="item2-content" v-for="s in dialogList2"
style="display:flex;width: 100%;border-bottom: 2px solid #12485c;">
<li style="width: 120px;"><span>{{s.kyjg}}</span></li>
<li style="width: 138px;"><span>{{s.ssmx}}</span></li>
</ul>
</div>
</div>
</section>
</div>
</div>
<iframe ref="media" id="media" style="width: 100%;height: 100%;" scrolling="no"
src="/GC_UnityWeb/index.html" frameborder="0">
</iframe>
</div>
</div>
<!-- 右框 -->
<div class="right-plate" v-show="addClass==false">
<div class="border_k">
<p class="k_title"><span>10KV光伏发电数据</span><span class="detail-btn"
@click="openPvView"></span></p>
<!-- 右边第一个图 -->
<div class="kv_echart" ref="kvEchart">
</div>
</div>
<div class="border_d" style="margin-top: 18px;height: 398px;">
<div class="title_d">
<p><span>产业用电量</span></p>
<p><span>低压充电桩</span></p>
<p><span>高压充电桩</span></p>
</div>
<!-- 右边第二个图 -->
<div class="echart3" ref="echart3">
</div>
</div>
</div>
</div>
<!-- 底部的四个边框 -->
<div class="bottom_box" v-show="addClass==false">
<div class="border_d">
<section class="alnot_msg">
<div class="alnot_h" id="alnot_title">
<p v-for="(s,i) in alnotTitle" :class="alnotIndex==i?'selectTitle'+i:'title'+i"
@click="updateAlnot(i)">{{s}}</p>
<!-- <p class="title_1">风险预警</p>
<p class="title_2" style="color: #fff;">告警信息</p>
<p class="title_3" style="width: 180px;">保单申请</p> -->
</div>
<div id="alnot_content">
<div class="alnot_c" v-if="alnotIndex==0">
<section class="al_header">
<p style="width:195px"><span>主题</span></p>
<p style="width:180px"><span>事由</span></p>
<p style="width:70px"><span>风险等级</span></p>
<p style="width:187px"><span>开始时间</span></p>
<p style="width: 187px;"><span>结束时间</span></p>
</section>
<div class="alnot_border" ref="alnotBorder" @mouseleave="openTimer1"
@mouseover="clearTimer1">
<div ref="alnotSliderContent">
<section v-for="(s,i) in tableData1" @mouseleave="hideMack(i)"
@mouseover="showMack(i)" class="table_c tip1">
<div ref="tip_mack" class="tip_mack1"></div>
<p style="width:195px" class="sub"><span>{{s.id}}</span></p>
<p style="width:180px" class="mainContent"><span>{{s.date}}</span></p>
<p style="width:70px"><span>{{s.address}}</span></p>
<p style="width:187px"><span>{{s.msg}}</span></p>
<p style="width:187px"><span>{{s.end}}</span></p>
</section>
</div>
</div>
</div>
<div class="alnot_c" v-if="alnotIndex==1">
<section class="al_header">
<p style="width:100px"><span>序号</span></p>
<p style="width:220px"><span>告警时间</span></p>
<p style="width:220px"><span>所属厂站</span></p>
<p style="width:220px"><span>告警内容</span></p>
</section>
<div class="alnot_border" ref="alnotBorder" @mouseleave="openTimer1"
@mouseover="clearTimer1">
<div ref="alnotSliderContent">
<section v-for="(s,i) in tableData2" @mouseleave="hideMack(i)"
@mouseover="showMack(i)" class="table_c tip1">
<div ref="tip_mack" class="tip_mack1"></div>
<p style="width:100px"><span>{{s.id}}</span></p>
<p style="width:220px"><span>{{s.date}}</span></p>
<p style="width:220px"><span>{{s.address}}</span></p>
<p style="width:220px"><span>{{s.msg}}</span></p>
</section>
</div>
</div>
</div>
<div class="alnot_c" v-if="alnotIndex==2">
<section class="al_header">
<p style="width:180px"><span>保电场所</span></p>
<p style="width:180px"><span>保电电源1</span></p>
<p style="width:180px"><span>保电电源2</span></p>
<p style="width:187px"><span>开始时间</span></p>
<p style="width: 187px;"><span>结束时间</span></p>
</section>
<div class="alnot_border" ref="alnotBorder" @mouseleave="openTimer1"
@mouseover="clearTimer1">
<div ref="alnotSliderContent">
<section v-for="(s,i) in tableData3" @mouseleave="hideMack(i)"
@mouseover="showMack(i)" class="table_c tip1">
<div ref="tip_mack" class="tip_mack1"></div>
<p style="width:180px"><span>{{s.bdcs}}</span></p>
<p style="width:180px"><span>{{s.bddy1}}</span></p>
<p style="width:180px"><span>{{s.bddy2}}</span></p>
<p style="width:187px"><span>{{s.starttime}}</span></p>
<p style="width: 187px;"><span>{{s.endtime}}</span></p>
</section>
</div>
</div>
</div>
</div>
</section>
</div>
<div class="border_d" style="width: 895px;">
<section class="alnot_msg">
<div class="alnot_h">
<p v-for="(s,i) in planTitle" :class="upActive==i?'plan'+i:'up'+i"
@click="updateIndex(i)">{{s}}
</p>
</div>
<div>
<div class="alnot_c" style="width: 854px;" v-if="upActive==0">
<section class="al_header" style="width: 854px;">
<p style="width: 44px;"><span>序号</span></p>
<p style="width: 100px;"><span>停电路线</span></p>
<p style="width: 170px;"><span>停电范围</span></p>
<p style="width: 132px;"><span>停电涉及的配变名称</span></p>
<p style="width: 70px;"><span>日期</span></p>
<p style="width: 68px;"><span>开工时间</span></p>
<p style="width: 80px;"><span>竣工时间</span></p>
<p style="width: 172px;"><span>工作内容</span></p>
</section>
<div class="alnot_border alnot_box" ref="planBorder" @mouseleave="openTimer2"
@mouseover="clearTimer2">
<div ref="planContent">
<section v-for="(s,i) in list1" class="table_c table_c_2">
<div class="tip_mack1"></div>
<p style="width: 44px;"><span>{{s.id}}</span></p>
<p style="width: 100px;"><span>{{s.name}}</span></p>
<p style="width: 170px;"><span>{{s.scope}}</span></p>
<p style="width: 132px;"><span>{{s.state}}</span></p>
<p style="width: 70px;"><span>{{s.date}}</span></p>
<p style="width: 68px;"><span>{{s.openTime}}</span></p>
<p style="width: 80px;"><span>{{s.closeTime}}</span></p>
<p style="width: 172px;"><span>{{s.job}}</span></p>
</section>
</div>
</div>
</div>
<!-- 营销部送电计划 -->
<div class="alnot_c" style="width: 854px;" v-if="upActive==1">
<section class="al_header" style="width: 854px;">
<p style="width: 70px;"><span>序号</span></p>
<p style="width: 100px;"><span>线路名称</span></p>
<p style="width: 170px;"><span>停(送)点线段</span></p>
<p style="width: 80px;"><span>操作性质</span></p>
<p style="width: 108px;"><span>日期</span></p>
<p style="width: 85px;"><span>停电时间</span></p>
<p style="width: 85px;"><span>送电时间</span></p>
<p style="width: 170px;"><span>工作内容</span></p>
</section>
<div class="alnot_border alnot_box" ref="planBorder" @mouseleave="openTimer2"
@mouseover="clearTimer2">
<div ref="planContent">
<section v-for="(s,i) in list2" class="table_c table_c_2">
<div class="tip_mack1"></div>
<p style="width: 70px;"><span>{{i+1}}</span></p>
<p style="width: 100px;"><span>{{s.xlmc}}</span></p>
<p style="width: 170px;"><span>{{s.tsdxd}}</span></p>
<p style="width: 80px;"><span>{{s.czxz}}</span></p>
<p style="width: 108px;"><span>{{s.rq}}</span></p>
<p style="width: 85px;"><span>{{s.tdsj}}</span></p>
<p style="width: 85px;"><span>{{s.sdsj}}</span></p>
<p style="width: 170px;" class="jobContent">
<span>{{s.gznr}}</span>
</p>
</section>
</div>
</div>
</div>
<div class="alnot_c" style="width: 854px;" v-if="upActive==2">
<section class="al_header" style="width: 854px;">
<p style="width: 50px;"><span>序号</span></p>
<p style="width: 100px;"><span>输变电路线</span></p>
<p style="width: 150px;"><span>输变电范围</span></p>
<p style="width: 130px;"><span>停电涉及的配变名称</span></p>
<p style="width:70px;"><span>日期</span></p>
<p style="width: 90px;"><span>开工时间</span></p>
<p style="width: 90px;"><span>竣工时间</span></p>
<p style="width: 163px;"><span>工作内容</span></p>
</section>
<div class="alnot_border alnot_box" ref="planBorder" @mouseleave="openTimer2"
@mouseover="clearTimer2">
<div ref="planContent">
<section v-for="(s,i) in list3" class="table_c table_c_2">
<div class="tip_mack1"></div>
<p style="width:50px;"><span>{{i+1}}</span></p>
<p style="width: 100px;"><span>{{s.sbdlx}}</span></p>
<p style="width: 150px;"><span>{{s.sbdfw}}</span></p>
<p style="width: 130px;"><span>{{s.tdsjdpbmc}}</span></p>
<p style="width: 70px;"><span>{{s.rq}}</span></p>
<p style="width: 90px;"><span>{{s.kgsj}}</span></p>
<p style="width: 90px;"><span>{{s.jgsj}}</span></p>
<p style="width: 163px;"><span>{{s.gznr}}</span></p>
</section>
</div>
</div>
</div>
</div>
</section>
</div>
<div class="border_d" style="width: 895px;">
<!-- 操作表 -->
<section class="order-box">
<div class="order-title">
<p v-for="(s,i) in orderTitle" :class="upOrder==i?'order-active'+i:'o'+i"
@click="updateOrderIndex(i)">{{s}}</p>
</div>
<div>
<div class="order-content" v-if="upOrder==0">
<p style="margin-bottom: 10px;">
<i class="wilf"></i>
<span style="font-size: 16px;
color: rgb(148, 202, 255);">
(待下令)
</span>
<span style="font-size: 16px;color: #fff;font-weight: bolder;">
西舍2号、薛城1号主变重载运方调整
</span>
</p>
<div>
<div style="position: relative;">
<div class="order-line1">
<p class="order-line2" ref="orderLine2"><span>{{speed}}</span></p>
</div>
<div class="order-time">
<span>
<i></i>
11/28 17:28
</span>
<span>
<i></i>
11/28 18:28
</span>
</div>
</div>
<!-- 操作 -->
<div class="operation">
<p class="current">
<span>当前操作: </span>
<span>合上10kV中杭国际#1配电室110A开关合环</span>
</p>
<p class="next" style="margin:15px 0 15px;">
<span>下一项操作: </span>
<span>拉开中杭#2线220开关解环</span>
</p>
</div>
<div class="test-form">
<p class="test-title">无关联检修单</p>
<section class="test-header">
<p style="width:100px"><span>编号</span></p>
<p style="width:100px"><span>操作方式</span></p>
<p style="width:100px"><span>方式校核</span></p>
<p style="width:100px"><span>开始时间</span></p>
<p style="width:100px"><span>受令人</span></p>
<p style="width:100px"><span>汇报人</span></p>
<p style="width:100px"><span>结束时间</span></p>
<p style="width:130px"><span>操作结果检查</span></p>
</section>
<div class="test-border">
<section class="test-content">
<p style="width:100px"><span>1490</span></p>
<p style="width: 100px;"><span>发令票</span></p>
<p style="width: 100px;"><span>操作班</span></p>
<p style="width: 100px;"><span></span></p>
<p style="width: 100px;"><span></span></p>
<p style="width: 100px;"><span></span></p>
<p style="width: 100px;"><span></span></p>
<p style="width: 130px;"><span></span></p>
</section>
</div>
</div>
</div>
</div>
<div class="alnot_c" style="width: 854px;" v-if="upOrder==1">
<section class="al_header" style="width: 854px;">
<p style="width: 90px;"><span>供电所</span></p>
<p style="width: 100px;"><span>变电站</span></p>
<!-- <p style="width: 170px;"><span></span></p> -->
<p style="width: 80px;"><span>配变名称</span></p>
<p style="width: 90px;"><span>重超载标识</span></p>
<p style="width: 68px;"><span>负载率</span></p>
<p style="width: 80px;"><span>额定容量</span></p>
<p style="width: 115px;"><span>额定电流</span></p>
<p style="width: 115px;"><span>最大运行电流</span></p>
<p style="width: 115px;"><span>发生时刻</span></p>
</section>
<div class="alnot_border alnot_box" ref="orderBorder" @mouseleave="openTimer3"
@mouseover="clearTimer3">
<div ref="orderContent">
<section v-for="(s,i) in list1" class="table_c table_c_2">
<div class="tip_mack1"></div>
<p style="width: 90px;"><span>供电所</span></p>
<p style="width: 100px;"><span>变电站</span></p>
<!-- <p style="width: 170px;"><span></span></p> -->
<p style="width: 80px;"><span>配变名称</span></p>
<p style="width: 90px;"><span>重超载标识</span></p>
<p style="width: 68px;"><span>负载率</span></p>
<p style="width: 80px;"><span>额定容量</span></p>
<p style="width: 115px;"><span>额定电流</span></p>
<p style="width: 115px;"><span>最大运行电流</span></p>
<p style="width: 115px;"><span>发生时刻</span></p>
</section>
</div>
</div>
</div>
<div class="alnot_c" style="width: 854px;" v-if="upOrder==2">
<section class="al_header" style="width: 854px;">
<p style="width: 90px;"><span>供电所</span></p>
<p style="width: 100px;"><span>变电站</span></p>
<!-- <p style="width: 170px;"><span></span></p> -->
<p style="width: 80px;"><span>线路名称</span></p>
<p style="width: 90px;"><span>配变名称</span></p>
<p style="width: 68px;"><span>越线类型</span></p>
<p style="width: 130px;"><span>越上限时长(分钟)</span></p>
<p style="width: 130px;"><span>越下限时长(分钟)</span></p>
<p style="width: 80px;"><span>额定容量</span></p>
<p style="width: 80px;"><span>发生时刻</span></p>
</section>
<div class="alnot_border alnot_box" ref="orderBorder" @mouseleave="openTimer3"
@mouseover="clearTimer3">
<div ref="orderContent">
<section v-for="(s,i) in list1" class="table_c table_c_2">
<div class="tip_mack1"></div>
<p style="width: 90px;"><span>供电所</span></p>
<p style="width: 100px;"><span>变电站</span></p>
<!-- <p style="width: 170px;"><span></span></p> -->
<p style="width: 80px;"><span>线路名称</span></p>
<p style="width: 90px;"><span>配变名称</span></p>
<p style="width: 68px;"><span>越线类型</span></p>
<p style="width: 130px;"><span>越上限时长(分钟)</span></p>
<p style="width: 130px;"><span>越下限时长(分钟)</span></p>
<p style="width: 80px;"><span>额定容量</span></p>
<p style="width: 80px;"><span>发生时刻</span></p>
</section>
</div>
</div>
</div>
<div class="alnot_c" style="width: 854px;" v-if="upOrder==3">
<section class="al_header" style="width: 854px;">
<p style="width: 130px;"><span>供电所</span></p>
<p style="width: 130px;"><span>变电站</span></p>
<p style="width: 130px;"><span>线路名称</span></p>
<p style="width: 130px;"><span>配变名称</span></p>
<p style="width: 120px;"><span>三相不平衡度</span></p>
<p style="width: 80px;"><span>负载率</span></p>
<p style="width: 80px;"><span>发生时刻</span></p>
</section>
<div class="alnot_border alnot_box" ref="orderBorder" @mouseleave="openTimer3"
@mouseover="clearTimer3">
<div ref="orderContent">
<section v-for="(s,i) in list1" class="table_c table_c_2">
<div class="tip_mack1"></div>
<p style="width: 130px;"><span>供电所</span></p>
<p style="width: 130px;"><span>变电站</span></p>
<p style="width: 130px;"><span>线路名称</span></p>
<p style="width: 130px;"><span>配变名称</span></p>
<p style="width: 120px;"><span>三相不平衡度</span></p>
<p style="width: 80px;"><span>负载率</span></p>
<p style="width: 80px;"><span>发生时刻</span></p>
</section>
</div>
</div>
</div>
</div>
</section>
</div>
<div class="border_x">
<!-- 重负载表 -->
<p class="heavyLoad-title" style="width: 200px;">重负载数据</p>
<div style="margin:58px auto;width: 366px;">
<section class="heavyLoad-header">
<p style="width: 78px;"><span>厂站</span></p>
<p style="width:124px"><span>母线</span></p>
<p style="width: 88px;"><span>电压值(KV)</span></p>
<p style="width:70px"><span>状态</span></p>
</section>
<div class="heavyLoad-content" ref="heavyLoadC">
<div class="heavyLoad-box" ref="heavyLoadValue">
<section class="heavyLoad-item" ref="item" v-for="s in heavyLoadList">
<div v-if="s.state=='越上限'" class="mark"></div>
<p style="width: 78px;"><span>{{s.name}}</span></p>
<p style="width:124px"><span>{{s.line}}</span></p>
<p style="width: 88px;"><span>{{s.value}}</span></p>
<p style="width:70px"><span>{{s.state}}</span></p>
</section>
</div>
</div>
<div id="heavySlider" v-if="heavyLoadList.length>4">
<div id="slider1" @mousedown="move" :style="{height:activeHeight+'px'}"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</script>
<script src="./js/autofit.js"></script>
<script src="./js/config.js"></script>
<script>
window.onload = function (ev) {
init({
dh: 1241,
dw: 3158,
el: '#app',
resize: true //是否监听resize事件默认是true
})
}
</script>
<script>
//三维的点击
function clickShow(val) {
app.dialogTitle = val
app.openDialog()
}
function loadHandle() {
app.loadMack()
}
// window.handleUnity = app.handleUnity
var app = new Vue({
el: '#app',
data: function () {
return {
tabsIndex: 0,
value2:'',
tabs: [{
default: './images/dialogCenter/nowday.png', select: './images/dialogCenter/nowday_select.png'
}, {
default: './images/dialogCenter/nowweek.png', select: './images/dialogCenter/nowweek_select.png'
}, {
default: './images/dialogCenter/nowmonth.png', select: './images/dialogCenter/nowmonth_select.png'
}, {
default: './images/dialogCenter/year.png', select: './images/dialogCenter/year_select.png'
}],
// 选中的名称
selectSite: '',
// 默认选中的table id
currentId: '',
// 实时数据
realTimeList: [
{
id: 1,
site: '晶徽高淳徽东光伏电站',
district: '高淳区',
capacity: '1.0098',
type: '全额上网分布式',
date: '2024-05-03 08:00:00',
power: '0.461681',
simultaneityRate: '45.72'
},
{
id: 2,
site: '南京江南环保光伏电站',
district: '高淳区',
capacity: '1.0098',
type: '全额上网分布式',
date: '2024-05-03 08:00:00',
power: '0.461681',
simultaneityRate: '45.72'
},
{
id: 3,
site: '迦南比逊高淳光伏电站',
district: '高淳区',
capacity: '1.0098',
type: '全额上网分布式',
date: '2024-05-03 08:00:00',
power: '0.461681',
simultaneityRate: '45.72'
},
{
id: 4,
site: '晶贯高淳贯通光伏电站',
district: '高淳区',
capacity: '1.0098',
type: '全额上网分布式',
date: '2024-05-03 08:00:00',
power: '0.461681',
simultaneityRate: '45.72'
},
{
id: 5,
site: '高淳毕业苏美达光伏电站',
district: '高淳区',
capacity: '1.0098',
type: '自发自用分布式',
date: '2024-05-03 08:00:00',
power: '0.461681',
simultaneityRate: '45.72'
},
{
id: 6,
site: '天如吉茂光伏电站',
district: '高淳区',
capacity: '1.0098',
type: '自发自用分布式',
date: '2024-05-03 08:00:00',
power: '0.461681',
simultaneityRate: '45.72'
},
{
id: 7,
site: '冠盛汽配光伏电站',
district: '高淳区',
capacity: '1.0098',
type: '自发自用分布式',
date: '2024-05-03 08:00:00',
power: '0.461681',
simultaneityRate: '45.72'
}
],
pvList: [
{
value: '52.31',
type: '(同时率)',
name: '合计',
capacity: '25.66192',
power: '11.330605'
},
{
value: '49.31',
type: '(同时率)',
name: '全额上网分布式',
capacity: '25.66192',
power: '11.330605'
},
{
value: '55.2',
type: '(同时率)',
name: '合计',
capacity: '25.66192',
power: '11.330605'
},
],
PVDialog: false,//光伏发电站列表显隐
tableData1: [{
id: '关于110kV古双2号线714线路检修停役的调度运行风险预警通知书,',
date: "110kV古双2号7143、7144、7145刀闸五防联锁验收及信号核对",
address: "6级",
msg: "2020/6/10 10:30:00",
end: '2020/6/13 10:30:00'
}, {
id: '关于110kV古双2号线714线路检修停役的调度运行风险预警通知书,',
date: "110kV古双2号7143、7144、7145刀闸五防联锁验收及信号核对",
address: "6级",
msg: "2020/6/10 10:30:00",
end: '2020/6/13 10:30:00'
}, {
id: '关于110kV古双2号线714线路检修停役的调度运行风险预警通知书,',
date: "110kV古双2号7143、7144、7145刀闸五防联锁验收及信号核对",
address: "6级",
msg: "2020/6/10 10:30:00",
end: '2020/6/13 10:30:00'
}, {
id: '关于110kV古双2号线714线路检修停役的调度运行风险预警通知书,',
date: "110kV古双2号7143、7144、7145刀闸五防联锁验收及信号核对",
address: "6级",
msg: "2020/6/10 10:30:00",
end: '2020/6/13 10:30:00'
}, {
id: '关于110kV古双2号线714线路检修停役的调度运行风险预警通知书,',
date: "110kV古双2号7143、7144、7145刀闸五防联锁验收及信号核对",
address: "6级",
msg: "2020/6/10 10:30:00",
end: '2020/6/13 10:30:00'
}
],
tableData2: [{
id: 1,
date: "2022-06-17 19:22:18",
address: "南京,高淳变",
msg: "132保护动作"
}, {
id: 2,
date: "2022-06-17 19:22:18",
address: "南京,高淳变",
msg: "132保护动作"
}, {
id: 3,
date: "2022-06-17 19:22:18",
address: "南京,高淳变",
msg: "132保护动作"
}, {
id: 4,
date: "2022-06-17 19:22:18",
address: "南京,高淳变",
msg: "132保护动作"
}, {
id: 5,
date: "2022-06-17 19:22:18",
address: "南京,高淳变",
msg: "132保护动作"
},
{
id: 6,
date: "2022-06-17 19:22:18",
address: "南京,高淳变",
msg: "132保护动作"
},
],
tableData3: [
{
id: '南京市高淳人民医院',
date: "10kV华圣线112",
address: "10kV双创线156",
msg: "2020/6/10 10:30:00",
end: "2020/6/13 10:30:00"
}, {
id: '南京市高淳人民医院',
date: "10kV华圣线112",
address: "10kV双创线156",
msg: "2020/6/10 10:30:00",
end: "2020/6/13 10:30:00"
}, {
id: '南京市高淳人民医院',
date: "10kV华圣线112",
address: "10kV双创线156",
msg: "2020/6/10 10:30:00",
end: "2020/6/13 10:30:00"
}, {
id: '南京市高淳人民医院',
date: "10kV华圣线112",
address: "10kV双创线156",
msg: "2020/6/10 10:30:00",
end: "2020/6/13 10:30:00"
}
],
list1: [{
id: 1,
name: "10kv朝平115线路",
scope: "10kv朝平115线路 朝平2号环网柜112开关停",
state: "不对外停电",
date: "5月25日",
openTime: "8:38",
closeTime: "10:30",
job: "110kv朝阳变10kv朝平线115线路 朝平线2号环网"
},
{
id: 2,
name: "10kv朝平115线路",
scope: "10kv朝平115线路 朝平2号环网柜112开关停",
state: "不对外停电",
date: "5月25日",
openTime: "8:38",
closeTime: "10:30",
job: "110kv朝阳变10kv朝平线115线路 朝平线2号环网"
}, {
id: 3,
name: "10kv朝平115线路",
scope: "10kv朝平115线路 朝平2号环网柜112开关停",
state: "不对外停电",
date: "5月25日",
openTime: "8:38",
closeTime: "10:30",
job: "110kv朝阳变10kv朝平线115线路 朝平线2号环网"
}, {
id: 3,
name: "10kv朝平115线路",
scope: "10kv朝平115线路 朝平2号环网柜112开关停",
state: "不对外停电",
date: "5月25日",
openTime: "8:38",
closeTime: "10:30",
job: "110kv朝阳变10kv朝平线115线路 朝平线2号环网"
}
],
list2: [{
id: 1,
name: "10kv朝平115线路",
scope: "10kv朝平115线路 朝平2号环网柜112开关停",
state: "不对外停电",
date: "5月25日",
openTime: "8:38",
closeTime: "10:30",
job: "110kv朝阳变10kv朝平线115线路 朝平线2号环网"
},
{
id: 2,
name: "10kv朝平115线路",
scope: "10kv朝平115线路 朝平2号环网柜112开关停",
state: "不对外停电",
date: "5月25日",
openTime: "8:38",
closeTime: "10:30",
job: "110kv朝阳变10kv朝平线115线路 朝平线2号环网"
}, {
id: 3,
name: "10kv朝平115线路",
scope: "10kv朝平115线路 朝平2号环网柜112开关停",
state: "不对外停电",
date: "5月25日",
openTime: "8:38",
closeTime: "10:30",
job: "南京高淳10kV秀建线蒋山砖瓦厂支线维修10kV秀建线144线路蒋山砖瓦厂支线#02杆支接JKLYJ-150线路181米至#06杆新立15米电杆1基、SD-13塔2基拆除蒋山砖瓦厂支线原#03杆-#05杆旧杆线。"
},
{
id: 4,
name: "10kv朝平115线路",
scope: "10kv朝平115线路 朝平2号环网柜112开关停",
state: "不对外停电",
date: "5月25日",
openTime: "8:38",
closeTime: "10:30",
job: "南京高淳10kV秀建线蒋山砖瓦厂支线维修10kV秀建线144线路蒋山砖瓦厂支线#02杆支接JKLYJ-150线路181米至#06杆新立15米电杆1基、SD-13塔2基拆除蒋山砖瓦厂支线原#03杆-#05杆旧杆线。"
}
],
list3: [],
heavyLoadList: [{
name: '风山变',
line: '10KV I段母线',
value: "10.72",
state: "越上限"
}, {
name: '风山变',
line: '10KV I段母线',
value: "10.72",
state: "越上限"
}, {
name: '风山变',
line: '10KV I段母线',
value: "10.72",
state: "正常"
}, {
name: '风山变',
line: '10KV I段母线',
value: "10.72",
state: "正常",
},
{
name: '风山变',
line: '10KV I段母线',
value: "10.72",
state: "越上限",
}
],
planTitle: [
'配网检修计划',
'营销部停(送)电工计划',
'输变电计划',
],
orderTitle: [
'网络化发令进度',
'配变重超载',
'电压正常',
"三相不平衡",
],
middleTitle: [
'总览',
'10KV分布式电源',
'35KV线路一览',
'110KV线路一览',
'220KV线路一览',
'工单热力图',
],
alnotTitle: [
'风险预警',
'告警信息',
'保电申请',
],
dialogList1: [
{
unit: "吉茂汽车",
circuit: '10KV桃园线134线路',
station: "双湖变",
},
{
unit: "吉茂汽车",
circuit: '10KV桃园线134线路',
station: "双湖变",
},
{
unit: "吉茂汽车",
circuit: '10KV桃园线134线路',
station: "双湖变",
}
],
dialogList2: [
{
interval: "备用162",
busLine: "VI段",
}
],
date: '',
time: "",
week: '',
weatherMsg: [],
nowDay: '',
lastTimeDay: [
],
//计划表索引
upActive: 0,
// 指令表索引
upOrder: 0,
alnotIndex: 1,
alontTimer: '',
clickShow: false,
loadShow: false,
middleTitleIndex: 0,
dialogTitle: '',
speed: '1/6',
// 定时器
timer1: '',
timer2: '',
timer3: '',
addClass: false,
activeHeight: 30,
// 电网信息介绍
powerGridList: null,
// 绘制echart 1
ctx: null,
// 10kv的数据
kvData: [],
// 产业用电量扇形图数据
pieData1: [],
pieData2: [],
pieData3: [],
// 温度数组
heatList: [],
baseUrl: config.baseUrl
}
},
created() {
this.getNowDate()
setInterval(() => {
this.getNowDate()
}, 1000);
this.getWeather()
this.alnotTimer = setInterval(this.updateAlnotTimer, 60000)
// 更改计划的定时器
setInterval(this.updatePlanTimer, 60000)
// 更改指令的定时器
setInterval(this.updateOrderTimer, 60000)
//获取告警信息的内容
this.getTotalData()
// 获取计划信息的内容
this.getPlanData()
this.getHeat()
},
mounted() {
},
methods: {
pvDetailChart() {
let chartDom = document.querySelector('.pv_detail_echart')
let myChart = echarts.init(chartDom);
let option = {
grid: {
left: '0',
right: '0',
top: '20%',
bottom: '0',
containLabel: true,
},
tooltip: {
trigger: 'axis',
backgroundColor: 'rgba(28, 65, 95, 0.90)',
borderColor: 'rgba(28, 65, 95, 0.90)',
textStyle: {
color: "#fff" //设置文字颜色
},
padding: [10, 10],
},
xAxis: {
type: 'category',
data: ['00:00', '03:00', '06:00', '09:00', '12:00', '15:00', '18:00', '21:00', '24:00'],
axisTick: {
show: false
},
splitLine: {
show: false,
lineStyle: {
color: 'rgba(13, 128, 161, 0.50)'
}
},
axisLabel: {
textStyle: {
color: '#fff'
}
},
axisLine: {
show: false
}
},
yAxis: {
name: '单位Kw/h',
nameTextStyle: {
color: '#fff',
padding: [0, -15, 0, 0]
},
type: 'value',
axisTick: {
show: false
},
splitLine: {
show: true,
lineStyle: {
color: 'rgba(13, 128, 161, 0.50)'
}
},
axisLabel: {
textStyle: {
color: '#fff'
}
},
axisLine: {
show: false
}
},
series: [
{
symbol: 'none',
name: '负荷率:',
smooth: true,
data: [150, 230, 224, 218, 135, 147, 260,120,25],
type: 'line'
}
]
};
myChart.setOption(option)
},
tabSelect(index) {
this.tabsIndex = index
},
// 获取行的class
getRowClass({ row }) {
if (this.currentId == row.id) {
return 'highlight-row pv_row'
}
return 'pv_row'
},
selectRow(row) {
this.currentId = row.id
this.selectSite = row.site
},
// 设置el-table表头的样式
getHeaderRowStyle() {
return 'background-color:rgba(11, 77, 108, 0.52);font-size:14px;color:rgba(34, 227, 255, 1);font-weight:700'
},
// 打开光伏发电站弹窗
openPvView() {
this.PVDialog = true
this.$nextTick(() => {
this.getPvData()
this.selectRow(this.realTimeList[0])
this.pvDetailChart()
})
},
getPvData() {
this.pvList.forEach((el, index) => {
this.$nextTick(() => {
this.darwPvChart('#pv_box_echart' + index, el)
})
})
},
// 绘制光伏发电站图表
darwPvChart(label, data) {
console.log(label);
data = [data]
let chartDom = document.querySelector(label)
let myChart = echarts.init(chartDom);
let option = {
series: (function () {
var result = [];
data.forEach(function (item) {
result.push({
name: '背景圈',
type: 'gauge',
radius: '130%',
center: ['50%', '65%'],
startAngle: 210,
endAngle: -30,
axisLine: { // 坐标轴线
lineStyle: { // 属性lineStyle控制线条样式
color: [
[
1, new echarts.graphic.LinearGradient(
0, 1, 0, 0, [{
offset: 0,
color: 'rgba(0, 148, 255, 0.10)',
},
{
offset: 1,
color: 'rgba(0, 148, 255, 0.10)',
}
]
)
],
],
width: 30
}
},
splitLine: { //分隔线样式
show: false,
},
axisLabel: { //刻度标签
show: false,
},
pointer: {
show: false,
},
axisTick: { //刻度样式
show: false,
},
detail: {
show: true,
offsetCenter: [0, '45%'],
textStyle: {
fontWeight: '700',
fontSize: 14,
color: 'rgba(192, 247, 255, 1)'
},
formatter: function () {
return item.name;
}
},
data: [{}]
},
{
name: '背景1',
type: 'gauge',
radius: '85%',
startAngle: 210,
center: ['50%', '65%'],
endAngle: -30,
axisLine: { // 坐标轴线
lineStyle: { // 属性lineStyle控制线条样式
color: [
[
1, new echarts.graphic.LinearGradient(
0, 1, 0, 0, [{
offset: 0,
color: 'rgba(7, 103, 174, 1)',
},
{
offset: 1,
color: 'RGBA(7, 103, 174, 1)',
}
]
)
],
],
width: 2
}
},
splitLine: { //分隔线样式
show: false,
},
axisLabel: { //刻度标签
show: false,
},
pointer: {
show: false,
},
axisTick: { //刻度样式
show: false,
},
detail: {
show: true,
offsetCenter: [0, '20%'],
textStyle: {
fontSize: 12,
color: 'rgba(255, 255, 255, 1)'
},
formatter: function (params) {
return item.type
},
},
data: [{}]
},
// 最外层含中间数据
{
name: item.name,
type: 'gauge',
radius: '130%',
center: ['50%', '65%'],
startAngle: 210,
endAngle: -30,
min: 0,
max: 100,
axisLine: {
show: true,
lineStyle: {
width: 30,
color: [
[
item.value / 100, new echarts.graphic.LinearGradient(
0, 1, 1, 0, [{
offset: 0.1,
color: 'rgba(0, 148, 255, 0)',
},
{
offset: 0.7,
color: 'rgba(0, 148, 255, 1)',
},
{
offset: 1,
color: 'rgba(255, 255, 255, 1)',
}
]
)
],
[
1, 'rgba(255,255,255,.0)'
]
]
}
},
axisTick: {
show: 0,
},
splitLine: {
show: 0,
},
axisLabel: {
show: 0
},
pointer: {
show: false,
},
detail: {
show: true,
offsetCenter: [0, '-10%'],
formatter: function (params) {
return item.value + "%";
},
textStyle: {
fontSize: 30,
color: 'rgba(0,255,255,1)'
}
},
itemStyle: {
color: 'rgba(255, 36, 74,.3)',
},
data: [{
value: item.value
}]
});
});
return result;
})()
};
myChart.setOption(option)
},
// 查询电网介绍
getPower() {
axios.get(this.baseUrl + '/Handler/Dwjs.ashx').then(res => {
if (res.data.state == true) {
this.powerGridList = res.data.data
this.render();
}
})
},
// 查询温度
// 查询10kv光伏发电数据
getKvData() {
axios.get(this.baseUrl + '/Handler/Gffdsj10kv.ashx').then(res => {
if (res.data.state == true) {
this.kvData = res.data.data
this.drawEchart2()
}
})
},
// 查询产业用电量
getEstate() {
Promise.all([
new Promise((resolve, reject) => {
axios.get(this.baseUrl + '/Handler/Cyydl.ashx').then(res => {
resolve(res)
}).catch(e => {
reject(e)
})
}),
new Promise((resolve, reject) => {
axios.get(this.baseUrl + '/Handler/Dycdz.ashx').then(res => {
resolve(res)
}).catch(e => {
reject(e)
})
}),
new Promise((resolve, reject) => {
axios.get(this.baseUrl + '/Handler/Gycdz.ashx').then(res => {
resolve(res)
}).catch(e => {
reject(e)
})
}),
],
).then(res => {
console.log(res);
res.forEach((val, index) => {
if (index == 0) {
this.pieData1 = val.data.data
} else if (index == 2) {
this.pieData2 = val.data.data
} else {
this.pieData3 = val.data.data
}
})
this.drawEchart3()
})
},
// 获取配网检修计划的一系列数据
getPlanData() {
axios.get(this.baseUrl + '/Handler/Yybtsd.ashx').then(res => {
this.list2 = res.data.data
})
axios.get(this.baseUrl + '/Handler/Sbdjh.ashx').then(res => {
this.list3 = res.data.data
})
},
getTotalData() {
// 保电申请数据
axios.get(this.baseUrl + '/Handler/Bdsq.ashx').then(res => {
this.tableData3 = res.data.data
})
},
// 3d全屏显示
fullScreen() {
this.addClass = true
document.querySelector("#media").contentWindow.handleScreen()
},
// 风险预警表格按时切换
updateAlnotTimer() {
this.alnotIndex++
if (this.alnotTitle.length == this.alnotIndex) {
this.alnotIndex = 0
}
},
// 计划表格按时切换
updatePlanTimer() {
this.upActive++
if (this.planTitle.length == this.upActive) {
this.upActive = 0
}
},
// 网络化发令进度
updateOrderTimer() {
this.upOrder++
if (this.orderTitle.length == this.upOrder) {
this.upOrder = 0
}
},
// 切换底部第一个表格的内容
updateAlnot(i) {
this.alnotIndex = i
},
// 切换中间图的场景
changeSence(s, index) {
this.middleTitleIndex = index
let val = s.split("一")[0];
document.getElementById("media").contentWindow.handle(val);
},
loadMack() {
this.loadShow = true
},
closeDialog() {
this.clickShow = false
},
// 中间图的弹框内容
openDialog() {
this.clickShow = true
let data = new URLSearchParams()
data.append('changzhan', this.dialogTitle)
axios.post(this.baseUrl + '/Handler/Changzhan.ashx', data, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
}).then(res => {
if (res.data.state == true) {
this.dialogList1 = res.data.data.bw_list
this.dialogList2 = res.data.data.kyjg_list
}
})
},
// 获取几天后的时间
getTimeByDay(num) {
let today = new Date().getTime();
return today + 60 * 60 * 1000 * 24 * num;
},
// 获取时间
getNowDate() {
let newDate = new Date()
// console.log(newDate);
this.time = newDate.toLocaleTimeString('chinese', { hour12: false })
let year = newDate.getFullYear()
let month = newDate.getMonth() + 1
let day = newDate.getDate()
if (day < 10) {
day = '0' + day
}
this.date = year + "年" + month + "月" + day + "日"
this.nowDay = month + "月" + day + "日"
let week
// console.log();
switch (newDate.getDay()) {
case 1:
week = '星期一';
break;
case 2:
week = '星期二';
break;
case 3:
week = '星期三';
break;
case 4:
week = '星期四';
break;
case 5:
week = '星期五';
break;
case 6:
week = '星期六';
break;
case 0:
week = '星期天';
break;
}
this.week = week
},
// 获取后面天数的时间
getLastDate(lastDay) {
let newDate = new Date(lastDay)
let year = newDate.getFullYear()
let month = newDate.getMonth() + 1
let day = newDate.getDate()
if (day < 10) {
day = '0' + day
}
let sj = month + "月" + day + "日"
return month + "月" + day + "日"
},
// 获取天气
getWeather() {
axios.get(this.baseUrl + '/Handler/Weather.ashx?action=three').then(res => {
if (res.data.state == true) {
console.log(res.data.data, '22222');
console.log(res.data.data);
this.weatherMsg = res.data.data
}
})
},
// 获取三十一天温度接口
getHeat() {
axios.get(this.baseUrl + '/Handler/Weather.ashx').then(res => {
this.heatList = res.data.data
console.log(this.heatList, "温度");
this.drawEchart1()
})
},
// 显示遮罩层
showMack(index) {
let tip_macks = this.$refs.tip_mack
for (let i = 0; i < tip_macks.length; i++) {
if (index == i) {
tip_macks[i].style.display = 'block'
} else {
tip_macks[i].style.display = 'none'
}
}
},
hideMack(index) {
let tip_macks = this.$refs.tip_mack
for (let i = 0; i < tip_macks.length; i++) {
if (index == i) {
tip_macks[i].style.display = 'none'
}
}
},
// 点击修改配网检修计划的索引
updateIndex(index) {
this.upActive = index
},
updateOrderIndex(index) {
this.upOrder = index
},
// 滚动效果
sliderHandle(border, content) {
border.innerHtml = content.innerHtml
// console.log(this.$refs.alnotBorder.scrollTop);
if (border.scrollTop >= content.scrollHeight) {
border.scrollTop = 0
} else {
border.scrollTop++
}
},
// 触碰关闭滚动
clearTimer1() {
clearInterval(this.timer1)
},
clearTimer2() {
clearInterval(this.timer2)
},
clearTimer3() {
clearInterval(this.timer3)
},
// 进入打开滚动
openTimer1() {
this.timer1 = setInterval(() => { this.sliderHandle(this.$refs.alnotBorder, this.$refs.alnotSliderContent) }, 50);
},
openTimer2() {
this.timer2 = setInterval(() => { this.sliderHandle(this.$refs.planBorder, this.$refs.planContent) }, 50);
},
openTimer3() {
this.timer3 = setInterval(() => { this.sliderHandle(this.$refs.orderBorder, this.$refs.orderContent) }, 50);
},
move(e) {
// console.log(e);
let odiv = e.target;
// console.log(odiv);
let disY = e.clientY - odiv.offsetTop
// console.log(disY);
// 滚动条可以滚动的距离
let viewArea = 282 - this.activeHeight
// console.log(viewArea, "viewArea");
// 滚动区域的高度
let bgHeight = this.$refs.heavyLoadValue.clientHeight
document.onmousemove = (e) => {
let top = e.clientY - disY;
if (top < 0 || top > viewArea) {
document.onmousemove = null
} else {
odiv.style.top = top + 'px';
this.$refs.heavyLoadValue.style.top = "-" + (bgHeight * top / 300) + "px"
}
}
document.onmouseup = (e) => {
document.onmousemove = null;
document.onmouseup = null;
};
},
drawArc(r, start, end, color) {
this.ctx.beginPath();
this.ctx.arc(110, 110, r, start * Math.PI / 180, end * Math.PI / 180, true);
this.ctx.strokeStyle = color;
this.ctx.stroke();
},
drawText(text, color, x, y, font) {
this.ctx.font = font + "px 'Arial'";
this.ctx.fillStyle = color;
this.ctx.fillText(text, x, y);
},
drawImage(src, x, y, width, height) {
//创建图片
var img = new Image();   // 创建一个<img>元素
img.onload = (() => {
this.ctx.drawImage(img, x, y, width, height)//绘制图片
})
img.src = src;
},
render() {
let total = this.powerGridList.benke + this.powerGridList.benkeyixia + this.powerGridList.shuoshi
let num = 360 / total
this.ctx.lineWidth = 7;
this.ctx.lineCap = "round";
this.drawArc(90, -90, -90 - num * this.powerGridList.benke, "#168fb4");
this.drawArc(70, -90, -90 - num * this.powerGridList.shuoshi, "#fdc03e");
this.drawArc(50, -90, -90 - num * this.powerGridList.benkeyixia, "#fb4412");
this.drawText("本科" + this.powerGridList.benke + "人", "#168fb4", 120, 25, 14);
this.drawText("硕士" + this.powerGridList.shuoshi + "人", "#fdc03e", 120, 45, 14);
this.drawText("本科下以" + this.powerGridList.benkeyixia + "人", "#fb4412", 120, 65, 14);
this.drawImage("images/学士帽.png", 90, 85, 49, 43);
this.drawText(total, "#25b7e5", 105, 145, 16);
},
drawEchart2() {
let myChart = echarts.init(this.$refs.kvEchart)
let XData = this.kvData.map(function (val, index) {
return val.yuefen + '月'
})
let bar1Data = this.kvData.map(function (val, index) {
return val.jianpai
})
let bar1Max = bar1Data.sort((a, b) => {
return b - a
})
let bar2Data = this.kvData.map(function (val, index) {
return val.tanzhi
})
let bar2Max = bar2Data.sort((a, b) => {
return b - a
})
let valueData = {
bar1: bar1Data,
bar2: bar2Data,
line1: this.kvData.map(function (val, index) {
return val.fbsgf
}),
line2: this.kvData.map(function (val, index) {
return val.jhxly
}),
line3: this.kvData.map(function (val, index) {
return val.jgxly
}),
line4: this.kvData.map(function (val, index) {
return val.jnbx
}),
line5: this.kvData.map(function (val, index) {
return val.jnhb
})
}
// 取五个对应电量的最大值
let lineMaxList = [valueData.line1.sort((a, b) => { return b - a })[0],
valueData.line2.sort((a, b) => { return b - a })[0],
valueData.line3.sort((a, b) => { return b - a })[0],
valueData.line4.sort((a, b) => { return b - a })[0],
valueData.line5.sort((a, b) => { return b - a })[0]]
let lineMax = lineMaxList.sort((a, b) => { return b - a })[0]
let option = {
graphic: [
{
type: 'text',
z: 100,
left: 15,
top: 3,
style: {
fill: "#fff",
text: "电量\n\n万千瓦时",
font: "12px Microsoft YaHei"
}
},
{
type: 'text',
z: 100,
right: 82,
top: 0,
style: {
fill: "#32d1dc",
text: "减排\n\nkg",
font: "12px Microsoft YaHei"
}
},
{
type: 'text',
z: 100,
right: 40,
top: 0,
style: {
fill: "#2066be",
text: "碳值\n\nkgce",
font: "12px Microsoft YaHei"
}
}
],
tooltip: {
trigger: 'axis',
axisPointer: { // 坐标轴指示器,坐标轴触发有效
type: 'shadow', // 默认为直线,可选为:'line' | 'shadow'
shadowStyle: {
shadowColor: 'rgba(60, 161, 246, 0.43)',
shadowBlur: 10
}
},
backgroundColor: '#FFFFFF',
borderColor: 'rgba(60, 161, 246, 0.43)',
borderWidth: 1,
shadowColor: ' rgba(111, 193, 253, 0.35)',
shadowBlur: 10,
textStyle: {
rich: {
name: {
color: "rgba(36, 36, 36, 1)",
fontSize: 13,
align: 'center'
},
percent: {
fontFamily: 'DIN',
fontWeight: 500,
fontSize: 22,
color: '#1D91F5',
align: 'center'
},
}
}
},
grid: {
left: '2%',
right: '5%',
bottom: '10%',
top: '16%',
containLabel: true
},
legend: {
data: [{ name: "分布式光伏" }, { name: '晶徽新能源' }, { name: '晶贯新能源' }, { name: '伽男比逊', icon: 'image://images/echarts_line1.png' }, { name: '江南环保', icon: 'image://images/echarts_line2.png' }],
top: '5%',
textStyle: {
color: "rgba(255, 255, 255, 1)",
fontSize: 12
},
icon: 'rect',
itemWidth: 30,
itemHeight: 2,
itemGap: 25,
},
xAxis: {
type: 'category',
data: XData,
axisLine: {
lineStyle: {
color: '#084254'
}
},
axisLabel: {
textStyle: {
color: '#fff'
}
},
axisTick: {
show: false,
},
},
yAxis: [
{
// 电量y轴
type: 'value',
min: 0,
interval: lineMax / 6,
max: lineMax,
axisLabel: {
textStyle: {
color: "rgba(255, 255, 255, 1)"
},
formatter: function (val, index) {
return val.toFixed(1);
}
},
axisLine: {
show: true,
lineStyle: {
color: "#084254"
}
},
axisTick: {
show: false,
},
splitLine: {
show: true,
lineStyle: {
color: '#084254',
}
},
},
{
type: "value",
min: 0,
max: bar1Max[0],
interval: bar1Max[0] / 6,
offset: 30,
nameTextStyle: {
color: "rgba(185, 185, 185, 1)"
},
position: "right",
axisLine: {
show: false,
lineStyle: {
color: "#084254"
}
},
splitLine: {
show: false,
},
axisTick: {
show: false,
},
axisLabel: {
show: true,
formatter: function (val, index) {
return val.toFixed(1) + '万';
},
textStyle: {
color: "#32d1dc",
align: "right",
}
}
},
{
type: "value",
min: 0,
interval: bar2Max[0] / 6,
max: bar2Max[0],
offset: 70,
nameTextStyle: {
color: "rgba(185, 185, 185, 1)"
},
position: "right",
axisLine: {
show: false,
lineStyle: {
color: "#084254"
}
},
splitLine: {
show: false,
},
axisTick: {
show: false,
},
axisLabel: {
show: true,
formatter: function (val, index) {
return val.toFixed(1) + '万';
}, //右侧Y轴文字显示
textStyle: {
color: "#2066be",
align: "right"
}
}
}
],
series: [
// 2个bar
{
name: '减排',
type: 'bar',
barWidth: '12px',
roundCap: true,
yAxisIndex: 1,
itemStyle: {
borderRadius: [6, 6, 0, 0],
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: 'rgba(54, 225, 238, 1)'
}, {
offset: 1,
color: 'rgba(54, 225, 238, 0.2)'
}]),
},
data: valueData.bar1
},
{
name: '碳值',
type: 'bar',
barWidth: '12px',
yAxisIndex: 2,
itemStyle: {
borderRadius: [6, 6, 0, 0],
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: 'rgba(42, 133, 241, 1)'
}, {
offset: 1,
color: 'rgba(42, 133, 241, 0.2)'
}]),
},
data: valueData.bar2
},
{
name: "分布式光伏",
type: "line",
smooth: true,
yAxisIndex: 0, //使用的 y 轴的 index在单个图表实例中存在多个 y轴的时候有用
symbol: "emptycircle", //标记的图形为实心圆
symbolSize: 0, //标记的大小
itemStyle: {
color: '#1d98ff',
},
data: valueData.line1
},
{
name: "晶徽新能源",
type: "line",
smooth: true,
yAxisIndex: 0, //使用的 y 轴的 index在单个图表实例中存在多个 y轴的时候有用
symbol: "emptycircle", //标记的图形为实心圆
symbolSize: 0, //标记的大小
itemStyle: {
color: 'rgba(65, 197, 95, 1)',
},
data: valueData.line2
},
{
name: "晶贯新能源",
type: "line",
smooth: true,
yAxisIndex: 0, //使用的 y 轴的 index在单个图表实例中存在多个 y轴的时候有用
symbol: "emptycircle", //标记的图形为实心圆
symbolSize: 0, //标记的大小
itemStyle: {
color: '#ffb700',
},
data: valueData.line3
},
{
name: "伽男比逊",
type: "line",
smooth: true,
yAxisIndex: 0, //使用的 y 轴的 index在单个图表实例中存在多个 y轴的时候有用
symbol: "emptycircle", //标记的图形为实心圆
symbolSize: 0, //标记的大小
itemStyle: {
color: '#b8af18',
},
lineStyle: {
type: 'dashed'
},
data: valueData.line4
},
{
name: "江南环保",
type: "line",
smooth: true,
yAxisIndex: 0, //使用的 y 轴的 index在单个图表实例中存在多个 y轴的时候有用
symbol: "emptycircle", //标记的图形为实心圆
symbolSize: 0, //标记的大小
itemStyle: {
color: '#3efff1',
},
lineStyle: {
type: 'dashed'
},
data: valueData.line5
},
]
};
myChart.setOption(option)
},
drawEchart3() {
let myChart = echarts.init(this.$refs.echart3)
let datas = [
////////////////////////////////////////
[
{
name: '第一产业', value: 5.6, itemStyle: {
color: "#2c9e5e"
},
label: {
formatter: '{name|{b}}\n\n{text|用电量2252千万时与2020年同比} \n {bl|{d}%}',
rich: {
bl: {
color: "#2c9e5e",
fontSize: 13,
// fontWeight:'bloder'
}
}
}
},
{
name: '第二产业', value: 1,
itemStyle: {
color: "#f99e50"
},
label: {
formatter: '{name|{b}}\n\n{text|用电量2252千万时与2020年同比} \n {bl|{d}%}',
rich: {
bl: {
color: "#f99e50",
fontSize: 13,
// fontWeight:'bloder'
}
}
}
},
{
name: '第三产业', value: 2,
itemStyle: {
color: "#f42000"
},
label: {
formatter: '{name|{b}}\n\n{text|用电量2252千万时与2020年同比} \n {bl|{d}%}',
rich: {
bl: {
color: "#f42000",
fontSize: 13,
// fontWeight:'bloder'
}
}
}
},
{
name: '居民', value: 3,
itemStyle: {
color: "#1380cd"
},
label: {
formatter: '{name|{b}}\n\n{text|用电量2252千万时与2020年同比} \n {bl|{d}%}',
rich: {
bl: {
color: "#1380cd",
fontSize: 13,
// fontWeight:'bloder'
}
}
}
},
],
// ////////////////////////////////////////
[
{
name: '固城街道', value: 1,
itemStyle: {
color: "#f99e50"
},
label: {
formatter: '{name|{b}}\n\n{bl|{c}}',
rich: {
bl: {
color: "#f99e50",
fontWeight: "bloder",
}
}
}
},
{
name: '砖墙街道', value: 1,
itemStyle: {
color: "#f42000"
},
label: {
formatter: '{name|{b}}\n\n{bl|{c}}',
rich: {
bl: {
color: "#f42000",
fontWeight: "bloder",
}
}
}
},
{
name: '淳溪街道', value: 19,
itemStyle: {
color: "#2c9e5e"
},
label: {
formatter: '{name|{b}}\n\n{bl|{c}}',
rich: {
bl: {
color: "#2c9e5e",
fontWeight: "bloder",
}
}
}
},
{
name: '漆桥街道', value: 5,
itemStyle: {
color: "#159aff",
},
label: {
formatter: '{name|{b}}\n\n{bl|{c}}',
rich: {
bl: {
color: "#159aff",
fontWeight: "bloder",
}
}
}
},
],
[
{
name: '固城街道', value: 3,
itemStyle: {
color: "#063ca4"
},
label: {
formatter: '{name|{b}}\n\n{bl|{c}}',
rich: {
bl: {
color: "#063ca4",
fontWeight: "bloder",
}
}
}
},
{
name: '砖墙街道', value: 2,
itemStyle: {
color: "#f42000"
},
label: {
formatter: '{name|{b}}\n\n{bl|{c}}',
rich: {
bl: {
color: "#f42000",
fontWeight: "bloder",
}
}
}
},
{
name: '淳溪街道', value: 1,
itemStyle: {
color: "#2c9e5e"
},
label: {
formatter: '{name|{b}}\n\n{bl|{c}}',
rich: {
bl: {
color: "#2c9e5e",
fontWeight: "bloder",
}
}
}
},
{
name: '漆桥街道', value: 1,
itemStyle: {
color: "#f99e50"
},
label: {
formatter: '{name|{b}}\n\n{bl|{c}}',
rich: {
bl: {
color: "#f99e50",
fontWeight: "bloder",
}
}
}
},
{
name: '古柏街道', value: 5,
itemStyle: {
color: "#159aff"
},
label: {
formatter: '{name|{b}}\n\n{bl|{c}}',
rich: {
bl: {
color: "#159aff",
fontWeight: "bloder",
}
}
}
},
{
name: '桠溪街道', value: 3,
itemStyle: {
color: "#37e1ee"
},
label: {
formatter: '{name|{b}}\n\n{bl|{c}}',
rich: {
bl: {
color: "#37e1ee",
fontWeight: "bloder",
}
}
}
}
]
];
let colors = ['#2c9e5e', '#f99e50', "#f42000", "#1380cd", '#159aff', '#063ca4', '#37e1ee']
datas[0] = this.pieData1.map((val, index) => {
return {
name: val.chanye,
value: val.ydl,
itemStyle: {
color: colors[index]
},
label: {
formatter: `{name|{b}}\n\n{text|用电量${val.ydl}千万时与${val.nianfen}年同比} \n {bl|${val.tongbizf}%}`,
rich: {
bl: {
color: colors[index],
fontSize: 13,
// fontWeight:'bloder'
}
}
}
}
// console.log(val);
// item.name = val.chanye,
// item.value = val.ydl,
// item.label.formatter = `{name|{b}}\n\n{text|用电量${val.ydl}千万时与${val.nianfen}年同比} \n {bl|${val.tongbizf}%}`
})
datas[1] = this.pieData2.map((val, index) => {
return {
name: val.jiedao, value: val.shuliang,
itemStyle: {
color: colors[index]
},
label: {
formatter: '{name|{b}}\n\n{bl|{c}}',
rich: {
bl: {
color: colors[index],
fontWeight: "bloder",
}
}
}
}
})
datas[2] = this.pieData3.map((val, index) => {
return {
name: val.jiedao, value: val.shuliang,
itemStyle: {
color: colors[index]
},
label: {
formatter: '{name|{b}}\n\n{bl|{c}}',
rich: {
bl: {
color: colors[index],
fontWeight: "bloder",
}
}
}
}
// if (i == index) {
// item.name = val.jiedao,
// item.value = val.shuliang
// }
})
let option = {
tooltip: {},
grid: {
shadowColor: "red",
},
graphic: [{
type: 'image',
style: {
image: '/images/ec-shadow.png',
x: 74,
y: 54,
width: 150,
height: 150,
}
}, {
type: 'image',
style: {
image: '/images/ec-shadow.png',
x: 342,
y: 55,
width: 150,
height: 150,
}
}, {
type: 'image',
style: {
image: '/images/ec-shadow.png',
x: 622,
y: 55,
width: 150,
height: 150,
}
}],
series: [
{
type: 'pie',
radius: [30, 50],
top: -20,
width: 280,
// colorBy: 'data',
height: 300,
left: 10,
itemStyle: {
z: 100,
borderWidth: 2,
borderColor: "#0a1622"
},
label: {
fontWeight: 'bold',
position: 'outside',
lineHeight: 16,
color: '#fff',
alignTo: 'edge',
formatter: '{name|{b}}\n\n{text|用电量2252千万时与2020年同比}\n {bl|{d}%}',
// minMargin: 5,
width: 56,
overflow: "breakAll",
edgeDistance: 10,
lineHeight: 15,
rich: {
name: {
lineHeight: 25
},
text: {
fontSize: 10,
fontFamily: "Microsoft YaHei",
color: 'rgb(255, 255, 255)',
},
bl: {
lineHeight: 20,
}
}
},
labelLine: {
length: 50,
length2: 5,
showAbove: true,
minTurnAngle: 80
},
data: datas[0]
},
{
type: 'pie',
radius: [30, 50],
top: -20,
width: 280,
colorBy: 'data',
height: 300,
left: '33%',
itemStyle: {
borderWidth: 2,
borderColor: "#0a1622"
},
label: {
fontWeight: 'bold',
position: 'outside',
color: '#fff',
alignTo: 'edge',
formatter: '{b}\n{c}',
// minMargin: 5,
width: 56,
overflow: "breakAll",
edgeDistance: 10,
lineHeight: 15,
},
labelLine: {
length: 50,
length2: 5,
showAbove: true,
maxSurfaceAngle: 0
},
data: datas[1]
},
{
type: 'pie',
radius: [30, 50],
top: -20,
width: 280,
colorBy: 'data',
height: 300,
left: '66%',
itemStyle: {
borderWidth: 2,
borderColor: "#0a1622"
},
label: {
fontWeight: 'bold',
position: 'outside',
color: '#fff',
alignTo: 'edge',
formatter: '{b}\n{c}',
// minMargin: 5,
width: 56,
overflow: "breakAll",
edgeDistance: 10,
lineHeight: 15,
rich: {
time: {
fontSize: 10,
color: '#999'
}
}
},
labelLine: {
showAbove: true,
length: 50,
length2: 5,
maxSurfaceAngle: 0
},
data: datas[2]
}
]
};
myChart.setOption(option)
},
drawEchart1() {
let myChart = echarts.init(this.$refs.cableEchart)
var heatList = [null, null, null, null, null, null, 2, 7, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null]
this.heatList.forEach((val) => {
heatList[val.tian - 1] = val.zgwd
})
const option = {
backgroundColor: 'transparent',
tooltip: {
trigger: 'axis',
axisPointer: {
lineStyle: {
color: {
type: 'linear',
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [
{
offset: 0,
color: '#168fb4'
},
{
offset: 0.5,
color: '#fdc03e'
},
{
offset: 1,
color: '#fb4412'
}
],
global: false
}
}
}
},
legend: {
data: ['电量', '负荷', '温度'],
textStyle: {
fontSize: 16,
color: '#fff'
},
itemWidth: 30,//图标宽度
itemHeight: 2,//图标高度
itemGap: 60,
right: '10%',
top: '0',
icon: "rect",
},
grid: {
top: '15%',
left: '12%',
right: '5%',
bottom: '20%'
// containLabel: true
},
xAxis: [
{
type: 'category',
axisLine: {
show: true,
lineStyle: {
color: '#146dcd'
}
},
nameTextStyle: {
fontSize: "12px",
fontFamily: "Microsoft YaHei",
color: "rgb(223, 223, 223)",
},
axisLabel: {
color: '#fff',
// width: 100,
interval: "0"
},
splitLine: {
show: true,
lineStyle: {
color: '#00BFF3',
opacity: 0.23
}
},
axisTick: {
show: false,
},
boundaryGap: false,
data: [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19",
"20",
"21",
"22",
"23",
"24",
"25",
"26",
"27",
"28",
"29",
"30",
"31天"
] //this.$moment(data.times).format("HH-mm") ,
}
],
yAxis: [
{
type: 'value',
// nameLocation:'start',
min: '200',
max: '340',
interval: 20,
splitLine: {
show: true,
lineStyle: {
color: '#00BFF3',
opacity: 0.23
}
},
axisLine: {
show: false,
},
axisLabel: {
show: true,
textStyle: {
fontSize: '12',
color: '#0d8d27'
}
},
axisTick: {
show: false
},
},
{
type: 'value',
min: '200',
max: '340',
interval: 20,
position: "left",
offset: 30,
splitLine: {
show: true,
lineStyle: {
color: '#00BFF3',
opacity: 0.23
}
},
axisLine: {
show: false,
},
axisLabel: {
show: true,
textStyle: {
color: '#2CABE3'
}
},
axisTick: {
show: false
},
},
{
type: 'value',
min: '-20',
max: '50',
interval: 10,
splitLine: {
show: false,
lineStyle: {
color: '#00BFF3',
opacity: 0.23
}
},
axisLine: {
show: false,
},
axisLabel: {
show: true,
textStyle: {
color: '#e63332'
}
},
axisTick: {
show: false
},
}
],
graphic: [
{
type: 'text',
z: 100,
left: 13,
top: 0,
style: {
fill: "#168fb4",
text: " 电量\n\n千千瓦时",
font: "12px Microsoft YaHei"
}
},
{
type: 'text',
z: 100,
right: 10,
top: 0,
style: {
fill: "#e63332",
text: "温度\n\n℃",
font: "12px Microsoft YaHei"
}
},
{
type: 'text',
z: 100,
left: 73,
top: 0,
style: {
fill: "#0dae28",
text: "负荷\n\nMW",
font: "12px Microsoft YaHei"
}
}
],
series: [
{
name: '电量',
type: 'line',
smooth: true,
yAxisIndex: 1,
showAllSymbol: true,
symbol: 'none',
symbolSize: 5,
lineStyle: {
color: '#2CABE3'
},
itemStyle: {
color: '#168fb4',
borderColor: '#2CABE3',
},
data: [
229, 311, 234, 270, 280, 222, 322, 311, 302, 304, 306, 308, 234, 277, 233, 273, 220, 200, 300, 288, 277, 233, 273, 220, 255, 243, 265, 228, 200, 300, 288
] //data.values
},
{
name: '负荷',
type: 'line',
smooth: true,
showAllSymbol: true,
yAxisIndex: 0,
symbol: 'none',
symbolSize: 5,
lineStyle: {
color: '#0dae28'
},
itemStyle: {
color: '#0dae28',
borderColor: 'rgba(0, 255, 240, 1)',
lineStyle: {
color: 'rgba(0, 255, 240, 1)'
}
},
data: [
200, 300, 288, 277, 233, 273, 220, 200, 300, 288, 277, 233, 273, 220, 255, 243, 265, 229, 311, 234, 270, 280, 222, 322, 311, 302, 304, 306, 308, 234, 322] //data.values
},
{
name: '温度',
type: 'line',
smooth: true,
showAllSymbol: true,
yAxisIndex: 2,
symbol: 'none',
lineStyle: {
color: '#e63332'
},
itemStyle: {
color: '#e63332',
borderColor: 'rgba(0, 255, 240, 1)',
lineStyle: {
color: 'rgba(0, 255, 240, 1)'
}
},
data: heatList
}
]
};
myChart.setOption(option)
}
},
mounted() {
this.$nextTick(() => {
})
// 滑动块事件
let bgHeight = this.$refs.heavyLoadValue.clientHeight
// console.log(this.$refs.heavyLoadC.scrollTop);
let cHeight = this.$refs.heavyLoadC.clientHeight
// console.log(cHeight);
this.activeHeight = 282 * (cHeight / bgHeight)
this.ctx = this.$refs.canvas.getContext("2d")
this.sliderHandle(this.$refs.alnotBorder, this.$refs.alnotSliderContent)
this.timer1 = setInterval(() => { this.sliderHandle(this.$refs.alnotBorder, this.$refs.alnotSliderContent) }, 50);
this.timer2 = setInterval(() => {
this.sliderHandle(this.$refs.planBorder, this.$refs.planContent)
},
50);
if (this.upOrder != 0) {
this.timer3 = setInterval(() => { this.sliderHandle(this.$refs.orderBorder, this.$refs.orderContent) }, 50);
}
// 电网介绍请求
this.getPower()
//10kv数据请求
this.getKvData()
// 三个饼图
this.getEstate()
},
watch: {
upOrder: {
immediate: true,
handler(newVal, oldVal) {
if (newVal == 0 || oldVal == 0) {
clearInterval(this.timer3)
}
}
}
}
})
</script>
</body>
</html>