123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- <template>
- <el-dialog width="55%" @closed="closed()" :show-close="false" class="my-info-dialog">
- <template #title>
- <div class="showTitle">
- <img class="titleImg" src="../../assets/img/controlcenter/daraTrue.png" alt="">
- <div class="titles">{{stationName}}</div>
- <!-- <div class="icon">(麻黄山)</div> -->
- </div>
- </template>
- <div class="body">
- <div class="dataList">
- <div class="data">
- <div class="name">{{data.PowerSet.name}}:</div>
- <div class="num">{{data.PowerSet.value?data.PowerSet.value:''}}</div>
- <div class="unit">MW</div>
- </div>
- <div class="data">
- <div class="name">{{data.TheoryPower.name}}:</div>
- <div class="num">{{data.TheoryPower.value?data.TheoryPower.value:''}}</div>
- <div class="unit">MW</div>
- </div>
- <div class="data">
- <div class="name">{{data.AgcLower.name}}:</div>
- <div class="num">{{data.AgcLower.value?data.AgcLower.value:''}}</div>
- <div class="unit">MW</div>
- </div>
- <div class="data">
- <div class="name">{{data.ActualPower.name}}:</div>
- <div class="num">{{data.ActualPower.value?data.ActualPower.value:''}}</div>
- <div class="unit">MW</div>
- </div>
- <div class="data">
- <div class="name">{{data.AgcUp.name}}:</div>
- <div class="num">{{data.AgcUp.value?data.AgcUp.value:''}}</div>
- <div class="unit">MW</div>
- </div>
- <div class="data">
- <div class="name">{{data.ForecastPower.name}}:</div>
- <div class="num">{{data.ForecastPower.value?data.ForecastPower.value:''}}</div>
- <div class="unit">MW</div>
- </div>
- </div>
- <div class="condition">
- <div class="status">
- <div class="name">{{data.AgcIn.name}}:{{data.AgcIn.value}}</div>
- <img v-if="data.AgcIn.value === 0" class="statusIcon"
- src="../../assets/img/controlcenter/daraTrue.png">
- <img v-else-if="data.AgcIn.value === 1" class="statusIcon"
- src="../../assets/img/controlcenter/dataFalse.png">
- <div v-else-if="data.AgcIn.value === ''">
- 暂无数据
- </div>
- </div>
- <div class="status">
- <div class="name">{{data.AgcFar.name}}:</div>
- <img v-if="data.AgcFar.value === 0" class="statusIcon"
- src="../../assets/img/controlcenter/daraTrue.png">
- <img v-else-if="data.AgcFar.value === 1" class="statusIcon"
- src="../../assets/img/controlcenter/dataFalse.png">
- <div v-else-if="data.AgcFar.value === ''">
- 暂无数据
- </div>
- </div>
- <div class="status">
- <div class="name">{{data.SumLock.name}}:</div>
- <img v-if="data.SumLock.value === 0" class="statusIcon"
- src="../../assets/img/controlcenter/daraTrue.png">
- <img v-else-if="data.SumLock.value === 1" class="statusIcon"
- src="../../assets/img/controlcenter/dataFalse.png">
- <div v-else-if="data.SumLock.value === ''">
- 暂无数据
- </div>
- </div>
- <div class="status">
- <div class="name">{{data.SubLock.name}}:</div>
- <img v-if="data.SubLock.value === 0" class="statusIcon"
- src="../../assets/img/controlcenter/daraTrue.png">
- <img v-else-if="data.SubLock.value === 1" class="statusIcon"
- src="../../assets/img/controlcenter/dataFalse.png">
- <div v-else-if="data.SubLock.value === ''">
- 暂无数据
- </div>
- </div>
- </div>
- <!-- <div id="main" class="echartsBox"></div> -->
- <MultipleLineChart height="400px" :units="powerLineChartData.units" :list="powerLineChartData.value"
- :showLegend="true" />
- </div>
- </el-dialog>
- </template>
- <script>
- // import UniformCodes from "../../assets/script/UniformCodes";
- // import { config } from '../../config';
- // import axios from 'axios';
- // import BackgroundData from "../../assets/script/BackgroundData"
- import MultipleLineChart from "./multiple-line-chart.vue";
- import dayjs from 'dayjs'
- export default {
- components: {
- MultipleLineChart
- },
- props: {
- stationName: {
- type: String,
- default: ''
- },
- data: {
- type: Array
- },
- },
- data() {
- return {
- chartData: {
- units: [""],
- value: [],
- },
- timeData: [],
- PowerSet: [],
- ActualPower: [],
- index: 0,
- powerLineChartData: {},
- };
- },
- methods: {
- closed() {
- //勿删,传递关闭方法
- },
- initData(PowerSet, ActualPower) {
- // this.chartData.units = ["(MW)", "(MW)"];
- this.chartData.value[0] = {
- title: "有功设定限值(MW)",
- yAxisIndex: 0,
- value: []
- };
- this.chartData.value[1] = {
- title: "实发有功(MW)",
- yAxisIndex: 0,
- value: []
- }
- PowerSet.forEach(item => {
- this.chartData.value[0].value.push({
- text: dayjs(item.ts).format('hh:mm'),
- value: parseFloat((item.doubleValue).toFixed(2))
- })
- })
- ActualPower.forEach(item => {
- this.chartData.value[1].value.push({
- text: dayjs(item.ts).format('hh:mm'),
- value: parseFloat((item.doubleValue).toFixed(2))
- })
- })
- this.powerLineChartData = this.chartData;
- }
- },
- };
- </script>
- <style scoped>
- .echartsBox {
- width: 64rem;
- height: 220px;
- overflow: hidden;
- }
- .el-dialog__header {
- background-color: #000000;
- }
- .showTitle {
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: center;
- margin-top: -10px;
- font-size: 18px;
- color: #FFFFFF;
- }
- .titleImg {
- width: 16px;
- height: 16px;
- margin-right: 13px;
- }
- .icon {
- font-size: 12px;
- margin-left: 10px;
- margin-top: 5px;
- }
- .body {
- background-color: black;
- width: 100%;
- margin-top: -30px;
- /* height: 200px; */
- }
- .dataList {
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- align-items: center;
- padding-top: 27px;
- }
- .data {
- width: 50%;
- display: flex;
- flex-direction: row;
- align-items: center;
- margin-bottom: 22px;
- }
- .name {
- width: 40%;
- display: flex;
- flex-direction: row-reverse;
- font-size: 12px;
- color: #FFFFFF;
- }
- .num {
- margin-left: 59px;
- font-size: 16px;
- color: #05BB4C;
- min-width: 40px;
- }
- .unit {
- font-size: 16px;
- color: #FFFFFF;
- margin-left: 20px;
- }
- .condition {
- width: 100%;
- display: flex;
- flex-direction: row;
- align-items: center;
- margin-bottom: 20px;
- border-bottom: 1px solid #3D3D3D;
- padding-bottom: 10px;
- }
- .status {
- width: 25%;
- display: flex;
- flex-direction: row;
- align-items: center;
- justify-content: center;
- }
- .statusIcon {
- width: 14px;
- height: 14px;
- margin-left: 8px;
- }
- </style>
|