wangyawei
2025-04-18 95f7d3b2fa9399514af2d32dbffbc9e4a7c9b197
src/components/tools/Tools.vue
@@ -199,46 +199,42 @@
// 处理工具点击事件
function handleClick(tool, event) {
  // 遍历工具列表,更新激活状态
  toolList.value.forEach((item) => {
    item.active =
      item.name === tool.name && currentToolOptions.value !== tool.options;
    item.active = item.name === tool.name && currentToolOptions.value !== tool.options;
  });
  console.log(tool.options);
  // 定义一个函数用于重置所有状态
  const resetAllStates = () => {
    isPopupVisible.value = false;
    seeAnalyzeShow.value = false;
    topographyShow.value = false;
    echartsShow.value = false;
    showAspect.value = false;
    showRain.value = false;
    showSnow.value = false;
    isContourLabel.value = false;
  };
  // 如果当前工具已经是激活状态,则关闭它
  if (currentToolOptions.value === tool.options) {
    currentToolOptions.value = null; // 清空当前工具选项
    isPopupVisible.value = false; // 隐藏弹窗
    seeAnalyzeShow.value = false; // 可视域
    topographyShow.value = false; // 剖面
    echartsShow.value = false; // 剖面echarts
    showAspect.value = false; // 坡度坡向分析
    showRain.value = false; // 雨天
    showSnow.value = false; // 雪天
    resetAllStates();
    return;
  }
  // 如果工具名称是 "图层管理"
  // 如果工具名称是 "图层管理",切换图层树显示状态
  if (tool.name === "图层管理") {
    showLayerTree.value = !showLayerTree.value; // 切换图层树的显示状态
    isPopupVisible.value = false; // 隐藏弹窗
    seeAnalyzeShow.value = false; //可视域
    topographyShow.value = false; //剖面
    echartsShow.value = false; //剖面echarts
    showAspect.value = false; //坡向箭头
    showRain.value = false; //雨天
    showSnow.value = false; //雨天
    showLayerTree.value = !showLayerTree.value;
    resetAllStates();
    return;
  }
  // 对于其他工具
  resetAllStates();
  showLayerTree.value = false; // 确保图层树隐藏
  isPopupVisible.value = true; // 显示弹窗
  currentToolOptions.value = tool.options; // 设置当前工具的功能选项
  seeAnalyzeShow.value = false; //可视域
  topographyShow.value = false; //剖面
  echartsShow.value = false; //剖面echarts
  showAspect.value = false; //坡向箭头
  showRain.value = false; //雨天
  showSnow.value = false; //雨天
}
const currentOption = ref(null);
@@ -298,11 +294,11 @@
    },
    等高线分析: () => {
      isContourLabel.value = true;
      if (isContourLabel.value === false) {
        mapUtils.createContourLabel();
      } else {
        mapUtils.closeContourLabel();
      }
      // if (isContourLabel.value === false) {
      //   mapUtils.createContourLabel();
      // } else {
      //   mapUtils.closeContourLabel();
      // }
    },
    点位信息提取: () => {
      isPickActive.value = !isPickActive.value;