| | |
| | | <template> |
| | | <div class="app-container"> |
| | | <!-- <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;"> |
| | | <img class="top-image" src="../assets/images/awd.png" alt="Top Image"> |
| | | </div> |
| | | <superMindmap v-if="showMindMap" :active='active' :data="mapData" @activeChange="activeChange" class="mind-map-container "> |
| | | |
| | | </superMindmap> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | 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:[] |
| | | }; |
| | | }, |
| | | 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(); |
| | | |
| | | if (currentHour < 12) { |
| | | this.greeting = "早上好"; |
| | | } else if (currentHour < 14) { |
| | | this.greeting = "中午好"; |
| | | } else if (currentHour < 18) { |
| | | this.greeting = "下午好"; |
| | | } else { |
| | | this.greeting = "晚上好"; |
| | | } |
| | | }, |
| | | |
| | | getUser() { |
| | | getUserProfile().then(response => { |
| | | this.user = response.data; |
| | | }); |
| | | |
| | | let clanId = this.$store.state.user.clanId |
| | | if(clanId==null) |
| | | { |
| | | //alert(clanId) |
| | | return} |
| | | listRoot(10,clanId).then(response =>{ |
| | | this.rootList =response.data; |
| | | |
| | | const mindMapData = this.rootList[0]; |
| | | console.log(mindMapData) |
| | | // for(let i = 0; i < ) |
| | | console.log('9999') |
| | | // console.log(this.drawData(mindMapData)) |
| | | this.mapData = this.drawData(mindMapData) |
| | | this.showMindMap = true |
| | | }) |
| | | |
| | | }, |
| | | 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']).oldName : '', |
| | | "prop": mpdata['oldName'], |
| | | "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['oldName'], |
| | | "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']).oldName : "", |
| | | "prop": mpdata['childList'][i]['oldName'], |
| | | "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]['oldName'], |
| | | "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; |
| | | }, |
| | | |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .app-container{ |
| | | position: relative; |
| | | background-color: transparent; |
| | | /*padding-left: -30px;*/ |
| | | margin-top:-30px; |
| | | margin-left: -20px; |
| | | } |
| | | .text{ |
| | | opacity: 0.75; |
| | | padding: 10px; |
| | | } |
| | | .image-container { |
| | | position: absolute; |
| | | /*position: fixed;*/ |
| | | top: 50px; |
| | | /*left:-20px;*/ |
| | | width: 110%; |
| | | height: 100%; |
| | | z-index: -1; |
| | | } |
| | | |
| | | .mind-map-container{ |
| | | /*position: fixed;*/ |
| | | |
| | | overflow: auto; |
| | | z-index: 1; |
| | | opacity: 1; |
| | | margin-top: 5%; |
| | | margin-left: 12%; |
| | | /*background-color: transparent;*/ |
| | | } |
| | | .top-image { |
| | | width: 100%; |
| | | height: 100%; |
| | | object-fit: cover; |
| | | position: static; |
| | | opacity: 0.8; |
| | | overflow: auto; |
| | | } |
| | | </style> |