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

---
 src/pages/territory/territory.vue |  131 ++++++++++++++++++++++++++++---------------
 1 files changed, 86 insertions(+), 45 deletions(-)

diff --git a/src/pages/territory/territory.vue b/src/pages/territory/territory.vue
index 5337057..bf31e36 100644
--- a/src/pages/territory/territory.vue
+++ b/src/pages/territory/territory.vue
@@ -11,6 +11,7 @@
         placehold="杈撳叆濮撳悕/鍒悕/鏈濅唬/浼犱富鑱屼笟鎼滅储"
         @onSearch="onSearch"
         :isAvancedTrue="false"
+        :keyword="keyword"
       />
       <ul class="flex">
         <li style="" v-for="(item, index) in dynasty" :key="item.id">
@@ -77,9 +78,14 @@
       </div>
       <view class="" style="overflow: auto; height: 2.5rem">
         <ul class="information" v-for="(item, index) in SearchArr" :key="index">
-          <li style="font-size: 0.18rem; font-weight: 700">{{ item.name }}</li>
-          <li>鐢熷崚骞�: {{ item.birthAndDeath }}</li>
-          <li>鏉ユ簮: {{ item.source }}</li>
+          <li style="font-size: 0.18rem; font-weight: 700">
+            {{ item.name ? item.name : "-" }}
+          </li>
+          <li>
+            鐢熷崚骞�:
+            {{ item.birthAndDeath ? item.birthAndDeath : "-" }}
+          </li>
+          <li>鏉ユ簮: {{ item.source ? item.source : "-" }}</li>
           <li
             v-if="SearchArr.length - 1 !== index"
             style="margin: 0.1rem 0; border-bottom: 1px solid #d8d8d8"
@@ -100,7 +106,9 @@
       :style="{ top: isTop, left: isLeft }"
     >
       <div slot="header" class="clearfix">
-        <span>{{ information[0].content }}</span>
+        <span v-if="currentMark">{{
+          currentMark.name ? currentMark.name : "-"
+        }}</span>
         <el-button
           style="
             float: right;
@@ -113,10 +121,17 @@
           >鍏抽棴</el-button
         >
       </div>
-      <ul class="information">
-        <li v-for="(item, index) in information" :key="index">
-          {{ item.label }}: {{ item.content }}
+      <ul class="information" v-if="currentMark">
+        <li>
+          濮撳悕:
+          {{ currentMark.name ? currentMark.name : "-" }}
         </li>
+        <li>鍒悕: {{ currentMark.nikeName ? currentMark.nikeName : "-" }}</li>
+        <li>
+          绫嶈疮: {{ currentMark.nativePlace ? currentMark.nativePlace : "-" }}
+        </li>
+        <li>鍖诲鍒嗙: {{ currentMark.barnch ? currentMark.barnch : "-" }}</li>
+        <li>灏忎紶: {{ currentMark.medical ? currentMark.medical : "-" }}</li>
       </ul>
       <el-button
         class="flex"
@@ -178,10 +193,12 @@
 import * as echarts from "echarts";
 import "echarts/extension/bmap/bmap";
 import "leaflet.chinatmsproviders";
+import { getRetrieval } from "@/api/index.js";
 export default {
   data() {
     return {
       // echarts鍏冪礌鐐瑰嚮鏃跺嚭鏉ョ殑寮圭獥鍜屽潗鏍�
+      keyword: "",
       isEchTrue: false,
       isLeft: 0,
       isTop: 0,
@@ -330,6 +347,7 @@
       ],
       // 鎼滅储鍚庢槸鍚︽樉绀哄脊妗�
       isSearch: false,
+      currentMark: null,
       SearchArr: [
         {
           id: 1,
@@ -356,16 +374,40 @@
     //   this.innt();
     // });
     // })
-    this.initMap();
+    this.getDataList();
   },
   methods: {
+    getDataList() {
+      getRetrieval({ keyword: this.keyword, dynasty: "" }).then((res) => {
+        let markerList = [];
+        const listData = res.object.personList;
+        for (let i = 0; i < listData.length; i++) {
+          const item = listData[i];
+          if (item.NATIVE_PLACE?.length > 0) {
+            item.NATIVE_PLACE.forEach((citem) => {
+              if (citem.xCoord && citem.yCoord) {
+                markerList.push({ ...citem, ...item });
+              }
+            });
+          }
+        }
+        this.initMap(markerList);
+        this.SearchArr = markerList.map((item) => ({
+          birthAndDeath: item?.BIRTH_YEAR[0]?.content1 ?
+            item?.BIRTH_YEAR[0]?.content1 + "-" + item?.DEATH_YEAR[0]?.content1 :'-',
+          name: item?.NAME[0]?.content1,
+          source: "-",
+        }));
+        console.log(markerList, "markerList");
+      });
+    },
     //鍒濆鍖栧湴鍥�
-    initMap() {
+    initMap(markerList) {
       var map = L.map("map", {
         attributionControl: false,
         preferCanvas: true,
         withPopup: L.latLng(34.261, 108.96),
-      }).setView([39.91667, 116.41667], 4);
+      }).setView([39.91667, 116.41667], 3);
 
       L.tileLayer
         .chinaProvider("TianDiTu.Normal.Map", {
@@ -374,46 +416,42 @@
           // minZoom: 5,
         })
         .addTo(map);
-
+      this.map = map;
       let DefaultIcon1 = L.icon({
         iconUrl: this.icoName,
         iconSize: [24, 41], //  鍥炬爣鐨勫ぇ灏�    銆愬��1锛屽��2銆� 涓哄叿浣撲綘鑷畾涔夊浘鏍囩殑灏哄锛屾瘮濡傛垜鍥炬爣灏哄鏄�32脳52锛岃〃绀鸿鍥炬爣锛氬搴�32鍍忕礌锛岄珮搴︼細52鍍忕礌锛岄偅涔堝��1:灏辨槸32锛屽��2锛氬氨鏄�52
         iconAnchor: [24, 41], //  鍥炬爣灏嗗搴旀爣璁扮偣鐨勪綅缃� 杩欎釜鏄噸鐐癸紝 銆愬��1锛屽��2銆戯紝鍊�1锛氫负鍥炬爣鍧愭爣绗竴涓��(鍗�32)鐨勪竴鍗婏紝鍊�2锛氫负鍥炬爣鍧愭爣绗簩涓��(鍗�52)
         popupAnchor: [1, -24], // 璇ョ偣鏄浉瀵逛簬iconAnchor寮瑰嚭淇℃伅鐨勪綅缃�  杩欎釜鏄垜鎵嬪姩璋冨嚭鏉ョ殑锛屾枃妗i粯璁ゅ師濮嬪�兼槸[-1锛�-76]锛屾垜鏄幓涓�鍗婂�硷紝鍙栦竴鍗婂�艰皟鍑烘潵鐨�
       });
-      const marker1 = L.marker([34.261, 108.96], {
-        icon: DefaultIcon1,
-      }).addTo(map);
-      L.marker([39.90609, 116.38543], {
-        icon: DefaultIcon1,
-      })
-        .addTo(map)
-        .bindPopup(this.popContent); //鍖椾含
-      L.marker([29.55546, 106.5448], {
-        icon: DefaultIcon1,
-      }).addTo(map); // 閲嶅簡
-      L.marker([30.56781, 114.30222], {
-        icon: DefaultIcon1,
-      }).addTo(map); //婀栧寳
-      L.marker([18.23522, 109.51085], {
-        icon: DefaultIcon1,
-      }).addTo(map); //娴峰崡
 
-      marker1.on("click", (e) => {
-        this.isEchTrue = true;
-        console.log(document.querySelector(".echartsTrue").offsetWidth);
-        console.log(document.querySelector(".echartsTrue").offsetHeight);
-        this.$nextTick(() => {
-          this.isTop =
-            e.containerPoint.y -
-            document.querySelector(".echartsTrue").offsetHeight / 2 +
-            "px";
-          this.isLeft =
-            e.containerPoint.x -
-            document.querySelector(".echartsTrue").offsetWidth / 2 +
-            "px";
-        });
-      });
+      if (markerList.length) {
+        for (let i = 0; i < markerList.length; i++) {
+          const item = markerList[i];
+          const temp_mark = L.marker([item.yCoord, item.xCoord], {
+            icon: DefaultIcon1,
+          }).addTo(map);
+          temp_mark.on("click", (e) => {
+            this.isEchTrue = true;
+            this.currentMark = {
+              name: item?.WEAK_NAME[0]?.content1,
+              nikeName: item?.ALIAS[0]?.content2,
+              nativePlace: item?.content1,
+              barnch: item?.MEDICAL_BRANCH[0]?.content1,
+              medical: item?.MEDICAL_EXPERTISE[0]?.content1,
+            };
+            this.$nextTick(() => {
+              this.isTop =
+                e.containerPoint.y -
+                document.querySelector(".echartsTrue").offsetHeight / 2 +
+                "px";
+              this.isLeft =
+                e.containerPoint.x -
+                document.querySelector(".echartsTrue").offsetWidth / 2 +
+                "px";
+            });
+          });
+        }
+      }
     },
 
     // 鐐瑰嚮涓嬮潰鐨勬湞浠f寜閽�
@@ -422,9 +460,11 @@
       this.dynasty1Color = id;
     },
     onSearch(val) {
-      console.log(val);
-      //
       this.isSearch = true;
+      this.keyword = val.text;
+      this.map.invalidateSize();
+
+      this.getDataList();
     },
     // 鐐瑰嚮涓婇潰鐨勬湞浠f寜閽�
     SchoolClick(id) {
@@ -565,5 +605,6 @@
   width: 100%;
   margin: 0 auto;
   font-size: 14px !important;
+  z-index: -1 !important;
 }
 </style>

--
Gitblit v1.9.1