lining 3 years ago
parent
commit
6baf669497

File diff suppressed because it is too large
+ 1336 - 711
package-lock.json


+ 3 - 83
src/components/WindturbineDetailPages.vue

@@ -1,17 +1,13 @@
 <template>
 	<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;">{{stationName}}</div>
+			<div style="margin-top:-10px;color: #FFFFFF;">风机详情</div>
 		</template>
-		<div v-if="!showSvg" class="body">
+		<div class="body">
 			<table style="border-bottom: 1px solid #242424;" width="99.8%">
 				<tr>
 					<td>
 						<div class="chunkdiv">
-							<!-- <img
-                src="../../../assets/img/WindturbineDetailPages/pic_01.png"
-              /> -->
 							<div class="title">风机号:&emsp;</div>
 							<div>{{ windturbine.windturbineId }}</div>
 						</div>
@@ -42,47 +38,8 @@
 					</td>
 				</tr>
 			</table>
-
-			<!-- <BasicInformationDetail ref="BasicInfo"></BasicInformationDetail> -->
-			<!--<div class="worning1">
-        <Worning></Worning>
-      </div>
-      <div class="worning2">
-        <Worning></Worning>
-      </div> -->
 			<BasicInformationDetail ref="BasicInfo" :types="types" :windturbine="windturbine"></BasicInformationDetail>
-			<!-- <el-tabs type="border-card" tab-position="bottom" stretch="true">
-        <el-tab-pane label="基本信息">
-          
-        </el-tab-pane>
-        <el-tab-pane label="机舱信息" disabled>
-        </el-tab-pane>
-        <el-tab-pane label="故障信息" disabled>
-        </el-tab-pane>
-        <el-tab-pane label="齿轮箱" disabled>
-        </el-tab-pane>
-        <el-tab-pane label="变桨" disabled>
-        </el-tab-pane>
-        <el-tab-pane label="偏航" disabled>
-        </el-tab-pane>
-        <el-tab-pane label="液压" disabled>
-        </el-tab-pane>
-        <el-tab-pane label="发电机" disabled>
-        </el-tab-pane>
-      </el-tabs> -->
-		</div>
-		<div v-else>
-			<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>
@@ -92,51 +49,14 @@
 	import api from "api/index";
 	import BasicInformationDetail from "./BasicInformationDetail.vue";
 	import UniformCodes from "utils/UniformCodes";
-	import Dwk from "./BoosterStation/dwk.vue";
-	import Sbdl from "./BoosterStation/sbdl.vue";
-	import Nss from "./BoosterStation/nss.vue";
-	import Mhs from "./BoosterStation/mhs.vue";
-	import Qs from "./BoosterStation/qs.vue";
-	import Pl1 from "./BoosterStation/pl1.vue";
-	import Pl2 from "./BoosterStation/pl2.vue";
-	import Mch from "./BoosterStation/mch.vue";
-	import Xs from "./BoosterStation/xs.vue";
-	import Xh from "./BoosterStation/xh.vue";
-	import Sbq from "./BoosterStation/sbq.vue";
 	import BackgroundData from 'utils/BackgroundData'
 	// import Worning from "./warning.vue"
 	export default {
 		components: {
-			// YawDetail, 
 			BasicInformationDetail,
-			// StandAloneImg,
-			// Worning,
-			Dwk,
-			Sbdl,
-			Nss,
-			Mhs,
-			Qs,
-			Pl1,
-			Pl2,
-			Mch,
-			Xs,
-			Xh,
-			Sbq
 		},
 		props: {
 			windturbine: Object,
-			showSvg: {
-				type: Boolean,
-				default: false,
-			},
-			svgWeb: {
-				type: String,
-				default: '',
-			},
-			stationName: {
-				type: String,
-				default: '',
-			},
 		},
 		data() {
 			return {

+ 180 - 0
src/components/boxSelect.vue

@@ -0,0 +1,180 @@
+<template>
+    <div class="box-select__container" @mousedown.left="mouseDown" @mousemove.stop="mouseMove" :class="uuid">
+        <div class="box-select__coordinate" :style="style" ref="selectContainer"></div>
+        <slot></slot>
+    </div>
+</template>
+
+<script>
+    import { debounce, isNumber } from "lodash"
+    import { ref, onUnmounted, nextTick, shallowRef } from "vue"
+
+    /**
+     * @description 判断元素是否在范围内
+     * @param {Object} dom dom元素
+     */
+    const isWithinRange = (dom, top, bottom, left, right) => {
+        const eleRect = dom.getBoundingClientRect()
+        return !(
+            eleRect.top > bottom ||
+            eleRect.bottom < top ||
+            eleRect.right < left ||
+            eleRect.left > right
+        )
+    }
+
+    export default {
+        name: "BoxSelect",
+        /**
+         * @member props
+         * @property  {String} [node] 要框选的元素,可以是元素名,也可以是class名, 也可以是id名
+         * @property  {String} [selectedClass] 已选中元素附加的class名
+         */
+        props: {
+            node: {
+                required: true,
+                type: String
+            },
+            selectedClass: {
+                type: String,
+                default: 'box-select__hypocritical'
+            }
+        },
+        // 鼠标按下
+        emits: ["mouseUp", "mouseDown"],
+        setup(props, { emit }) {
+            let top = 0,
+                left = 0,
+                width = 0,
+                height = 0,
+                startX = 0,
+                startY = 0,
+                timer = null,
+                // 记录是框选还是点击
+                mouseOn = false
+
+            const style = ref({}),
+                selectContainer = ref(null),
+                // 给当前框容器加一个唯一识别符, 以保证所选择到的元素都是当前容器的. 否则会选择到容器外同名的元素
+                uuid = shallowRef("uuid_" + new Date().valueOf())
+
+            const query = (className = '') => {
+                let domName = `.${uuid.value} ${props.node}`
+                className && (domName += `.${className}`)
+                return Array.from(document.querySelectorAll(domName) || [])
+            }
+
+            const classOperation = (ele, method = 'add', className = '') => ele.classList[method](className)
+
+            const setStyle = (styles = {}, newStyles = {}) => {
+                Object.keys(styles).map((item) => {
+                    newStyles[item] = styles[item] + (isNumber(styles[item]) ? "px" : '')
+                })
+                style.value = newStyles
+            }
+
+            const getAreaWithinElements = () => {
+                const {
+                    bottom,
+                    left,
+                    right,
+                    top
+                } = selectContainer.value.getBoundingClientRect()
+
+                // 所有可框选元素
+                const elements = query()
+                // 已选中元素
+                const selectedElements = elements.filter(item => classOperation(item, 'contains', props.selectedClass))
+                // 未选中元素
+                const unselectedElements = elements.filter(item => !classOperation(item, 'contains', props.selectedClass))
+
+                selectedElements.map(item => {
+                    const withinRange = isWithinRange(item, top, bottom, left, right)
+                    withinRange &&
+                        classOperation(item, 'contains', props.selectedClass) &&
+                        classOperation(item, 'remove', props.selectedClass)
+                })
+
+                unselectedElements.map((item) =>
+                    isWithinRange(item, top, bottom, left, right) &&
+                    classOperation(item, 'add', props.selectedClass))
+
+                return query(props.selectedClass)
+            }
+
+            const mouseDown = debounce((event) => {
+                timer = setTimeout(() => {
+                    mouseOn = true
+                    startX = event.clientX
+                    startY = event.clientY
+                    emit("mouseDown")
+                }, 300)
+                // 重置本次框选的元素列表
+                setStyle({ left, startX, top: startY, width: 0, height: 0, display: "block" })
+            })
+
+            const mouseMove = debounce((event) => {
+                if (!mouseOn) return false
+                const _width = event.clientX - startX
+                const _height = event.clientY - startY
+
+                top = _height > 0 ? startY : event.clientY
+                left = _width > 0 ? startX : event.clientX
+                width = Math.abs(_width)
+                height = Math.abs(_height)
+                setStyle({ left, top, width, height })
+            })
+
+            const mouseUp = debounce((event) => {
+                timer && clearTimeout(timer)
+                // 判断是否鼠标左键
+                if (event.which !== 1) return false
+                // 判断是框选还是点击
+                if (!mouseOn) return false
+                mouseOn = false
+                setStyle({ display: "none" })
+                // 获得已选中的元素
+                const selectedEles = getAreaWithinElements()
+                // 响应事件,并传递本次框选的元素列表
+                emit("mouseUp", selectedEles)
+            })
+
+            nextTick(() => document.addEventListener("mouseup", mouseUp))
+            onUnmounted(() => document.removeEventListener("mouseup", mouseUp))
+
+            return {
+                mouseUp,
+                mouseDown,
+                mouseMove,
+                timer,
+                style,
+                selectContainer,
+                uuid
+            }
+        }
+    }
+</script>
+
+<style lang="scss">
+    .box-select__container {
+        background-color: #ffffff;
+        height: 50vh;
+    }
+
+    .box-select__coordinate {
+        position: fixed;
+        z-index: 11;
+        left: 0;
+        top: 0;
+        width: 0;
+        height: 0;
+        background: rgba(0, 0, 0, .5);
+        border: 1px solid rgba(0, 0, 0, 1);
+        opacity: 0.6;
+        pointer-events: none;
+    }
+
+    .box-select__hypocritical {
+        background-color: blue;
+    }
+</style>

+ 11 - 7
src/components/control/areaCard.vue

@@ -32,8 +32,9 @@
         <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"
-        :stationName="stationName" :windturbine="currentWindturbine"></WindturbineDetailPages>
+    <WindturbineDetailPages v-model="dialogVisible" @close="handleClose" :windturbine="currentWindturbine"></WindturbineDetailPages>
+        <StationSvgDetailPages v-model="svgVisible"
+		:stationName="stationName" :svgWeb="svgWeb" @close="handleClose"></StationSvgDetailPages>
 </template>
 
 <script>
@@ -42,11 +43,13 @@
     import MatrixBlock from "../matrixBlock.vue";
     import MessageBridge from 'utils/MessageBridge'
     import api from "api/index";
+    import StationSvgDetailPages from "../stationSvgDetailPages.vue";
     export default {
         name: 'gy-card',
         components: {
             MatrixBlock,
-            WindturbineDetailPages
+            WindturbineDetailPages,
+            StationSvgDetailPages
         },
         created: function () {
             console.log(this.current)
@@ -80,7 +83,7 @@
                 sendList: [],
                 currentWindturbine: {},
                 dialogVisible: false,
-                showSvg: false,
+                svgVisible: false,
                 showFlag: false,
                 postData: false,
                 svgWeb: '',
@@ -236,7 +239,7 @@
                         arr = msg.split('-')
                     }
                     this.dialogVisible = false
-                    this.showSvg = false
+                    this.svgVisible = false
                     this.svgWeb = ''
                     console.log(arr);
                     if (arr[0] === 'OPEN_FJ') {
@@ -246,9 +249,10 @@
                         }, 500);
                     } else if (arr[0] === 'CLOSE') {
                         this.dialogVisible = false
+                        this.svgVisible = false
                     } else if (arr[0] === 'OPEN_SYZ') {
                         this.showSvg = true
-                        this.dialogVisible = true
+                        this.svgVisible = 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' || arr[0] === 'CONTROL_UNMAINTAIN') {
@@ -366,7 +370,7 @@
             },
             handleClose() {
                 this.dialogVisible = false
-                this.showSvg = false
+                this.svgVisible = false
             },
             handleSend() {
                 if (this.chooseList.length > 0) {

+ 9 - 0
src/components/focus/focusArea.vue

@@ -10,12 +10,20 @@
             </el-scrollbar>
         </div>
     </div>
+    <!-- <boxSelect node=".box">
+        <div class="box">1111</div>
+        <div class="box">2222</div>
+        <div class="box">3333</div>
+        <div class="box">4444</div>
+     </boxSelect> -->
 </template>
 <script>
     import FocusCard from "./focusCard.vue";
+    // import boxSelect from "components/boxSelect.vue";
     export default {
         components: {
             FocusCard,
+            // boxSelect,
         },
     }
 </script>
@@ -64,4 +72,5 @@
         top: 2px;
         left: 12px;
     }
+    
 </style>

+ 36 - 10
src/components/focus/focusCard.vue

@@ -11,6 +11,9 @@
 	<PhotoelectricDetailPages ref="photo" @closed="closed()" :data="dialogData.data"
 		:stationName="dialogData.stationName" v-model="dialogVisible">
 	</PhotoelectricDetailPages>
+	<WindturbineDetailPages v-model="windVisible" :windturbine="currentWindturbine" @close="close"></WindturbineDetailPages>
+	<StationSvgDetailPages v-model="svgVisible"
+		:stationName="stationNames" :svgWeb="svgWeb" @close="close"></StationSvgDetailPages>
 </template>
 
 <script>
@@ -18,6 +21,9 @@
 	import { Photoelectric } from "utils/PhotoelectricDetailPages";
 	import PhotoelectricDetailPages from "./PhotoelectricDetailPages.vue"
 	import MessageBridge from 'utils/MessageBridge'
+	import StationSvgDetailPages from "../stationSvgDetailPages.vue";
+	import WindturbineDetailPages from "../WindturbineDetailPages.vue";
+	
 	import axios from 'axios';
 	import dayjs from 'dayjs'
 	export default {
@@ -26,7 +32,12 @@
 		data() {
 			return {
 				values: new Array(),
+				currentWindturbine: {},
 				dialogVisible: false,
+				svgVisible: false,
+				windVisible: false,
+				svgWeb: '',
+				stationNames: '',
 				dialogData: {
 					data: {
 						PowerSet: '',
@@ -49,6 +60,8 @@
 		},
 		components: {
 			PhotoelectricDetailPages,
+			StationSvgDetailPages,
+			WindturbineDetailPages,
 		},
 		created() {
 			this.datacontrol();
@@ -62,12 +75,12 @@
 				mb.register(attention);
 				mb.register(vss);
 			},
-			attention(msg){
+			attention(msg) {
 				let list = JSON.parse(msg)
 				let types = {
 					ElectricityRestrictions: '限电',
 					Offline: '离线',
-					Accident: '故',
+					Accident: '故',
 				}
 				list.forEach(item => {
 					item.createTime = dayjs(item.time).format('YYYY-MM-DD HH:mm:ss')
@@ -84,7 +97,6 @@
 					arr = msg.split('-')
 				}
 				this.dialogVisible = false
-				this.showSvg = false
 				this.svgWeb = ''
 				if (arr[0] === 'OPEN_AGC' && arr[1] !== 'GS') {
 					let data = bd.Recommends
@@ -95,11 +107,15 @@
 					}
 				} else if (arr[0] === 'CLOSE') {
 					this.dialogVisible = false
+					this.svgVisible = false
 				}
 			},
 			closed() {
 				clearInterval(this.interval);
 			},
+			close() {
+				this.svgVisible = false;
+			},
 			initData() {
 				setInterval(this.refreshData, 2000);
 			},
@@ -130,14 +146,24 @@
 					})
 			},
 			sendMsg: function (vl, index) {
-				let that = this;
-				that.timeIndex = 0;
-				that.ajaxDetail(vl, index);
-				that.interval = window.setInterval(function () {
+				if (vl.attentionType === 'Station' && vl.type === 'Accident') {
+					this.svgVisible = true;
+					this.svgWeb = vl.stationId;
+					this.stationNames = vl.name
+				} else if(vl.attentionType === 'Station' && vl.type === 'ElectricityRestrictions'){
+					let that = this;
+					that.timeIndex = 0;
 					that.ajaxDetail(vl, index);
-				}, 3000);
-				that.dialogVisible = true;
-				that.dialogData.stationName = vl.stationName;
+					that.interval = window.setInterval(function () {
+						that.ajaxDetail(vl, index);
+					}, 3000);
+					that.dialogVisible = true;
+					that.dialogData.stationName = vl.stationName;
+				}else if(vl.attentionType === 'WindTurbine'){
+					this.windVisible = true;
+					this.currentWindturbine = this.$store.state.windturbinelist[vl.id];
+				}
+
 			},
 			ajaxDetail(data, index) {
 				let thisKey = Photoelectric[data.id];

+ 155 - 0
src/components/stationSvgDetailPages.vue

@@ -0,0 +1,155 @@
+<template>
+	<el-dialog width="75%" @closed="closed()" :show-close="false" class="my-info-dialog">
+		<template #title>
+			<div style="margin-top:-10px;color: #FFFFFF;">{{stationName}}</div>
+		</template>
+		<div>
+			<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>
+
+<script>
+	// import YawDetail from "./YawDetail.vue";
+	import api from "api/index";
+	import UniformCodes from "utils/UniformCodes";
+	import Dwk from "./BoosterStation/dwk.vue";
+	import Sbdl from "./BoosterStation/sbdl.vue";
+	import Nss from "./BoosterStation/nss.vue";
+	import Mhs from "./BoosterStation/mhs.vue";
+	import Qs from "./BoosterStation/qs.vue";
+	import Pl1 from "./BoosterStation/pl1.vue";
+	import Pl2 from "./BoosterStation/pl2.vue";
+	import Mch from "./BoosterStation/mch.vue";
+	import Xs from "./BoosterStation/xs.vue";
+	import Xh from "./BoosterStation/xh.vue";
+	import Sbq from "./BoosterStation/sbq.vue";
+	import BackgroundData from 'utils/BackgroundData'
+	// import Worning from "./warning.vue"
+	export default {
+		components: {
+			Dwk,
+			Sbdl,
+			Nss,
+			Mhs,
+			Qs,
+			Pl1,
+			Pl2,
+			Mch,
+			Xs,
+			Xh,
+			Sbq
+		},
+		props: {
+			svgWeb: {
+				type: String,
+				default: '',
+			},
+			stationName: {
+				type: String,
+				default: '',
+			},
+		},
+		data() {
+			return {
+				BasicInfo: {},
+				line: "",
+				alarmTime: "",
+				alarmContent: "",
+				alarms: [],
+				count: false,
+				
+				
+				types: null,
+			};
+		},
+		created() {
+			this.UniformCodes = new UniformCodes();
+		},
+
+		methods: {
+			closed() {
+				// todo 切换页面的时候应该让上一个页面停止刷新数据(调用end方法)
+				// this.$refs.svgRef.closed();
+				// this.$refs.BasicInfo.end();
+				// this.$refs.BasicInfo.labelChange();
+				this.$emit('close');
+				//clearInterval(this.refreshTimer);
+			},
+			
+			dbClicks(value) {
+				this.$refs.BasicInfo.dbClicks(value, this.windturbine.windturbineId)
+			},
+		},
+		// watch: {
+		// 	'windturbine': {
+		// 		handler: function (json) {
+		// 			if (json) {
+		// 				if (!this.showSvg) {
+		// 					this.initData()
+		// 				}
+		// 			}
+		// 		}
+		// 	}
+		// }
+	};
+</script>
+<style scoped>
+	.my-info-dialog {
+		box-shadow: 0px 0px 10px #05bb4c;
+	}
+
+	.body {
+		background-color: black;
+		margin-top: -30px;
+		margin-left: -10px;
+		margin-right: -10px;
+		margin-bottom: -30px;
+		border-bottom: 20px solid rgb(36, 36, 36);
+	}
+
+	.chunkdiv {
+		display: flex;
+		/* justify-content: center; */
+		background-color: #363636;
+		margin: 1px;
+		padding: 4px 2px;
+		font-size: 12px;
+		color: #FFFFFF;
+		overflow: hidden;
+		white-space: nowrap;
+		padding-left: 32px;
+	}
+
+	.title {
+		font-size: 12px;
+		color: #B3B3B3;
+	}
+
+	table {
+		margin-left: 2px;
+		margin-right: 2px;
+	}
+
+	td {
+		width: 20%;
+	}
+
+	el-tabs {
+		background-color: black;
+	}
+
+	.svg {
+		height: 67vh;
+	}
+</style>

+ 8 - 5
src/components/warning/warningCard.vue

@@ -24,8 +24,9 @@
 			</el-table-column>
 		</el-table>
 	</div>
-	<WindturbineDetailPages v-model="dialogVisible" :windturbine="currentWindturbine" :showSvg="showSvg"
-		:stationName="stationName" :svgWeb="svgWeb" @close="close"></WindturbineDetailPages>
+	<WindturbineDetailPages v-model="dialogVisible" :windturbine="currentWindturbine" @close="close"></WindturbineDetailPages>
+		<StationSvgDetailPages v-model="svgVisible"
+		:stationName="stationName" :svgWeb="svgWeb" @close="close"></StationSvgDetailPages>
 </template>
 
 <script>
@@ -33,13 +34,14 @@
 	import WindturbineDetailPages from "../WindturbineDetailPages.vue";
 	import BackgroundData from "utils/BackgroundData";
 	import api from "api/index";
-	// import Sbdl from "../BoosterStation/sbdl.vue";
+	import StationSvgDetailPages from "../stationSvgDetailPages.vue";
 
 	export default {
 		name: "AlarmArea",
 		components: {
 			WindturbineDetailPages,
 			// Sbdl,
+			StationSvgDetailPages,
 		},
 		created: function () {
 			this.initData()
@@ -51,6 +53,7 @@
 				values: ["-"],
 				dialogVisible: false,
 				showSvg: false,
+				svgVisible: false,
 				svgWeb: '',
 				stationName: '',
 				currentWindturbine: {},
@@ -96,14 +99,14 @@
 					this.showSvg = false;
 					this.currentWindturbine = row;
 				} else if(row.category1 === "SYZ"){
-					this.dialogVisible = true;
+					this.svgVisible = true;
 					this.svgWeb = row.stationId;
-					this.showSvg = true;
 					this.stationName = row.stationName
 				}
 			},
 			close() {
 				this.dialogVisible = false;
+				this.svgVisible = false
 			},
 			/* 报警确认 */
 			itemChecked(row) {