guonan
2025-07-08 687d15815ed738173c5a82495f0056fb2c9d7f25
src/views/Home.vue
@@ -58,8 +58,9 @@
// import ResultAssess from "@/components/monifangzhen/ResultAssess.vue";
// import DangerAssess from "@/components/monifangzhen/DangerAssess.vue";
import { showDeviceDetail } from "@/store";
import { setupTokenRefresh, getDangerPoint } from "@/api/hpApi.js";
import { setupTokenRefresh, getDangerPoint, getAllCode } from "@/api/hpApi.js";
import { convertToWKT } from "@/utils/wktUtils";
import { getDeviceInfoSHG, getSafePoint } from "@/api/hpApi";
const route = useRoute();
const simStore = useSimStore();
@@ -99,13 +100,46 @@
// 计算属性
const showDetail = computed(() => showDeviceDetail.value);
function extractAllChildrenInfoUnique(dataArray) {
  const map = new Map();
  function traverse(nodes) {
    if (!Array.isArray(nodes)) return;
    for (const node of nodes) {
      const key = node.code;
      // 检查是否是最后一层(没有子节点或子节点为空数组)
      if (!node.children || node.children.length === 0) {
        if (key && !map.has(key)) {
          map.set(key, { name: node.nameChn, code: key });
        }
      } else {
        // 如果有子节点,继续递归遍历
        traverse(node.children);
      }
    }
  }
  traverse(dataArray);
  return Array.from(map.values());
}
onMounted(async () => {
  getAllCode().then((res) => {
    // 北京市所有村以及街道code
    simStore.townCodeAll = extractAllChildrenInfoUnique(res.data[0].children);
  });
  setupTokenRefresh(); // 获取宏图token
  // getSimData(); //测试tr后端
  // 获取隐患点列表(因为中科软后端接口获取加载时间较长)
  getDangerPoint().then((res) => {
  getDangerPoint("110116110000").then((res) => {
    simStore.DangerPoint = res.data.pageData;
  });
  getDeviceInfoSHG(null).then((res) => {
    simStore.devices = res.data.pageData;
  });
  try {
    const wktResult = convertToWKT(multiPolygonCoordinates);
    // console.log(wktResult,'a');