Tcsm
2023-08-24 76956e0f6cc235678fce936439ad932a7b8bc344
ruoyi-ui/src/views/mindMap/index.vue
@@ -3,16 +3,12 @@
    <h1 style="font-size: 21px;">{{ greeting +',' + user.userName }}</h1>
    <div class="image-container">
      <img class="top-image" src="../../assets/images/zhang.png" alt="Top Image">
      <img class="bottom-image" src="../../assets/images/bkg.png" alt="Bottom Image">
      <el-card class="mind-map-container ">
        <div id="mind-map">
        </div>
      </el-card>
    </div>
    <el-card class="mind-map-container">
      <div id="mind-map">
      </div>
    </el-card>
  </div>
</template>
@@ -20,6 +16,7 @@
import { getUserProfile } from "@/api/system/user";
import { listRootAll ,listRoot} from "@/api/root/index";
import * as d3 from 'd3';
export default {
  name: "index",
@@ -61,15 +58,30 @@
      })
    },
    drawMindMap() {
      const mindMapData = this.rootList[0]; // 从rootList中获取数据
      // 清除现有的SVG元素
      d3.select("#mind-map svg").remove();
      // 创建一个新的 div 元素作为包裹思维导图的容器
      const mindMapContainer = document.createElement("div");
      mindMapContainer.setAttribute("id", "mind-map-container");
      mindMapContainer.style.position = "absolute";
      mindMapContainer.style.top = "0";
      mindMapContainer.style.left = "0";
      mindMapContainer.style.width = "100%";
      mindMapContainer.style.height = "100%";
      mindMapContainer.style.zIndex = "1";
      // 将思维导图容器插入到 image-container 中
      document.querySelector(".image-container").appendChild(mindMapContainer);
      // 创建SVG元素,设置宽度和高度
      const svg = d3.select("#mind-map")
      const svg = d3.select("#mind-map-container")
        .append("svg")
        .attr("class", "svg-container") // 添加 className
        .attr("width", "100%")
        .attr("height", "100%");
@@ -112,34 +124,28 @@
<style scoped>
.app-container{
  background-color: #FEF7FC;
  position: relative;
}
.image-container {
  position: relative;
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.mind-map-container{
  z-index: 3;
  z-index: 2;
  opacity: 0.5;
}
.top-image {
  width: 50%;
  /*height: 100%;*/
  object-fit: cover;
  position: absolute;
  top: 0;
  right: 0;
  opacity: 1;
}
.bottom-image {
  z-index: 1; /* 设置底层图片的层级为1 */
  width: 100%;
  height: 100%;
  /*position: absolute;*/
  top: 0;
  object-fit: cover;
  position: static;
  opacity: 0.8;
}
</style>