From a7453eea26785a3100b35b9c10000dc202671221 Mon Sep 17 00:00:00 2001
From: YM <479443481@qq.com>
Date: 星期三, 12 六月 2024 18:42:58 +0800
Subject: [PATCH] 1

---
 src/pages/character/detail.vue |  233 +++++++++++++++++++++++++++++++--------------------------
 1 files changed, 127 insertions(+), 106 deletions(-)

diff --git a/src/pages/character/detail.vue b/src/pages/character/detail.vue
index 939e81a..0e76922 100644
--- a/src/pages/character/detail.vue
+++ b/src/pages/character/detail.vue
@@ -100,7 +100,6 @@
             >
           </view>
           <view
-            v-if="biogData.length > 1"
             style="font-size: 0.12rem; color: #244a7b; cursor: pointer"
             @click="ProfileClick"
             >闃呰鏇村></view
@@ -408,15 +407,17 @@
   getPersonInfo,
   getRelationTypeTreeList,
   getWebBasic,
+  getDynastyAll,
   getIntroduction,
   getSource,
   getPersonImages,
   getPersonBiog,
   getPersonWritings,
   getPersonRelationAtSchool,
-  getSpaceTime
+  getSpaceTime,
+  getDynastyData
 } from "@/api/index.js";
-import { getImg, getFile } from "@/static/tool.js";
+import { getImg } from "@/static/tool.js";
 import L from "leaflet";
 import "leaflet.chinatmsproviders";
 
@@ -477,6 +478,8 @@
         },
         {
           prop: "d",
+          width: 300,
+          showOverflowTooltip: true,
           label: "鍑哄"
         }
       ],
@@ -541,7 +544,8 @@
   },
   methods: {
     copyText() {
-      const textToCopy = this.biogData[0].content + " 鏉ユ簮锛氫腑鍖诲尰瀛︿汉鐗╃煡璇嗗簱";
+      const textToCopy =
+        this.biogData[0].content + "\n鏉ユ簮锛氫腑鍖诲尰瀛︿汉鐗╃煡璇嗗簱";
       const textarea = document.createElement("textarea");
       textarea.value = textToCopy;
       document.body.appendChild(textarea);
@@ -554,12 +558,11 @@
       });
     },
     toLink(item) {
-      console.log(item);
       if (item.url) {
         window.open(item.url);
       }
       if (item.filePath) {
-        window.open(getFile(item.filePath));
+        window.open(getImg(item.filePath));
       }
     },
     getData() {
@@ -581,30 +584,31 @@
               : fieldItem.content1;
           }
         }
-        console.log(obj);
         this.detailInfo = obj;
+        getDynastyAll().then((dynastyData) => {
+          getWebBasic({
+            personId: this.detailId
+          }).then((res) => {
+            const obj = res.object;
+            if (obj.school) {
+              getIntroduction(Number(obj.school)).then((sres) => {
+                this.handleData(obj, sres, dynastyData.list);
+              });
+            } else {
+              this.handleData(obj, null, dynastyData.list);
+            }
+          });
+        });
         // 鍏崇郴鍥捐氨
-        this.getMappingData(this.detailInfo.NAME);
+        this.getMappingData();
       });
+
       //鐜颁唬鐮旂┒
       getPersonInfo({
         id: this.detailId,
         type: "PERSON_RESEARCH"
       }).then((res) => {
         this.personResearchList = res.object.personResearchList;
-      });
-
-      getWebBasic({
-        personId: this.detailId
-      }).then((res) => {
-        const obj = res.object;
-        if (obj.school) {
-          getIntroduction(Number(obj.school)).then((sres) => {
-            this.handleData(obj, sres);
-          });
-        } else {
-          this.handleData(obj);
-        }
       });
 
       // 娲诲姩骞磋氨
@@ -618,19 +622,19 @@
               a: item.time,
               b: item.activityName,
               c: item.activityAddrOld,
-              d: item.desc // 杩欓噷缂哄皯娲诲姩鎻忚堪瀛楁
+              d: item.desc
             };
           });
         }
       });
     },
-    handleData(obj, sres) {
+    handleData(obj, sres, dynastyData) {
       this.tableArr = [
         {
           list: [
             {
-              name: "鍒悕",
-              value: obj.alias || "-"
+              name: "濮撳悕",
+              value: obj.name || "-"
             },
             {
               name: "瀛�",
@@ -642,7 +646,16 @@
             },
             {
               name: "鎵�澶勬椂鏈�",
-              value: obj.dynastyDesc || "-"
+              value:
+                dynastyData.find((item) => item.dynastyId == obj.dynastyId)
+                  .name || "-",
+              valueClick: () => {
+                uni.navigateTo({
+                  url:
+                    "/pages/knowledgeBase/knowledgeBase?dynasty=" +
+                    obj.dynastyId
+                });
+              }
             },
             {
               name: "姘戞棌",
@@ -662,7 +675,14 @@
             },
             {
               name: "鑱屽畼",
-              value: obj.official || "-"
+              value: obj.official || "-",
+              valueClick: () => {
+                uni.navigateTo({
+                  url:
+                    "/pages/knowledgeBase/knowledgeBase?isAdvancedSearch=1&official=" +
+                    obj.official
+                });
+              }
             },
             {
               name: "娴佹淳",
@@ -728,76 +748,72 @@
       });
     },
     getRelationship() {
-      getRelationTypeTreeList().then((res) => {
-        console.log(res, "getRelationTypeTreeList");
-        console.log(res);
-      });
-      // getPersonRelationAtSchool({
-      //   personId: this.detailId,
-      // }).then((res) => {
-      //   this.personRelationList = res.object.personRelationList;
-      //   if (this.personRelationList.length) {
-      //     this.tableData4 = this.personRelationList.map((f) => {
-      //       return {
-      //         a: f.nodeName,
-      //         b: f.relationTypeName,
-      //       };
-      //     });
-      //   }
-      // });
       getPersonInfo({
         id: this.detailId,
         type: "PERSON_RELATIONS"
       }).then((res) => {
         this.tableData4;
-        console.log(res, "PERSON_RELATIONS");
-      });
-      // 绀句細鍏崇郴
-      getPersonRelationAtSchool({
-        personId: this.detailId,
-        relationSearchTypeEO: "SOCIAL"
-      }).then((res) => {
-        if (res.list && res.list.length) {
-          this.tableData4 = res.list.map((f) => {
+        if (res.object.personRelationMap.kin.length) {
+          this.tableData2 = res.object.personRelationMap.kin.map((f) => {
             return {
-              a: f.name1,
-              b: f.relationName
+              a: f.nodeName,
+              b: f.relationTypeName,
+              c: f.textualResearch,
+              d:
+                res.object.bookList &&
+                res.object.bookList.find((citem) => citem.id == f.bookId)
+                  ? "銆�" +
+                    res.object.bookList.find((citem) => citem.id == f.bookId)
+                      .name +
+                    "銆� P" +
+                    f.pageNo
+                  : ""
             };
           });
         }
-      });
-      // 浜插睘鍏崇郴
-      getPersonRelationAtSchool({
-        personId: this.detailId,
-        relationSearchTypeEO: "KINSHIP"
-      }).then((res) => {
-        if (res.list && res.list.length) {
-          this.tableData2 = res.list.map((f) => {
-            return {
-              a: f.name1,
-              b: f.relationName
-            };
-          });
+        if (res.object.personRelationMap.teacherStudent.length) {
+          this.tableData3 = res.object.personRelationMap.teacherStudent.map(
+            (f) => {
+              return {
+                a: f.nodeName,
+                b: f.relationTypeName,
+                c: f.textualResearch,
+                d:
+                  res.object.bookList &&
+                  res.object.bookList.find((citem) => citem.id == f.bookId)
+                    ? "銆�" +
+                      res.object.bookList.find((citem) => citem.id == f.bookId)
+                        .name +
+                      "銆� P" +
+                      f.pageNo
+                    : ""
+              };
+            }
+          );
         }
-      });
-      // 甯堟壙鍏崇郴
-      getPersonRelationAtSchool({
-        personId: this.detailId,
-        relationSearchTypeEO: "INHERITANCE"
-      }).then((res) => {
-        if (res.list && res.list.length) {
-          this.tableData3 = res.list.map((f) => {
+        if (res.object.personRelationMap.social.length) {
+          this.tableData4 = res.object.personRelationMap.social.map((f) => {
             return {
-              a: f.name1,
-              b: f.relationName
+              a: f.nodeName,
+              b: f.relationTypeName,
+              c: f.textualResearch,
+              d:
+                res.object.bookList &&
+                res.object.bookList.find((citem) => citem.id == f.bookId)
+                  ? "銆�" +
+                    res.object.bookList.find((citem) => citem.id == f.bookId)
+                      .name +
+                    "銆� P" +
+                    f.pageNo
+                  : ""
             };
           });
         }
       });
     },
-    getMappingData(name) {
+    getMappingData() {
       getFuzzySearch({
-        keyword: name
+        personId: this.detailId
       }).then((res) => {
         this.nodes = [];
         this.relationships = [];
@@ -838,16 +854,23 @@
         personId: this.detailId
       }).then((res) => {
         if (res.list && res.list.length) {
-          const data = res.list.map((item) => {
-            return {
-              name: item.activityName,
-              value: [item.xcoord, item.ycoord]
-            };
-          });
+          const data = [];
+          for (let i = 0; i < res.list.length; i++) {
+            const item = res.list[i];
+            if (item.xcoord && item.ycoord) {
+              const obj = {
+                name: item.activityName,
+                value: [item.xcoord, item.ycoord]
+              };
+              data.push(obj);
+            }
+          }
           this.markerList = data;
           // 鏃剁┖鍦板浘
           // 杩欓噷鍙彇浜嗙涓�鏉★紝闇�瑕佸叏閮ㄦ暟鎹�
-          this.initMap(data[0]);
+          if (data && data.length) {
+            this.initMap(data);
+          }
         }
 
         // loadBMap("1NJdwrI1CfT6lrykVhDkmWgsO6O2bjQK").then(() => {
@@ -859,9 +882,16 @@
       var map = L.map("spaceTime", {
         preferCanvas: true,
         attributionControl: false
-      }).setView([markerList.value[1], markerList.value[0]], 13);
+      }).setView([markerList[0].value[1], markerList[0].value[0]], 13);
       L.tileLayer
         .chinaProvider("TianDiTu.Normal.Map", {
+          key: "76bc34ead7e30e663a4eded8aeaf5860",
+          maxZoom: 18,
+          minZoom: 3
+        })
+        .addTo(map);
+      L.tileLayer
+        .chinaProvider("TianDiTu.Normal.Annotion", {
           key: "76bc34ead7e30e663a4eded8aeaf5860",
           maxZoom: 18,
           minZoom: 3
@@ -876,6 +906,14 @@
       const temp_mark = L.marker([markerList.value[1], markerList.value[0]], {
         icon: icon
       }).addTo(map);
+      if (markerList.length) {
+        for (let i = 0; i < markerList.length; i++) {
+          const item = markerList[i];
+          const temp_mark = L.marker([item.value[1], item.value[0]], {
+            icon: icon
+          }).addTo(map);
+        }
+      }
     },
     // 鏀惧ぇ鍦板浘璺宠浆
     fangdaClick(index) {
@@ -964,25 +1002,8 @@
 
       let FontSize = 12; // 瀛椾綋澶у皬
       let BorderWidth = 2; // 杈规澶у皬
-      let SymbolSize = 80; // 灏哄璺濈
+      let SymbolSize = 50; // 灏哄璺濈
       let Distance = 10;
-      // 涓嶅悓灏哄涓嬩慨鏀筫charts鐨勫瓧浣�
-      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;
-      }
       // 鏍规嵁鍏崇郴鏁版嵁鐢熸垚杩炴帴绾�
       var links = [];
       relationships.forEach((relationship, i) => {

--
Gitblit v1.9.1