feige
9 天以前 1eb1522eb39f58603155302f072e2ead3045d2ef
ruoyi-ui/src/views/mindMap/index.vue
@@ -1,5 +1,20 @@
<template>
  <div class="app-container">
    <el-select
      v-model="selectedClan"
      placeholder="请选择家族"
      @change="handleClanChange"
      style="margin-bottom: 20px; width: 200px;"
    >
      <el-option
        v-for="clan in clanList"
        :key="clan.id"
        :label="clan.name"
        :value="clan.id"
      >
      </el-option>
    </el-select>
    6565565665
<!--    <div class="text" style="background-color: #FEF7FC;" >
      <h1 style="font-size: 21px;">{{ greeting +',' + user.userName }}</h1></div> -->
    <div class="image-container" style="background-color: #FEF7FC;">
@@ -31,7 +46,11 @@
      showMindMap: false,
      user: {},
      greeting: "",
      rootList:[]
      rootList:[],
            // 新增家族列表
            clanList: [],
      // 新增当前选中的家族 ID
      selectedClan: null
    };
  },
  mounted() {
@@ -93,6 +112,62 @@
      })
    },
    // 加载对应家族的家谱图数据
    loadMindMapData(clanId) {
      listRoot(10, clanId).then(response => {
        this.rootList = response.data;
        const mindMapData = this.rootList[0];
        console.log(mindMapData);
        console.log('9999');
        this.mapData = this.drawData(mindMapData);
        this.showMindMap = true;
      });
    },
    // 处理家族选择变化
    handleClanChange(clanId) {
      this.loadMindMapData(clanId);
    },
    drawData(mpdata) {
      let tp = "https://www.bendudu.com:8080/profile/upload/2023/03/19/test7_20230319222030A007.jpg"
      if (mpdata == null)
        return null;
      var data = {
        "label": mpdata['spouse'] != null ? eval(mpdata['spouse']).nickName : '',
        "prop": mpdata['nickName'],
        "url": mpdata['url'] != null ? 'https://www.bendudu.com:8080/' + mpdata['url'] : tp,
        "purl": mpdata['spouse'] != null ? (mpdata['spouse'].url != null ? 'https://www.bendudu.com:8080/' + mpdata['spouse'].url : tp) : tp,
        "id": mpdata['userId'],
        "spid": mpdata['spouseId'] != null ? mpdata['spouseId'] : '',
        "link": mpdata['nickName'],
        "children": []
      };
      if (mpdata['childList'] != null) {
        for (var i = 0; i < mpdata['childList'].length; i++) {
          var dt = {
            "label": mpdata['childList'][i]['spouse'] != null ? eval(mpdata['childList'][i]['spouse']).nickName : "",
            "prop": mpdata['childList'][i]['nickName'],
            "url": mpdata['childList'][i]['url'] != null ? 'https://www.bendudu.com:8080/' + mpdata['childList'][i]['url'] : tp,
            "id": mpdata['childList'][i]['userId'],
            "spid": mpdata['childList'][i]['spouseId'] != null ? mpdata['childList'][i]['spouseId'] : '',
            "purl": (mpdata['childList'][i]['spouse'] != null) ? (mpdata['childList'][i]['spouse'].url != null ? 'https://www.bendudu.com:8080/' + mpdata['childList'][i]['spouse'].url : tp) : tp,
            "link": mpdata['childList'][i]['nickName'],
            "children": []
          };
          if (mpdata['childList'][i]['childList'] != null) {
            for (var j = 0; j < mpdata['childList'][i]['childList'].length; j++) {
              dt['children'].push(this.drawData(mpdata['childList'][i]['childList'][j]));
            }
          }
          data['children'].push(dt);
        }
      }
      return data;
    },
    drawData(mpdata) {
     let tp = "https://www.bendudu.com:8080/profile/upload/2023/03/19/test7_20230319222030A007.jpg"
      if (mpdata == null)