From 6269e2718144c9ff760a00385d3552cebdd0ffe3 Mon Sep 17 00:00:00 2001
From: YM <479443481@qq.com>
Date: 星期一, 20 五月 2024 19:07:43 +0800
Subject: [PATCH] 世医数量调用接口

---
 src/pages/characterMap/characterMap.vue |  200 +++++++++++++++++++++++++++----------------------
 1 files changed, 111 insertions(+), 89 deletions(-)

diff --git a/src/pages/characterMap/characterMap.vue b/src/pages/characterMap/characterMap.vue
index 8f65ad1..b613e8a 100644
--- a/src/pages/characterMap/characterMap.vue
+++ b/src/pages/characterMap/characterMap.vue
@@ -1,38 +1,28 @@
 <template>
-  <view>
-    <headNav
-      :idIndex="idIndex"
-      text="涓尰浜虹墿鏁版嵁搴�"
-    />
-    <el-button
-      class="getBack"
-      @click="getBack"
-    >杩斿洖</el-button>
-    <view
-      class=""
-      style="position: relative"
-    >
+  <view style="width: 100%;height: 100%;display: flex;flex-direction: column;">
+    <headNav :idIndex="1 + ''" text="涓尰浜虹墿鏁版嵁搴�" />
+    <el-button class="getBack" @click="goBack">杩斿洖</el-button>
+    <view style="flex: 1;overflow: hidden;">
       <!-- 鍦板浘 -->
       <!-- <view id="spaceTime" style="height: 90vh;width: 100%;position: relative;"></view> -->
       <div id="map"></div>
 
       <!-- 璇︽儏 -->
-      <el-dialog
-        class="particulars"
-        :visible.sync="menuNav"
-        :modal="false"
-      >
+      <el-dialog class="particulars" :visible.sync="menuNav" :modal="false">
         <view
           class="font-family"
           style="font-size: 0.26rem; padding-top: 0.16rem; font-weight: bold"
-        >{{ activityInfo.participants }}</view>
-        <ul style="
+          >{{ activityInfo.participants }}</view
+        >
+        <ul
+          style="
             border-bottom: 0.01rem solid #d8d8d8;
             padding: 0.16rem 0;
             font-size: 0.14rem;
             font-weight: 400;
             line-height: 0.28rem;
-          ">
+          "
+        >
           <li>鍑虹敓浜巤{ basicInfo.nativePlace }}</li>
           <li>
             {{
@@ -44,12 +34,14 @@
             }}
           </li>
         </ul>
-        <ul style="
+        <ul
+          style="
             margin: 0.31rem 0 0.11rem 0;
             font-size: 0.14rem;
             font-weight: 400;
             line-height: 0.28rem;
-          ">
+          "
+        >
           <li>娲诲姩鍚嶇О锛歿{ activityInfo.activityName }}</li>
           <li>娲诲姩鍦扮偣锛歿{ activityInfo.activityAddr }}</li>
           <li>娲诲姩鍖洪棿锛歿{ activityInfo.time }}</li>
@@ -61,14 +53,10 @@
           src="https://img0.baidu.com/it/u=1845740325,2917001370&fm=253&app=120&size=w931&n=0&f=JPEG&fmt=auto?sec=1711731600&t=0b208ab46e1d33aa81ac31dd6bf627be"
           alt=""
         /> -->
-        <div
-          class="box"
-          style="width: 80%"
-        >
-          <span
-            class="span"
-            :style="{ marginLeft: spanML + 'rem' }"
-          >{{ span }}骞�</span>
+        <div class="box" style="width: 80%">
+          <span class="span" :style="{ marginLeft: spanML + 'rem' }"
+            >{{ span }}骞�</span
+          >
           <div class="scales">
             <view
               v-for="(item, index) in yearArr"
@@ -78,10 +66,7 @@
             ></view>
           </div>
           <div class="MX"></div>
-          <div
-            class="cursor"
-            :style="{ marginLeft: cursorML + 'rem' }"
-          ></div>
+          <div class="cursor" :style="{ marginLeft: cursorML + 'rem' }"></div>
         </div>
       </el-dialog>
     </view>
@@ -92,8 +77,8 @@
 import * as echarts from "echarts";
 import "echarts/extension/bmap/bmap";
 import { loadBMap } from "@/static/map.js";
-import "leaflet.chinatmsproviders";
 import L from "leaflet";
+import "leaflet.chinatmsproviders";
 import { getPersonInfo } from "@/api/index.js";
 export default {
   data() {
@@ -110,7 +95,7 @@
       spanML: 0,
       cursorML: -0.05,
       activityInfo: {},
-      basicInfo: {},
+      basicInfo: {}
     };
   },
 
@@ -132,7 +117,7 @@
     initMap(info) {
       var map = L.map("map", {
         attributionControl: false,
-        preferCanvas: true,
+        preferCanvas: true
       }).setView([35.91667, 110.41667], 5);
 
       // L.tileLayer(
@@ -143,21 +128,26 @@
         .chinaProvider("TianDiTu.Normal.Map", {
           key: "76bc34ead7e30e663a4eded8aeaf5860",
           maxZoom: 18,
-          minZoom: 5,
+          minZoom: 5
         })
         .addTo(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]锛屾垜鏄幓涓�鍗婂�硷紝鍙栦竴鍗婂�艰皟鍑烘潵鐨�
+        popupAnchor: [1, -24] // 璇ョ偣鏄浉瀵逛簬iconAnchor寮瑰嚭淇℃伅鐨勪綅缃�  杩欎釜鏄垜鎵嬪姩璋冨嚭鏉ョ殑锛屾枃妗i粯璁ゅ師濮嬪�兼槸[-1锛�-76]锛屾垜鏄幓涓�鍗婂�硷紝鍙栦竴鍗婂�艰皟鍑烘潵鐨�
+      });
+      let icon = L.divIcon({
+        html: "<div class='map-circle-name ripple'></div>",
+        iconSize: [80, 80],
+        className: "map-circle"
       });
       this.map = map;
       if (info && info.length) {
         for (let i = 0; i < info.length; i++) {
           const item = info[i];
           const marker1 = L.marker([item.ycoord, item.xcoord], {
-            icon: DefaultIcon1,
+            icon: icon
           }).addTo(map);
           marker1.on("click", (e) => {
             this.menuNav = true;
@@ -168,8 +158,8 @@
     },
 
     // 杩斿洖鎸夐挳
-    getBack() {
-      uni.navigateBack();
+    goBack() {
+      this.$router.go(-1);
     },
     aaa() {
       // 娓叉煋姣嶇嚎
@@ -189,7 +179,7 @@
     getPersonInfoFun() {
       getPersonInfo({
         id: this.$route.query.id,
-        type: "PERSON_SPACE_TIME",
+        type: "PERSON_SPACE_TIME"
       }).then((res) => {
         console.log(res, "res");
         this.initMap(res.object.personSpaceTimeList);
@@ -199,7 +189,7 @@
     getBasicInfo() {
       getPersonInfo({
         id: this.$route.query.id,
-        type: "PERSON_BASIC",
+        type: "PERSON_BASIC"
       }).then((res) => {
         console.log(res, "res");
         this.basicInfo.name = res.object.personFieldList.find(
@@ -267,40 +257,40 @@
       const data = [
         {
           name: "娴烽棬",
-          value: 9,
+          value: 9
         },
         {
           name: "閲戞槍",
-          value: 19,
+          value: 19
         },
         {
           name: "娉夊窞",
-          value: 21,
+          value: 21
         },
         {
           name: "琛㈠窞",
-          value: 177,
+          value: 177
         },
         {
           name: "寤婂潑",
-          value: 193,
+          value: 193
         },
         {
           name: "鑿忔辰",
-          value: 194,
+          value: 194
         },
         {
           name: "鍚堣偉",
-          value: 229,
+          value: 229
         },
         {
           name: "姝︽眽",
-          value: 273,
+          value: 273
         },
         {
           name: "鍟婁笁澶х熆鍙婅鍒板簳鏄皝寤哄+澶уか澶у笀鍌呭氨",
-          value: 279,
-        },
+          value: 279
+        }
       ];
       const geoCoordMap = {
         娴烽棬: [121.15, 31.89],
@@ -330,7 +320,7 @@
         鑿忔辰: [115.480656, 35.23375],
         鍚堣偉: [117.27, 31.86],
         姝︽眽: ["浣犲ソ", 30.52],
-        鍟婁笁澶х熆鍙婅鍒板簳鏄皝寤哄+澶уか澶у笀鍌呭氨: [125.03, 46.58],
+        鍟婁笁澶х熆鍙婅鍒板簳鏄皝寤哄+澶уか澶у笀鍌呭氨: [125.03, 46.58]
       };
       const convertData = function (data) {
         var res = [];
@@ -339,7 +329,7 @@
           if (geoCoord) {
             res.push({
               name: data[i].name,
-              value: geoCoord.concat(data[i].value),
+              value: geoCoord.concat(data[i].value)
             });
           }
         }
@@ -347,7 +337,7 @@
       };
       option = {
         tooltip: {
-          trigger: "item",
+          trigger: "item"
         },
         bmap: {
           center: [104.114129, 37.550339], // 璋冩暣鍦板浘涓績鐐逛綅缃�
@@ -359,60 +349,60 @@
                 featureType: "water",
                 elementType: "all",
                 stylers: {
-                  color: "#d1d1d1",
-                },
+                  color: "#d1d1d1"
+                }
               },
               {
                 featureType: "land",
                 elementType: "all",
                 stylers: {
-                  color: "#f3f3f3",
-                },
+                  color: "#f3f3f3"
+                }
               },
               {
                 featureType: "manmade",
                 elementType: "all",
                 stylers: {
-                  color: "#d1d1d1",
-                },
+                  color: "#d1d1d1"
+                }
               },
               {
                 featureType: "local",
                 elementType: "all",
                 stylers: {
-                  color: "#d1d1d1",
-                },
+                  color: "#d1d1d1"
+                }
               },
               {
                 featureType: "arterial",
                 elementType: "labels",
                 stylers: {
-                  visibility: "off",
-                },
+                  visibility: "off"
+                }
               },
               {
                 featureType: "boundary",
                 elementType: "all",
                 stylers: {
-                  color: "#fefefe",
-                },
+                  color: "#fefefe"
+                }
               },
               {
                 featureType: "building",
                 elementType: "all",
                 stylers: {
-                  color: "#d1d1d1",
-                },
+                  color: "#d1d1d1"
+                }
               },
               {
                 featureType: "label",
                 elementType: "labels.text.fill",
                 stylers: {
-                  color: "#999999",
-                },
-              },
-            ],
-          },
+                  color: "#999999"
+                }
+              }
+            ]
+          }
         },
         series: [
           {
@@ -429,11 +419,11 @@
               return val[2] / 10;
             },
             encode: {
-              value: 2,
+              value: 2
             },
             showEffectOn: "render",
             rippleEffect: {
-              brushType: "stroke",
+              brushType: "stroke"
             },
             label: {
               formatter: "{b}",
@@ -451,18 +441,18 @@
               },
               show: true,
               fontSize: 12,
-              borderRadius: 30,
+              borderRadius: 30
             },
             itemStyle: {
               shadowBlur: 10,
-              shadowColor: "#333",
+              shadowColor: "#333"
             },
             emphasis: {
-              scale: true,
+              scale: true
             },
-            zlevel: 1,
-          },
-        ],
+            zlevel: 1
+          }
+        ]
       };
       let menuNav1 = this.menuNav;
       let menuNav2 = this.menuNav;
@@ -488,8 +478,8 @@
       this.menuNav = !this.menuNav;
       // 鏃剁┖鍦板浘鐨勬暟鎹�
       console.log(Arr);
-    },
-  },
+    }
+  }
 };
 </script>
 
@@ -499,7 +489,7 @@
   width: 0.6rem;
   height: 0.24rem;
   top: 1rem;
-  left: 0.24rem;
+  left: 0.6rem;
   z-index: 99999;
   font-size: 0.12rem;
   display: flex;
@@ -593,9 +583,41 @@
   height: 100%;
 }
 #map {
-  height: 1080px;
+  height: 100%;
   width: 100%;
   margin: 0 auto;
   font-size: 14px !important;
 }
+::v-deep .map-circle-name {
+  width: 20px;
+  height: 20px;
+  border-radius: 50%;
+  background-color: rgb(222, 142, 102);
+}
+
+::v-deep .ripple {
+  border-radius: 50%;
+  position: relative;
+  overflow: hidden;
+}
+
+::v-deep .ripple::before {
+  content: "";
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  width: 150%; /* Ensure it covers the entire parent */
+  height: 150%;
+  background: rgba(255, 255, 255, 0.5);
+  border-radius: 50%;
+  transform: translate(-50%, -50%) scale(1);
+  animation: ripple-animation 1s infinite linear;
+}
+
+@keyframes ripple-animation {
+  to {
+    transform: translate(-50%, -50%) scale(0);
+    opacity: 0;
+  }
+}
 </style>

--
Gitblit v1.9.1