yanchengPowerSupply/src/views/index.vue

4075 lines
113 KiB
Vue

<template>
<div class="home">
<div class="left" id="left">
<div class="one" style="height: 48%">
<div class="cartitle" @click="routerTo('盐城地区分布光伏运行监测')">
<div class="titleFont">
<img src="./../assets/indexN/标题箭头.png" alt="" />
<span>盐城地区分布光伏运行监测</span>
<img src="./../assets/indexN/标题箭头1.png" alt="" />
</div>
</div>
<div class="content">
<div class="line">
<div class="total">
<div class="num" @click="openLineDetail(CompanyInfo.pdxl)">
<span style="font-size: 18px">户数高渗透率&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.pdxl">{{ CompanyInfo.pdxl }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">容量渗透率&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">能量渗透率&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
</div>
<div id="detailedTwo1"></div>
</div>
<div class="two" style="height: 49%">
<div class="cartitle" @click="routerTo('配网工程全过程物资审计')">
<div class="titleFont"><img src="./../assets/indexN/标题箭头.png" alt="" />
<span>配网工程全过程物资审计</span>
<img src="./../assets/indexN/标题箭头1.png" alt="" /></div>
</div>
<div class="content" style="display:inline">
<div class="line">
<div class="total">
<div class="num" @click="openLineDetail(CompanyInfo.pdxl)">
<span style="font-size: 18px">项目数&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.pdxl">{{ CompanyInfo.pdxl }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">预算费用总和</span>&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">计划数&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
</div>
<div id="barCharts"></div>
</div>
</div>
<div class="left1" id="left">
<div class="one" style="height: 48%">
<div class="cartitle" @click="routerTo('盐城东台区供电所数字化分析')">
<div class="titleFont"><img src="./../assets/indexN/标题箭头.png" alt="" />
<span>盐城东台区供电所数字化分析</span>
<img src="./../assets/indexN/标题箭头1.png" alt="" /></div>
</div>
<div class="content">
<div class="line">
<div class="total">
<div class="num" @click="openLineDetail(CompanyInfo.pdxl)">
<span style="font-size: 18px">升档配变数量&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.pdxl">{{ CompanyInfo.pdxl }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">降档配比数量</span>&nbsp;&nbsp;
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">负荷关注配变数量&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
</div>
<div id="horizontalChart"></div>
</div>
<div class="two" style="height: 49%">
<div class="cartitle" @click="routerTo('盐城供电公司配网电能质量管控')">
<div class="titleFont"><img src="./../assets/indexN/标题箭头.png" alt="" />
<span>盐城供电公司配网电能质量管控</span>
<img src="./../assets/indexN/标题箭头1.png" alt="" /></div>
</div>
<div class="content">
<div class="line">
<div class="total">
<div class="num" @click="openLineDetail(CompanyInfo.pdxl)">
<span style="font-size: 18px">月供电可靠性&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.pdxl">{{ CompanyInfo.pdxl }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">平均停电频次&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">平均停电时间&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
</div>
<div id="detailedOne" ></div>
</div>
</div>
<div class="middle" id="middle">
<div class="map" style="height: 100%">
<div class="imgboxone">
<div class="contents">
<div class="lines">
<div class="total">
<div class="num">
<span style="font-size: 18px">户数高渗透率</span>
<h5 style="font-size: 28px; color: yellow">3.40%</h5>
</div>
</div>
</div>
<div class="lines">
<div class="total">
<div class="num">
<span style="font-size: 18px">容量渗透率</span>
<h5 style="font-size: 28px; color: orange">0.01%</h5>
</div>
</div>
</div>
<div class="lines">
<div class="total">
<div class="num">
<span style="font-size: 18px">能量渗透率</span>
<h5 style="font-size: 28px; color: yellow">0.44%</h5>
</div>
</div>
</div>
</div>
</div>
<div class="imgboxtwo">
<ul class="contentUl">
<li>
<h5>发电客户数</h5>
<br />
<span style="color: yellow">4721</span>
</li>
<li>
<h5>变电站数量</h5>
<br />
<span style="color: orange">90</span>
</li>
<li>
<h5>台区总数</h5>
<br />
<span style="color: yellow">17416</span>
</li>
<li>
<h5>当前负载率</h5>
<br />
<span style="color: orange">40.19%</span>
</li>
</ul>
</div>
</div>
</div>
<div class="right" id="right">
<div class="one" style="height: 48%; width: 100%">
<div class="cartitle" @click="routerTo('乡村振兴电力综合指数')">
<!-- <div style="
width: 82%;
display: flex;
justify-content: space-between;
align-items: center;
"> -->
<div class="titleFont"><img src="./../assets/indexN/标题箭头.png" alt="" />
<span>乡村振兴电力综合指数</span>
<img src="./../assets/indexN/标题箭头1.png" alt="" /></div>
<!-- <div class="dateSelect">
<div style="text-indent: 15px" @click="handleDate(index)" :class="addColor(index)"
v-for="(item, index) in dateList" :key="index">
{{ item }}
</div>
</div> -->
<!-- </div> -->
</div>
<div class="content">
<div class="line">
<div class="total">
<div class="num" @click="openLineDetail(CompanyInfo.pdxl)">
<span style="font-size: 18px">月供电可靠性&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.pdxl">{{ CompanyInfo.pdxl }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">平均停电频次&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">平均停电时间&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
</div>
<div id="detailedFive"></div>
</div>
<div class="three" style="height: 48%; width: 100%">
<div class="cartitle" @click="routerTo('两高行业企业污染监测')">
<div class="titleFont"><img src="./../assets/indexN/标题箭头.png" alt="" />
<span>两高行业企业污染监测</span>
<img src="./../assets/indexN/标题箭头1.png" alt="" /></div>
</div>
<!-- <div class="three-content">
<div class="three-left">
<div id="detailedThree"></div>
</div>
<div class="three-right">
<ul>
<li v-for="s in gongdanList" @click="openGdDetail(s)">
{{ s.gd_type_name }}
<span style="color: #56fee2">{{ s.total }}</span>
</li>
</ul>
</div>
</div> -->
<div class="content" style="display:inline">
<div class="line">
<div class="total">
<div class="num" @click="openLineDetail(CompanyInfo.pdxl)">
<span style="font-size: 18px">项目数&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.pdxl">{{ CompanyInfo.pdxl }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">预算费用总和</span>&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">计划数&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
</div>
<div id="roseCharts"></div>
</div>
</div>
<div class="right1" id="right">
<!-- <div class="one" style="height: 635px; width: 100%"> -->
<div class="one" style="height:48%; width: 100%">
<div class="cartitle" @click="routerTo('农村生活污水治理设备电量分析')">
<!-- <div style="
width: 82%;
display: flex;
justify-content: space-between;
align-items: center;
"> -->
<div class="titleFont"><img src="./../assets/indexN/标题箭头.png" alt="" />
<span>农村生活污水治理设备电量分析</span>
<img src="./../assets/indexN/标题箭头1.png" alt="" /></div>
<!-- <div class="dateSelect">
<div style="text-indent: 15px" @click="handleDate(index)" :class="addColor(index)"
v-for="(item, index) in dateList" :key="index">
{{ item }}
</div>
</div> -->
<!-- </div> -->
</div>
<div class="content">
<div class="line">
<div class="total">
<div class="num" @click="openLineDetail(CompanyInfo.pdxl)">
<span style="font-size: 18px">户数高渗透率&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.pdxl">{{ CompanyInfo.pdxl }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">容量渗透率&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">能量渗透率&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
</div>
<div id="detailen"></div>
</div>
<!-- <div class="two" style="height: 340px">
<div class="cartitle">
<div class="titleFont">盐都供电质量统计</div>
</div>
<div id="detailedTwo"></div>
</div> -->
<div class="three" style="height: 48%; width: 100%">
<div class="cartitle" @click="routerTo('数字化排涝抗旱辅助及检修辅助决策')">
<div class="titleFont"><img src="./../assets/indexN/标题箭头.png" alt="" />
<span>数字化排涝抗旱辅助及检修辅助决策</span>
<img src="./../assets/indexN/标题箭头1.png" alt="" /></div>
</div>
<div class="content">
<div class="line">
<div class="total">
<div class="num" @click="openLineDetail(CompanyInfo.pdxl)">
<span style="font-size: 18px">户数高渗透率&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.pdxl">{{ CompanyInfo.pdxl }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">容量渗透率&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
<div class="line">
<div class="total">
<div class="num">
<span style="font-size: 18px">能量渗透率&nbsp;&nbsp;</span>
<span style="
font-size: 45px;
font-weight: 600;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(
to bottom,
rgb(189, 255, 231),
rgb(86, 244, 254)
);
" class="numText" :text="CompanyInfo.xlcd">{{ CompanyInfo.xlcd }}</span>
</div>
</div>
</div>
</div>
<div id="shuzihua"></div>
</div>
</div>
<div class="realTimeAlarm" v-show="realTimeAlarmShow">
<div class="content">
<img src="../assets/images/baojing.png" />
<div>都政线XXX环网柜间隔3发生局部放电故障</div>
</div>
</div>
<div class="alarmInformation" v-show="alarmInformationShow">
<div class="top">
<div class="title">报警详情信息</div>
<div class="close">
<img @click="handleClose" src="@/assets/images/close.png" style="cursor: pointer" />
</div>
</div>
<div class="content">
<div class="table user_skills">
<el-table :data="alarmInformationData" style="width: 100%; height: 100%"
:header-cell-style="{ 'text-align': 'center' }" :cell-style="{ 'text-align': 'center' }"
:row-class-name="rowClass">
<el-table-column label="序号" width="100" align="center">
<template slot-scope="scop">
{{ scop.$index + 1 }}
</template>
</el-table-column>
<el-table-column prop="cabinet_name" label="告警位置" align="center">
<!-- <template slot-scope="scope">
<div v-html="scope.row.name"></div>
</template> -->
</el-table-column>
<!-- <el-table-column prop="name" label="间隔" align="center">
</el-table-column> -->
<el-table-column prop="event_desc" label="告警信息" align="center">
</el-table-column>
<el-table-column prop="created_at" label="发生时间" align="center">
</el-table-column>
</el-table>
</div>
</div>
<el-pagination @current-change="handleCurrentChange" :current-page="page" :page-size="pageSize"
layout="prev, pager, next" :total="totals" v-if="pageShow">
</el-pagination>
</div>
<!-- <div style="height:40px;width:40px" class="suoxiao">
<img src="../assets/images/btnFangDa.png" style="height:40px;width:40px"/>
</div> -->
<div class="componentShow" v-if="modelOthers">
<keep-alive>
<component :is="componentShow" :ringMainUnit="device"></component>
</keep-alive>
</div>
<!-- 工单统计弹窗 -->
<div class="componentShow" v-if="orderItem != null">
<component :is="orderShow" :orderItem="orderItem"></component>
</div>
<!-- 故障跳闸明细 -->
<div class="componentShow" v-if="routeItem != null">
<component :is="routeShow" :routeItem="routeItem"></component>
</div>
<!-- 查询配电线路 -->
<div class="componentShow" style="display: block; height: calc(100% - 100px); top: 100px" v-if="lineItem != null">
<component :is="lineShow" :lineItem="lineItem"></component>
</div>
<audio controls="controls" hidden src="../assets/videos/police.wav" ref="audio"></audio>
</div>
</template>
<script>
import {
getCompanyInfo,
getLine,
getBanzugz,
getGdtj,
getDwbzgz,
getGdsgdzl,
getPbtyqk,
getCabinetInfo,
getCabinetList,
getfaultReportList,
getCabinetAlarmList,
} from "../api/index.js";
//引入echarts
import * as echarts from "echarts";
// 工单统计弹窗组件
import workOrder from "../component/workOrder.vue";
import ringMainUnit from "./HomePop/ringMainUnit.vue";
import routeDetail from "../component/routeDetail.vue";
// 线路详情
import lineDetail from "../component/lineDetail.vue";
export default {
name: "home",
components: {
ringMainUnit, //环网柜弹窗
workOrder, //工单统计弹窗
routeDetail, //线路故障跳闸明细
lineDetail, //线路详情弹窗
},
data() {
return {
pageShow: true,
totals: 5,
pageSize: 10,
page: 1,
threeImg: require("../assets/images/pieBorder.png"),
enlargeShow: true,
dataGzList: [
{
bz: "大冈",
chbc: 0,
chcg: 0,
jd: 0,
total: 0,
wchz: 0,
},
{
bz: "配网二班",
chbc: 0,
chcg: 0,
jd: 0,
total: 0,
wchz: 0,
},
{
bz: "配网一班",
chbc: 0,
chcg: 0,
jd: 0,
total: 0,
wchz: 0,
},
{
bz: "尚庄",
chbc: 0,
chcg: 0,
jd: 0,
total: 0,
wchz: 0,
},
{
bz: "秦南",
chbc: 0,
chcg: 0,
jd: 0,
total: 0,
wchz: 0,
},
{
bz: "郭猛",
chbc: 0,
chcg: 0,
jd: 0,
total: 0,
wchz: 0,
},
{
bz: "大纵湖",
chbc: 0,
chcg: 0,
jd: 0,
total: 0,
wchz: 0,
},
{
bz: "潘黄",
chbc: 0,
chcg: 0,
jd: 0,
total: 0,
wchz: 0,
},
{
bz: "学富",
chbc: 0,
chcg: 0,
jd: 0,
total: 0,
wchz: 0,
},
{
bz: "龙冈",
chbc: 0,
chcg: 0,
jd: 0,
total: 0,
wchz: 0,
},
{
bz: "西区",
chbc: 0,
chcg: 0,
jd: 0,
total: 0,
wchz: 0,
},
{
bz: "楼王",
chbc: 0,
chcg: 0,
jd: 0,
total: 0,
wchz: 0,
},
], //年故障数组
dateList: ["周", "月"],
acolor: true, //是否展示颜色
currentIndex: -1,
alarmInformationData: [],
alarmInformationShow: false, //报警详情信息弹窗
realTimeAlarmShow: false, //实时报警弹窗
modelOthers: false,
componentShow: "",
CompanyInfo: {
pdxl:'3.4%',
xlcd:'0.01%',
pdxl:'3.4%',
pdxl:'3.4%',
pdxl:'3.4%',
pdxl:'3.4%'
},
tableData: [],
btnArr: ["总览", "环网柜", "分支箱", "箱变", "开闭所"],
btnActive: 0,
iconGround: [
{
icon: require("@/assets/images/huanwanggui.png"),
name: "环网柜",
},
{
icon: require("@/assets/images/fenzhixiang.png"),
name: "分支箱",
},
{
icon: require("@/assets/images/xiangbian.png"),
name: "箱变",
},
{
icon: require("@/assets/images/kaibisuo.png"),
name: "开闭所",
},
],
btnEnlarge: [
{
icon: require("@/assets/images/btnTiShi.png"),
},
{
icon: require("@/assets/images/btnFangDa.png"),
},
],
btnEnlarge1: [
{
icon: require("@/assets/images/btnTiShi.png"),
},
{
icon: require("@/assets/images/suoxiao.png"),
},
],
options: [
{
value: "",
label: "",
},
],
value: "",
topContent: [
{
name: "配变数量",
count: "",
},
{
name: "重复停运台次",
count: "",
},
{
name: "配变重复停运率",
count: "",
},
],
device: "",
tableData: [],
tableKey: +new Date(),
scrollTop: 0, //table距离顶部距离
option: null,
myChartBin: null,
gongdanList: [
{
gd_type_id: "",
gd_type_name: "频繁停电",
total: 0,
},
{
gd_type_id: "",
gd_type_name: "处理时间长",
total: 0,
},
{
gd_type_id: "",
gd_type_name: "运检类投诉",
total: 0,
},
{
gd_type_id: "",
gd_type_name: "运检类意见",
total: 0,
},
{
gd_type_id: "",
gd_type_name: "民事赔偿",
total: 0,
},
{
gd_type_id: "",
gd_type_name: "多次停电",
total: 0,
},
],
// 工单
orderItem: null,
orderShow: "",
// 线路故障明细
routeItem: null,
routeShow: "",
// 配电线路
lineItem: null,
lineShow: "",
timer: null, //定时器
emergencyList: [], //告警数据
rowTime: "",
};
},
created() { },
mounted() {
// this.beginShowing();
// 监听浏览器窗口大小变化
window.onresize = () => {
clearInterval(this.myTimer);
this.beginShowing();
};
this.detailedTwo11()
this.horizontalChart()
this.detailedOne()
this.barCharts()
this.detailedFive()
this.shuzihuaCharts()
this.roseCharts()
this.detailen1();
this.handleDate(0);
let that = this;
//历史故障接口
let faultData = {
token: localStorage.getItem("token"),
pageSize: "500",
page: "1",
};
},
// beforeDestroy() {
// this.dataDestroy(); // 页面摧毁前,关闭定时器
// },
beforeDestroy() {
// 离开当前路由前的操作
clearInterval(this.timer);
this.timer = null;
},
methods: {
routerTo(data) {
if (data == '盐城地区分布光伏运行监测') {
this.$router.push("/stationBuilding");
}
if (data == '盐城东台区供电所数字化分析') {
this.$router.push("/twentyKV");
}
if (data == '配网工程全过程物资审计') {
this.$router.push("/thirtyFiveKV");
}
if (data == '盐城供电公司配网电能质量管控') {
this.$router.push("/powerQualityControl");
}
if (data == '乡村振兴电力综合指数') {
this.$router.push("/ruralRevitalizationPower");
}
if (data == '两高行业企业污染监测') {
this.$router.push("/enterprisePollutionMonitoring");
}
if (data == '农村生活污水治理设备电量分析') {
this.$router.push("/ruralDomesticSewageTreatment");
}
if (data == '数字化排涝抗旱辅助及检修辅助决策') {
this.$router.push("/digitalFloodDrainageDroughtRelief");
}
},
detailen1() {
var fontColor = "#30eee9";
var myChart = this.$echarts.init(document.getElementById("detailen"));
var option = {
tooltip: {
trigger: "axis",
axisPointer: {
type: "shadow",
},
},
legend: {
textStyle: {
fontSize: 18, //字体大小
color: "#ffffff", //字体颜色
},
data: ["关联电网事故", "关联检修单"],
},
xAxis: [
{
type: "category",
data: [
"10kv北红线124",
"10kv北红线125",
"10kv北红线126",
"10kv北红线127",
"10kv北红线128",
],
axisLabel: {
show: true,
textStyle: {
color: "#ffffff",
},
},
},
],
yAxis: [
{
type: "value",
name: "",
axisLabel: {
textStyle: {
color: "#ffffff",
},
},
},
],
series: [
{
name: "关联电网事故",
type: "bar",
itemStyle: {
color: "#00ffff", // 柱状图颜色
borderRadius: [7, 7, 0, 0], // 柱状图圆角
borderWidth: 0,
},
emphasis: {
focus: "series",
},
data: [320, 332, 301, 334, 390],
},
],
};
myChart.setOption(option);
window.addEventListener("resize", () => {
myChart.resize();
});
},
//班组
getbanzhu() {
getBanzugz({
action: "detail",
}).then((res) => {
console.log(res, "班组故障详情");
for (let i = 0; i < res.data.data.length; i++) {
if (res.data.data[i].gz_time_deal) {
let date = new Date(res.data.data[i].gz_time_deal);
res.data.data[i].gz_time_deal =
this.$moment(date).format("YYYY-MM-DD HH:mm");
// console.log(res.data.data[i].gz_time_deal,'转换后');
}
if (res.data.data[i].gz_time) {
let time = new Date(res.data.data[i].gz_time);
res.data.data[i].gz_time =
this.$moment(time).format("YYYY-MM-DD HH:mm");
}
this.tableData.push(res.data.data[i]);
}
});
},
//工单
getGongdan() {
getGdtj({ action: "tongji" }).then((res) => {
console.log(res, "工单统计数据");
let dataList = res.data.data;
for (let i = 0; i < this.gongdanList.length; i++) {
for (let j = 0; j < res.data.data.length; j++) {
if (
this.gongdanList[i].gd_type_name == res.data.data[j].gd_type_name
) {
this.gongdanList[i].total = res.data.data[j].total;
this.gongdanList[i].gd_type_id = res.data.data[j].gd_type_id;
}
}
}
// this.gongdanList = res.data.data;
this.detailedThree(dataList);
// this.$nextTick(() => {
// this.detailedThree(dataList);
// setInterval(() => {
// this.doing();
// }, 200);
// });
});
},
// //表格第一行颜色
rowClass(row, rowIndex) {
if (row.rowIndex === 0) {
return "rowColor0";
} else {
return "";
}
},
//切换当前页
handleCurrentChange(val) {
this.page = val
let tableData = [];
if (this.emergencyList.length != 0) {
tableData = this.emergencyList;
if (val == 1) {
this.alarmInformationData = tableData.slice(0, 10);
document.getElementsByClassName("rowColor0")[0].style.display = "";
} else if (val == 2) {
document.getElementsByClassName("rowColor0")[0].style.display =
"none";
this.alarmInformationData = tableData.slice(10, 20);
} else if (val == 3) {
this.alarmInformationData = tableData.slice(20, 30);
document.getElementsByClassName("rowColor0")[0].style.display =
"none";
} else if (val == 4) {
this.alarmInformationData = tableData.slice(30, 40);
document.getElementsByClassName("rowColor0")[0].style.display =
"none";
} else if (val == 5) {
this.alarmInformationData = tableData.slice(40, 50);
document.getElementsByClassName("rowColor0")[0].style.display =
"none";
}
} else {
return false;
}
},
// 线路详情弹窗
openLineDetail(e) {
// console.log(e);
// var line = e + ''
// console.log(line);
getLine({ action: "pdxl" }).then(({ data }) => {
console.log(data);
this.lineShow = "lineDetail";
this.lineItem = data.data;
});
},
// 线路故障跳闸明细弹窗
rowHandle(e) {
// console.log(e, "参数");
this.routeItem = e;
this.routeShow = "routeDetail";
// console.log(this.routeItem,'线路组件名称');
},
// 工单统计的弹窗
openGdDetail(item) {
this.orderItem = item;
this.orderShow = "workOrder";
},
// 鼠标进入表格
// mouseover() {
// clearInterval(this.myTimer);
// },
// 鼠标离开表格
mouseout() {
this.roll();
},
//调用unity方法
handleUnity(index, item) {
this.btnActive = index;
this.$refs.iframe.contentWindow.handleChange(item);
},
//选择线路
selectLine(value) {
getLine({
action: "query",
line_code: value,
}).then((res) => {
// console.log(res,'选择线路');
if (res.data.data != 0 && res.data.data != null) {
this.$refs.iframe.contentWindow.handleChangeLine(
res.data.data.line_name
);
} else if (res.data.data == null) {
this.$refs.iframe.contentWindow.handleChangeLine("");
}
});
},
detailedOne() {
let myChart = this.$echarts.init(document.getElementById("detailedOne"));
var option = {
tooltip: {
trigger: "axis",
axisPointer: {
type: "shadow",
},
},
xAxis: [
{
type: "category",
data: ["2018", "2019", "2020", "2021", "2022"],
axisLabel: {
show: true,
textStyle: {
color: "#ffffff",
fontSize: "18",
},
},
axisLine: {
show: false,
},
axisTick: {
show: false,
alignWithLabel: true,
},
splitArea: { show: false },
},
],
yAxis: [
{
type: "value",
name: "",
axisLabel: {
textStyle: {
color: "#ffffff",
fontSize: "18",
},
},
},
],
series: [
{
name: "预计年变化趋势",
type: "bar",
barWidth: 40,
itemStyle: {
// color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
// { offset: 1, color: "rgba(86,254,226,.2) " },
// { offset: 0.5, color: "rgb(86,254,226,.6)" },
// { offset: 0, color: "rgb(86,254,226)" },
// ]),
borderRadius: [7, 7, 0, 0], // 柱状图圆角
borderWidth: 0,
},
emphasis: {
focus: "series",
},
data: [320, 332, 301, 334, 390],
},
],
};
myChart.setOption(option);
window.addEventListener("resize", () => {
myChart.resize();
});
},
shuzihuaCharts() {
let myChart = this.$echarts.init(document.getElementById("shuzihua"));
var option = {
tooltip: {
trigger: "axis",
axisPointer: {
type: "cross",
crossStyle: {
color: "#999",
},
},
},
legend: [
{
x: "center",
data: ["平均停电时间(小时)", "平均停电频次(次/户)"],
textStyle: {
fontSize: 18,
color: "#fff",
},
},
{
x: "center",
top: "5%",
data: ["总时户数", "停电次数", "应采数"],
textStyle: {
fontSize: 18,
color: "#fff",
},
},
],
xAxis: [
{
type: "category",
data: ["2019", "2020", "2021", "2022"],
axisPointer: {
type: "shadow",
},
axisLabel: {
color: "#fff",
fontSize: "18",
},
},
],
yAxis: [
{
type: "value",
min: 0,
max: 5,
interval: 1,
axisLabel: {
formatter: "{value} 万",
textStyle: {
fontSize: "18",
},
},
axisLine: {
lineStyle: {
color: "#fff",
},
},
splitLine: {
show: true,
lineStyle: {
type: "dashed",
// color: 'rgba(66, 192, 255, .3)',
color: "rgba(102,102,102,0.6)",
width: 1,
},
},
},
{
type: "value",
min: 0,
max: 0.5,
interval: 0.1,
axisLabel: {
formatter: "{value}",
textStyle: {
fontSize: "18",
},
},
axisLine: {
lineStyle: {
color: "#fff",
},
},
splitLine: {
show: true,
lineStyle: {
type: "dashed",
// color: 'rgba(66, 192, 255, .3)',
color: "rgba(102,102,102,0.6)",
width: 1,
},
},
},
],
series: [
{
name: "平均停电时间(小时)",
type: "bar",
yAxisIndex: 1,
tooltip: {
valueFormatter: function (value) {
return value;
},
},
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{ offset: 1, color: "rgba(240,230,140,.2) " },
{ offset: 0.5, color: "rgb(240,230,140,.6)" },
{ offset: 0, color: "rgb(240,230,140)" },
]),
borderRadius: [7, 7, 0, 0], // 柱状图圆角
borderWidth: 0,
},
data: [0.13, 0.23, 0.13, 0.23],
},
{
name: "平均停电频次(次/户)",
type: "bar",
yAxisIndex: 1,
tooltip: {
valueFormatter: function (value) {
return value;
},
},
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{ offset: 1, color: "rgba(65,105,225,.2) " },
{ offset: 0.5, color: "rgb(65,105,225,.6)" },
{ offset: 0, color: "rgb(65,105,225)" },
]),
borderRadius: [7, 7, 0, 0], // 柱状图圆角
borderWidth: 0,
},
data: [0.23, 0.13, 0.23, 0.13],
},
{
name: "总时户数",
type: "line",
tooltip: {
valueFormatter: function (value) {
return value;
},
},
itemStyle: {
normal: {
color: "#0080ff",
lineStyle: {
color: "#0080ff",
},
},
},
data: [4, 3, 2, 4],
},
{
name: "停电次数",
type: "line",
tooltip: {
valueFormatter: function (value) {
return value;
},
},
itemStyle: {
normal: {
color: "#a6a600",
lineStyle: {
color: "#a6a600",
},
},
},
data: [2, 3, 4, 3],
},
{
name: "应采数",
type: "line",
tooltip: {
valueFormatter: function (value) {
return value;
},
},
itemStyle: {
normal: {
color: "#977000",
lineStyle: {
color: "#977000",
},
},
},
data: [3, 1, 4, 2],
},
],
};
myChart.setOption(option);
window.addEventListener("resize", () => {
myChart.resize();
});
},
detailedTwo() {
var myChart = this.$echarts.init(document.getElementById("detailedTwo1"));
var option = {
tooltip: {
show: true,
trigger: "item",
},
grid: {
left: "3%",
right: "4%",
bottom: "3%",
containLabel: true,
},
xAxis: {
type: "category",
boundaryGap: false,
axisLabel: {
color: "#fff",
fontSize: "16",
},
axisTick: {
show: false,
},
splitLine: {
show: false,
lineStyle: {
color: "#195384",
},
},
data: ["2018", "2019", "2020", "2021", "2022"],
},
yAxis: {
type: "value",
axisLine: {
lineStyle: {
color: "#fff",
},
},
},
series: [
{
name: "总投资",
type: "line",
stack: "Total",
symbol: "none",
data: [80, 132, 101, 134, 121],
itemStyle: {
normal: {
color: "yellow",
lineStyle: {
color: "yellow",
},
},
},
},
],
};
myChart.setOption(option);
window.addEventListener("resize", () => {
myChart.resize();
});
},
detailedTwo11() {
var fontColor = '#30eee9';
var myChart = this.$echarts.init(document.getElementById("detailedTwo1"));
var option = {
tooltip: {
show: true,
trigger: "item",
},
grid: {
left: "3%",
right: "4%",
bottom: "3%",
containLabel: true,
},
xAxis: {
type: "category",
boundaryGap: false,
axisLabel: {
color: "#fff",
fontSize: "16",
},
axisTick: {
show: false,
},
splitLine: {
show: false,
lineStyle: {
color: "#195384",
},
},
data: ["2018", "2019", "2020", "2021", "2022"],
},
yAxis: {
type: "value",
axisLine: {
lineStyle: {
color: "#fff",
},
},
},
series: [
{
name: "总投资",
type: "line",
stack: "Total",
symbol: "none",
data: [80, 132, 101, 134, 121],
itemStyle: {
normal: {
color: "yellow",
lineStyle: {
color: "yellow",
},
},
},
},
],
};
myChart.setOption(option);
window.addEventListener("resize", () => {
myChart.resize();
});
},
horizontalChart() {
var myChart = this.$echarts.init(document.getElementById("horizontalChart"));
var honorData = [
{
name: "用电量(单位:亿)",
data: [1800, 1600, 1400, 1200, 1000, 800, 600, 400],
},
{
name: "碳排放量(单位:万)",
data: [1800, 1600, 1400, 1200, 1000, 800, 600, 400],
},
];
var honorXAxisData = [
"盐都区",
"建湖县",
"射阳县",
"阜宁县",
"滨海县",
];
// // 设置灰色背景色的长度
var isMax = 2000;
var bjData1 = [
isMax,
isMax,
isMax,
isMax,
isMax,
isMax,
isMax,
isMax,
isMax,
];
var option = {
color: ["#0F9AF8", "#2039C3", "rgba(32,57,195,.5)", "#2ECACE"],
tooltip: {
trigger: "axis",
axisPointer: {
type: "none",
},
},
legend: {
right: 5,
top: "5%",
itemWidth: 10,
itemHeight: 10,
itemGap: 15,
textStyle: {
color: "#ACCFFF",
fontSize: 16,
},
},
grid: {
left: "5%",
right: "5%",
bottom: "5%",
top: "10%",
containLabel: true,
},
xAxis: [
{
type: "value",
show: false,
axisLine: {
show: false,
},
axisTick: {
show: false,
},
axisLabel: {
color: "#6B9DD7",
fontSize: 16, // 文字大小
fontWeight: 400,
interval: 0,
formatter: function (value) {
return value + "(万元)";
},
},
splitLine: {
show: false,
},
},
],
yAxis: [
{
type: "category",
axisLine: {
show: false,
},
axisTick: {
show: false,
},
axisLabel: {
color: "#6B9DD7",
fontSize: 16, // 文字大小
fontWeight: 400,
interval: 0,
},
offset: 20,
data: honorXAxisData,
},
],
series: [
{
name: "用电量(单位:亿)",
type: "bar",
stack: "zongliang",
barWidth: "35%",
zlevel: 10,
label: {
normal: {
show: true,
position: "inside",
textStyle: {
color: "#fff",
fontSize: 14,
},
},
},
data: honorData[0].data,
},
{
name: "碳排放量(单位:万)",
type: "bar",
stack: "zongliang",
barWidth: "35%",
zlevel: 10,
label: {
normal: {
show: true,
position: "top",
formatter: function (params) {
console.log(params);
// return params.seriesName + params.value ;
return "完成" + params.value;
},
textStyle: {
color: "#fff",
fontSize: 12,
},
},
},
data: honorData[1].data,
},
],
};
myChart.setOption(option);
window.addEventListener("resize", () => {
myChart.resize();
});
},
barCharts() {
var myChart = this.$echarts.init(document.getElementById("barCharts"));
let value = 18;
let legendName = ['华北', '华中', '华东', '华南', '东北', '西北'];
var option = {
// backgroundColor: '#031845',
// title:{
// text:"123",
// left:'center',
// top:'45%',
// textStyle:{
// color:"#FFF",
// fontSize:"80px",
// }
// },
tooltip: {
trigger: 'item',
formatter: "{b} : {d}% <br/> {c}"
},
// graphic: {
// elements: [
// {
// type: 'text',
// left: 'center', // 相对父元素居中
// top: 'center', // 相对父元素上下的位置
// style: {
// fill: '#FFF',
// text: ['357'],
// zlevel:"100",
// font: '80px Arial Normal',
// }
// }]
// },
// title: {
// text:'总考生数',
// left:'center',
// top:'center',
// padding:[24,0],
// textStyle:{
// color:'#fff',
// fontSize:18*scale,
// align:'center'
// }
// },
title: {
subtext: '59.53万',
text: '总计',
x: 'center',
y: '40%',
textStyle: {
fontSize: 24,
fontWeight: 'normal',
color: '#00FFFF',
},
subtextStyle: {
fontSize: 28,
fontWeight: 'normal',
align: "center",
color: '#CCCCCC'
},
},
series: [{
type: 'pie',
radius: ['80', '120'],
center: ['50%', '50%'],
color: ['#80C269', '#00FFFF', '#0090F1', '#FFA800', '#4658F6'],
itemStyle: {
normal: {
borderWidth: 5,
borderColor: '#031845',
}
},
data: [{
value: 27,
name: '严重不满人员'
},
{
value: 30,
name: '关注群体'
},
{
value: 24,
name: '散居外国人'
},
{
value: 27,
name: '上访重点人'
},
{
value: 27,
name: '重点精神病'
}
],
labelLine: {
normal: {
show: true,
length: 50,
length2: 50,
lineStyle: {
color: '#CCCCCC',
width: 2
}
}
},
label: {
normal: {
formatter: '{b|{b}}\n{hr|}\n{c|{c}%}',
rich: {
b: {
fontSize:14,
color: '#FFF',
align: 'left',
padding: 4
},
hr: {
borderColor: '#CCCCCC',
width: '100%',
borderWidth: 2,
height: 0
},
c: {
fontSize: 14,
align: 'center',
padding: 4,
color: '#00EDED'
}
}
}
}
}
]
};
myChart.setOption(option);
window.addEventListener("resize", () => {
myChart.resize();
});
},
roseCharts() {
var myChart = this.$echarts.init(document.getElementById("roseCharts"));
var option = {
color: ["#EAEA26", "#906BF9", "#FE5656", "#01E17E", "#3DD1F9", "#FFAD05"],
// title: {
// text: '网络/安全设备',
// left: '60',
// top: 0,
// textAlign: 'center',
// textStyle: {
// color: '#fff',
// fontSize: 14,
// fontWeight: 0
// }
// },
grid: {
left: -100,
top: 50,
bottom: 10,
right: 10,
containLabel: true
},
tooltip: {
trigger: 'item',
formatter: "{b} : {c} ({d}%)"
},
legend: {
type: "scroll",
orient: "vartical",
// x: "right",
top: "center",
right: "15",
// bottom: "0%",
itemWidth: 16,
itemHeight: 8,
itemGap: 16,
textStyle: {
color: '#A3E2F4',
fontSize: 12,
fontWeight: 0
},
data: ['IDS', 'VPN', '交换机', '防火墙', 'WAF', '堡垒机']
},
polar: {},
angleAxis: {
interval: 1,
type: 'category',
data: [],
z: 10,
axisLine: {
show: false,
lineStyle: {
color: "#0B4A6B",
width: 1,
type: "solid"
},
},
axisLabel: {
interval: 0,
show: true,
color: "#0B4A6B",
margin: 8,
fontSize: 16
},
},
radiusAxis: {
min: 40,
max: 120,
interval: 20,
axisLine: {
show: false,
lineStyle: {
color: "#0B3E5E",
width: 1,
type: "solid"
},
},
axisLabel: {
formatter: '{value} %',
show: false,
padding: [0, 0, 20, 0],
color: "#0B3E5E",
fontSize: 16
},
splitLine: {
lineStyle: {
color: "#0B3E5E",
width: 2,
type: "solid"
}
}
},
calculable: true,
series: [{
type: 'pie',
radius: ["5%", "10%"],
hoverAnimation: false,
labelLine: {
normal: {
show: false,
length: 30,
length2: 55
},
emphasis: {
show: false
}
},
data: [{
name: '',
value: 0,
itemStyle: {
normal: {
color: "#0B4A6B"
}
}
}]
}, {
type: 'pie',
radius: ["90%", "95%"],
hoverAnimation: false,
labelLine: {
normal: {
show: false,
length: 30,
length2: 55
},
emphasis: {
show: false
}
},
name: "",
data: [{
name: '',
value: 0,
itemStyle: {
normal: {
color: "#0B4A6B"
}
}
}]
},{
stack: 'a',
type: 'pie',
radius: ['20%', '80%'],
roseType: 'area',
zlevel:10,
label: {
normal: {
show: true,
formatter: "{c}",
textStyle: {
fontSize: 12,
},
position: 'outside'
},
emphasis: {
show: true
}
},
labelLine: {
normal: {
show: true,
length: 20,
length2: 55
},
emphasis: {
show: false
}
},
data: [{
value: 10,
name: 'IDS'
},
{
value: 5,
name: 'VPN'
},
{
value: 15,
name: '交换机'
},
{
value: 25,
name: '防火墙'
},
{
value: 20,
name: 'WAF'
},
{
value: 35,
name: '堡垒机'
}
]
}, ]
}
myChart.setOption(option);
window.addEventListener("resize", () => {
myChart.resize();
});
},
detailedThree(dataList) {
// console.log(this.threeImg,'图片');
// var equipment = [dataList.yjlts, dataList.yjlyj];
var that = this;
// console.log(that,'指向');
var colorList = [
"#0090ff",
"#06d3c4",
"#66b0ed",
"#7cb79d",
"#2361b4",
"rgb(198,123,244)",
];
var colorList1 = ["rgb(198,123,244)", "#2361b4"];
// 饼图数据
var threeList = dataList.map((ele) => {
return { name: ele.gd_type_name, value: ele.total };
});
// console.log(threeList, "饼图数据");
// var legendData = dataList.concat(
// {
// value: equipment[0],
// name: "运检类投诉",
// },
// {
// value: equipment[1],
// name: "运检类意见",
// }
// );
this.myChartBin = this.$echarts.init(
document.getElementById("detailedThree")
);
// var graphicList = [];
// legendData.forEach((ele, index) => {
// if (index <= 2) {
// graphicList.push({
// type: "image",
// style: {
// image: this.threeImg,
// width: 164,
// height: 41,
// x: 250,
// y: 55 * (index + 1),
// },
// });
// } else {
// graphicList.push({
// type: "image",
// style: {
// image: this.threeImg,
// width: 164,
// height: 41,
// x: 424,
// y: 55 * (index - 2),
// },
// });
// }
// });
this.option = {
borderColor: "none",
tooltip: {
formatter: function (param) {
if (param.data.type == null) {
return param.data.name + ":" + param.value + "个";
} else {
return param.data.name + ":" + param.value + "个";
}
},
},
legend: {
icon: "pin",
// height: 90,
top: 20,
show: false,
// bottom:0,
// itemGap: 40,
// lineHeight: 80,
// padding: [30, 0, 30, 0],
// right: '20%',
// orient: "vertical", //垂直显示
x: "center", //延Y轴居中
data: dataList.map((ele) => {
return ele.gd_type_name;
}),
textStyle: {
color: "#ffffff",
fontSize: 15,
// width:20,
// height:60,
},
},
series: [
{
name: "",
type: "pie",
radius: [0, "70%"],
center: ["50%", "50%"],
startAngle: 60, //默认角度
label: {
position: "inner",
show: false,
},
itemStyle: {
normal: {
borderColor: "none",
borderWidth: 2,
fontSize: 16,
color: function (params) {
return colorList[params.dataIndex];
},
},
},
selectedMode: "single",
data: threeList,
},
// {
// name: "运检类",
// type: "pie",
// radius: ["70%", "80%"],
// center: ["20%", "50%"],
// startAngle: 30,
// itemStyle: {
// normal: {
// fontSize: 16,
// color: function (params) {
// return colorList1[params.dataIndex];
// },
// // color:'#F4C907',
// },
// },
// label: {
// normal: {
// formatter: function (params) {
// return params.data.name + ":" + params.data.type + "个";
// },
// color: "auto",
// show: false,
// fontSize: 16,
// },
// },
// data: [
// {
// value: equipment[0],
// name: "运检类投诉",
// type: equipment[0],
// },
// {
// value: equipment[1],
// name: "运检类意见",
// type: equipment[1],
// },
// ],
// animation: false,
// },
],
};
this.myChartBin.setOption(this.option);
window.addEventListener("resize", () => {
this.myChartBin.resize();
});
},
doing() {
this.option.series[0].startAngle = this.option.series[0].startAngle - 5;
this.option.series[1].startAngle = this.option.series[1].startAngle - 5;
this.myChartBin.setOption(this.option);
},
detailedFour(dataList) {
let yearBzData = [];
let yearChcg = [];
let yearChbc = [];
let yearWchz = [];
let yearJieDi = [];
let yearFenJi = []
for (let i = 0; i < dataList.length; i++) {
yearBzData.push(dataList[i].bz);
yearChcg.push(dataList[i].chcg);
yearChbc.push(dataList[i].chbc);
yearWchz.push(dataList[i].wchz);
yearJieDi.push(dataList[i].jd);
yearFenJi.push(dataList[i].fjbh)
}
// console.log(yearJieDi,'接地数据');
let that = this;
let myChart = this.$echarts.init(document.getElementById("detailedFour"));
var option = {
tooltip: {
axisPointer: {
type: "shadow",
textStyle: {
color: "#fff",
fontSize: 16,
},
},
},
grid: {
borderWidth: 0,
top: 30,
bottom: "17%",
left: "6%",
right: "6%",
textStyle: {
color: "#fff",
},
},
legend: {
icon: "rect",
right: "4%",
textStyle: {
color: "#ffffff",
},
data: ["重合成功", "重合不成", "无重合闸", "接地", "分级保护"],
},
calculable: true,
xAxis: [
{
type: "category",
trigger: "axis",
axisLine: {
show: false,
lineStyle: {
color: "#fff",
fontSize: 16,
},
},
splitLine: {
show: false,
},
axisTick: {
show: false,
},
splitArea: {
show: false,
},
axisLabel: {
interval: 0,
fontSize: 14,
rotate: 30,
},
data: yearBzData,
},
],
yAxis: [
{
type: "value",
splitLine: {
show: true,
lineStyle: {
color: "rgb(83,83,83)",
fontSize: 16,
},
},
axisLine: {
lineStyle: {
color: "#fff",
fontSize: 16,
},
},
axisTick: {
show: false,
},
axisLabel: {
interval: 0,
},
splitArea: {
show: false,
},
},
],
series: [
{
name: "重合成功",
type: "bar",
stack: "Total1",
barMaxWidth: 15,
barGap: "10%",
label: {
show: true,
formatter: function (params) {
if (params.value == 0) {
return "";
} else {
return params.value;
}
},
},
itemStyle: {
normal: {
color: new that.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: "rgba(194,190,190,1)",
},
{
offset: 1,
color: "rgba(194,190,190,0)",
},
]),
borderColor: new that.$echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: "rgba(194,190,190,1)",
},
{
offset: 1,
color: "rgba(194,190,190,0)",
},
]
),
},
},
data: yearChcg,
},
{
name: "重合不成",
type: "bar",
barMaxWidth: 15,
stack: "Total1",
label: {
show: true,
formatter: function (params) {
if (params.value == 0) {
return "";
} else {
return params.value;
}
},
},
itemStyle: {
normal: {
color: new that.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: "rgba(86,254,226,1)",
},
{
offset: 1,
color: "rgba(86,254,226,0)",
},
]),
borderColor: new that.$echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: "rgba(86,254,226,1)",
},
{
offset: 1,
color: "rgba(86,254,226,0)",
},
]
),
},
},
data: yearChbc,
},
{
name: "无重合闸",
type: "bar",
barMaxWidth: 15,
stack: "Total1",
label: {
show: true,
formatter: function (params) {
if (params.value == 0) {
return "";
} else {
return params.value;
}
},
},
itemStyle: {
normal: {
color: new that.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: "rgba(237,125,49,1)",
},
{
offset: 1,
color: "rgba(237,125,49,0)",
},
]),
borderColor: new that.$echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: "rgba(237,125,49,1)",
},
{
offset: 1,
color: "rgba(237,125,49,0)",
},
]
),
barBorderRadius: 0,
},
},
data: yearWchz,
},
{
name: "接地",
type: "bar",
barMaxWidth: 15,
stack: "Total1",
label: {
show: true,
formatter: function (params) {
if (params.value == 0) {
return "";
} else {
return params.value;
}
},
},
itemStyle: {
normal: {
color: new that.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: "rgba(35,160,247,1)",
},
{
offset: 1,
color: "rgba(35,160,247,0)",
},
]),
borderColor: new that.$echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: "rgba(35,160,247,1)",
},
{
offset: 1,
color: "rgba(35,160,247,0)",
},
]
),
barBorderRadius: 0,
},
},
data: yearJieDi,
},
{
name: "分级保护",
type: "bar",
barMaxWidth: 15,
stack: "Total1",
label: {
show: true,
formatter: function (params) {
if (params.value == 0) {
return "";
} else {
return params.value;
}
},
},
itemStyle: {
normal: {
color: new that.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
{
offset: 0,
color: "rgba(156,73,200,1)",
},
{
offset: 1,
color: "rgba(156,73,200,0)",
},
]),
borderColor: new that.$echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: "rgba(156,73,200,1)",
},
{
offset: 1,
color: "rgba(156,73,200,0)",
},
]
),
barBorderRadius: 0,
},
},
data: yearFenJi,
},
],
};
myChart.setOption(option);
window.addEventListener("resize", () => {
myChart.resize();
});
},
detailedFive() {
let myChart = this.$echarts.init(document.getElementById("detailedFive"));
var option = {
tooltip: {
trigger: "axis",
axisPointer: {
type: "shadow",
},
},
xAxis: [
{
type: "category",
data: ["2018", "2019", "2020", "2021", "2022"],
axisLabel: {
show: true,
textStyle: {
color: "#ffffff",
fontSize: "18",
},
},
axisLine: {
show: false,
},
axisTick: {
show: false,
alignWithLabel: true,
},
splitArea: { show: false },
},
],
yAxis: [
{
type: "value",
name: "",
axisLabel: {
textStyle: {
color: "#ffffff",
fontSize: "18",
},
},
},
],
series: [
{
name: "预计年变化趋势",
type: "bar",
barWidth: 40,
itemStyle: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
{ offset: 1, color: "rgba(86,254,226,.2) " },
{ offset: 0.5, color: "rgb(86,254,226,.6)" },
{ offset: 0, color: "rgb(86,254,226)" },
]),
borderRadius: [7, 7, 0, 0], // 柱状图圆角
borderWidth: 0,
},
emphasis: {
focus: "series",
},
data: [320, 332, 301, 334, 390],
},
],
};
myChart.setOption(option);
window.addEventListener("resize", () => {
myChart.resize();
});
},
//报警详情信息弹窗
enlargeBtn(index) {
let that = this;
this.pageShow = false
if (index == 0) {
// let endDate = this.$moment(new Date())
// .format("YYYY-MM-DD hh:mm:ss");
// let startDate = this.$moment(new Date()).subtract(1,'h').format('YYYY-MM-DD hh:mm:ss')
// this.page = 1;
// let cabData = {
// token: localStorage.getItem("token"),
// pageSize: this.pageSize,
// page: this.page,
// sn: "",
// startDate: startDate,
// endDate: endDate,
// };
// getCabinetAlarmList(cabData).then((res) => {
// if (res.data.data.data != null) {
// this.totals = res.data.data.total;
// this.alarmInformationData = res.data.data.data;
// }
// });
this.$refs.audio.currentTime = 0; //从头开始播放提示音
this.$nextTick(() => {
this.$refs.audio.play();
});
this.alarmInformationShow = true;
this.$nextTick(() => {
this.pageShow = true
})
this.realTimeAlarmShow = false;
this.handleCurrentChange(1);
} else if (index == 1) {
this.enlargeShow = false;
// this.$refs.iframe.contentWindow.fullscreen(1);
document.getElementById("left").style.display = "none";
document.getElementById("right").style.display = "none";
document.getElementById("middle").style.width = "100%";
document.getElementById("middle").style.height = "100%";
document.getElementById("detailed").style.display = "none";
document.getElementById("threeModel").style.height = "100%";
document.getElementById("threeModel").style.width = "100%";
}
},
//报警详情信息弹窗
enlargeBtn1(index) {
this.pageShow = false
if (index == 0) {
// this.$refs.audio.currentTime = 0; //从头开始播放提示音
// this.$refs.audio.play();
// this.alarmInformationShow = true;
// this.realTimeAlarmShow = false;
this.$refs.audio.currentTime = 0; //从头开始播放提示音
this.$nextTick(() => {
this.$refs.audio.play();
});
this.alarmInformationShow = true;
this.$nextTick(() => {
this.pageShow = true
})
this.realTimeAlarmShow = false;
this.handleCurrentChange(1);
} else if (index == 1) {
this.enlargeShow = true;
// this.$refs.iframe.contentWindow.fullscreen(1);
document.getElementById("left").style.display = "flex";
document.getElementById("left").style.width = "17.18%";
document.getElementById("right").style.display = "flex";
document.getElementById("right").style.width = "17.18%";
document.getElementById("middle").style.width = "55.7%";
document.getElementById("middle").style.height = "100%";
document.getElementById("detailed").style.display = "flex";
document.getElementById("detailed").style.height = "350px";
}
},
handleClose() {
this.alarmInformationShow = false;
this.$refs.audio.pause();
this.page = 1;
this.totals = 0;
},
handleDate(index) {
this.currentIndex = index;
// if (index == 0) {
//周配变停运
getPbtyqk({
action: index == 0 ? "week" : "month",
}).then((res) => {
let dataPbty = [];
dataPbty = res.data.data;
this.detailedFive(dataPbty);
let dataPb = [];
let dataCf = [];
for (let i = 0; i < dataPbty.length; i++) {
dataPb.push(dataPbty[i].pbsl);
dataCf.push(dataPbty[i].cftytc);
}
this.topContent[0].count = dataPb.reduce((x, y) => x + y);
this.topContent[1].count = dataCf.reduce((x, y) => x + y);
let pbCount =
(this.topContent[1].count / this.topContent[0].count) * 100;
let pbCountString = pbCount.toString();
if (pbCountString.indexOf(".") != -1) {
this.topContent[2].count =
pbCountString.substring(0, pbCountString.indexOf(".") + 3) + "%";
} else {
this.topContent[2].count = pbCountString + "%";
}
});
// }else if (index == 1) {
// //月配变停运
// getPbtyqk({
// action:"month"
// }).then((res)=>{
// let dataPbty = [];
// dataPbty = res.data.data
// this.detailedFive(dataPbty);
// let dataPb = [];
// let dataCf = [];
// for (let i = 0; i < dataPbty.length; i++) {
// dataPb.push(dataPbty[i].pbsl);
// dataCf.push(dataPbty[i].cftytc);
// }
// this.topContent[0].count = dataPb.reduce((x, y) => x + y)
// this.topContent[1].count = dataCf.reduce((x, y) => x + y)
// let pbCount = (this.topContent[1].count/this.topContent[0].count)*100
// let pbCountString = pbCount.toString()
// if (pbCountString.indexOf(".") != -1) {
// this.topContent[2].count = pbCountString.substring(0,pbCountString.indexOf(".")+3) + '%'
// }else{
// this.topContent[2].count = pbCountString +'%'
// }
// })
// }
},
addColor(index) {
if (this.currentIndex == index) {
return { active: this.acolor };
}
},
},
watch: {
//监听内容
value(newVal, oldVal) {
if (newVal != oldVal && newVal != "") {
this.selectLine(newVal);
} else if (newVal == "") {
this.selectLine("");
this.value = "";
}
},
rowTime: {
deep: true,
handler(newVal, oldVal) {
console.log(newVal, oldVal, "pppppppppppppppp");
if (newVal != oldVal && newVal != "" && oldVal != "") {
this.enlargeBtn(0);
}
},
},
},
};
</script>
<style lang="less" scoped>
.content {
/deep/ .el-table__body td .cell {
white-space: normal !important;
}
}
.two {
/deep/ .el-table__body-wrapper {
height: 195px !important;
}
}
// 滚动条的宽度
/deep/ .el-table__body-wrapper::-webkit-scrollbar {
width: 6px; // 横向滚动条
height: 6px; // 纵向滚动条 必写
// display: block !important;
}
// 滚动条的滑块
/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb {
background-color: rgba(35, 160, 247, 1);
border-radius: 3px;
}
/deep/ .el-table--scrollable-x .el-table__body-wrapper {
overflow-x: hidden;
}
.user_skills {
/deep/ .el-table {
background-color: transparent !important;
}
/deep/ .el-table th {
background-color: transparent !important;
}
/deep/ .el-table__header {
width: 100% !important;
height: 70px;
background: url("../assets/images/tableBg.png") no-repeat;
background-size: 100% 100%;
.cell {
text-align: center !important;
justify-content: center;
}
}
/deep/ .el-table__header th {
border: none;
padding: 0;
height: 48px;
.cell {
height: 100%;
display: flex;
align-items: center;
}
&.el-table__cell.is-leaf {
border: none !important;
}
}
/deep/ .el-table tr {
background-color: transparent;
}
/deep/ .el-table--enable-row-transition .el-table__body td,
.el-table .cell {
background-color: transparent !important;
border: none;
color: #ffffff;
}
/deep/ .el-table__body td .cell {
white-space: nowrap;
// word-break: break-all;
display: flex !important;
justify-content: center !important;
}
/deep/ .el-table th.el-table__cell>.cell {
color: rgb(86, 254, 226);
}
/deep/.el-table__body,
.el-table__footer,
.el-table__header {
width: 100% !important;
}
/deep/ .el-table__body td .cell {
// width: 60px !important;
}
// &::before {
// //去除底部白线
// left: 0;
// bottom: 0;
// width: 100%;
// height: 0px;
// }
.el-table::before {
background-color: transparent;
}
}
.home {
width: 100%;
height: 100%;
padding: 15px 28px;
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
box-sizing: border-box;
.left {
// width: 604px;
width: 17.18%;
height: 100%;
display: flex;
flex-flow: column nowrap;
justify-content: space-between;
&>div {
width: 100%;
background: url("../assets/indexN/boxLr.png") no-repeat;
background-size: 100% 100%;
position: relative;
.cartitle {
height: 52px;
width: 100%;
// background: url("../assets/images/carTitle.png") no-repeat;
font-size: 21px;
font-weight: 600;
color: #ffffff;
line-height: 52px;
// text-align: left;
text-indent: 26px;
}
.content {
padding: 24px 31px 0 31px;
box-sizing: border-box;
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
.line {
width: 262px;
display: flex;
flex-flow: column nowrap;
.total {
display: flex;
flex-flow: row nowrap;
justify-content: space-around;
margin-bottom: 15%;
.num {
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
color: #ffffff;
.numText {
color: #ffffff;
}
.numText:before {
content: attr(text);
position: absolute;
z-index: 10;
color: rgb(86, 254, 246) !important;
-webkit-mask: linear-gradient(to top,
rgb(86, 244, 254),
transparent);
}
}
}
.info {
display: flex;
flex-flow: column nowrap;
.lists {
width: 100%;
height: 32px;
background: url("../assets/images/cardSquare.png") no-repeat;
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
align-items: center;
background-size: 100% 100%;
margin-bottom: 9%;
padding: 0 10px 0 0;
box-sizing: border-box;
&>div {
font-size: 18px;
color: #ffffff;
}
.number {
color: rgb(86, 254, 226);
}
}
}
}
}
#detailedTwo1 {
// width: 100%;
// height: calc(100% - 52px);
width: 100%;
height: calc(100% - 200px);
}
#horizontalChart {
// width: 100%;
// height: calc(100% - 52px);
width: 100%;
height: calc(100% - 150px);
}
#barCharts {
// width: 100%;
// height: calc(100% - 52px);
width: 60%;
height: calc(100% - 200px);
position: absolute;
top: 28%;
left: 33%;
}
}
}
.left1 {
// width: 604px;
width: 17.18%;
height: 100%;
display: flex;
flex-flow: column nowrap;
justify-content: space-between;
&>div {
width: 100%;
background: url("../assets/indexN/boxLr.png") no-repeat;
background-size: 100% 100%;
.cartitle {
height: 52px;
width: 100%;
// background: url("../assets/images/carTitle.png") no-repeat;
font-size: 21px;
font-weight: 600;
color: #ffffff;
line-height: 52px;
// text-align: left;
text-indent: 26px;
}
.content {
padding: 24px 31px 0 31px;
box-sizing: border-box;
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
.line {
width: 262px;
display: flex;
flex-flow: column nowrap;
.total {
display: flex;
flex-flow: row nowrap;
justify-content: space-around;
margin-bottom: 15%;
.num {
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
color: #ffffff;
.numText {
color: #ffffff;
}
.numText:before {
content: attr(text);
position: absolute;
z-index: 10;
color: rgb(86, 254, 246) !important;
-webkit-mask: linear-gradient(to top,
rgb(86, 244, 254),
transparent);
}
}
}
.info {
display: flex;
flex-flow: column nowrap;
.lists {
width: 100%;
height: 32px;
background: url("../assets/images/cardSquare.png") no-repeat;
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
align-items: center;
background-size: 100% 100%;
margin-bottom: 9%;
padding: 0 10px 0 0;
box-sizing: border-box;
&>div {
font-size: 18px;
color: #ffffff;
}
.number {
color: rgb(86, 254, 226);
}
}
}
}
}
#detailedTwo1 {
width: 100%;
height: calc(100% - 52px);
}
#detailedOne {
width: 100%;
height: calc(100% - 200px);
}
#horizontalChart {
// width: 100%;
// height: calc(100% - 52px);
width: 100%;
height: calc(100% - 200px);
}
}
}
.middle {
// width: 1590px;
width: 32.7%;
height: 100%;
display: flex;
flex-flow: column nowrap;
justify-content: space-between;
.imgboxone {
background: url("../assets/02/地图弹窗三个数据外框.png") no-repeat;
background-size: 100%;
float: right;
width: 40vh;
height: 25vh;
position: relative;
top: 5vh;
right: 1vh;
.contents {
padding: 10px 10px 10px 10px;
box-sizing: border-box;
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
.lines {
width: 100%;
display: flex;
flex-flow: column nowrap;
background: url("../assets/02/弹窗里的小框子.png") no-repeat;
}
.total {
display: flex;
flex-flow: row nowrap;
justify-content: space-around;
margin-bottom: 15%;
.num {
float: left;
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
color: #ffffff;
}
}
}
}
.imgboxtwo {
padding: 0 0 0 20px;
background: url("../assets/02/地图弹窗四个内容的框.png") no-repeat;
background-size: 100%;
float: left;
width: 40vh;
height: 25vh;
position: relative;
top: 52vh;
left: 30vh;
display: flex;
.contentUl {
display: flex;
margin: 0;
padding: 10px;
width: 100%;
height: 100%;
/* flex布局 */
display: flex;
// 开启换行
flex-wrap: wrap;
// 主轴上两端对齐
justify-content: space-between;
// 副轴上两端对齐
align-content: space-between;
//li盒子大小设置
li {
h5 {
float: left;
}
span {
font-size: 30px;
}
width: 49.5%;
//高度调整
height: 49%;
list-style: none;
font-size: 24px;
color: #fff;
background: url("../assets/02/弹窗里的小框子.png") no-repeat;
}
}
}
.map {
background: url("../assets/indexN/地图.png") no-repeat;
vertical-align: middle;
display: table-cell;
text-align: center;
margin-left: -20%;
}
}
.right {
// width: 604px;
width: 17.18%;
height: 100%;
display: flex;
flex-flow: column nowrap;
justify-content: space-between;
&>div {
width: 100%;
background: url("../assets/indexN/boxLr.png") no-repeat;
background-size: 100% 100%;
position: relative;
.cartitle {
height: 52px;
width: 100%;
// background: url("../assets/images/carTitle.png") no-repeat;
font-size: 21px;
font-weight: 600;
color: #ffffff;
line-height: 52px;
// text-align: left;
text-indent: 26px;
}
.content {
padding: 24px 31px 0 31px;
box-sizing: border-box;
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
.line {
width: 262px;
display: flex;
flex-flow: column nowrap;
.total {
display: flex;
flex-flow: row nowrap;
justify-content: space-around;
margin-bottom: 15%;
.num {
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
color: #ffffff;
.numText {
color: #ffffff;
}
.numText:before {
content: attr(text);
position: absolute;
z-index: 10;
color: rgb(86, 254, 246) !important;
-webkit-mask: linear-gradient(to top,
rgb(86, 244, 254),
transparent);
}
}
}
.info {
display: flex;
flex-flow: column nowrap;
.lists {
width: 100%;
height: 32px;
background: url("../assets/images/cardSquare.png") no-repeat;
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
align-items: center;
background-size: 100% 100%;
margin-bottom: 9%;
padding: 0 10px 0 0;
box-sizing: border-box;
&>div {
font-size: 18px;
color: #ffffff;
}
.number {
color: rgb(86, 254, 226);
}
}
}
}
}
}
.one {
.top {
width: 100%;
height: 10%;
display: flex;
justify-content: space-around;
flex-direction: row;
align-items: center;
.topContent {
width: 30%;
display: flex;
justify-content: flex-start;
align-items: center;
white-space: nowrap;
}
}
}
#detailedThree {
width: 100%;
// height: calc(100% - 52px);
height: 100%;
}
#detailedTwo {
width: 100%;
height: calc(100% - 52px);
}
#detailedFive {
width: 100%;
height: calc(100% - 150px);
}
}
.right1 {
// width: 604px;
width: 17.18%;
height: 100%;
display: flex;
flex-flow: column nowrap;
justify-content: space-between;
&>div {
width: 100%;
background: url("../assets/indexN/boxLr.png") no-repeat;
background-size: 100% 100%;
position: relative;
.cartitle {
height: 52px;
width: 100%;
// background: url("../assets/images/carTitle.png") no-repeat;
font-size: 21px;
font-weight: 600;
color: #ffffff;
line-height: 52px;
// text-align: left;
text-indent: 26px;
}
.content {
padding: 24px 31px 0 31px;
box-sizing: border-box;
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
.line {
width: 262px;
display: flex;
flex-flow: column nowrap;
.total {
display: flex;
flex-flow: row nowrap;
justify-content: space-around;
margin-bottom: 15%;
.num {
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
color: #ffffff;
.numText {
color: #ffffff;
}
.numText:before {
content: attr(text);
position: absolute;
z-index: 10;
color: rgb(86, 254, 246) !important;
-webkit-mask: linear-gradient(to top,
rgb(86, 244, 254),
transparent);
}
}
}
.info {
display: flex;
flex-flow: column nowrap;
.lists {
width: 100%;
height: 32px;
background: url("../assets/images/cardSquare.png") no-repeat;
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
align-items: center;
background-size: 100% 100%;
margin-bottom: 9%;
padding: 0 10px 0 0;
box-sizing: border-box;
&>div {
font-size: 18px;
color: #ffffff;
}
.number {
color: rgb(86, 254, 226);
}
}
}
}
}
}
#detailen {
width: 100%;
height: calc(100% - 150px);
}
#shuzihua {
width: 100%;
height: calc(100% - 150px);
}
.one {
.top {
width: 100%;
height: 10%;
display: flex;
justify-content: space-around;
flex-direction: row;
align-items: center;
.topContent {
width: 30%;
display: flex;
justify-content: flex-start;
align-items: center;
white-space: nowrap;
}
}
}
#detailedThree {
width: 100%;
// height: calc(100% - 52px);
height: 100%;
}
#detailedTwo {
width: 100%;
height: calc(100% - 52px);
}
#detailedFive {
width: 100%;
height: calc(100% - 150px);
}
}
.titleFont {
color: transparent;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(to bottom,
rgb(255, 255, 255),
rgb(123, 247, 245));
img {
margin: 20px;
}
}
//弹窗样式
.componentShow {
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
z-index: 111;
display: flex;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, 0.8);
}
.realTimeAlarm {
width: 517px;
height: 136px;
position: fixed;
left: 0;
right: 0;
margin: 0 auto;
top: 40%;
background: url("../assets/images/realTimeAlarmKuang.png") no-repeat;
background-size: 100% 100%;
display: flex;
align-items: center;
justify-content: center;
.content {
color: #ffffff;
width: 75%;
display: flex;
align-items: center;
justify-content: space-evenly;
margin-top: 4%;
}
}
.alarmInformation {
width: 900px;
height: 380px;
position: fixed;
left: 0;
right: 0;
margin: 0 auto;
top: 28%;
background: url("../assets/images/baojingxinxiKuang.png") no-repeat;
background-size: 100% 100%;
display: flex;
align-items: center;
justify-content: center;
flex-wrap: wrap;
padding: 10px 13px;
::-webkit-scrollbar {
display: none;
}
.top {
height: 10%;
width: 91%;
display: flex;
align-content: flex-start;
justify-content: space-between;
.title {
font-size: 20px;
font-weight: 900;
color: transparent;
align-items: center;
display: flex;
-webkit-background-clip: text;
background-clip: text;
background-image: linear-gradient(to bottom,
rgb(255, 255, 255),
rgb(86, 244, 254));
}
}
.content {
height: 82%;
width: 100%;
overflow: auto;
.user_skills {
/deep/ .el-table {
background-color: transparent !important;
}
/deep/ .el-table th {
background-color: transparent !important;
}
/deep/ .el-table__header {
height: 48px;
background: url("../assets/images/tableBg.png") no-repeat;
background-size: 100% 100%;
}
/deep/ .el-table__header th {
border: none;
padding: 0;
height: 40px;
.cell {
height: 100%;
display: flex;
align-items: center;
justify-content: space-around;
}
&.el-table__cell.is-leaf {
border: none !important;
}
}
/deep/ .el-table tr {
background-color: transparent;
color: #fff !important;
}
/deep/ .el-table--enable-row-transition .el-table__body td,
.el-table .cell {
background-color: transparent !important;
border: none;
color: #ffffff;
}
/deep/ .el-table__body td .cell {
white-space: nowrap;
// word-break: break-all;
}
/deep/ .el-table th.el-table__cell>.cell {
color: #ffffff;
}
/deep/.el-table .el-table__cell {
padding: 3px 0;
}
&::before {
//去除底部白线
left: 0;
bottom: 0;
width: 100%;
height: 0px;
}
.el-table::before {
background-color: transparent;
}
::v-deep .el-table .el-table__body tr.el-table__row td {
background: rgba(79, 218, 255, 0.1) !important;
}
::v-deep .el-table--striped .el-table__body tr.el-table__row--striped td {
background: rgba(79, 218, 255, 0.06) !important;
}
}
}
}
.dateSelect {
display: flex;
font-size: 12px;
background: url("../assets/images/dateKuang.png") no-repeat;
background-size: 100% 100%;
height: 25px;
width: 61px;
align-items: center;
}
.active {
width: 32px;
height: 25px;
color: rgb(78, 230, 207);
background: url("../assets/images/dateAction.png") no-repeat;
background-size: 100% 100%;
line-height: 26px;
}
}
.suoxiao {
position: absolute;
bottom: 0;
right: 0;
}
// }
</style>
<style lang="less" scoped>
.three {
.three-content {
width: 100%;
height: calc(100% - 52px);
display: flex;
.three-left {
width: 40%;
height: 100%;
}
.three-right {
width: 60%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
ul {
width: 100%;
li {
width: 164px;
height: 41px;
margin-top: 15px;
background-image: url(../assets/images/pieBorder.png);
float: left;
color: #fff;
line-height: 41px;
font-size: 18px;
}
li:nth-child(2n) {
margin-left: 10px;
}
}
}
}
.content {
padding: 24px 31px 0 31px;
box-sizing: border-box;
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
.line {
width: 262px;
display: flex;
flex-flow: column nowrap;
.total {
display: flex;
flex-flow: row nowrap;
justify-content: space-around;
margin-bottom: 15%;
.num {
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
color: #ffffff;
.numText {
color: #ffffff;
}
.numText:before {
content: attr(text);
position: absolute;
z-index: 10;
color: rgb(86, 254, 246) !important;
-webkit-mask: linear-gradient(to top,
rgb(86, 244, 254),
transparent);
}
}
}
.info {
display: flex;
flex-flow: column nowrap;
.lists {
width: 100%;
height: 32px;
background: url("../assets/images/cardSquare.png") no-repeat;
display: flex;
flex-flow: row nowrap;
justify-content: space-between;
align-items: center;
background-size: 100% 100%;
margin-bottom: 9%;
padding: 0 10px 0 0;
box-sizing: border-box;
&>div {
font-size: 18px;
color: #ffffff;
}
.number {
color: rgb(86, 254, 226);
}
}
}
}
}
#roseCharts {
// width: 100%;
// height: calc(100% - 52px);
width: 60%;
height: calc(100% - 200px);
position: absolute;
top: 28%;
left: 33%;
}
}
.selectChange {
width: 100% !important;
height: 100% !important;
.el-select {
margin-left: -44px;
/deep/ .el-input__inner {
background: url("../assets/images/selectCard.png") no-repeat;
background-size: 100% 100%;
border: none;
padding-left: 58px;
}
/deep/ .el-input__prefix,
/deep/ .el-input__suffix {
position: absolute;
top: 0;
-webkit-transition: all 0.3s;
height: 100%;
text-align: center;
margin-right: 17px;
}
/deep/ .el-input__inner::-webkit-input-placeholder {
color: rgb(78, 230, 207); // 初始化的文字颜色
}
/deep/ .el-input__inner {
color: rgb(78, 230, 207);
}
}
}
// .el-popper {
// top: 50%;
// }
/deep/ .popper__arrow {
left: 171px !important;
top: 95px !important;
}
/deep/ .el-select-dropdown {
background-color: rgb(14, 30, 46) !important;
border: 1px solid rgba(45, 143, 148, 0.5) !important;
/deep/ .el-select-dropdown__item {
color: #fff !important;
}
/deep/ .el-select-dropdown__item.hover,
/deep/ .el-select-dropdown__item:hover {
background-color: rgb(18, 54, 87) !important;
}
}
/deep/ .el-popper[x-placement^="bottom"] {
margin-top: -146px !important;
}
/**
表格有滚动效果但是不显示滚动条
*/
</style>
<style lang="less">
.el-table .rowColor0 {
background: red !important;
animation: fade 2000ms infinite ease-in-out;
}
@keyframes fade {
from {
opacity: 1;
}
50% {
opacity: 0.6;
}
to {
opacity: 1;
}
}
// .el-pager li:hover{
// color:black
// }
</style>