lining 3 anos atrás
pai
commit
d28c122bb2

+ 8 - 1
src/api/index.js

@@ -48,7 +48,13 @@ const getOverview = (data) => {
         method: "get",
     });
 };
-
+const sendWarning = (data) => {
+    return request({
+        baseURL:process.env.VUE_APP_API,
+        url: `/alarm/confirm?snapID=${data.snapID}&faultID=${data.faultID}&userName=${data.userName}`,
+        method: "get",
+    });
+};
 export default {
     login,
     getSnap,
@@ -56,4 +62,5 @@ export default {
     windturbControl,
     nitWinturbineBaseData,
     getOverview,
+    sendWarning,
 };

+ 17 - 13
src/components/WindturbineDetailPages.vue

@@ -2,7 +2,7 @@
 	<el-dialog width="75%" @opened="opened()" @closed="closed()" :show-close="false" class="my-info-dialog">
 		<template #title>
 			<div v-if="!showSvg" style="margin-top:-10px;color: #FFFFFF;">风机详情</div>
-			<div v-else style="margin-top:-10px;color: #FFFFFF;">{{svgWeb}}升压站</div>
+			<div v-else style="margin-top:-10px;color: #FFFFFF;">{{stationName}}</div>
 		</template>
 		<div v-if="!showSvg" class="body">
 			<table style="border-bottom: 1px solid #242424;" width="99.8%">
@@ -72,17 +72,17 @@
       </el-tabs> -->
 		</div>
 		<div v-else>
-			<nss ref="svgRef" v-if="svgWeb=='NSS_FDC'" />
-			<mhs ref="svgRef" v-else-if="svgWeb=='MHS_FDC'" />
-			<qs ref="svgRef" v-else-if="svgWeb=='QS_FDC'" />
-			<sbq ref="svgRef" v-else-if="svgWeb=='SBQ_FDC'" />
-			<xs ref="svgRef" v-else-if="svgWeb=='XS_FDC'" />
-			<pl1 ref="svgRef" v-else-if="svgWeb=='PL1_GDC'" />
-			<pl2 ref="svgRef" v-else-if="svgWeb=='PL2_GDC'" />
-			<dwk ref="svgRef" v-else-if="svgWeb=='DWK_GDC'" />
-			<mch ref="svgRef" v-else-if="svgWeb=='MCH_GDC'" />
-			<xh ref="svgRef" v-else-if="svgWeb=='XH_GDC'" />
-			<sbdl ref="svgRef" v-else-if="svgWeb=='QS3_FDC'" />
+			<nss ref="svgRef" v-if="svgWeb=='NSS_FDC'||svgWeb=='NSS_SYZ'" />
+			<mhs ref="svgRef" v-if="svgWeb=='MHS_FDC'||svgWeb=='MHS_SYZ'" />
+			<qs ref="svgRef" v-if="svgWeb=='QS_FDC'||svgWeb=='QS_SYZ'" />
+			<sbq ref="svgRef" v-if="svgWeb=='SBQ_FDC'||svgWeb=='SBQ_SYZ'" />
+			<xs ref="svgRef" v-if="svgWeb=='XS_FDC'||svgWeb=='XS_SYZ'" />
+			<pl1 ref="svgRef" v-if="svgWeb=='PL1_GDC'||svgWeb=='PL_SYZ'" />
+			<pl2 ref="svgRef" v-if="svgWeb=='PL2_GDC'||svgWeb=='PL2_SYZ'" />
+			<dwk ref="svgRef" v-if="svgWeb=='DWK_GDC'||svgWeb=='DWK_SYZ'" />
+			<mch ref="svgRef" v-if="svgWeb=='MCH_GDC'||svgWeb=='MCH_SYZ'" />
+			<xh ref="svgRef" v-if="svgWeb=='XH_GDC'||svgWeb=='XH_SYZ'" />
+			<sbdl ref="svgRef" v-if="svgWeb=='QS3_FDC'||svgWeb=='QS3_SYZ'" />
 		</div>
 	</el-dialog>
 </template>
@@ -132,7 +132,11 @@
 			svgWeb: {
 				type: String,
 				default: '',
-			}
+			},
+			stationName: {
+				type: String,
+				default: '',
+			},
 		},
 		data() {
 			return {

+ 6 - 24
src/components/areaCard.vue

@@ -115,7 +115,6 @@
                 offlineList: [],
                 listedList: [],
                 chooseList: [],
-                totleList: [],
                 titleList: [
                     {
                         id: 0,
@@ -269,12 +268,12 @@
                             that.menuClicked({ type: 'lock', value: 'UnLock' });
                         },
                     },
-                    {
-                        label: "标注",
-                        click() {
-                            that.menuClicked({ type: "marking" });
-                        },
-                    },
+                    // {
+                    //     label: "标注",
+                    //     click() {
+                    //         that.menuClicked({ type: "marking" });
+                    //     },
+                    // },
                 ];
                 const menu = remote.Menu.buildFromTemplate(menuTemplate);
 
@@ -370,20 +369,6 @@
                 }
                 console.log(this.values)
             },
-            clear(vs) {
-                var ll = new Array();
-                this.values.forEach((item) => {
-                    var it = vs[item.windturbineId];
-                    if (typeof it === "undefined") {
-                        ll.push(item);
-                    }
-                });
-                for (var v1 in ll) {
-                    var ind = this.values.indexOf(ll[v1]);
-                    if (ind < 0) continue;
-                    this.values.splice(ind, 1);
-                }
-            },
             showWindows(item) {
                 this.dialogVisible = true;
                 this.currentWindturbine = item;
@@ -406,7 +391,6 @@
                                 val.active = true
                             }
                         })
-                        this.totleList.push(val)
                         switch (val.status) {
                             case 5:
                                 this.faultList.push(val)
@@ -422,8 +406,6 @@
                             this.listedList.push(val)
                         }
                     }
-                    console.log(this.faultList);
-                    //   this.clear(vs);
                 },
             },
         },

+ 5 - 7
src/components/check/areaCard.vue

@@ -58,14 +58,14 @@
                 let flag = false
                 let showList = []
                 let arr = []
-                let checks =BackgroundData.getInstance().checkouts;
+                let checks = BackgroundData.getInstance().checkouts;
                 checks.forEach(item => {
                     if (item.status === this.list[item.windturbineId].status) {
                         showList.push(this.list[item.windturbineId])
-                    }else{
+                    } else {
                         BackgroundData.getInstance().removeCheckouts(item);
                     }
-                    if((new Date()).getTime() - item.checkTime >120000){
+                    if ((new Date()).getTime() - item.checkTime > 120000) {
                         BackgroundData.getInstance().removeCheckouts(item);
                         arr.push(item.windturbineId)
                         flag = true
@@ -73,7 +73,7 @@
                 })
                 this.showList = showList
                 console.log(this.showList)
-                if(flag){
+                if (flag) {
                     let mss = arr.join(',') + '风机超时未响应,已移除'
                     this.$notify({
                         title: "控制",
@@ -85,7 +85,7 @@
                     });
                     flag = false
                 }
-                
+
             },
         },
         watch: {
@@ -146,6 +146,4 @@
         top: 2px;
         left: 12px;
     }
-
-
 </style>

+ 50 - 3
src/components/control/areaCard.vue

@@ -22,7 +22,7 @@
         <div v-if="current===1" class="send" @click="handleSend">发送</div>
         <div class="success" v-if="showFlag&&current===0">指令发送成功</div>
     </div>
-    <WindturbineDetailPages v-model="dialogVisible" :showSvg="showSvg" @close="handleClose" :svgWeb="svgWeb"
+    <WindturbineDetailPages v-model="dialogVisible" :showSvg="showSvg" @close="handleClose" :svgWeb="svgWeb" :stationName="stationName"
         :windturbine="currentWindturbine"></WindturbineDetailPages>
 </template>
 
@@ -70,6 +70,9 @@
                 showSvg: false,
                 showFlag: false,
                 svgWeb: '',
+                stationName: '',
+                // 定时器
+				timer: "",
                 controlErorCodes: [
                     "控制成功",
                     "控制命令发送失败",
@@ -88,6 +91,44 @@
                     "风机操作与风机状态不符",
                     "需要登录",
                 ],
+                boosterStation:{
+                    'MHS_SYZ':{
+                        name:'麻黄山升压站'
+                    },
+                    'NSS_SYZ':{
+                        name:'牛首山升压站'
+                    },
+                    'QS_SYZ':{
+                        name:'青山升压站'
+                    },
+                    'QS3_SYZ':{
+                        name:'青山三期升压站'
+                    },
+                    'SBQ_SYZ':{
+                        name:'石板泉升压站'
+                    },
+                    'XS_SYZ':{
+                        name:'香山升压站'
+                    },
+                    'DWK_SYZ':{
+                        name:'大武口升压站'
+                    },
+                    'PL_SYZ':{
+                        name:'平罗升压站'
+                    },
+                    'PL2_SYZ':{
+                        name:'平罗二期升压站'
+                    },
+                    'XH_SYZ':{
+                        name:'宣和升压站'
+                    },
+                    'MCH_SYZ':{
+                        name:'马场湖升压站'
+                    },
+                    'HZJ_SYZ':{
+                        name:'海子井升压站'
+                    },
+                }
             }
         },
         computed: {
@@ -113,9 +154,10 @@
                     })
                     let mss = {}
                     mss.type = 'send'
-                    setTimeout(() => {
+                    this.timer = setTimeout(() => {
                         this.menuClicked(mss, dateList, 'automatic')
                         this.showFlag = false
+                        clearInterval(this.timer);
                     }, 3000);
                 }
             },
@@ -139,6 +181,7 @@
                     this.showSvg = true
                     this.dialogVisible = true
                     this.svgWeb = arr[1];
+                    this.stationName = this.boosterStation[arr[1]].name
                 } else if (arr[0] === 'CONTROL_START' || arr[0] === 'CONTROL_STOP' || arr[0] === 'CONTROL_MAINTAIN') {
                     let mss = {}
                     let windturbine = this.windturbinelist[arr[1]]
@@ -431,7 +474,11 @@
                         this.titleList.forEach(item => {
                             if (item.windturbineId === val.windturbineId) {
                                 val.operateStyle = item.operateStyle
-                                item.operateStyle === "Start" ? this.startList.push(val) : this.stopList.push(val)
+                                if(item.operateStyle === "Start" &&item.status === 2 ){
+                                    this.startList.push(val)
+                                }else if(item.operateStyle === "Stop" &&item.status === 4 ){
+                                    this.stopList.push(val)
+                                }
                             }
                         })
                     }

+ 1 - 1
src/components/matrixBlock.vue

@@ -9,7 +9,7 @@
             <div :class="item.active?'right-' + item.status:'unright-' + item.status">
                 <div class="rightrow">{{ item.windSpeed.toFixed(2) }} m/s</div>
                 <div class="rightrow">{{ item.power.toFixed(2) }} kw</div>
-                <div class="rightrow">{{ item.rollSpeed.toFixed(2) }} rpm</div>
+                <div class="rightrow">{{ (item.modelId.indexOf("105") >= 0)?(item.rollSpeed * 9.55).toFixed(2):item.rollSpeed.toFixed(2) }} rpm</div>
             </div>
         </div>
     </div>

+ 3 - 3
src/components/modeControl/modeControl.vue

@@ -79,17 +79,17 @@
                         this.datas.curveFollowingRate ?
                             (this.datas.curveFollowingRate > data.curveFollowingRate) ?
                                 (this.curveFlag = 2)
-                                : (this.datas.curveFollowingRate = data.curveFollowingRate) ? (this.curveFlag = 0) : (this.curveFlag = 1)
+                                : (this.datas.curveFollowingRate === data.curveFollowingRate) ? (this.curveFlag = 0) : (this.curveFlag = 1)
                             : (this.curveFlag = 0)
                         this.datas.fieldElectricityRate ?
                             (this.datas.fieldElectricityRate > data.fieldElectricityRate) ?
                                 (this.fieldFlag = 2)
-                                : (this.datas.fieldElectricityRate = data.fieldElectricityRate) ? (this.fieldFlag = 0) : (this.fieldFlag = 1)
+                                : (this.datas.fieldElectricityRate === data.fieldElectricityRate) ? (this.fieldFlag = 0) : (this.fieldFlag = 1)
                             : (this.fieldFlag = 0)
                         this.datas.windEnergyRate ?
                             (this.datas.windEnergyRate > data.windEnergyRate) ?
                                 (this.winFlag = 2)
-                                : (this.datas.windEnergyRate = data.windEnergyRate) ? (this.winFlag = 0) : (this.winFlag = 1)
+                                : (this.datas.windEnergyRate === data.windEnergyRate) ? (this.winFlag = 0) : (this.winFlag = 1)
                             : (this.winFlag = 0)
                         data.curveFollowingRate = data.curveFollowingRate.toFixed(2)
                         data.fieldElectricityRate = data.fieldElectricityRate.toFixed(2)

+ 1 - 20
src/components/problem/areaCard.vue

@@ -18,7 +18,7 @@
     <div class="body" :style="style">
         <img class="logo" src="../../assets/img/logo.png" alt="">
         <div class="title">{{ title }}</div>
-        <div style="margin-top: 50px; height: 91%;" @contextmenu="contextmenu">
+        <div style="margin-top: 50px; height: 94%;" @contextmenu="contextmenu">
             <el-scrollbar>
                 <div class="scoll">
                     <div class="matrix" v-if="faultList.length>0">
@@ -118,7 +118,6 @@
                 offlineList: [],
                 listedList: [],
                 chooseList: [],
-                totleList: [],
                 titleList: [
                     {
                         id: 0,
@@ -391,20 +390,6 @@
                 }
                 console.log(this.values)
             },
-            clear(vs) {
-                var ll = new Array();
-                this.values.forEach((item) => {
-                    var it = vs[item.windturbineId];
-                    if (typeof it === "undefined") {
-                        ll.push(item);
-                    }
-                });
-                for (var v1 in ll) {
-                    var ind = this.values.indexOf(ll[v1]);
-                    if (ind < 0) continue;
-                    this.values.splice(ind, 1);
-                }
-            },
             handleDetails(itm) {
                 this.dialogVisible = true;
                 this.currentWindturbine = itm;
@@ -418,7 +403,6 @@
             "$store.getters.windturbinelist": {
                 deep: true,
                 handler: function (json) {
-                    var vs = {};
                     this.faultList = []
                     this.maintainList = []
                     this.offlineList = []
@@ -431,7 +415,6 @@
                                 val.active = true
                             }
                         })
-                        this.totleList.push(val)
                         switch (val.status) {
                             case 5:
                                 this.faultList.push(val)
@@ -447,8 +430,6 @@
                             this.listedList.push(val)
                         }
                     }
-                    console.log(this.faultList);
-                    //   this.clear(vs);
                 },
             },
         },

+ 21 - 28
src/components/warning/warningCard.vue

@@ -1,7 +1,7 @@
 /* 告警区 */
 <template>
 	<div style="padding-left: 5px; padding-right: 5px">
-		<el-table :data="values" class="table" height="28vh" :header-cell-style="{
+		<el-table :data="values" class="table" height="29vh" :header-cell-style="{
           background: '#000000',
           color: 'rgb(220,220,220)',
           padding: '4px',
@@ -27,7 +27,7 @@
 			</el-table-column>
 		</el-table>
 	</div>
-	<WindturbineDetailPages v-model="dialogVisible" :windturbine="currentWindturbine" :showSvg="showSvg"
+	<WindturbineDetailPages v-model="dialogVisible" :windturbine="currentWindturbine" :showSvg="showSvg" :stationName="stationName"
 		:svgWeb="svgWeb" @close="close"></WindturbineDetailPages>
 </template>
 
@@ -35,8 +35,8 @@
 	import MessageBridge from "utils/MessageBridge";
 	import WindturbineDetailPages from "../WindturbineDetailPages.vue";
 	import BackgroundData from "utils/BackgroundData";
+	import api from "api/index";
 	// import Sbdl from "../BoosterStation/sbdl.vue";
-	import axios from "axios";
 
 	export default {
 		name: "AlarmArea",
@@ -54,6 +54,7 @@
 				dialogVisible: false,
 				showSvg: false,
 				svgWeb: '',
+				stationName: '',
 				currentWindturbine: {},
 			};
 		},
@@ -95,6 +96,7 @@
 				} else {
 					this.svgWeb = row.stationId;
 					this.showSvg = true;
+					this.stationName = row.stationName
 				}
 			},
 			close() {
@@ -123,32 +125,23 @@
 				this.confirm(row);
 			},
 			confirm(item) {
-				var url =
-					process.env.VUE_APP_API + `/alarm/confirm?snapID=${item.snapIDString}&faultID=${item.idString}&userName=${BackgroundData.getInstance().LoginUser.name}`;
-				axios
-					.get(url)
-					.then((msg) => {
-						var mms = msg.data > 0 ? "报警确认成功!" : "报警确认出现错误!";
-						var tp = msg.data > 0 ? "success" : "error";
-						this.$notify({
-							title: "报警",
-							message: mms,
-							type: tp,
-							position: "bottom-right",
-							offset: 60,
-							duration: 3000,
-						});
-					})
-					.catch((err) => {
-						this.$notify({
-							title: "报警",
-							message: `报警确认出现错误:${err.message},请重试`,
-							type: "error",
-							position: "bottom-right",
-							offset: 60,
-							duration: 3000,
-						});
+				api.sendWarning({
+					snapID: item.snapIDString,
+					faultID: item.idString,
+					userName: BackgroundData.getInstance().LoginUser.name,
+				}).then(msg => {
+					var mms = msg.data > 0 ? "报警确认成功!" : "报警确认出现错误!";
+					var tp = msg.data > 0 ? "success" : "error";
+					msg.data === 0 ? (item.isSelected = false) : '';
+					this.$notify({
+						title: "报警",
+						message: mms,
+						type: tp,
+						position: "bottom-right",
+						offset: 60,
+						duration: 3000,
 					});
+				})
 			},
 		},
 	};

+ 7 - 21
src/views/StatusBar.vue

@@ -111,6 +111,8 @@
         defectData: new Array(),
         malfunctionData: new Array(),
         accidentData: new Array(),
+        // 定时器
+				timer: "",
       };
     },
     mounted() {
@@ -137,7 +139,7 @@
     created() {
       this.WarningInfo = new WarningInfo();
       this.datas()
-      this.refreshTimer = setInterval(this.refreshData, 2000);
+      this.refreshData()
     },
     methods: {
       datas() {
@@ -168,26 +170,10 @@
         // this.defectData = bd.Defects;
         this.malfunctionData = bd.Failure;
         this.accidentData = bd.Accidents;
-        /*       if (this.accidentData.length <= 0) {
-                this.accidentData = [
-                  { lastUpdateTime: "-", stationName: "-", alertText: "-" },
-                ];
-              }
-              if (this.hiddenDangerData.length <= 0) {
-                this.hiddenDangerData = [
-                  { lastUpdateTime: "-", windturbineId: "-", alertText: "-" },
-                ];
-              }
-              if (this.defectData.length <= 0) {
-                this.defectData = [
-                  { lastUpdateTime: "-", windturbineId: "-", alertText: "-" },
-                ];
-              }
-              if (this.malfunctionData.length <= 0) {
-                this.malfunctionData = [
-                  { lastUpdateTime: "-", stationName: "-", alertText: "-" },
-                ];
-              } */
+        this.timer = setTimeout(() => {
+          clearInterval(this.timer);
+          this.refreshData()
+        }, 5000);
 
       },
     },