From d20ee855948685345d5b9ac6cb3b4dbd0865df43 Mon Sep 17 00:00:00 2001
From: QYF-GitLab1 <1940665526@qq.com>
Date: 星期一, 22 七月 2024 18:19:25 +0800
Subject: [PATCH] 1

---
 src/pages/academicSchools/index.vue |  143 +++++++++++++++++++++--------------------------
 1 files changed, 63 insertions(+), 80 deletions(-)

diff --git a/src/pages/academicSchools/index.vue b/src/pages/academicSchools/index.vue
index 620dd0d..311a0a1 100644
--- a/src/pages/academicSchools/index.vue
+++ b/src/pages/academicSchools/index.vue
@@ -48,7 +48,14 @@
         <MyForm @submit="onSubmit" :from="searchFrom" />
       </view>
       <div v-if="showPerson" class="personDialog">
-        <i class="el-icon-circle-close closeBtn" @click="()=>{showPerson = false}"></i>
+        <i
+          class="el-icon-circle-close closeBtn"
+          @click="
+            () => {
+              showPerson = false;
+            }
+          "
+        ></i>
         <el-table :data="personList" style="width: 100%">
           <el-table-column prop="name" label="濮撳悕">
             <template slot-scope="scope">
@@ -127,7 +134,7 @@
   getPersonData,
   getHotSearch,
   getPDataStatistics,
-  academicSearch
+  academicSearch,
 } from "@/api/index.js";
 import * as echarts from "echarts";
 import MyForm from "@/components/form/form.vue";
@@ -154,7 +161,7 @@
       // 褰撳墠浜虹墿淇℃伅
       ownInfo: null,
       detailData: {
-        name: ""
+        name: "",
       },
       isAdvancedSearch: false,
       searchFrom: [
@@ -162,46 +169,46 @@
           type: "input",
           label: "濮撳悕/鍒悕",
           name: "name",
-          value: ""
+          value: "",
         },
         {
           type: "input",
           label: "娲诲姩鍦�",
           name: "address",
-          value: ""
+          value: "",
         },
         {
           type: "input",
           label: "浣滃搧",
           name: "address",
-          value: ""
+          value: "",
         },
         {
           type: "input",
           label: "浜虹墿鏍囩",
           name: "address",
-          value: ""
+          value: "",
         },
         {
           type: "input",
           label: "绀句細韬唤",
           name: "address",
-          value: ""
+          value: "",
         },
         {
           type: "input",
           label: "鏃舵湡",
           name: "address",
-          value: ""
-        }
+          value: "",
+        },
       ],
       showPerson: false,
       personList: [],
       personPageInfo: {
         totalCount: 0,
         page: 1,
-        limit: 10
-      }
+        limit: 10,
+      },
     };
   },
   mounted() {
@@ -226,12 +233,11 @@
           const obj = {
             personId: ele.personId,
             parentId: parent.id,
-            id2: personInfo.id,
             relationTypeName: ele.relationTypeName,
             parentName: parent?.NAME[0]?.content1 ?? parent.parentName,
-            name2: personInfo?.NAME[0]?.content1,
+            name: personInfo?.NAME[0]?.content1,
             category: type,
-            symbolSize: 15
+            symbolSize: 15,
           };
           if (order > 80) {
             order = 80;
@@ -327,16 +333,16 @@
         if (!ele.personId && ele.personList?.length) {
           ele.literatureList = [];
           ele.personId = this.ownInfo.id;
-          if (ele[str] && ele[str]?.length) {
-            for (let j = 0; j < ele.personList.length; j++) {
-              const item = ele.personList[j];
+          if (ele["personList"] && ele["personList"]?.length) {
+            for (let j = 0; j < ele["personList"].length; j++) {
+              const item = ele["personList"][j];
               const data = item[str]?.map((e) => {
                 return {
                   ...e,
-                  personId: item.personId
+                  personId: item.personId,
                 };
               });
-              if (data?.length) {
+              if (ele[str] && data?.length) {
                 ele[str].push(...data);
               }
             }
@@ -345,6 +351,8 @@
       }
       return arr;
     },
+
+    // 鏂囩尞
 
     //鏁扮粍鍘婚噸
     deduplicateArray(arr, idKey) {
@@ -381,6 +389,7 @@
         if (res && res.success && res.object) {
           this.infoOfPersons = res.object?.infoOfPersons;
           this.infoOfSchools = res.object?.infoOfSchools;
+          console.log(res.object);
           if (res.object?.personChain) {
             this.ownInfo = this.infoOfPersons.find(
               (item) => item.id == res.object?.personChain.personId
@@ -448,6 +457,7 @@
               this.categories.push({ name: "娲诲姩鍦�" });
               let newArr = [];
               const data = this.changeLiterature(obj.placeList, "placeList");
+              console.log(data, "place");
               this.getPersonInfo(data, "placeList", newArr, 1, 4, this.ownInfo);
               place = [...newArr];
             }
@@ -472,44 +482,19 @@
             ...literature,
             ...social,
             ...place,
-            ...school
+            ...school,
           ];
-          console.log(personData);
-          // const k = personData.filter((item) => item.category == 0);
-          // const t = personData.filter((item) => item.category == 1);
-          // const l = personData.filter((item) => item.category == 2);
-          // const o = personData.filter((item) => item.category == 3);
-          // const p = personData.filter((item) => item.category == 4);
-          // const s = personData.filter((item) => item.category == 5);
-          // const nodesList = [...k, ...t, ...l, ...o, ...p, ...s];
-          
+
           personData.forEach((item) => {
-            let exists1 = this.nodes.some(
-              (node) =>
-                node.id === item.parentId && node.name === item.parentName
-            );
-            let exists2 = this.nodes.some(
-              (node) => node.id === item.parentId && node.name === item.name2
-            );
-            // 璇佹槑涓嶅瓨鍦�
-            if (item.name1 && exists1 !== true) {
-              this.nodes.push({
-                name: item.parentName,
-                id: item.parentId,
-                ...item
-              });
-            }
-            if (item.name2 && exists2 !== true) {
-              this.nodes.push({
-                name: item.name2,
-                id: item.id2,
-                ...item
-              });
-            }
+            this.nodes.push({
+              name: item.name,
+              id: item.personId,
+              ...item,
+            });
             let obj = {
               source: item.parentName,
-              target: item.name2,
-              relation: item.relationTypeName || "" // 濡傛灉瀛樺湪 relationName 瀛楁鍒欎娇鐢紝鍚﹀垯涓虹┖瀛楃涓�
+              target: item.name,
+              relation: item.relationTypeName || "", // 濡傛灉瀛樺湪 relationName 瀛楁鍒欎娇鐢紝鍚﹀垯涓虹┖瀛楃涓�
             };
             this.relationships.push(obj);
           });
@@ -539,7 +524,7 @@
         }
         return {
           ...item,
-          symbolSize: size > 80 ? 80 : size
+          symbolSize: size > 80 ? 80 : size,
         };
       });
 
@@ -568,7 +553,7 @@
       var links = [];
       relationships.forEach((relationship, i) => {
         var sourceIndex = nodes.findIndex(
-          (node) => node.name === relationship.source
+          (node) => node.parentName === relationship.source
         );
         var targetIndex = nodes.findIndex(
           (node) => node.name === relationship.target
@@ -594,16 +579,14 @@
                 borderRadius: 30,
                 position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず
                 // z: -1, // 璁剧疆鏍囩鐨剒杞撮珮搴︼紝浣垮叾姣旇繛鎺ョ嚎鏇撮珮
-                distance: -10 // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂
-              }
+                distance: -10, // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂
+              },
             });
           }
         }
       });
       // 鏍规嵁nodes鍔ㄦ�佺敓鎴愯妭鐐规暟鎹�
       var nodeData = nodes;
-      console.log(nodeData);
-      console.log(links);
       var option;
       option = {
         // backgroundColor: {
@@ -620,8 +603,8 @@
             orient: "vertical",
             data: this.categories.map(function (a) {
               return a.name;
-            })
-          }
+            }),
+          },
         ],
         series: [
           {
@@ -636,28 +619,28 @@
             label: {
               show: true,
               position: "right",
-              formatter: "{b}"
+              formatter: "{b}",
             },
             scaleLimit: {
               min: 0.4,
-              max: 2
+              max: 2,
             },
             lineStyle: {
               color: "source",
-              curveness: 0.2
+              curveness: 0.2,
             },
             emphasis: {
               focus: "adjacency",
               lineStyle: {
-                width: 5
-              }
+                width: 5,
+              },
             },
             force: {
               repulsion: 600,
-              edgeLength: 300
-            }
-          }
-        ]
+              edgeLength: 300,
+            },
+          },
+        ],
       };
       // 璁剧疆鐐瑰嚮浜嬩欢鐩戝惉
       myChart.off("click");
@@ -699,7 +682,7 @@
             i += 1;
             return e["content" + i];
           }).join("銆�") ?? "",
-        biography: data?.BIOGRAPHY ?? ""
+        biography: data?.BIOGRAPHY ?? "",
       };
       this.detailData = obj;
     },
@@ -728,7 +711,7 @@
       academicSearch({
         keyword: key,
         page: this.personPageInfo.page,
-        pageSize: this.personPageInfo.limit
+        pageSize: this.personPageInfo.limit,
       }).then((res) => {
         this.personList = res.list.map((item) => {
           return {
@@ -749,7 +732,7 @@
             division:
               item.medicalBranchList && item.medicalBranchList.length
                 ? item.medicalBranchList[0].content1
-                : "-"
+                : "-",
           };
         });
         this.showPerson = true;
@@ -759,7 +742,7 @@
     spaceTimeArr(id) {
       // 鍏崇郴鍥剧殑鏁版嵁
       uni.navigateTo({
-        url: "/pages/character/detail?id=" + id
+        url: "/pages/character/detail?id=" + id,
       });
     },
     // 鑾峰彇鏈濅唬echarts鐨勬暟鎹�
@@ -783,7 +766,7 @@
         this.hotKeyList = indexList.map((item) => {
           return {
             id: item,
-            name: res.object[item]
+            name: res.object[item],
           };
         });
       });
@@ -798,8 +781,8 @@
       //     document.querySelector(".fbox1").style.height = box1Height + "px";
       //   }
       // });
-    }
-  }
+    },
+  },
 };
 </script>
 
@@ -912,7 +895,7 @@
   background: #fff;
   border-radius: 6px;
   box-shadow: 0 0 10px -3px #000;
-  .closeBtn{
+  .closeBtn {
     position: absolute;
     right: -10px;
     top: -10px;
@@ -921,7 +904,7 @@
     font-size: 24px;
     background-color: #fff;
     border-radius: 50%;
-    color: #F56C6C;
+    color: #f56c6c;
     cursor: pointer;
   }
 }

--
Gitblit v1.9.1