/* eslint-disable new-cap */
/*
* @title:点位拾取
* @Author: peitianxu
* @Date: 2023-05-09 17:08:50
* @LastEditors: yang shao tang
* @LastEditTime: 2024-01-03 09:46:12
* @FilePath: \FPYZT1.0\src\utils\pickEvent.js
* @Description: 点位拾取
* =========修 改 内 容=========
* 姓名: zhaoxiaobin
* 2023-11-30 9:58:01
* 内容:
* 1.增加数据目录的点位的弹窗方法
* -------------------------
* 姓名: zhaoxiaobin
* 2023-12-04 13:58:01
* 内容:
* 1.增加知识图谱的弹窗和方法
* -------------------------
*/
import store from '../store';
import router from '../router';
// 导入 pickUp 工具类
import pickUp from '@/utils/pickUp.js';
// 导入弹窗类型常量
import popupTypes from '@/utils/popupType';
// 导入获取弹窗组件函数
import getPopupComponent from '@/components/popupComponents/index';
export default class PickEvent {
constructor() {
// eslint-disable-next-line new-cap
// 实例化 pickUp 工具类
this.pickUp = new pickUp();
this.__init();
// 获取全局状态中的 Popup 对象
this.popup = store.state.Popup;
this.handlerglobe = null;
}
__init() {
// 监听实体点位事件
this.pickUp.EntityPickEvent((pick) => {
// 获取实体点位数据
const DATA = pick.data.id;
// 如果没有数据,则直接返回
if (!DATA) return;
// 获取弹窗类型
const POPUP_TYPE = pick.data.id.popupType;
// 如果弹窗类型为'TC',则处理弹窗
if (POPUP_TYPE == popupTypes['TC']) {
this.__popup(DATA);
} else if (popupTypes['ZYTC'].includes(POPUP_TYPE)) {
this.__popup(DATA, 140);
} else if (popupTypes['SJML'].includes(POPUP_TYPE)) {
this.__popup(DATA, 140);
} else if (popupTypes['ZSTP'].includes(POPUP_TYPE)) {
this.__popup(DATA, 140);
} else if (popupTypes['ZHJZ'].includes(POPUP_TYPE)) {
this.__popup(DATA, 120);
} else if (popupTypes['WQX'].includes(POPUP_TYPE)) {
this.__popup(DATA);
}
});
// this.pickUp.WheelMent((pick)=>{
// })
}
/**
* @description:弹窗点位点击事件
* @param {Object} data - 弹窗数据
* @return {*}
*/
__popup(data, height, left) {
// 获取弹窗位置信息
const position = data.position.getValue();
// 获取弹窗组件
getPopupComponent(data.popupType).then((e) => {
// 创建弹窗
this.popup.createPopup(
data.popupType,
e,
{
id: data.id,
position,
customData: data.customData,
},
height,
left
);
});
}
/**
* @description:资源类型弹窗点位点击事件
* @param {Object} data - 弹窗数据
* @return {*}
*/
__ZYLTPOUP(data, height, left) {
// 获取弹窗位置信息
const position = data.position.getValue();
// 获取弹窗组件
getPopupComponent(data.popupType).then((e) => {
// 创建弹窗
this.popup.createPopup(
data.popupType,
e,
{
id: data.id,
position,
customData: data.customData,
},
height,
left
);
});
}
/*******
* @description: 数据目录点位的弹窗
* @param {*} data
* @param {*} height
* @param {*} left
* @return {*}
*/
__SHUJUPOUP(data, height, left) {
// 获取弹窗位置信息
const position = data.position.getValue();
getPopupComponent(data.popupType).then((e) => {
// 创建弹窗
this.popup.createPopup(
data.popupType,
e,
{
id: data.id,
position,
customData: data.customData,
},
height,
left
);
});
}
/*******
* @description: 知识图谱的弹窗
* @param {*} data
* @param {*} height
* @param {*} left
* @return {*}
*/
__ZSTPPOUP(data, height, left) {
// 获取弹窗位置信息
const position = data.position.getValue();
getPopupComponent(data.popupType).then((e) => {
// 创建弹窗
this.popup.createPopup(
data.popupType,
e,
{
id: data.id,
position,
customData: data.customData,
},
height,
left
);
});
}
/**
* @description: 聚合设备点位点击事件
* @param {*} data
* @return {*}
*/
__DEVICEFFUSION(data) {
// console.log(data);
// // 获取弹窗位置信息
// const position = data.position.getValue();
// getPopupComponent(data.popupType).then((e) => {
// this.popup.createPopup(data.popupType, e, {
// id: data.id,
// // position,
// customData: data.customData,
// });
// });
}
/**
* @description: 周边点位
* @param {*} data
* @return {*}
*/
__PERIPHERY(data) {
window.currentFlashPointId = data.id;
}
}
pickEvent.js 实体点击事件
最新推荐文章于 2024-09-14 18:52:56 发布