pickEvent.js 实体点击事件

/* 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;
  }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值