mh-two-thousand-and-two
2024-04-03 29a02350b873fa6339a7535fa929697fec9a8f84
pages/zhongyi/zhongyi.vue
@@ -1,139 +1,647 @@
<template>
   <el-container>
      <!-- 头部 -->
      <el-header>
         <view style="
        display: flex;
        height: 50px;
        width: 100%;
        justify-content: space-between;
        align-items: center;
        background-color: #C98A49;
      ">
            <view class="header-one" style="padding-left: 1.5%; ">
               <i class="el-icon-s-unfold" style="font-size: 24px;"></i>
            </view>
            <view class="header-two" style="font-size: 20px; color: aliceblue">
               中医世医传承数据库
            </view>
            <view class="header-three">
               <view>
                  <i class="el-icon-search" style="font-size: 24px; "></i>
                  <i class="el-icon-question" style="font-size: 24px;"></i>
                  <i class="el-icon-user-solid" style="font-size: 24px;"></i>
               </view>
            </view>
   <view class="">
      <headNav :idIndex="idIndex" :searchBg="false" text="中医世医传承数据库" bg="/static/image/topBg1.png"
         bg1="/static/image/line1.png" />
      <view class="flex" style="padding: 0 1.21rem ;">
         <view class="flex">
               <el-button class="MiddeBack flex flex-center" @click="goBack">返回</el-button>
            <h3>邵登瀛</h3>
         </view>
         <view class="huawenimg">
         </view>
      </el-header>
      <!-- 主体部分 -->
      <el-main>
         <view style="
          display: flex;
          justify-content: center;
          border-bottom: 1px solid gray;">
            <view style="display: flex; justify-content: flex-start; margin-right: auto">
               <el-button class="button" @click="hideNodesAndLinks()">返回</el-button>
            </view>
            <!-- 添加一个flex容器来包裹el-menu,并设置其flex属性以占据剩余空间 -->
            <view style="display: flex; justify-content: center; flex: 1;">
               <!-- 这里是菜单的切换 -->
               <el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal"
                  @select="handleSelect">
                  <el-menu-item index="1" class="small-menu-item">
                     <router-link to="zhongyione" class="router-link-active">
                        世医传承</router-link>
                  </el-menu-item>
                  <el-menu-item index="2" class="small-menu-item">
                     <router-link to="zhongyitwo" class="router-link-active">
                        世医文化</router-link></el-menu-item>
               </el-menu>
            </view>
         </view>
         <router-view>
         </router-view>
      </el-main>
   </el-container>
         <ul class="flex Lists">
            <li style="background-color: #597AA5;color: #fff;">世医传承</li>
            <!-- /pages/AcademicHistory/AcademicHistory -->
            <li @click="ListClick" style="background-color: #fff;color: #597AA5;" >世医传承</li>
         </ul>
         <view class="" style="width: 1rem;"></view>
      </view>
      <!-- echarts图 -->
      <div class="barChart" ref="barChart"></div>
   </view>
</template>
<script>
   import * as echarts from "echarts";
   export default {
      data() {
         return {
            activeIndex:1
            // 标题顶部栏需要的东西
            idIndex: 0,
            activeIndex: 1
         }
      },
      onLoad(options) {
         this.idIndex = options.id
         console.log('optionsoptionsoptions', options.id);
      },
      mounted() {
         // 初始化 echarts
         this.initBarChart();
      },
      methods: {
         initBarChart() {
            // WMBg
            //通过 $ref 进行挂载
            let myChart = echarts.init(this.$refs.barChart);
            let FontSize = 12; // 字体大小
            let BorderWidth = 2; // 边框大小
            let SymbolSize = 80; // 尺寸距离
            let Distance = 10;
            // 不同尺寸下修改echarts的字体
            if (window.innerWidth > 2560 && window.innerWidth <= 3840) {
               FontSize = 28
               BorderWidth = 5
               SymbolSize = 100
               Distance = 33
            } else if (window.innerWidth > 1920 && window.innerWidth <= 2560) {
               FontSize = 28
               BorderWidth = 4
               SymbolSize = 90
               Distance = 22
            } else if (window.innerWidth >= 1366 && window.innerWidth <= 1920) {
               FontSize = 18
               BorderWidth = 4
               SymbolSize = 70
               Distance = 22
            }
            let option = {
               title: {
                  text: [""],
               },
               backgroundColor: {
                  type: 'image',
                  image: '/static/image/WMBg.png',
                  repeat: 'repeat-x', // 是否平铺,可以是 'repeat-x', 'repeat-y', 'no-repeat'
                  size: '100% 100%', // 背景图片的尺寸,可以是百分比或者像素
                  position: 'center center' // 背景图片的位置,可以是 top, bottom, middle 或者百分比
               },
               tooltip: {},
               animationDurationUpdate: 1500,
               animationEasingUpdate: "quinticInOut",
               series: [{
                  type: "graph",
                  layout: "none",
                  symbolSize: SymbolSize + 20,
                  //是否允许用户拖动图片
                  roam: false,
                  label: {
                     show: true,
                     color: 'black', // 设置节点文字颜色为黑色
                     fontSize: FontSize, // 设置文字大小
                  },
                  edgeSymbol: ["circle", "arrow"],
                  edgeSymbolSize: [4, 10],
                  edgeLabel: {
                     show: true,
                     fontSize: FontSize, //更改两者关系的字体
                     position: "middle",
                     //这里设置关系文字是否和线段重叠
                     //   padding: [0, 0], // 调整内边距以确保标签与线段紧密贴合
                     // verticalAlign: 'middle', // 设置文本的垂直对齐方式为居中
                     formatter: function(params) {
                        // params.data 是边的数据对象,你可以在这里定义关系名
                        // 例如,你可以根据 source 和 target 的名称来定义关系名
                        return params.data.relationName ||
                           "父子"; // 如果定义了 relationName 则显示它,否则显示“父子”
                     },
                  },
                  //各个节点
                  data: [{
                        name: "薛雪",
                        x: 300,
                        y: 300,
                        itemStyle: {
                           color: "#F8E2D7",
                           borderColor: "#F3AA78",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "邵登瀛",
                        x: 400,
                        y: 300,
                        itemStyle: {
                           color: "#F8E2D7",
                           borderColor: "#F3AA78",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "邵鲁瞻",
                        x: 500,
                        y: 300,
                        itemStyle: {
                           color: "#F8E2D7",
                           borderColor: "#F3AA78",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "邵春泉",
                        x: 600,
                        y: 300,
                        itemStyle: {
                           color: "#F8E2D7",
                           borderColor: "#F3AA78",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "徐锦",
                        x: 650,
                        y: 400,
                        itemStyle: {
                           color: "#DCE7EB",
                           borderColor: "#5F81A4",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "邵丙扬",
                        x: 700,
                        y: 300,
                        itemStyle: {
                           color: "#F8E2D7",
                           borderColor: "#F3AA78",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "冯桂芬",
                        x: 720,
                        y: 400,
                        itemStyle: {
                           color: "#DCE7EB",
                           borderColor: "#5F81A4",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "李鸿章",
                        x: 740,
                        y: 500,
                        itemStyle: {
                           color: "#E1E1E1",
                           borderColor: "#888888",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "邵景尧",
                        x: 800,
                        y: 200,
                        itemStyle: {
                           color: "#F8E2D7",
                           borderColor: "#F3AA78",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "邵景康",
                        x: 800,
                        y: 400,
                        itemStyle: {
                           color: "#F8E2D7",
                           borderColor: "#F3AA78",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "鲍昇",
                        x: 750,
                        y: 100,
                        itemStyle: {
                           color: "#DCE7EB",
                           borderColor: "#5F81A4",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "文龙",
                        x: 850,
                        y: 100,
                        itemStyle: {
                           color: "#DCE7EB",
                           borderColor: "#5F81A4",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "傅庆贻",
                        x: 950,
                        y: 50,
                        itemStyle: {
                           color: "#DCE7EB",
                           borderColor: "#5F81A4",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "成允",
                        x: 950,
                        y: 100,
                        itemStyle: {
                           color: "#DCE7EB",
                           borderColor: "#5F81A4",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "胡玉坦",
                        x: 950,
                        y: 150,
                        itemStyle: {
                           color: "#DCE7EB",
                           borderColor: "#5F81A4",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "裕禄",
                        x: 950,
                        y: 200,
                        itemStyle: {
                           color: "#DCE7EB",
                           borderColor: "#5F81A4",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "陆乃昔",
                        x: 950,
                        y: 250,
                        itemStyle: {
                           color: "#DCE7EB",
                           borderColor: "#5F81A4",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "刘传祺",
                        x: 950,
                        y: 300,
                        itemStyle: {
                           color: "#DCE7EB",
                           borderColor: "#5F81A4",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "邵诚",
                        x: 950,
                        y: 350,
                        itemStyle: {
                           color: "#DCE7EB",
                           borderColor: "#5F81A4",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "曾国藩",
                        x: 1050,
                        y: 200,
                        itemStyle: {
                           color: "#E1E1E1",
                           borderColor: "#888888",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "曾国藩01",
                        x: 1050,
                        y: 50,
                        itemStyle: {
                           color: "#E1E1E1",
                           borderColor: "#888888",
                           borderWidth: "3",
                        },
                     },
                     {
                        name: "曾国藩02",
                        x: 1050,
                        y: 350,
                        itemStyle: {
                           color: "#E1E1E1",
                           borderColor: "#888888",
                           borderWidth: "3",
                        },
                     },
                  ],
                  //关系连接
                  links: [{
                        source: "薛雪",
                        target: "邵登瀛",
                        relationName: "师徒",
                        hasArrow: "true",
                     },
                     {
                        source: "邵登瀛",
                        target: "邵鲁瞻",
                        relationName: "父子",
                     },
                     {
                        source: "邵鲁瞻",
                        target: "邵春泉",
                        relationName: "父子",
                     },
                     {
                        source: "邵春泉",
                        target: "邵丙扬",
                        relationName: "叔侄",
                     },
                     //曲线
                     {
                        source: "邵春泉",
                        target: "徐锦",
                        relationName: "朋友",
                        //这里设置为不带箭头
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                           curveness: -0.2,
                        },
                     },
                     {
                        source: "邵丙扬",
                        target: "邵景尧",
                        relationName: "父子",
                     },
                     {
                        source: "邵丙扬",
                        target: "邵景康",
                        relationName: "父子",
                     },
                     //曲线
                     {
                        source: "邵丙扬",
                        target: "冯桂芬",
                        relationName: "朋友",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                           curveness: -0.2,
                        },
                     },
                     //曲线
                     {
                        source: "邵丙扬",
                        target: "鲍昇",
                        relationName: "师徒",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                           curveness: 0.2,
                        },
                     },
                     //曲线
                     {
                        source: "冯桂芬",
                        target: "李鸿章",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                           curveness: -0.2,
                        },
                     },
                     {
                        source: "邵景尧",
                        target: "邵景康",
                        relationName: "兄弟",
                     },
                     {
                        source: "邵景康",
                        target: "邵景尧",
                        relationName: "兄弟",
                     },
                     {
                        source: "邵景尧",
                        target: "鲍昇",
                        relationName: "姻亲",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                           curveness: -0.2,
                        },
                     },
                     {
                        source: "邵景尧",
                        target: "文龙",
                        relationName: "朋友",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                           curveness: 0.2,
                        },
                     },
                     {
                        source: "邵景尧",
                        target: "傅庆贻",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                           curveness: -0.1,
                        },
                     },
                     {
                        source: "邵景尧",
                        target: "成允",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                           curveness: -0.2,
                        },
                     },
                     {
                        source: "邵景尧",
                        target: "胡玉坦",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                           curveness: -0.2,
                        },
                     },
                     {
                        source: "邵景尧",
                        target: "裕禄",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                           curveness: -0.2,
                        },
                     },
                     {
                        source: "邵景尧",
                        target: "陆乃昔",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                           curveness: -0.2,
                        },
                     },
                     {
                        source: "邵景尧",
                        target: "刘传祺",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                           curveness: -0.2,
                        },
                     },
                     {
                        source: "邵景尧",
                        target: "邵诚",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                           curveness: -0.2,
                        },
                     },
                     {
                        source: "成允",
                        target: "曾国藩",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                        },
                     },
                     {
                        source: "胡玉坦",
                        target: "曾国藩",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                        },
                     },
                     {
                        source: "裕禄",
                        target: "曾国藩",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                        },
                     },
                     {
                        source: "陆乃昔",
                        target: "曾国藩",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                        },
                     },
                     {
                        source: "刘传祺",
                        target: "曾国藩",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                        },
                     },
                     {
                        source: "成允",
                        target: "曾国藩",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                        },
                     },
                     {
                        source: "成允",
                        target: "曾国藩",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                        },
                     },
                     {
                        source: "成允",
                        target: "曾国藩",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                        },
                     },
                     {
                        source: "傅庆贻",
                        target: "曾国藩01",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                        },
                     },
                     {
                        source: "邵诚",
                        target: "曾国藩02",
                        relationName: "同僚",
                        symbol: ["none", "none"],
                        lineStyle: {
                           color: "#6584B1",
                        },
                     },
                  ],
                  lineStyle: {
                     color: "#000000",
                     opacity: 0.9,
                     width: 2,
                     curveness: 0,
                  },
               }, ],
            };
            //进行渲染
            myChart.setOption(option);
         },
         // 返回按钮
         goBack() {
            // uuni.redirectTo();
            uni.redirectTo({
               url: '/pages/index/index'
            })
         },
      }
   }
</script>
<style scoped>
   .huawenimg {
      display: flex;
      width: 100%;
      height: 20px;
      background-image: url('https://img2.baidu.com/it/u=4259428193,1811830338&fm=253&app=138&size=w931&n=0&f=JPEG&fmt=auto?sec=1710954000&t=bf5d6b76e71d6e508efef90cf933ea05');
      background-repeat: repeat-x;
      /* 水平平铺 */
      background-size: auto 100%;
      /* 设置背景图片高度与容器一致,宽度自适应 */
      border-bottom: 2px solid #C98A49;
      /* 设置橙色的下边框,宽度为2px */
   .Lists {
      li {
         /* background-color: #e4ebf3;
         border: 1rpx solid #5778a2;
         padding: 5rpx 10rpx;
         font-size: 18rpx; */
         width: 0.96rem;
         height: .3rem;
         border: 1px solid #597AA5;
         line-height: .3rem;
         text-align: center;
         font-size: .14rem;
      }
   }
   /* 给返回按钮设置样式 */
   .button {
      border: none !important;
      /* 取消边框 */
      color: #C98A49 !important;
      /* 字体颜色 */
      background-color: transparent !important;
      ;
      /* 设置背景为透明 */
   .MiddeBack {
      width: 0.6rem;
      height: 0.24rem;
      font-size: .12rem;
      padding: 0;
   }
   .small-menu-item {
      border-bottom: 1px solid #EA7A28 !important;
      /* 橙色的边框 */
      font-size: 15px !important;
      /* 调整字体大小 */
      padding: 0px 5px 0px 0px !important;
      /* 调整内边距 */
      margin: 0px 0px 0px 0px !important;
      /* 其他你想要的样式 */
   }
   /* 设置el-menu的背景颜色为透明 */
   .el-menu-demo {
      border-bottom: 1px solid #EA7A28 !important;
      /* 橙色的边框 */
      background-color: transparent !important;
      /* 使用!important来确保覆盖默认样式 */
   }
   /* 伪类(鼠标选中时的样式) */
   .el-menu-item:hover {
      /* 当鼠标悬停在菜单项上时 */
      background-color: #EA7A28 !important;
      /* 设置背景色为橙色,并使用 !important 来确保覆盖其他样式 */
      color: white !important;
      ;
      /* 可能还需要设置文本颜色以确保可读性 */
   }
   /* 设置el-menu-item在选中时的背景颜色为橙色 */
   .el-menu-item.is-active {
      color: #FDFCFD !important;
      ;
      background-color: #EA7A28 !important;
      /* 使用!important来确保覆盖默认样式 */
      border-bottom: 1px solid #EA7A28 !important;
      /* 在底部添加橙色的边框 */
   }
   /* 如果你希望链接在被选中时也有橙色背景,你可能还需要覆盖router-link的样式 */
   .router-link-active.is-active {
      color: #FDFCFD !important;
      /* 使用!important来确保覆盖默认样式 */
      /* background-color: #EA7A28 !important;  */
   .barChart {
      width: 100vw;
      height: 80vh;
   }
</style>