From e33eb0eb98aa0a88d2b3a7163abf92e4e028fb31 Mon Sep 17 00:00:00 2001
From: YM <479443481@qq.com>
Date: 星期五, 17 五月 2024 21:09:39 +0800
Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/TCM_CharacterLibrary

---
 src/pages/inherit/index.vue |   82 ++++++++++++++++++++++++----------------
 1 files changed, 49 insertions(+), 33 deletions(-)

diff --git a/src/pages/inherit/index.vue b/src/pages/inherit/index.vue
index 615cdc6..2da7bd0 100644
--- a/src/pages/inherit/index.vue
+++ b/src/pages/inherit/index.vue
@@ -71,7 +71,10 @@
     </div>
     <div class="contentBox">
       <!-- echarts鍥� -->
-      <div class="barChart" ref="barChart"></div>
+      <div v-if="nodeData.length > 0" class="barChart" ref="barChart"></div>
+      <div v-else>
+        <el-empty description="鏆傛棤鏁版嵁"></el-empty>
+      </div>
       <div
         class="toolBox"
         v-if="showTool"
@@ -88,7 +91,7 @@
 import * as echarts from "echarts";
 import {
   inheritMedicalSataStatistics,
-  inheritMedicalList
+  inheritMedicalList,
 } from "@/api/index.js";
 export default {
   data() {
@@ -96,7 +99,7 @@
       // 鏍囬椤堕儴鏍忛渶瑕佺殑涓滆タ
       keyword: "",
       idIndex: 0,
-      activeId: "",
+      activeId: 28,
       conditionId: "",
       searchType: "KEYWORD",
       dynasty: [],
@@ -104,30 +107,36 @@
       showTool: false,
       toolTop: 0,
       toolLeft: 0,
-      toolInfo: {}
+      toolInfo: {},
     };
   },
   onLoad(options) {
     this.idIndex = options.id;
     console.log("optionsoptionsoptions", options.id);
+    // getDynasty();
   },
   mounted() {
     this.getStatistics();
-    this.getData();
+    // this.getDynasty();
   },
   methods: {
     getStatistics() {
       inheritMedicalSataStatistics().then((res) => {
         this.dynasty = res.object;
+        const defaultDynasty = this.dynasty.find((f) => f.dynasty == "瀹�");
+        this.activeId = defaultDynasty.dynastyId;
+        this.searchType = "DYNASTY";
+        this.getData();
       });
     },
     getData() {
       this.nodeData = [];
+
       inheritMedicalList({
         keywords: this.keyword,
         dynastyId: this.activeId,
         searchType: this.searchType,
-        path: this.conditionId
+        path: this.conditionId,
       }).then((res) => {
         console.log(res);
         for (let i = 0; i < res.object.nodeList.length; i++) {
@@ -140,12 +149,12 @@
               itemStyle: {
                 color: "#F8E2D7",
                 borderColor: "#F3AA78",
-                borderWidth: "3"
-              }
+                borderWidth: "3",
+              },
             });
           }
         }
-        console.log(this.nodeData);
+        console.log(this.nodeData, "nodeData");
         // 鍒濆鍖� echarts
         this.initBarChart();
       });
@@ -155,18 +164,18 @@
       //閫氳繃 $ref 杩涜鎸傝浇
       let myChart = echarts.init(this.$refs.barChart);
 
-      let FontSize = 12; // 瀛椾綋澶у皬
+      let FontSize = 18; // 瀛椾綋澶у皬
       let BorderWidth = 2; // 杈规澶у皬
       let SymbolSize = 80; // 灏哄璺濈
       let Distance = 10;
       // 涓嶅悓灏哄涓嬩慨鏀筫charts鐨勫瓧浣�
       if (window.innerWidth > 2560 && window.innerWidth <= 3840) {
-        FontSize = 28;
+        FontSize = 20;
         BorderWidth = 5;
         SymbolSize = 100;
         Distance = 33;
       } else if (window.innerWidth > 1920 && window.innerWidth <= 2560) {
-        FontSize = 28;
+        FontSize = 20;
         BorderWidth = 4;
         SymbolSize = 90;
         Distance = 22;
@@ -179,14 +188,14 @@
 
       let option = {
         title: {
-          text: [""]
+          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 鎴栬�呯櫨鍒嗘瘮
+          position: "center center", // 鑳屾櫙鍥剧墖鐨勪綅缃紝鍙互鏄� top, bottom, middle 鎴栬�呯櫨鍒嗘瘮
         },
         tooltip: {},
         animationDurationUpdate: 1500,
@@ -195,13 +204,13 @@
           {
             type: "graph",
             layout: "force",
-            symbolSize: 120,
+            symbolSize: 100,
             //鏄惁鍏佽鐢ㄦ埛鎷栧姩鍥剧墖
             roam: true,
             label: {
               show: true,
               color: "black", // 璁剧疆鑺傜偣鏂囧瓧棰滆壊涓洪粦鑹�
-              fontSize: FontSize // 璁剧疆鏂囧瓧澶у皬
+              fontSize: FontSize, // 璁剧疆鏂囧瓧澶у皬
             },
             edgeSymbol: ["circle", "arrow"],
             edgeSymbolSize: [4, 10],
@@ -216,7 +225,7 @@
                 // params.data 鏄竟鐨勬暟鎹璞★紝浣犲彲浠ュ湪杩欓噷瀹氫箟鍏崇郴鍚�
                 // 渚嬪锛屼綘鍙互鏍规嵁 source 鍜� target 鐨勫悕绉版潵瀹氫箟鍏崇郴鍚�
                 return params.data.relationName; // 濡傛灉瀹氫箟浜� relationName 鍒欐樉绀哄畠锛屽惁鍒欐樉绀衡�滅埗瀛愨��
-              }
+              },
             },
             //鍚勪釜鑺傜偣
             data: this.nodeData,
@@ -224,20 +233,25 @@
               color: "#000000",
               opacity: 0.9,
               width: 2,
-              curveness: 0
+              curveness: 0,
             },
             force: {
               // initLayout: 'circular',
               // gravity: 0
               friction: 0.1,
               repulsion: 500,
-              edgeLength: 6
-            }
-          }
-        ]
+              edgeLength: 6,
+            },
+          },
+        ],
       };
       //杩涜娓叉煋
       myChart.setOption(option);
+      myChart.getZr().on("click", (params) => {
+        if (!params.target) {
+          this.showTool = false;
+        }
+      });
       myChart.on("click", (params) => {
         console.log(params.event.offsetX, params.event.offsetY);
         if (params.componentType === "series") {
@@ -246,8 +260,10 @@
           this.toolLeft = params.event.offsetX + "px";
           this.toolInfo = {
             id: params.data.identifier,
-            name: encodeURIComponent(params.data.name)
+            name: encodeURIComponent(params.data.name),
           };
+        } else {
+          this.showTool = false;
         }
       });
     },
@@ -255,7 +271,7 @@
       switch (type) {
         case 1:
           uni.navigateTo({
-            url: "/pages/character/detail?id=" + this.toolInfo.id
+            url: "/pages/character/detail?id=" + this.toolInfo.id,
           });
           break;
         case 2:
@@ -266,7 +282,7 @@
               "&id=" +
               this.toolInfo.id +
               "&name=" +
-              this.toolInfo.name
+              this.toolInfo.name,
           });
           break;
         case 3:
@@ -277,7 +293,7 @@
               "&id=" +
               this.toolInfo.id +
               "&name=" +
-              this.toolInfo.name
+              this.toolInfo.name,
           });
           break;
       }
@@ -317,8 +333,8 @@
         this.keyword = "";
       }
       this.getData();
-    }
-  }
+    },
+  },
 };
 </script>
 <style scoped>
@@ -419,8 +435,8 @@
   box-shadow: 1px 1px 5px #888888;
   align-items: center;
   justify-content: center;
-  width: 1rem;
-  height: 0.25rem;
+  width: 1.4rem;
+  height: 0.3rem;
   margin-left: 0.2rem;
   border-radius: 0.13rem;
   float: left;
@@ -433,8 +449,8 @@
   box-shadow: 1px 1px 5px #888888;
   align-items: center;
   justify-content: center;
-  width: 1.3rem;
-  height: 0.25rem;
+  width: 1.6rem;
+  height: 0.3rem;
   float: left;
   margin-left: 0.2rem;
   border-radius: 0.13rem;
@@ -454,7 +470,7 @@
 }
 .filterText {
   margin-left: 10px;
-  font-size: 16px;
+  font-size: 0.16rem;
 }
 .fontColor {
   color: #827e44 !important;

--
Gitblit v1.9.1