From a2855e092413f3f29d4e56a2312ae963a66ab680 Mon Sep 17 00:00:00 2001
From: 杨磊 <505174330@qq.com>
Date: 星期六, 11 五月 2024 21:01:57 +0800
Subject: [PATCH] 引用

---
 src/pages/character/detail.vue |  264 +++++++++++++++++++++++++++-------------------------
 1 files changed, 139 insertions(+), 125 deletions(-)

diff --git a/src/pages/character/detail.vue b/src/pages/character/detail.vue
index 6eb5246..0cce91d 100644
--- a/src/pages/character/detail.vue
+++ b/src/pages/character/detail.vue
@@ -26,6 +26,7 @@
           </li>
         </ul>
         <view
+          id="copyBox"
           class="fz font-family"
           style="
             font-size: 0.13rem;
@@ -39,7 +40,11 @@
         <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 style="padding: 0.05rem 0.085rem" class="yinyong flex">
+            <el-button
+              style="padding: 0.05rem 0.085rem"
+              class="yinyong flex"
+              @click="copyText"
+            >
               <img src="@/static/image/yinyong.png" alt="" />寮曠敤</el-button
             >
           </view>
@@ -309,13 +314,13 @@
   getPersonBiog,
   getPersonWritings,
   getPersonRelationAtSchool,
-  getSpaceTime
+  getSpaceTime,
 } from "@/api/index.js";
 import { getImg } from "@/static/tool.js";
 
 export default {
   components: {
-    Table1
+    Table1,
   },
   data() {
     return {
@@ -336,56 +341,56 @@
       tableColumns1: [
         {
           prop: "a",
-          label: "姝d功鍚�"
+          label: "姝d功鍚�",
         },
         {
           prop: "b",
-          label: "钁椾綔骞�"
+          label: "钁椾綔骞�",
         },
         {
           prop: "c",
-          label: "钁椾綔鏂瑰紡"
+          label: "钁椾綔鏂瑰紡",
         },
         {
           prop: "d",
-          label: "鎬荤洰鍒嗙被"
-        }
+          label: "鎬荤洰鍒嗙被",
+        },
       ],
       tableColumns2: [
         {
           prop: "a",
-          label: "鍏崇郴浜�"
+          label: "鍏崇郴浜�",
         },
         {
           prop: "b",
-          label: "鍏崇郴绫诲瀷"
+          label: "鍏崇郴绫诲瀷",
         },
         {
           prop: "c",
-          label: "鑰冩嵁"
+          label: "鑰冩嵁",
         },
         {
           prop: "d",
-          label: "鍑哄"
-        }
+          label: "鍑哄",
+        },
       ],
       tableColumns3: [
         {
           prop: "a",
-          label: "娲诲姩鏃堕棿鍖洪棿"
+          label: "娲诲姩鏃堕棿鍖洪棿",
         },
         {
           prop: "b",
-          label: "娲诲姩鍚嶇О"
+          label: "娲诲姩鍚嶇О",
         },
         {
           prop: "c",
-          label: "娲诲姩鍦扮偣"
+          label: "娲诲姩鍦扮偣",
         },
         {
           prop: "d",
-          label: "娲诲姩鎻忚堪"
-        }
+          label: "娲诲姩鎻忚堪",
+        },
       ],
       tableData1: [],
       tableData2: [],
@@ -393,7 +398,7 @@
       tableData4: [],
       tableData5: [],
       nodes: [],
-      relationships: []
+      relationships: [],
     };
   },
   onLoad(options) {
@@ -427,11 +432,20 @@
     window.addEventListener("resize", this.relation);
   },
   methods: {
+    copyText() {
+      var textToCopy = document.getElementById("copyBox").innerText;
+      console.log(textToCopy, "textToCopy");
+      navigator.clipboard.writeText(textToCopy).then();
+      this.$message({
+        message: "澶嶅埗鎴愬姛锛�",
+        type: "success",
+      });
+    },
     getData() {
       // 鍩烘湰淇℃伅
       getPersonInfo({
         id: this.detailId,
-        type: "PERSON_BASIC"
+        type: "PERSON_BASIC",
       }).then((res) => {
         const obj = {};
         if (
@@ -452,31 +466,31 @@
             list: [
               {
                 name: "鍒悕",
-                value: obj.WEAK_NAME || "-"
+                value: obj.WEAK_NAME || "-",
               },
               {
                 name: "瀛�",
-                value: obj.ALIAS || "-"
+                value: obj.ALIAS || "-",
               },
               {
                 name: "鍙�",
-                value: obj.ALIAS || "-"
+                value: obj.ALIAS || "-",
               },
               {
                 name: "鎵�澶勬椂鏈�",
-                value: obj.PERIOD || "-"
+                value: obj.PERIOD || "-",
               },
               {
                 name: "姘戞棌",
-                value: obj.ETHNIC || "-"
-              }
-            ]
+                value: obj.ETHNIC || "-",
+              },
+            ],
           },
           {
             list: [
               {
                 name: "绫嶈疮",
-                value: obj.NATIVE_PLACE || "-"
+                value: obj.NATIVE_PLACE || "-",
               },
               {
                 name: "鎬у埆",
@@ -484,22 +498,22 @@
                   ? obj.GENDER == "UNKNOWN"
                     ? "鏈煡"
                     : "-"
-                  : "-"
+                  : "-",
               },
               {
                 name: "鑱屽畼",
-                value: obj.MEDICAL_BRANCH || "-"
+                value: obj.MEDICAL_BRANCH || "-",
               },
               {
                 name: "娴佹淳",
-                value: obj.MEDICAL_BRANCH || "-"
+                value: obj.MEDICAL_BRANCH || "-",
               },
               {
                 name: "瀛︽湳鐗圭偣",
-                value: obj.MEDICAL_EXPERTISE || "-"
-              }
-            ]
-          }
+                value: obj.MEDICAL_EXPERTISE || "-",
+              },
+            ],
+          },
         ];
         this.detailInfo = obj;
         // 鍏崇郴鍥捐氨
@@ -508,61 +522,61 @@
       // 娲诲姩骞磋氨
       getPersonInfo({
         id: this.detailId,
-        type: "PERSON_SPACE_TIME"
+        type: "PERSON_SPACE_TIME",
       }).then((res) => {
         this.tableData5 = res.object.personSpaceTimeList.map((item) => {
           return {
             a: item.time,
             b: item.activityName,
             c: item.activityAddrOld,
-            d: item.desc // 杩欓噷缂哄皯娲诲姩鎻忚堪瀛楁
+            d: item.desc, // 杩欓噷缂哄皯娲诲姩鎻忚堪瀛楁
           };
         });
       });
     },
     getSourceData() {
       getSource({
-        personId: this.detailId
+        personId: this.detailId,
       }).then((res) => {
         this.sourceDataList = res.list;
       });
     },
     getImages() {
       getPersonImages({
-        personId: this.detailId
+        personId: this.detailId,
       }).then((res) => {
         this.imageList = res.list.map((item) => getImg(item.filePath));
       });
     },
     getBiog() {
       getPersonBiog({
-        personId: this.detailId
+        personId: this.detailId,
       }).then((res) => {
         this.biogData = res.list.map((item) => {
           return {
             content: item.content1,
-            pageNo: "銆�" + item.pageNo + "銆� " + "P " + item.pageNo // 杩欓噷鍙湁bookid鏃犳硶鍖归厤鍒颁功鍚�
+            pageNo: "銆�" + item.pageNo + "銆� " + "P " + item.pageNo, // 杩欓噷鍙湁bookid鏃犳硶鍖归厤鍒颁功鍚�
           };
         });
       });
     },
     getWritings() {
       getPersonWritings({
-        personId: this.detailId
+        personId: this.detailId,
       }).then((res) => {
         this.tableData1 = res.list.map((item) => {
           return {
             a: item.name,
             b: item.dynasty,
             c: item.writeWay,
-            d: item.classify
+            d: item.classify,
           };
         });
       });
     },
     getRelationship() {
       getPersonRelationAtSchool({
-        personId: this.detailId
+        personId: this.detailId,
         // relationSearchTypeEO: "SOCIAL"
       }).then((res) => {
         console.log(res, "getPersonRelationAtSchool");
@@ -571,7 +585,7 @@
     },
     getMappingData(name) {
       getFuzzySearch({
-        keyword: name
+        keyword: name,
       }).then((res) => {
         this.nodes = [];
         this.relationships = [];
@@ -587,19 +601,19 @@
             if (exists1 !== true) {
               this.nodes.push({
                 name: item.name1,
-                id: item.identifier1
+                id: item.identifier1,
               });
             }
             if (exists2 !== true) {
               this.nodes.push({
                 name: item.name2,
-                id: item.identifier2
+                id: item.identifier2,
               });
             }
             let obj = {
               source: item.name1,
               target: item.name2,
-              relation: item.relationName || "" // 濡傛灉瀛樺湪 relationName 瀛楁鍒欎娇鐢紝鍚﹀垯涓虹┖瀛楃涓�
+              relation: item.relationName || "", // 濡傛灉瀛樺湪 relationName 瀛楁鍒欎娇鐢紝鍚﹀垯涓虹┖瀛楃涓�
             };
             this.relationships.push(obj);
           });
@@ -609,15 +623,15 @@
     },
     getMapInfo() {
       getSpaceTime({
-        personId: this.detailId
+        personId: this.detailId,
       }).then((res) => {
-        console.log(res,'getSpaceTime');
-        const data = res.list.map(item=>{
+        console.log(res, "getSpaceTime");
+        const data = res.list.map((item) => {
           return {
             name: item.activityName,
-            value: [item.xcoord,item.ycoord]
-          }
-        })
+            value: [item.xcoord, item.ycoord],
+          };
+        });
         // 鏃剁┖鍦板浘
         loadBMap("1NJdwrI1CfT6lrykVhDkmWgsO6O2bjQK").then(() => {
           this.spaceTime(data);
@@ -629,11 +643,11 @@
     fangdaClick(index) {
       if (index == 1) {
         uni.navigateTo({
-          url: "/pages/character/index?keyword=" + this.detailInfo.NAME
+          url: "/pages/character/index?keyword=" + this.detailInfo.NAME,
         });
       } else if (index == 2) {
         uni.navigateTo({
-          url: "/pages/characterMap/characterMap"
+          url: "/pages/characterMap/characterMap",
         });
       }
     },
@@ -649,7 +663,7 @@
     scrollToTop() {
       window.scrollTo({
         top: 0,
-        behavior: "smooth" // 浣跨敤骞虫粦婊氬姩
+        behavior: "smooth", // 浣跨敤骞虫粦婊氬姩
       });
     },
     handleClick(tab) {
@@ -732,8 +746,8 @@
                 position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず
                 // bottom: -(FontSize+10),
                 z: 10, // 璁剧疆鏍囩鐨剒杞撮珮搴︼紝浣垮叾姣旇繛鎺ョ嚎鏇撮珮
-                distance: -(Distance + 1) // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂
-              }
+                distance: -(Distance + 1), // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂
+              },
             });
           }
         }
@@ -748,8 +762,8 @@
           itemStyle: {
             color: "#eae0eb", // 鍙互鏍规嵁绱㈠紩璁剧疆涓嶅悓鐨勯鑹�
             borderWidth: BorderWidth,
-            borderColor: "#996f9f"
-          }
+            borderColor: "#996f9f",
+          },
         };
       });
       var option;
@@ -759,14 +773,14 @@
           top: FontSize + 10,
           subtextStyle: {
             fontSize: FontSize, // 璁剧疆鍓爣棰樻枃瀛楀ぇ灏忎负 14px
-            color: "#2C2C2C"
-          }
+            color: "#2C2C2C",
+          },
         },
         backgroundColor: {
           type: "image",
           image: "/static/image/characterRelationBg.png",
           size: "100% 100%", // 鑳屾櫙鍥剧墖鐨勫昂瀵革紝鍙互鏄櫨鍒嗘瘮鎴栬�呭儚绱�
-          position: "center center" // 鑳屾櫙鍥剧墖鐨勪綅缃紝鍙互鏄� top, bottom, middle 鎴栬�呯櫨鍒嗘瘮
+          position: "center center", // 鑳屾櫙鍥剧墖鐨勪綅缃紝鍙互鏄� top, bottom, middle 鎴栬�呯櫨鍒嗘瘮
         },
         tooltip: {},
         animationDurationUpdate: 1500,
@@ -780,7 +794,7 @@
             label: {
               show: true,
               color: "black", // 璁剧疆鑺傜偣鏂囧瓧棰滆壊涓洪粦鑹�
-              fontSize: FontSize // 璁剧疆鏂囧瓧澶у皬
+              fontSize: FontSize, // 璁剧疆鏂囧瓧澶у皬
             },
             edgeSymbol: ["circle"],
             edgeSymbolSize: [4, 10],
@@ -789,16 +803,16 @@
             lineStyle: {
               opacity: 0.9,
               width: 2,
-              curveness: 0.3
+              curveness: 0.3,
             },
             emphasis: {
               focus: "adjacency",
               lineStyle: {
-                width: 10
-              }
-            }
-          }
-        ]
+                width: 10,
+              },
+            },
+          },
+        ],
       };
       // 灏嗙敓鎴愮殑杩炴帴绾挎坊鍔犲埌echarts鍥捐〃鐨刼ption涓�
       option.series[0].links = links;
@@ -844,10 +858,10 @@
           text: "",
           subtext: "",
           sublink: "",
-          left: "center"
+          left: "center",
         },
         tooltip: {
-          trigger: "item"
+          trigger: "item",
         },
         bmap: {
           center: data[0].value,
@@ -859,123 +873,123 @@
                 featureType: "water",
                 elementType: "all",
                 stylers: {
-                  color: "#86a1ac"
-                }
+                  color: "#86a1ac",
+                },
               },
               {
                 featureType: "land",
                 elementType: "all",
                 stylers: {
-                  color: "#f1d99d"
-                }
+                  color: "#f1d99d",
+                },
               },
               {
                 featureType: "railway",
                 elementType: "all",
                 stylers: {
-                  visibility: "off"
-                }
+                  visibility: "off",
+                },
               },
               {
                 featureType: "highway",
                 elementType: "all",
                 stylers: {
-                  color: "#f1d99d"
-                }
+                  color: "#f1d99d",
+                },
               },
               {
                 featureType: "highway",
                 elementType: "labels",
                 stylers: {
-                  visibility: "off"
-                }
+                  visibility: "off",
+                },
               },
               {
                 featureType: "arterial",
                 elementType: "geometry",
                 stylers: {
-                  color: "#f1d99d"
-                }
+                  color: "#f1d99d",
+                },
               },
               {
                 featureType: "arterial",
                 elementType: "geometry.fill",
                 stylers: {
-                  color: "#f1d99d"
-                }
+                  color: "#f1d99d",
+                },
               },
               {
                 featureType: "poi",
                 elementType: "all",
                 stylers: {
-                  visibility: "off"
-                }
+                  visibility: "off",
+                },
               },
               {
                 featureType: "green",
                 elementType: "all",
                 stylers: {
-                  visibility: "off"
-                }
+                  visibility: "off",
+                },
               },
               {
                 featureType: "subway",
                 elementType: "all",
                 stylers: {
-                  visibility: "off"
-                }
+                  visibility: "off",
+                },
               },
               {
                 featureType: "manmade",
                 elementType: "all",
                 stylers: {
-                  color: "#f1d99d"
-                }
+                  color: "#f1d99d",
+                },
               },
               {
                 featureType: "local",
                 elementType: "all",
                 stylers: {
-                  color: "#f1d99d"
-                }
+                  color: "#f1d99d",
+                },
               },
               {
                 featureType: "local",
                 elementType: "labels",
                 stylers: {
-                  visibility: "off"
-                }
+                  visibility: "off",
+                },
               },
               {
                 featureType: "arterial",
                 elementType: "labels",
                 stylers: {
-                  visibility: "off"
-                }
+                  visibility: "off",
+                },
               },
               {
                 featureType: "boundary",
                 elementType: "all",
                 stylers: {
-                  color: "#f1d99d"
-                }
+                  color: "#f1d99d",
+                },
               },
               {
                 featureType: "building",
                 elementType: "all",
                 stylers: {
-                  color: "#f1d99d"
-                }
+                  color: "#f1d99d",
+                },
               },
               {
                 featureType: "label",
                 elementType: "labels.text.fill",
                 stylers: {
-                  color: "#000"
-                }
-              }
-            ]
-          }
+                  color: "#000",
+                },
+              },
+            ],
+          },
         },
         series: [
           {
@@ -985,18 +999,18 @@
             data: data,
             symbolSize: 0,
             encode: {
-              value: 2
+              value: 2,
             },
             label: {
               formatter: "{b}",
               position: "right",
-              show: false
+              show: false,
             },
             emphasis: {
               label: {
-                show: true
-              }
-            }
+                show: true,
+              },
+            },
           },
           {
             name: "",
@@ -1005,32 +1019,32 @@
             data: data,
             symbolSize: 20,
             encode: {
-              value: 2
+              value: 2,
             },
             showEffectOn: "render",
             rippleEffect: {
-              brushType: "stroke"
+              brushType: "stroke",
             },
             label: {
               formatter: "{b}",
               position: "right",
-              show: false
+              show: false,
             },
             itemStyle: {
               color: "#ec7b43",
               shadowBlur: 10,
-              shadowColor: "#333"
+              shadowColor: "#333",
             },
             emphasis: {
-              scale: false
+              scale: false,
             },
-            zlevel: 1
-          }
-        ]
+            zlevel: 1,
+          },
+        ],
       };
       option && myChart.setOption(option);
-    }
-  }
+    },
+  },
 };
 </script>
 

--
Gitblit v1.9.1