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/character/detail.vue |  288 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 154 insertions(+), 134 deletions(-)

diff --git a/src/pages/character/detail.vue b/src/pages/character/detail.vue
index a7dd262..c3f47f7 100644
--- a/src/pages/character/detail.vue
+++ b/src/pages/character/detail.vue
@@ -1,26 +1,17 @@
 <template>
   <view class="relative">
-    <headNav
-      :idIndex="1 + ''"
-      text="涓尰浜虹墿鏁版嵁搴�"
-    />
+    <headNav :idIndex="1 + ''" text="涓尰浜虹墿鏁版嵁搴�" />
     <view class="Midde flex">
-      <el-button
-        class="MiddeBack flex flex-center"
-        @click="goBack"
-      >杩斿洖</el-button>
-      <view
-        style="width: 70%"
-        class="flex flex-center flex-column"
+      <el-button class="MiddeBack flex flex-center" @click="goBack"
+        >杩斿洖</el-button
       >
+      <view style="width: 70%" class="flex flex-center flex-column">
         <view style="font-weight: bold; font-size: 0.2rem">{{
           detailInfo.NAME
         }}</view>
-        <ul
-          class="flex"
-          style="line-height: 1.2; margin: 0.15rem 0"
-        >
-          <li style="
+        <ul class="flex" style="line-height: 1.2; margin: 0.15rem 0">
+          <li
+            style="
               background-color: #fff;
               padding: 0 0.08rem;
               border: 0.01rem solid #000;
@@ -28,10 +19,13 @@
               font-size: 0.12rem;
               text-align: center;
               margin-right: 0.15rem;
-            ">
+            "
+            @click="openFileClick(1)"
+          >
             RDF
           </li>
-          <li style="
+          <li
+            style="
               background-color: #fff;
               padding: 0 0.08rem;
               border: 0.01rem solid #000;
@@ -39,10 +33,14 @@
               font-size: 0.12rem;
               text-align: center;
               margin-right: 0.15rem;
-            ">
+              cursor: pointer;
+            "
+            @click="openFileClick(2)"
+          >
             NT
           </li>
-          <li style="
+          <li
+            style="
               background-color: #fff;
               padding: 0 0.08rem;
               border: 0.01rem solid #000;
@@ -50,10 +48,14 @@
               font-size: 0.12rem;
               text-align: center;
               margin-right: 0.15rem;
-            ">
+              cursor: pointer;
+            "
+            @click="openFileClick(3)"
+          >
             XML
           </li>
-          <li style="
+          <li
+            style="
               background-color: #fff;
               padding: 0 0.08rem;
               border: 0.01rem solid #000;
@@ -61,7 +63,10 @@
               font-size: 0.12rem;
               text-align: center;
               margin-right: 0.15rem;
-            ">
+              cursor: pointer;
+            "
+            @click="openFileClick(4)"
+          >
             JSON
           </li>
         </ul>
@@ -73,14 +78,12 @@
             font-weight: normal;
             line-height: 0.2rem;
             letter-spacing: 0.03rem;
+            cursor: pointer;
           "
         >
           {{ biogData.length ? biogData[0].content : "-" }}
         </view>
-        <view
-          class="flex"
-          style="width: 100%; margin: 0.25rem 0 0.15rem 0"
-        >
+        <view class="flex" style="width: 100%; margin: 0.25rem 0 0.15rem 0">
           <view>
             <!-- <el-button style="padding: 10rpx;" size="mini" icon="el-icon-folder-add">鏀惰棌</el-button> -->
             <el-button
@@ -88,16 +91,15 @@
               class="yinyong flex"
               @click="copyText"
             >
-              <img
-                src="@/static/image/yinyong.png"
-                alt=""
-              />寮曠敤</el-button>
+              <img src="@/static/image/yinyong.png" alt="" />寮曠敤</el-button
+            >
           </view>
           <!-- v-if="biogData.length > 1" -->
           <view
             style="font-size: 0.12rem; color: #244a7b; cursor: pointer"
             @click="ProfileClick"
-          >闃呰鏇村></view>
+            >闃呰鏇村></view
+          >
         </view>
       </view>
       <view style="width: 5%"></view>
@@ -110,10 +112,7 @@
         style="padding-right: 0.2rem; width: 2.8rem"
       >
         <div class="grid-content bg-purple-dark flex flex-column">
-          <el-card
-            class="box-card"
-            style="width: 100%; height: 2.06rem"
-          >
+          <el-card class="box-card" style="width: 100%; height: 2.06rem">
             <div
               class="clearfix flex"
               style="
@@ -122,11 +121,14 @@
                 padding-bottom: 0.1rem;
               "
             >
-              <span style="
+              <span
+                style="
                   margin-left: 0.12rem;
                   font-size: 0.14rem;
                   font-weight: 900;
-                ">鍏崇郴鍥捐氨</span>
+                "
+                >鍏崇郴鍥捐氨</span
+              >
               <!-- <el-button icon="el-icon-rank" style="float: right; padding: 3px 0;" type="text"></el-button> -->
               <img
                 src="@/static/image/fangda.png"
@@ -135,10 +137,7 @@
                 alt=""
               />
             </div>
-            <view
-              id="relation"
-              style="height: 1.51rem; width: 100%"
-            ></view>
+            <view id="relation" style="height: 1.51rem; width: 100%"></view>
           </el-card>
           <el-card
             class="box-card"
@@ -203,18 +202,9 @@
         </div>
       </div>
       <!-- 鍙充晶 -->
-      <div
-        :span="18"
-        class="BoxRight"
-      >
-        <div
-          class="grid-content bg-purple-dark"
-          style="width: 100%"
-        >
-          <el-card
-            class="box-card"
-            style="padding: 0"
-          >
+      <div :span="18" class="BoxRight">
+        <div class="grid-content bg-purple-dark" style="width: 100%">
+          <el-card class="box-card" style="padding: 0">
             <div
               class="clearfix"
               style="
@@ -232,60 +222,36 @@
             class="box-card"
             style="min-height: 1.91rem; margin: 0.2rem 0"
           >
-            <el-tabs
-              ref="tabs"
-              v-model="activeName"
-              @tab-click="handleClick"
-            >
-              <el-tab-pane
-                label="浠h〃钁椾綔"
-                data-id="1"
-                name="representative"
-              >
+            <el-tabs ref="tabs" v-model="activeName" @tab-click="handleClick">
+              <el-tab-pane label="浠h〃钁椾綔" data-id="1" name="representative">
                 <Table1
                   :data="tableData1"
                   :columns="tableColumns1"
                   :height="400"
                 />
               </el-tab-pane>
-              <el-tab-pane
-                label="浜插睘鍏崇郴"
-                data-id="2"
-                name="family "
-              >
+              <el-tab-pane label="浜插睘鍏崇郴" data-id="2" name="family ">
                 <Table1
                   :data="tableData2"
                   :columns="tableColumns2"
                   :height="400"
                 />
               </el-tab-pane>
-              <el-tab-pane
-                label="甯堟壙鍏崇郴"
-                data-id="3"
-                name="mentoring "
-              >
+              <el-tab-pane label="甯堟壙鍏崇郴" data-id="3" name="mentoring ">
                 <Table1
                   :data="tableData3"
                   :columns="tableColumns2"
                   :height="400"
                 />
               </el-tab-pane>
-              <el-tab-pane
-                label="绀句細鍏崇郴"
-                data-id="4"
-                name="society"
-              >
+              <el-tab-pane label="绀句細鍏崇郴" data-id="4" name="society">
                 <Table1
                   :data="tableData4"
                   :columns="tableColumns2"
                   :height="400"
                 />
               </el-tab-pane>
-              <el-tab-pane
-                label="娲诲姩骞磋氨"
-                data-id="5"
-                name="activity"
-              >
+              <el-tab-pane label="娲诲姩骞磋氨" data-id="5" name="activity">
                 <Table1
                   :data="tableData5"
                   :columns="tableColumns3"
@@ -334,10 +300,7 @@
             >
               <span>鐜颁唬鐮旂┒</span>
             </div>
-            <ul
-              class="font-family"
-              style="font-size: 0.13rem; line-height: 2"
-            >
+            <ul class="font-family" style="font-size: 0.13rem; line-height: 2">
               <li
                 v-for="(item, index) in personResearchList"
                 :key="index"
@@ -367,10 +330,7 @@
       ></el-button>
     </el-col>
     <!-- 涓汉灏忎紶 -->
-    <el-dialog
-      :visible.sync="isProfile"
-      :modal-append-to-body="false"
-    >
+    <el-dialog :visible.sync="isProfile" :modal-append-to-body="false">
       <view class="ProfileNav flex flex-center"> 涓汉灏忎紶 </view>
       <view
         style="padding: 0.44rem 0.3rem; min-height: 7.32rem"
@@ -393,7 +353,9 @@
           </view>
           <view class="flex">
             <view></view>
-            <view style="font-weight: 700; color: #2c2c2c">鈥斺�攞{ item.pageNo }}</view>
+            <view style="font-weight: 700; color: #2c2c2c"
+              >鈥斺�攞{ item.bookName }}</view
+            >
           </view>
         </view>
       </view>
@@ -422,6 +384,8 @@
   getSpaceTime,
 } from "@/api/index.js";
 import { getImg } from "@/static/tool.js";
+import L from "leaflet";
+import "leaflet.chinatmsproviders";
 
 export default {
   components: {
@@ -590,20 +554,19 @@
       }).then((res) => {
         this.personResearchList = res.object.personResearchList;
       });
-      getPersonInfo({
-        id: this.detailId,
-        type: "PERSON_RELATIONS",
+      getPersonRelationAtSchool({
+        personId: this.detailId,
       }).then((res) => {
         console.log(res, "PERSON_RELATIONS");
-        this.personRelationList = res.object.personRelationList;
-        if (this.personRelationList.length) {
-          this.tableData4 = this.personRelationList.map((f) => {
-            return {
-              a: f.nodeName,
-              b: f.relationTypeName,
-            };
-          });
-        }
+        // this.personRelationList = res.object.personRelationList;
+        // if (this.personRelationList.length) {
+        //   this.tableData4 = this.personRelationList.map((f) => {
+        //     return {
+        //       a: f.nodeName,
+        //       b: f.relationTypeName,
+        //     };
+        //   });
+        // }
       });
       getWebBasic({
         personId: this.detailId,
@@ -613,10 +576,10 @@
         if (obj.school) {
           getIntroduction(Number(obj.school)).then((sres) => {
             console.log(sres, "sres");
-            handleData(obj, sres);
+            this.handleData(obj, sres);
           });
         } else {
-          handleData(obj);
+          this.handleData(obj);
         }
       });
 
@@ -714,7 +677,7 @@
         this.biogData = res.list.map((item) => {
           return {
             content: item.content1,
-            pageNo: "銆�" + item.pageNo + "銆� " + "P " + item.pageNo, // 杩欓噷鍙湁bookid鏃犳硶鍖归厤鍒颁功鍚�
+            bookName: "銆�" + item.bookName + "銆� " + "P " + item.pageNo, // 杩欓噷鍙湁bookid鏃犳硶鍖归厤鍒颁功鍚�
           };
         });
       });
@@ -793,12 +756,34 @@
           };
         });
         // 鏃剁┖鍦板浘
-        loadBMap("1NJdwrI1CfT6lrykVhDkmWgsO6O2bjQK").then(() => {
-          this.spaceTime(data);
-        });
+        this.initMap(data[0]);
+        // loadBMap("1NJdwrI1CfT6lrykVhDkmWgsO6O2bjQK").then(() => {
+        //   this.spaceTime(data);
+        // });
       });
     },
-
+    initMap(markerList) {
+      var map = L.map("spaceTime", {
+        preferCanvas: true,
+        attributionControl: false,
+      }).setView([markerList.value[1], markerList.value[0]], 13);
+      L.tileLayer
+        .chinaProvider("TianDiTu.Normal.Map", {
+          key: "76bc34ead7e30e663a4eded8aeaf5860",
+          maxZoom: 18,
+          minZoom: 3,
+        })
+        .addTo(map);
+      let icon = L.divIcon({
+        html: "<div class='map-circle-name ripple'></div>",
+        iconSize: [80, 80],
+        className: "map-circle",
+      });
+      this.map = map;
+      const temp_mark = L.marker([markerList.value[1], markerList.value[0]], {
+        icon: icon,
+      }).addTo(map);
+    },
     // 鏀惧ぇ鍦板浘璺宠浆
     fangdaClick(index) {
       if (index == 1) {
@@ -825,6 +810,32 @@
         top: 0,
         behavior: "smooth", // 浣跨敤骞虫粦婊氬姩
       });
+    },
+    openFileClick(index) {
+      let obj = {
+        id: this.detailId,
+        type: "Person",
+      };
+      switch (index) {
+        case 1:
+          obj.outputType = "RDF";
+          break;
+        case 2:
+          obj.outputType = "NT";
+          break;
+        case 3:
+          obj.outputType = "XML";
+          break;
+        case 4:
+          obj.outputType = "JSON";
+          break;
+      }
+      let queryString = Object.keys(obj)
+        .map(
+          (key) => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`
+        )
+        .join("&");
+      window.open(`#/pages/fileDetail/index?${queryString}`);
     },
     handleClick(tab) {
       let index = tab.$attrs["data-id"] - 1;
@@ -991,28 +1002,6 @@
       var myChart = echarts.init(chartDom);
       var option;
 
-      // const data = [
-      //   {
-      //     name: "娴烽棬",
-      //     value: [121.15, 31.89]
-      //   },
-      //   {
-      //     name: "閯傚皵澶氭柉",
-      //     value: [109.781327, 39.608266]
-      //   },
-      //   {
-      //     name: "鎷涜繙",
-      //     value: [120.38, 37.35]
-      //   },
-      //   {
-      //     name: "鑸熷北",
-      //     value: [122.207216, 29.985295]
-      //   },
-      //   {
-      //     name: "榻愰綈鍝堝皵",
-      //     value: [123.97, 47.33]
-      //   }
-      // ];
       option = {
         title: {
           text: "",
@@ -1413,4 +1402,35 @@
 .BoxRight .box-card {
   margin-bottom: 0.2rem !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