feige
2023-09-10 d6ed1287fa23fa25eacf57c0d83d533cb2f2bc45
ruoyi-ui/src/views/homeRoot/index.vue
@@ -1,7 +1,7 @@
<template>
  <div class="app-container">
    <div class="container">
      <h1 style="font-size:21px;padding-top:30px">早上好!
      <h1 style="font-size: 21px;">{{ greeting +',' + user.userName }}
      <el-dropdown style="float:right">
        <span class="el-dropdown-link">
          <img src="../../assets/images/Frame.png">
@@ -20,75 +20,83 @@
        <!-- 背景大图-->
        <img v-if="imageSrc" :src="imageSrc" alt="" class="background"/>
        <!-- 用户头像-->
        <div v-model="rootList.url" >
          <el-avatar shape="circle" class="avater_1_1">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
        <div  v-model="rootList.url">
          <el-avatar shape="circle" class="avater_1_1" v-if="isShow_1">
            <img :src="'http://47.93.189.255:8080/'+ rootList[0].url"
            @click="getPersonInfo(rootList[0].userId)">
          </el-avatar>
          <el-avatar shape="circle" class="avater_1_2">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
          <el-avatar shape="circle" class="avater_1_2" v-if="isShow_1">
            <img :src="'http://47.93.189.255:8080/'+ rootList[0].spouse.url"
            @click="getPersonInfo(rootList[0].spouse.userId)">
          </el-avatar>
          <el-avatar shape="circle" class="avater_2_1" v-if="isShow_2">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
            <img :src="'http://47.93.189.255:8080/'+ rootSecList[0].url"
            @click="getPersonInfo(rootSecList[0].userId)">
          </el-avatar>
          <el-avatar shape="circle" class="avater_2_2" v-if="isShow_2">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
            <img :src="'http://47.93.189.255:8080/'+ rootSecList[0].spouse.url"
            @click="getPersonInfo(rootSecList[0].spouse.userId)">
          </el-avatar>
          <el-avatar shape="circle" class="avater_2_3" v-if="isShow_2">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
            <img :src="'http://47.93.189.255:8080/'+ rootSecList[1].url"
             @click="getPersonInfo(rootSecList[1].userId)">
          </el-avatar>
          <el-avatar shape="circle" class="avater_2_4" v-if="isShow_2">
          <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
          ></el-img>
          <img :src="'http://47.93.189.255:8080/'+ rootSecList[1].url"
            @click="getPersonInfo(rootSecList[1].spouse.userId)">
          </el-avatar>
          <el-avatar shape="circle" class="avater_2_5" v-if="isShow_2">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
            <img :src="'http://47.93.189.255:8080/'+ rootSecList[2].url"
                @click="getPersonInfo(rootSecList[2].userId)">
          </el-avatar>
          <el-avatar shape="circle" class="avater_2_6" v-if="isShow_2">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
            <img :src="'http://47.93.189.255:8080/'+ rootSecList[2].spouse.url"
                 @click="getPersonInfo(rootSecList[2].spouse.userId)">
          </el-avatar>
          <el-avatar shape="circle" class="avater_2_7" v-if="isShow_2">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
            <img :src="'http://47.93.189.255:8080/'+ rootSecList[3].url"
                 @click="getPersonInfo(rootSecList[3].userId)">
          </el-avatar>
          <el-avatar shape="circle" class="avater_2_8" v-if="isShow_2">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
            <img :src="'http://47.93.189.255:8080/'+ rootSecList[3].spouse.url"
                 @click="getPersonInfo(rootSecList[3].spouse.userId)">
          </el-avatar>
          <el-avatar shape="circle" class="avater_3_1" v-if="isShow_3">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
            <img :src="'http://47.93.189.255:8080/'+ rootSecList[4].url"
                 @click="getPersonInfo(rootSecList[4].userId)">
          </el-avatar>
          <el-avatar shape="circle" class="avater_3_2" v-if="isShow_3">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
            <img :src="'http://47.93.189.255:8080/'+ rootSecList[4].spouse.url"
                 @click="getPersonInfo(rootSecList[4].spouse.userId)">
          </el-avatar>
          <el-avatar shape="circle" class="avater_3_3" v-if="isShow_3">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
          </el-avatar>
          <el-avatar shape="circle" class="avater_3_4" v-if="isShow_3">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
          </el-avatar>
          <el-avatar shape="circle" class="avater_3_5" v-if="isShow_3">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
          </el-avatar>
          <el-avatar shape="circle" class="avater_3_6" v-if="isShow_3">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
          </el-avatar>
          <el-avatar shape="circle" class="avater_3_7" v-if="isShow_3">
          <el-avatar shape="circle" class="avater_3_7" v-if="isShow_4">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
          </el-avatar>
          <el-avatar shape="circle" class="avater_3_8" v-if="isShow_3">
            <el-img :src="'http://47.93.189.255:8080'+ rootList.url"
            ></el-img>
@@ -179,25 +187,32 @@
<script>
import {listRoot} from "@/api/root";
import {listRoot} from "@/api/root/index";
import { getUserProfile } from "@/api/system/user";
export default {
  name: "index",
  data(){
    return{
      user: {},
      greeting: "",
      imageSrc: require('../../assets/images/Group 407.png') ,
      dropdownList: [
        { name: '只显示第一代', src: 'Group 443.png' },
        { name: '显示至第二代', src: 'Group 444.png' },
        { name: '只显示第一代', src: 'Group 445.png' },
        { name: '显示至第二代', src: 'Group 445.png' },
        { name: '显示至第三代', src: 'Group 445.png' },
        { name: '显示全部', src: 'Group 407.png' }
      ],
      rootList:[],
      rootSecList:[],
      rootThiList:[],
      rootFouList:[],
      loading: true,
      formData:[],
      isShow_2:true,
      isShow_3:true,
      isShow_4:true,
      isShow_1:false,
      isShow_2:false,
      isShow_3:false,
      isShow_4:false,
      formDat:{
        userId: undefined,
        nickName: undefined,
@@ -225,18 +240,74 @@
        url:undefined,
        familyId:undefined,
        secondFamilyId: undefined,
        childList:undefined
        childList:[{
          userId: undefined,
          nickName: undefined,
          oldName: undefined,
          sex: undefined,
          nationality: undefined,
          nation: undefined,
          maritalStatus: undefined,
          politicalOutlook: undefined,
          phoneNumber:undefined,
          idNum: undefined,
          locationAddress: undefined,
          alwaysAddress:undefined,
          locationPolice: undefined,
          alwaysPolice: undefined,
          unit: undefined,
          position:undefined,
          outStatus:undefined,
          idNo: undefined,
          img: undefined,
          spouseId: undefined,
          fatherId: undefined,
          momId: undefined,
          birth: undefined,
          url:undefined,
          familyId:undefined,
          secondFamilyId: undefined,
          identity:undefined,
          childList:[{
            userId: undefined,
            nickName: undefined,
            oldName: undefined,
            sex: undefined,
            nationality: undefined,
            nation: undefined,
            maritalStatus: undefined,
            politicalOutlook: undefined,
            phoneNumber:undefined,
            idNum: undefined,
            locationAddress: undefined,
            alwaysAddress:undefined,
            locationPolice: undefined,
            alwaysPolice: undefined,
            unit: undefined,
            position:undefined,
            outStatus:undefined,
            idNo: undefined,
            img: undefined,
            spouseId: undefined,
            fatherId: undefined,
            momId: undefined,
            birth: undefined,
            url:undefined,
            familyId:undefined,
            secondFamilyId: undefined,
            identity:undefined,
            childList:undefined
          }]
        }]
      }
    }
  },
  created() {
    this.getList();
    // this.getCateInfor()
    // for (let i = 0; i < this.contactList.length; i++) {
    //   this.formDat[i] = this.contactList[i];
    // }
  created(){
    this.setGreeting();
    this.getUser();
  },
  methods:{
    getInfo(src)
@@ -260,40 +331,133 @@
      }
    },
    generation_1(){
      this.isShow_2=false
      this.isShow_3=false
      this.isShow_4=false
    //  alert(127)
      // this.getList(1)
      listRoot(4).then(response => {
          this.rootList = response.data
          this.isShow_1=true
          this.isShow_2=false
          this.isShow_3=false
          this.isShow_4=false
      })
    },
    getPersonInfo(id)
    {
      this.$router.push("/familymodel/jiagenwang/personInfo/" + id);
      //alert(id)
    },
    generation_2(){
      this.isShow_2=true
      this.isShow_3=false
      this.isShow_4=false
     // alert(2356)
      //this.getList(2);
    //  let st = new Map()
      this.rootSecList = []
       listRoot(4).then(response => {
         this.rootList = response.data
         this.getGenByNum(this.rootSecList, this.rootList[0], 1, 2)
        // console.log(this.rootSecList)
       //  alert(this.rootSecList[0].url)
      // for(let i = 0; i < this.rootList[0].childList.length; i++)
      // {
      // //  if(st.has(this.rootList[0].childList[i].userId)!=true)
      //   //{
      //   //  st.set(this.rootList[0].childList[i].userId, 1);
      //   //  st.set(this.rootList[0].childList[i].spouseId,1)
      //   //  let spid = this.rootList[0].childList[i].spouseId
      //     let gen = []
      //     gen.push(this.rootList[0].childList[i])
      //     this.rootSecList.push(gen)
      //  // }
      //   }
        this.isShow_2=true
        this.isShow_1=true
        this.isShow_3=false
        this.isShow_4=false
       // console.log(this.rootSecList)
      })
    },
    generation_3(){
      this.getList(4);
      //写第3代的代码逻辑,用两个for循环写第3代
      this.getGenByNum(this.rootThiList, this.rootList[0], 1, 3)
      console.log(this.rootThiList)
      console.log('-=-------')
      this.isShow_2=true
      this.isShow_3=true
      this.isShow_4=false
    },
    generation_4(){
      this.getList(4);
     // alert(32)
      this.getGenByNum(this.rootFouList, this.rootList[0], 1, 4)
      console.log(this.rootFouList)
  //          console.log('-=23-------')
      this.isShow_2=true
      this.isShow_3=true
      this.isShow_4=true
    },
    getList() {
    getGenByNum(genData,data,fir,num)
    {
      //console.log(data)
      if(data==null||fir>num)
        return
      if(fir==num)
      {
   //     alert(fir)
        genData.push(data);
        return
      }
   //    console.log(data)
   // //   console.log(data[0].childList)
   //    console.log('----------------')
      for(var i = 0; i < data.childList.length; i++)
      {
        this.getGenByNum(genData, data.childList[i], fir + 1, num);
      }
    },
    getList(depth) {
      this.loading = true;
      // console.log(this.queryParams)
      //  listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
      listRoot(this.queryParams).then(response => {
          //  alert(123)
          //   console.log(response.data)
          this.rootList = response.data.data;
          this.total = response.data.total;
      listRoot(depth).then(response => {
          this.rootList = response.data;
          this.isShow_1=true
         // alert(this.rootList[0].url)
       //   this.total = response.data.total;
          console.log(this.rootList)
       //   alert(45)
          this.loading = false;
         // console.log(this.rootList)
        }
      );
    },
    //问候(时间判断)
    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;
        this.getList(4);
      });
    }
  }
}
</script>
@@ -318,7 +482,7 @@
}
.avater_1_1 {
  position: absolute;
  top: 94%;
  top: 95%;
  left: 51%;
  transform: translate(-50%, -50%);
  width: 54px;
@@ -328,7 +492,7 @@
}
.avater_1_2{
  position: absolute;
  top: 84%;
  top: 85%;
  left: 48%;
  transform: translate(-50%, -50%);
  width: 45px;
@@ -337,8 +501,8 @@
}
.avater_2_1{
  position: absolute;
  top: 72%;
  left: 44%;
  top: 75%;
  left: 43%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
@@ -346,8 +510,8 @@
}
.avater_2_2{
  position: absolute;
  top: 65%;
  left: 48%;
  top: 67%;
  left: 47%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
@@ -356,7 +520,7 @@
}
.avater_2_3{
  position: absolute;
  top: 64%;
  top: 67%;
  left: 55%;
  transform: translate(-50%, -50%);
  width: 44px;
@@ -366,7 +530,7 @@
}
.avater_2_4{
  position: absolute;
  top: 73%;
  top: 76%;
  left: 59%;
  transform: translate(-50%, -50%);
  width: 36px;
@@ -376,8 +540,8 @@
}
.avater_2_5{
  position: absolute;
  top: 70%;
  left: 39%;
  top: 73%;
  left: 38%;
  transform: translate(-50%, -50%);
  width: 37px;
  height: 39px;
@@ -386,8 +550,8 @@
}
.avater_2_6{
  position: absolute;
  top: 58%;
  left: 44%;
  top: 62%;
  left: 43%;
  transform: translate(-50%, -50%);
  width: 34px;
  height: 35px;
@@ -396,7 +560,7 @@
}
.avater_2_7{
  position: absolute;
  top: 58%;
  top: 62%;
  left: 59%;
  transform: translate(-50%, -50%);
  width: 35px;
@@ -406,7 +570,7 @@
}
.avater_2_8{
  position: absolute;
  top: 70%;
  top: 73%;
  left: 64%;
  transform: translate(-50%, -50%);
  width: 45px;