|
@@ -2,49 +2,97 @@
|
|
|
<div class="map-container">
|
|
|
<div id="map" class="map"></div>
|
|
|
<div v-if="hoverInfo" :style="hoverStyle" class="hover-info">
|
|
|
- <h3>{{hoverInfo.fieldName}}</h3>
|
|
|
+ <h3>{{ hoverInfo.fieldName }}</h3>
|
|
|
<div>
|
|
|
- <p><span>风场编号</span><span>{{hoverInfo.codeNumber}}</span></p>
|
|
|
- <p><span>空气密度</span><span>{{hoverInfo.density}}</span></p>
|
|
|
- <p><span>总额定容量</span><span>{{hoverInfo.ratedCapacityNumber}}</span></p>
|
|
|
- <p><span>经度</span><span>{{hoverInfo.longitude}}</span></p>
|
|
|
- <p><span>纬度</span><span>{{hoverInfo.latitude}}</span></p>
|
|
|
- <p><span>海拔高度</span><span>{{hoverInfo.elevationHeight}}</span></p>
|
|
|
- <p><span>最新分析时间</span><span> {{ $formatDate(hoverInfo.wfbrCreateTime) }}</span></p>
|
|
|
+ <p>
|
|
|
+ <span>风场编号</span><span>{{ hoverInfo.codeNumber }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>空气密度</span><span>{{ hoverInfo.density }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>总额定容量</span
|
|
|
+ ><span>{{ hoverInfo.ratedCapacityNumber }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>经度</span><span>{{ hoverInfo.longitude }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>纬度</span><span>{{ hoverInfo.latitude }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>海拔高度</span><span>{{ hoverInfo.elevationHeight }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>最新分析时间</span
|
|
|
+ ><span> {{ $formatDate(hoverInfo.wfbrCreateTime) }}</span>
|
|
|
+ </p>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
<div v-if="hoverfengji" :style="hoverfengjiStyle" class="hover-fengji">
|
|
|
- <h3>{{hoverfengji.engineName}}</h3>
|
|
|
+ <h3>{{ hoverfengji.engineName }}</h3>
|
|
|
<div>
|
|
|
- <p><span>风机编号</span><span>{{hoverfengji.engineCode}}</span></p>
|
|
|
- <p><span>额定容量</span><span>{{hoverfengji.ratedCapacity}}</span></p>
|
|
|
- <p><span>海拔高度</span><span>{{hoverfengji.elevationHeight}}</span></p>
|
|
|
- <p><span>轮毂高度</span><span>{{hoverfengji.hubHeight}}</span></p>
|
|
|
- <p><span>经度</span><span>{{hoverfengji.longitude}}</span></p>
|
|
|
- <p><span>维度</span><span>{{hoverfengji.latitude}}</span></p>
|
|
|
- <p>是否标杆风机 <span>{{hoverfengji.sightcing == 1 ? '是' : '否'}}</span></p>
|
|
|
- <p><span>额定风速</span><span>{{hoverfengji.rated_wind_speed}}</span></p>
|
|
|
- <p><span>切入风速</span><span>{{hoverfengji.ratedCutInWindspeed}}</span></p>
|
|
|
- <p><span>切出风速</span><span>{{hoverfengji.ratedCutOutWindspeed}}</span></p>
|
|
|
+ <p>
|
|
|
+ <span>风机编号</span><span>{{ hoverfengji.engineCode }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>额定容量</span><span>{{ hoverfengji.ratedCapacity }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>海拔高度</span><span>{{ hoverfengji.elevationHeight }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>轮毂高度</span><span>{{ hoverfengji.hubHeight }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>经度</span><span>{{ hoverfengji.longitude }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>维度</span><span>{{ hoverfengji.latitude }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ 是否标杆风机
|
|
|
+ <span>{{ hoverfengji.sightcing == 1 ? "是" : "否" }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>额定风速</span><span>{{ hoverfengji.rated_wind_speed }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>切入风速</span
|
|
|
+ ><span>{{ hoverfengji.ratedCutInWindspeed }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>切出风速</span
|
|
|
+ ><span>{{ hoverfengji.ratedCutOutWindspeed }}</span>
|
|
|
+ </p>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-if="hoverta" :style="hovertaStyle" class="hover-ta">
|
|
|
- <h3>{{hoverta.anemometerName}}</h3>
|
|
|
+ <h3>{{ hoverta.anemometerName }}</h3>
|
|
|
<div>
|
|
|
- <p><span>测风塔编号</span><span>{{hoverta.anemometerCode}}</span></p>
|
|
|
-
|
|
|
- <p><span>经度</span><span>{{hoverta.longitude}}</span></p>
|
|
|
- <p><span>维度</span><span>{{hoverta.anemometerName}}</span></p>
|
|
|
- <p><span>状态</span><span>{{hoverta.latitude}}</span></p>
|
|
|
- <p><span>测风塔高度</span><span>{{hoverta.anemometerHeightStrings}}</span></p>
|
|
|
+ <p>
|
|
|
+ <span>测风塔编号</span><span>{{ hoverta.anemometerCode }}</span>
|
|
|
+ </p>
|
|
|
|
|
|
+ <p>
|
|
|
+ <span>经度</span><span>{{ hoverta.longitude }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>维度</span><span>{{ hoverta.anemometerName }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>状态</span><span>{{ hoverta.latitude }}</span>
|
|
|
+ </p>
|
|
|
+ <p>
|
|
|
+ <span>测风塔高度</span
|
|
|
+ ><span>{{ hoverta.anemometerHeightStrings }}</span>
|
|
|
+ </p>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
-
|
|
|
<script>
|
|
|
import "ol/ol.css";
|
|
|
import { Map, View, Feature } from "ol";
|
|
@@ -79,7 +127,7 @@ export default {
|
|
|
hoverInfo: null,
|
|
|
hoverStyle: {
|
|
|
position: "absolute",
|
|
|
- left: "0px",
|
|
|
+ left: "0px",
|
|
|
top: "0px",
|
|
|
},
|
|
|
hoverfengji: null,
|
|
@@ -186,7 +234,6 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
getIconForValue(val) {
|
|
|
-
|
|
|
switch (val) {
|
|
|
case "-1":
|
|
|
case -1:
|
|
@@ -220,31 +267,30 @@ export default {
|
|
|
if (val == "1") {
|
|
|
this.hoverInfo = feature.get("data");
|
|
|
this.hoverStyle.left = `${evt.pixel[0] + 10}px`;
|
|
|
- this.hoverStyle.top = `${evt.pixel[1] + 10}px`;
|
|
|
+ this.hoverStyle.top = `${evt.pixel[1] - 150}px`;
|
|
|
} else if (val == "4") {
|
|
|
this.hoverfengji = feature.get("data");
|
|
|
this.hoverfengjiStyle.left = `${evt.pixel[0] + 10}px`;
|
|
|
- this.hoverfengjiStyle.top = `${evt.pixel[1] + 10}px`;
|
|
|
- this.currentFeatureData = feature.get("data"); // Store the feature data for click event
|
|
|
+ this.hoverfengjiStyle.top = `${evt.pixel[1] - 150}px`;
|
|
|
+ this.currentFeatureData = feature.get("data");
|
|
|
} else if (val == "5") {
|
|
|
this.hoverta = feature.get("data");
|
|
|
this.hovertaStyle.left = `${evt.pixel[0] + 10}px`;
|
|
|
- this.hovertaStyle.top = `${evt.pixel[1] + 10}px`;
|
|
|
- this.currentFeatureData = feature.get("data"); // Store the feature data for click event
|
|
|
+ this.hovertaStyle.top = `${evt.pixel[1] - 150}px`;
|
|
|
+ this.currentFeatureData = feature.get("data");
|
|
|
} else {
|
|
|
this.hoverInfo = null;
|
|
|
this.hoverfengji = false;
|
|
|
this.hoverta = false;
|
|
|
- this.currentFeatureData = null; // Ensure no stored feature data if val is not 3 or 4
|
|
|
+ this.currentFeatureData = null;
|
|
|
}
|
|
|
} else {
|
|
|
this.hoverInfo = null;
|
|
|
this.hoverfengji = false;
|
|
|
this.hoverta = false;
|
|
|
- this.currentFeatureData = null; // Ensure no stored feature data if there are no features
|
|
|
+ this.currentFeatureData = null;
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
this.map.on("click", (evt) => {
|
|
|
const features = this.map.getFeaturesAtPixel(evt.pixel, {
|
|
|
hitTolerance: 1,
|
|
@@ -253,17 +299,12 @@ export default {
|
|
|
const feature = features.at(0);
|
|
|
this.$emit("feature-click", feature.get("data"));
|
|
|
}
|
|
|
- // Check if there's stored feature data and if it's a val === "4" feature
|
|
|
if (this.currentFeatureData && this.currentFeatureData.val === "4") {
|
|
|
- // Handle click event for val === "4"
|
|
|
this.handleFeatureClick(this.currentFeatureData);
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
-
|
|
|
handleFeatureClick(featureData) {
|
|
|
- // Implement your logic to handle the click event for val === "4"
|
|
|
- // For example, emit an event or perform some action
|
|
|
console.log("Feature with val === '4' clicked:", featureData);
|
|
|
},
|
|
|
|