From 87e19b5a396ac8fed6a551828b87d263f6425c31 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期四, 16 十月 2025 10:26:12 +0800
Subject: [PATCH] 2025.10.16 修改季度报告生成逻辑
---
src/utils/map/dialog.js | 103 ++++++++++++++++++++++++++++++---------------------
1 files changed, 60 insertions(+), 43 deletions(-)
diff --git a/src/utils/map/dialog.js b/src/utils/map/dialog.js
index 713af62..c7403eb 100644
--- a/src/utils/map/dialog.js
+++ b/src/utils/map/dialog.js
@@ -3,17 +3,15 @@
import { factorUnit } from '@/constant/factor-unit';
import { windDir } from '@/constant/wind-dir';
import { map } from './index_old';
+import { checkboxOptions } from '@/constant/checkbox-options';
+import { useToolboxStore } from '@/stores/toolbox';
+
+const toolboxStore = useToolboxStore();
export const DialogUtil = {
- show: true,
- toggleDataDialog() {
- this.show = !this.show;
- if (this.show) {
- return '鏁版嵁寮规锛氬紑';
- } else {
- return '鏁版嵁寮规锛氬叧';
- }
- },
+ // 褰撳墠鎵撳紑鐨勫脊妗嗗強浣嶇疆鍧愭爣
+ marker: undefined,
+ lnglat: undefined,
/**
* 鍒涘缓寮瑰嚭妗�
* @param {*} factorDatas 鐩戞祴鏁版嵁
@@ -21,8 +19,9 @@
* @param {*} onClose 鍏抽棴寮瑰嚭妗嗗洖璋�
* @returns
*/
- createInfoWindow(deviceCode, factorDatas, i, onClose) {
+ createInfoWindow(deviceType, deviceCode, factorDatas, i, onClose) {
let m = {
+ deviceType: deviceType,
deviceCode: deviceCode,
data: factorDatas,
index: i,
@@ -37,25 +36,9 @@
offset: new AMap.Pixel(16, -45),
autoMove: false
});
- return m.window;
+ return m;
},
- createInfoWindow2(factorData, onClose) {
- let m = {
- time: factorData.time,
- factorList: factorData.values,
- window: '',
- close: onClose
- };
- // eslint-disable-next-line no-undef
- m.window = new AMap.InfoWindow({
- isCustom: true, //浣跨敤鑷畾涔夌獥浣�
- content: this.createWindowContent2(m),
- // eslint-disable-next-line no-undef
- offset: new AMap.Pixel(16, -45)
- });
- return m.window;
- },
/**
* 绔欑偣鏍囪淇℃伅绐椾綋
*/
@@ -74,6 +57,7 @@
},
createWindowContent2(marker) {
+ const factorTypes = checkboxOptions(marker.deviceType);
const time = marker.time;
const factorList = marker.factorList;
//瀹炰緥鍖栦俊鎭獥浣�
@@ -89,14 +73,17 @@
var _contents = new Map();
factorList.forEach((f) => {
// 鍒犻�変笉鏄剧ず鐨勫洜瀛�
- if (
- f.factorName == 'NOI' ||
- f.factorName == 'LNG' ||
- f.factorName == 'LAT' ||
- f.factorName == 'VELOCITY' ||
- f.factorName == 'TIME' ||
- f.factorName == 'HEIGHT'
- ) {
+ // if (
+ // f.factorName == 'NOI' ||
+ // f.factorName == 'LNG' ||
+ // f.factorName == 'LAT' ||
+ // f.factorName == 'VELOCITY' ||
+ // f.factorName == 'TIME' ||
+ // f.factorName == 'HEIGHT'
+ // ) {
+ // return;
+ // }
+ if (!factorTypes.find((v) => v.name == f.factorName)) {
return;
}
@@ -253,15 +240,45 @@
return info;
},
- openNewWindow(deviceCode, factorDatas, i, onClose) {
- if (!this.show) return;
- const window = this.createInfoWindow(deviceCode, factorDatas, i, onClose);
- window.open(map, factorDatas.lnglats_GD[i]);
+ /**
+ * 寮�鍚竴涓柊鐨勬暟鎹脊妗�
+ * @param {String} deviceType 璁惧绫诲瀷
+ * @param {String} deviceCode 璁惧缂栧彿
+ * @param {Array} factorDatas 鐩戞祴鏁版嵁
+ * @param {Number} i 鏁版嵁绱㈠紩
+ * @param {Function} onClose 寮规鍏抽棴鍥炶皟
+ * @returns
+ */
+ openNewWindow(deviceType, deviceCode, factorDatas, i, onClose) {
+ if (!toolboxStore.dataDialogStatus) return;
+ this.marker = this.createInfoWindow(
+ deviceType,
+ deviceCode,
+ factorDatas,
+ i,
+ onClose
+ );
+ this.marker.window.open(map, factorDatas.lnglats_GD[i]);
+ this.lnglat = factorDatas.lnglats_GD[i];
},
- openNewWindow2(factorData, position, onClose) {
- if (!this.show) return;
- const window = this.createInfoWindow2(factorData, onClose);
- window.open(map, position);
+ /**
+ * 鎵撳紑缂撳瓨涓殑寮规
+ */
+ openWindow() {
+ if (this.marker && this.lnglat) {
+ // this.marker.close();
+ this.marker.window.open(map, this.lnglat);
+ }
+ },
+
+ /**
+ * 鍏抽棴宸插脊鍑虹殑寮规
+ */
+ closeWindow() {
+ if (this.marker) {
+ // this.marker.close();
+ this.marker.window.close();
+ }
}
};
--
Gitblit v1.9.3