From d7822563b65873c59ad2363db9852782b8d5e609 Mon Sep 17 00:00:00 2001 From: Tcsm <1377977403@qq.com> Date: 星期四, 31 八月 2023 16:35:02 +0800 Subject: [PATCH] 各模块时间已改为只可选择不可输入 --- ruoyi-ui/src/views/mindMap/index.vue | 154 +++++++++++++++++++++++++++------------------------ 1 files changed, 82 insertions(+), 72 deletions(-) diff --git a/ruoyi-ui/src/views/mindMap/index.vue b/ruoyi-ui/src/views/mindMap/index.vue index 83f0819..5579db5 100644 --- a/ruoyi-ui/src/views/mindMap/index.vue +++ b/ruoyi-ui/src/views/mindMap/index.vue @@ -4,11 +4,8 @@ <div class="image-container"> <img class="top-image" src="../../assets/images/zhang.png" alt="Top Image"> </div> - <el-card class="mind-map-container"> - <div id="mind-map"> + <superMindmap v-if="showMindMap" :active='active' :data="mapData" @activeChange="activeChange" class="mind-map-container"/> - </div> - </el-card> </div> </template> @@ -16,12 +13,19 @@ import { getUserProfile } from "@/api/system/user"; import { listRootAll ,listRoot} from "@/api/root/index"; import * as d3 from 'd3'; - +// 瀵煎叆鎬濈淮瀵煎浘鏁版嵁 +import MapData from '../components/MapData.js' +// 瀵煎叆鎬濈淮瀵煎浘缁勪欢 +import superMindmap from '../components/superMindmap.vue' export default { + components:{superMindmap}, name: "index", data() { return { + active: '', + mapData: null, + showMindMap: false, user: {}, greeting: "", rootList:[] @@ -30,8 +34,31 @@ mounted() { this.setGreeting(); this.getUser(); + // this.mapData = MapData.webMap + + // console.log(this.mapData) + // console.log('sssssssssssssssssss') }, + + + + methods: { + // 鐐瑰嚮鎬濈淮瀵煎浘鑺傜偣鍚庯紝瑙﹀彂鍙橀噺鏇存柊 + activeChange(newLabel) { + this.active = newLabel + this.reloadMindMap() + }, + // 閲嶈浇鎬濈淮瀵煎浘 + reloadMindMap() { + this.showMindMap = false + this.$nextTick( + () => { + this.showMindMap = true + } + ) + }, + setGreeting() { const currentTime = new Date(); const currentHour = currentTime.getHours(); @@ -53,70 +80,52 @@ }); listRoot(4).then(response =>{ this.rootList =response.data; - console.log(this.rootList); - this.drawMindMap(); + + const mindMapData = this.rootList[0]; + + + // console.log(this.drawData(mindMapData)) + this.mapData = this.drawData(mindMapData) + this.showMindMap = true }) }, + drawData(mpdata) + { + if(mpdata==null) + return null + var data = { + "label": mpdata['nickName'], + "prop": mpdata['nickName'], + "url": '', + "link": '', + "children":[] + } + if(eval(mpdata['spouse'])!=null) + data['link'] = eval(mpdata['spouse']).nickName + if(mpdata['childList']!=null){ + for(var i = 0; i < mpdata['childList'].length; i++) + { + var dt = { + "label": mpdata['childList'][i]['nickName'], + "prop": mpdata['childList'][i]['nickName'], + "url": '', + "link": "", + "children":[] + } + if(eval(mpdata['childList'][i]['spouse'])!=null) + dt['link'] = eval(mpdata['childList'][i]['spouse']).nickName + 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; + }, - drawMindMap() { - const mindMapData = this.rootList[0]; // 浠巖ootList涓幏鍙栨暟鎹� - - // 娓呴櫎鐜版湁鐨凷VG鍏冪礌 - d3.select("#mind-map svg").remove(); - - // 鍒涘缓涓�涓柊鐨� div 鍏冪礌浣滀负鍖呰9鎬濈淮瀵煎浘鐨勫鍣� - 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-container") - .append("svg") - .attr("class", "svg-container") // 娣诲姞 className - .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> @@ -128,15 +137,19 @@ } .image-container { - position: absolute; - width: 100%; - height: 100%; + /*position: absolute;*/ + position: fixed; + margin-left: -10px; + width: 90%; + height: 90%; z-index: -1; } .mind-map-container{ z-index: 2; - opacity: 0.5; + opacity: 0.8; + /*margin-top: 200px;*/ + background-color: transparent; } .top-image { width: 100%; @@ -145,7 +158,4 @@ position: static; opacity: 0.8; } - - - </style> -- Gitblit v1.9.1