|
@@ -244,8 +244,46 @@
|
|
|
/>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="part-info">
|
|
|
- <!-- v-if="partDInfos.length > 0" style="max-height: 25vh"-->
|
|
|
+ <div class="problemsAI" style="color: #fff">
|
|
|
+ <div class="part-info-ai">
|
|
|
+ <!-- v-if="partAInfos.length > 0" -->
|
|
|
+ <div class="part-body-ai">
|
|
|
+ <div class="monitoring-item">
|
|
|
+ <div class="point point-left bottom"></div>
|
|
|
+ <div class="point point-right bottom"></div>
|
|
|
+ 遥测值
|
|
|
+ </div>
|
|
|
+ <div class="part-item-ai">
|
|
|
+ <div
|
|
|
+ class="part-ai"
|
|
|
+ :class="{ active: index % 2 === 1 }"
|
|
|
+ v-for="(val, index) in partAInfos"
|
|
|
+ :key="index"
|
|
|
+ >
|
|
|
+ <div class="table-item-ai" v-for="(item, ind) in val" :key="ind">
|
|
|
+ <div>{{ item.name }}</div>
|
|
|
+ <div class="table-value-ai">
|
|
|
+ {{
|
|
|
+ item.name.includes("状态")
|
|
|
+ ? item.value
|
|
|
+ : item.name == "总发电量"
|
|
|
+ ? (item.value / 10000).toFixed(2)
|
|
|
+ : Number(item.value).toFixed(2)
|
|
|
+ }}
|
|
|
+ <div v-if="item.valueUnit != 'NULL'" class="unit-ai">
|
|
|
+ {{ item.valueUnit }}
|
|
|
+ </div>
|
|
|
+ <div v-else class="unit-ai"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="parts-di">
|
|
|
+ <div class="part-info">
|
|
|
<div class="part-body">
|
|
|
<div class="monitoring-item">
|
|
|
<div class="point point-left bottom"></div>
|
|
@@ -308,43 +346,7 @@
|
|
|
</div> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="problemsAI" style="color: #fff">
|
|
|
- <div class="part-info-ai">
|
|
|
- <!-- v-if="partAInfos.length > 0" -->
|
|
|
- <div class="part-body-ai">
|
|
|
- <div class="monitoring-item">
|
|
|
- <div class="point point-left bottom"></div>
|
|
|
- <div class="point point-right bottom"></div>
|
|
|
- 遥测值
|
|
|
- </div>
|
|
|
- <div class="part-item-ai">
|
|
|
- <div
|
|
|
- class="part-ai"
|
|
|
- :class="{ active: index % 2 === 1 }"
|
|
|
- v-for="(val, index) in partAInfos"
|
|
|
- :key="index"
|
|
|
- >
|
|
|
- <div class="table-item-ai" v-for="(item, ind) in val" :key="ind">
|
|
|
- <div>{{ item.name }}</div>
|
|
|
- <div class="table-value-ai">
|
|
|
- {{
|
|
|
- item.name.includes("状态")
|
|
|
- ? item.value
|
|
|
- : item.name == "总发电量"
|
|
|
- ? (item.value / 10000).toFixed(2)
|
|
|
- : Number(item.value).toFixed(2)
|
|
|
- }}
|
|
|
- <div v-if="item.valueUnit != 'NULL'" class="unit-ai">
|
|
|
- {{ item.valueUnit }}
|
|
|
- </div>
|
|
|
- <div v-else class="unit-ai"></div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+
|
|
|
<!-- <div class="problems" style="color: #fff">
|
|
|
<div class="problemTit">
|
|
|
<div class="point point-left bottom"></div>
|
|
@@ -429,6 +431,8 @@ import {
|
|
|
} from "@/api/factoryMonitor/index.js";
|
|
|
import svgIcon from "@/components/coms/icon/svg-icon.vue";
|
|
|
import alarmDialog from "@/components/alarm";
|
|
|
+
|
|
|
+import dataJson from "./dataJson.json"
|
|
|
export default {
|
|
|
name: "windDetail",
|
|
|
data() {
|
|
@@ -443,77 +447,8 @@ export default {
|
|
|
otherInfo: {},
|
|
|
partAInfo: [],
|
|
|
partDInfo: [],
|
|
|
- partAInfos: [
|
|
|
- [
|
|
|
- {
|
|
|
- name: "AI值1",
|
|
|
- value: 10.2,
|
|
|
- valueUnit: "%",
|
|
|
- },
|
|
|
- {
|
|
|
- name: "AI值2",
|
|
|
- value: 23.4,
|
|
|
- valueUnit: "%",
|
|
|
- },
|
|
|
- {
|
|
|
- name: "AI值3",
|
|
|
- value: 32.5,
|
|
|
- valueUnit: "%",
|
|
|
- },
|
|
|
- {
|
|
|
- name: "AI值4",
|
|
|
- value: 54.5,
|
|
|
- valueUnit: "%",
|
|
|
- },
|
|
|
- {
|
|
|
- name: "AI值5",
|
|
|
- value: 14.5,
|
|
|
- valueUnit: "%",
|
|
|
- },
|
|
|
- {
|
|
|
- name: "AI值6",
|
|
|
- value: 54.5,
|
|
|
- valueUnit: "%",
|
|
|
- },
|
|
|
- {
|
|
|
- name: "AI值7",
|
|
|
- value: 14.5,
|
|
|
- valueUnit: "%",
|
|
|
- },
|
|
|
- ],
|
|
|
- ],
|
|
|
- partDInfos: [
|
|
|
- [
|
|
|
- {
|
|
|
- name: "DI值1",
|
|
|
- value: 10.2,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "DI值2",
|
|
|
- value: 23.4,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "DI值3",
|
|
|
- value: 32.5,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "DI值4",
|
|
|
- value: 54.5,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "DI值5",
|
|
|
- value: 14.5,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "DI值6",
|
|
|
- value: 54.5,
|
|
|
- },
|
|
|
- {
|
|
|
- name: "DI值7",
|
|
|
- value: 14.5,
|
|
|
- },
|
|
|
- ],
|
|
|
- ],
|
|
|
+ partAInfos: [],
|
|
|
+ partDInfos: [],
|
|
|
uniformcodesA: [],
|
|
|
uniformcodesD: [],
|
|
|
resA: [],
|
|
@@ -690,6 +625,11 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
mounted() {
|
|
|
+ // this.$nextTick(() =>{
|
|
|
+ // this.partAInfos = dataJson.data.partAInfos
|
|
|
+ // this.partDInfos = dataJson.data.partDInfos
|
|
|
+ // })
|
|
|
+
|
|
|
this.timer = setInterval(() => {
|
|
|
if (Object.keys(this.windInfo).length) {
|
|
|
this.getWtMonitorInfo(this.windInfo);
|
|
@@ -1100,8 +1040,8 @@ export default {
|
|
|
}
|
|
|
|
|
|
.bodys {
|
|
|
- display: flex;
|
|
|
- flex-direction: row;
|
|
|
+// display: flex;
|
|
|
+// flex-direction: row;
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
.edge {
|
|
@@ -1319,18 +1259,18 @@ export default {
|
|
|
|
|
|
.parts {
|
|
|
// width: calc(100% - 600px - 20px);
|
|
|
- width: calc(68vw - 20px);
|
|
|
+ width: calc(100vw - 20px);
|
|
|
// width: calc(99vw - 20px);
|
|
|
margin-right: 20px;
|
|
|
- height: 100%;
|
|
|
+ height: 70vh;
|
|
|
display: flex;
|
|
|
- flex-direction: column;
|
|
|
- align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
+ // flex-direction: column;
|
|
|
+ // align-items: center;
|
|
|
+ // justify-content: space-between;
|
|
|
// position: relative;
|
|
|
.part-top {
|
|
|
- flex: 1;
|
|
|
- width: 100%;
|
|
|
+ // flex: 1;
|
|
|
+ width: 60%;
|
|
|
height: 70vh;
|
|
|
}
|
|
|
.part-title {
|
|
@@ -1369,6 +1309,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
.part-imgs {
|
|
|
+ width: 80%;
|
|
|
min-height: calc(100% - 30px);
|
|
|
position: relative;
|
|
|
}
|
|
@@ -1380,7 +1321,147 @@ export default {
|
|
|
}
|
|
|
|
|
|
.part-info {
|
|
|
+ width: 99%;
|
|
|
+ // max-height: 50vh;
|
|
|
+ height: 30vh;
|
|
|
+ bottom: 0px;
|
|
|
+ display: flex;
|
|
|
+ // flex-direction: column-reverse;
|
|
|
+ [v-cloak] {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ .part-body {
|
|
|
+ width: 100%;
|
|
|
+ padding-bottom: 20px;
|
|
|
+ // background: rgba(11, 12, 12, 0.45);
|
|
|
+ background: rgba(96, 103, 105, 0.2);
|
|
|
+ border-radius: 5px;
|
|
|
+ margin-top: 10px;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ padding: 10px 0;
|
|
|
+
|
|
|
+ .part-item {
|
|
|
+ width: 100%;
|
|
|
+ height: calc(100% - 42px);
|
|
|
+ overflow-y: scroll;
|
|
|
+ }
|
|
|
+
|
|
|
+ .part {
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ // flex-direction: row;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ margin-top: 5px;
|
|
|
+ font-size: 13px;
|
|
|
+ font-family: Source Han Sans SC;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #959595;
|
|
|
+ padding: 0 10px;
|
|
|
+
|
|
|
+ .table-item {
|
|
|
+ width: 25%;
|
|
|
+ font-size: 12px;
|
|
|
+
|
|
|
+ .table-value {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: row;
|
|
|
+ align-items: baseline;
|
|
|
+
|
|
|
+ .unit {
|
|
|
+ font-size: 12px;
|
|
|
+ font-family: Source Han Sans SC;
|
|
|
+ font-weight: 400;
|
|
|
+ color: #817c7c;
|
|
|
+ margin-left: 5px;
|
|
|
+ width: 40px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.round {
|
|
|
+ width: 8px;
|
|
|
+ height: 8px;
|
|
|
+ border-radius: 50%;
|
|
|
+ background-color: rgba(0, 70, 199, 0.48);
|
|
|
+ margin-right: 90px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.round-red {
|
|
|
+ width: 8px;
|
|
|
+ height: 8px;
|
|
|
+ border-radius: 50%;
|
|
|
+ background-color: red;
|
|
|
+ margin-right: 90px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.active {
|
|
|
+ background-color: rgba(83, 89, 104, 0.15);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .parts-di {
|
|
|
+ width: calc(100vw - 20px);
|
|
|
+ margin-right: 20px;
|
|
|
+ display: flex;
|
|
|
+ .part-top {
|
|
|
+ // flex: 1;
|
|
|
+ width: 60%;
|
|
|
+ height: 70vh;
|
|
|
+ }
|
|
|
+ .part-title {
|
|
|
width: 100%;
|
|
|
+ height: 30px;
|
|
|
+ display: flex;
|
|
|
+ align-items: flex-start;
|
|
|
+ flex-direction: row;
|
|
|
+ .title-item {
|
|
|
+ width: 140px;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ color: #b3bdc0;
|
|
|
+ justify-content: center;
|
|
|
+ // background: rgba(67, 81, 107, 0.2);
|
|
|
+ background: rgba(96, 103, 105, 0.2);
|
|
|
+ border-left: 1px solid rgba(0, 70, 199, 0.48);
|
|
|
+ border-top: 1px solid rgba(0, 70, 199, 0.48);
|
|
|
+ border-bottom: 1px solid rgba(0, 70, 199, 0.48);
|
|
|
+
|
|
|
+ &.part-left {
|
|
|
+ border-radius: 15px 0px 0px 15px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.part-right {
|
|
|
+ border-right: 1px solid rgba(0, 70, 199, 0.48);
|
|
|
+ border-radius: 0px 15px 15px 0px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.active {
|
|
|
+ // background-color: rgba(0, 70, 199, 0.4);
|
|
|
+ background-color: rgba(0, 70, 199, 0.48);
|
|
|
+ color: #ffffff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .part-imgs {
|
|
|
+ width: 80%;
|
|
|
+ min-height: calc(100% - 30px);
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+ .wind-part {
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ left: 50%;
|
|
|
+ transform: translate(-50%, -50%);
|
|
|
+ }
|
|
|
+
|
|
|
+ .part-info {
|
|
|
+ width: 99%;
|
|
|
// max-height: 50vh;
|
|
|
height: 30vh;
|
|
|
bottom: 0px;
|
|
@@ -1464,7 +1545,7 @@ export default {
|
|
|
}
|
|
|
|
|
|
.problemsAI {
|
|
|
- width: 32vw;
|
|
|
+ width: 39%;
|
|
|
// background: rgba(96, 103, 105, 0.2);
|
|
|
border-radius: 5px;
|
|
|
padding: 10px;
|
|
@@ -1511,7 +1592,7 @@ export default {
|
|
|
|
|
|
.table-item-ai {
|
|
|
width: 50%;
|
|
|
- font-size: 12px;
|
|
|
+ font-size: 14px;
|
|
|
|
|
|
.table-value-ai {
|
|
|
display: flex;
|
|
@@ -1519,7 +1600,7 @@ export default {
|
|
|
align-items: baseline;
|
|
|
|
|
|
.unit-ai {
|
|
|
- font-size: 12px;
|
|
|
+ font-size: 14px;
|
|
|
font-family: Source Han Sans SC;
|
|
|
font-weight: 400;
|
|
|
color: #817c7c;
|
|
@@ -1814,7 +1895,7 @@ export default {
|
|
|
justify-content: space-between;
|
|
|
width: 100%;
|
|
|
height: 33px;
|
|
|
- font-size: 12px;
|
|
|
+ font-size: 14px;
|
|
|
font-family: Microsoft YaHei;
|
|
|
font-weight: 400;
|
|
|
color: #b3b3b3;
|
|
@@ -1830,6 +1911,7 @@ export default {
|
|
|
.table-value-di {
|
|
|
font-family: Arial;
|
|
|
font-weight: 400;
|
|
|
+ font-size: 14px;
|
|
|
color: rgb(15, 120, 240);
|
|
|
margin-right: 25px;
|
|
|
.round {
|