From 5d3e0be26b31f7d6d29b3281adcb201ec494a1c6 Mon Sep 17 00:00:00 2001
From: Tcsm <1377977403@qq.com>
Date: 星期二, 22 八月 2023 12:51:12 +0800
Subject: [PATCH] 新增不同时显示“正在上传”

---
 ruoyi-ui/src/views/mindMap/index.vue |   68 +++++++++++++++++++++++++++++++---
 1 files changed, 62 insertions(+), 6 deletions(-)

diff --git a/ruoyi-ui/src/views/mindMap/index.vue b/ruoyi-ui/src/views/mindMap/index.vue
index d43ecd7..e8a14cf 100644
--- a/ruoyi-ui/src/views/mindMap/index.vue
+++ b/ruoyi-ui/src/views/mindMap/index.vue
@@ -4,13 +4,23 @@
     <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>
+
   </div>
 </template>
 
 <script>
 import { getUserProfile } from "@/api/system/user";
-import { listRootAll } from "@/api/root/index";
+import { listRootAll ,listRoot} from "@/api/root/index";
+import * as d3 from 'd3';
+
 export default {
   name: "index",
   data() {
@@ -44,15 +54,59 @@
       getUserProfile().then(response => {
         this.user = response.data;
       });
-      listRootAll().then(response =>{
+      listRoot(4).then(response =>{
         this.rootList =response.data;
-        console.log(this.rootList)
+        console.log(this.rootList);
+        this.drawMindMap();
       })
 
+    },
+    drawMindMap() {
+      const mindMapData = this.rootList[0]; // 浠巖ootList涓幏鍙栨暟鎹�
+
+      // 娓呴櫎鐜版湁鐨凷VG鍏冪礌
+      d3.select("#mind-map svg").remove();
+
+      // 鍒涘缓SVG鍏冪礌锛岃缃搴﹀拰楂樺害
+      const svg = d3.select("#mind-map")
+        .append("svg")
+        .attr("width", "100%")
+        .attr("height", "100%");
+
+      // 鍒涘缓鏍硅妭鐐�
+      const root = d3.hierarchy(mindMapData);
+      const treeLayout = d3.tree().size([500, 400]); // 璁剧疆鏍戠姸甯冨眬鐨勫昂瀵�
+      treeLayout(root);
+
+      // 鍒涘缓閾炬帴绾�
+      svg.selectAll(".link")
+        .data(root.descendants().slice(1))
+        .enter()
+        .append("path")
+        .attr("class", "link")
+        .attr("d", d => {
+          return "M" + d.x + "," + d.y + "C" + (d.x + d.parent.x) / 2 + "," + d.y + " " +
+            (d.x + d.parent.x) / 2 + "," + d.parent.y + " " + d.parent.x + "," + d.parent.y;
+        });
+
+      // 鍒涘缓鑺傜偣
+      const nodes = svg.selectAll(".node")
+        .data(root.descendants())
+        .enter()
+        .append("g")
+        .attr("class", "node")
+        .attr("transform", d => "translate(" + d.x + "," + d.y + ")");
+
+      nodes.append("circle")
+        .attr("r", 10);
+
+      nodes.append("text")
+        .attr("dx", 12)
+        .attr("dy", 5)
+        .text(d => d.data.nickName);
     }
   }
-
-}
+};
 </script>
 
 <style scoped>
@@ -66,7 +120,9 @@
   height: 100%;
 }
 
-
+.mind-map-container{
+  z-index: 3;
+}
 .top-image {
   width: 50%;
   /*height: 100%;*/

--
Gitblit v1.9.1