hejianhao
2026-01-24 9dbf42ff081d12eb0bfc61d390c2c6be0512c25e
fix(home): 修复项目选择与地图显示逻辑

移除重复的项目列表获取调用,统一在 getScreenData 中处理
修复项目地图点位判断逻辑,增加空值检查
延迟显示地图悬浮窗以确保地图加载完成
1个文件已修改
27 ■■■■■ 已修改文件
screen/src/view/home/index.vue 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
screen/src/view/home/index.vue
@@ -781,18 +781,6 @@
          this.dateTxt = "";
        }
        this.getScreenData();
        let params = {
          startDate: "",
          endDate: "",
          clientId: localStorage.getItem("clientId"),
        };
        if (newVal.length > 0) {
          params.startDate = moment(this.dateRange[0]).format("YYYY-MM-DD");
          params.endDate = moment(this.dateRange[1]).format("YYYY-MM-DD");
        }
        getProjectSelect(params).then((res) => {
          this.projectList = res;
        });
      },
      immediate: true,
    },
@@ -868,6 +856,9 @@
        params.startDate = moment(this.dateRange[0]).format("YYYY-MM-DD");
        params.endDate = moment(this.dateRange[1]).format("YYYY-MM-DD");
      }
      getProjectSelect(params).then((res) => {
        this.projectList = res;
      });
      getStatistics(params).then((res) => {
        this.screenData = res.ongoingProject || res.fixedAsset;
        this.setMapload();
@@ -925,7 +916,7 @@
        (item) => item.projectId === this.projectId
      );
      if (Object.keys(target).length == 0) {
      if (!target || Object.keys(target).length == 0) {
        this.$message.warning("无此项目地图点位");
        return;
      }
@@ -938,10 +929,12 @@
        ]);
        // 显示悬浮窗
        this.showTooltip(null, {
          projectId: target.projectId,
          position: [Number(target.longitude), Number(target.latitude)],
        });
        setTimeout(() => {
          this.showTooltip(null, {
            projectId: target.projectId,
            position: [Number(target.longitude), Number(target.latitude)],
          });
        }, 1000);
      } else {
        this.$message.warning("该项目暂无位置信息");
      }