From 6cffb189105aaa2dbde8886c3f43a1a65276e872 Mon Sep 17 00:00:00 2001 From: 杨磊 <505174330@qq.com> Date: 星期一, 20 五月 2024 17:44:43 +0800 Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/TCM_CharacterLibrary --- src/pages/inherit/list.vue | 152 +++++++++++++++++++++++++++++++------------------- 1 files changed, 95 insertions(+), 57 deletions(-) diff --git a/src/pages/inherit/list.vue b/src/pages/inherit/list.vue index 45f0b2d..43c79ea 100644 --- a/src/pages/inherit/list.vue +++ b/src/pages/inherit/list.vue @@ -1,5 +1,5 @@ <template> - <view class=""> + <view> <headNav idIndex="2" :searchBg="false" @@ -34,7 +34,7 @@ 涓栧尰鏂囧寲 </li> </ul> - <view class="" style="width: 1rem"></view> + <view style="width: 1rem"></view> </view> <view v-if="showType == 1" class="legendBox"> <view class="socialMappingBox" @click="showSocialMapping"> @@ -56,38 +56,45 @@ <!-- echarts鍥� --> <div v-if="showType == 1" class="barChart" id="barChart"></div> <view v-if="showType == 2" class="cultureBox"> - <view class="cultureItem"> + <view class="cultureItem" v-if="culture1"> <view class="imgBox"> - <img src="@/static/image/inherit/icon1.png" alt="" /> + <img src="@/static/image/inherit/icon1.svg" alt="" /> </view> - <p> - 钑欏睍涓佷笐鍚岄噷鏃ュ博棰濆簭鍏堣�冩湀姹犵縼钁椼�婂洓褰吀鏄庛�嬪叓鍗凤紝鐨嗙簿鎸囧ゥ瀹わ紝鑼傜妧鏈兘鐤�狅紝鐝嶅洜鎾补鎯宠彍锛屽兊鎾版鍞愶紝浠ヤ究鏅虹潧锛屾湇鎸囧崡銆備笘涔嬮浄鐥呴洦瀹讹紝鍜镐互鏈嶇剦棣栧姟锛屼笉鐭ユ淳涔冨洓鑳戒箣鏈紝璋撲箣宸ц�呴洦銆備笂澹鑸嶅叾鍏紝闈炲洓涓嶅彲銆� - </p> - <h4>鈥斺�斻�婂鍏湇鑰冦�婸 3</h4> + <p>{{ culture1.content }}</p> + <h4 v-if="culture1.source"> + 鈥斺�斻�妠{ culture1.source }}銆婸 {{ culture1.pageNo }} + </h4> </view> - <view class="cultureItem"> + <view class="cultureItem" v-if="culture2"> <view class="imgBox"> - <img src="@/static/image/inherit/icon2.png" alt="" /> + <img src="@/static/image/inherit/icon2.svg" alt="" /> </view> - <p>鐎曟箹涓栧剴锛屽吋浠ラ啱槌达紝涓�闁�鐖跺瓙鍏勫紵瀵屾湁钁楄堪锛屾鐗硅涓�鏂戣�炽��</p> - <h4>鈥斺�斻�婂鍏湇鑰冦�婸 3</h4> + <p>{{ culture2.content }}</p> + <h4 v-if="culture2.source"> + 鈥斺�斻�妠{ culture2.source }}銆婸 {{ culture2.pageNo }} + </h4> </view> - <view class="cultureItem"> + <view class="cultureItem" v-if="culture3"> <view class="imgBox"> - <img src="@/static/image/inherit/icon3.png" alt="" /> + <img src="@/static/image/inherit/icon3.svg" alt="" /> </view> - <p> - 鐥呭潑鍒荤�曟箹銆婃湰鑽夈�嬩箣鍥犱粛瑷涜锛岀埌閲嶇埐閸ユ澘銆傜稉濮嬫柤鐧告湭鍏湀锛岃縿涔欓厜浜旀湀锛岄柋浜屾锛岀硿宸ユ暩钀紝涔冨厠钁充簨銆傚叾鏍$悊瑷涜锛岀洠鐫e墳鍔傦紝鍛藉厭瀛愬腑鐝嶃�佸+鐟溿�佸+鐝╁垎浠讳箣锛涘晢姒锋柟鍔戯紝鍗�鍒ュ搧褰欙紝閱+鐜嬪悰閺″爞涔嬪姏鐖插锛涘弮浠ラ嵕鍚涘彈鐧斤紱鑰岀稉绱�鍏朵簨锛屽绲備笉鎳堣�咃紝鍓囪寖鍚涢潨瀛樹篃銆傛澶栧鐢板悰鎾扮暟銆佹浌鍚涙櫞宄�佺唺鍚涗徊灞便�佺縼鍚涢惖姊呫�侀花鍚涘辜闆层�佸嫉鍚涜搏涔嬨�佺▼鍚涢仈涓夈�侀櫝鍚涙尟閬犮�佽ū鍚涘姛鐢�佹湵鍚涜椈鑷c�佹垨鍙冩牎璁愶紝鎴栧徃缍滄牳锛屾垨鑱峰湒绻紝璎瑰倷鏇镐箣 - </p> - <h4>鈥斺�斻�婂鍏湇鑰冦�婸 3</h4> + <p>{{ culture3.content }}</p> + <h4 v-if="culture3.source"> + 鈥斺�斻�妠{ culture3.source }}銆婸 {{ culture3.pageNo }} + </h4> </view> + <div + v-if="!culture1 && !culture2 && !culture3" + style="color: #666; text-align: center; font-size: 16px" + > + 鏆傛棤鏁版嵁 + </div> </view> </view> </template> <script> import * as echarts from "echarts"; import { - inheritMedicalSataStatistics, inheritMedicalCultureList, inheritMedicalRelationList } from "@/api/index.js"; @@ -102,15 +109,21 @@ dataList: [], links: [], socialMapping: true, - showType: "1" + showType: "1", + culture1: null, + culture2: null, + culture3: null }; }, onLoad(options) { this.idIndex = options.id; this.mainName = decodeURIComponent(options.name); - console.log("optionsoptionsoptions", options.id); + this.type = options.type; }, mounted() { + if (this.type) { + this.changeType(this.type); + } this.getData(); }, methods: { @@ -126,22 +139,48 @@ for (let i = 0; i < data.edgeList.length; i++) { const linkItem = data.edgeList[i]; const index = data.nodeList.findIndex( - (item) => item.identifier == linkItem.endId - ); + (item) => + item.identifier == + (linkItem.endId == this.idIndex + ? linkItem.startId + : linkItem.endId) + ); if (linkItem.relationType == "浜插睘鍏崇郴") { data.nodeList[index].linkType = 1; - data.nodeList[index].color = "#DCE7EB"; - data.nodeList[index].borderColor = "#5F81A4"; + data.nodeList[index].color = "#F8E2D7"; + data.nodeList[index].borderColor = "#F3AA78"; } if (linkItem.relationType == "绀句細鍏崇郴") { data.nodeList[index].linkType = 2; - data.nodeList[index].color = "#E1E1E1"; - data.nodeList[index].borderColor = "#888888"; + data.nodeList[index].color = "#ecf4fe"; + data.nodeList[index].borderColor = "#597aa5"; } this.links.push({ - source: this.mainName, - target: data.nodeList[index].name, - relationName: linkItem.relation + source: data.nodeList.find( + (item) => item.identifier == linkItem.startId + ).name, + target: data.nodeList.find( + (item) => item.identifier == linkItem.endId + ).name, + relationType: linkItem.relationType, + label: { + show: true, + formatter: function (params) { + // 浣跨敤鍑芥暟鍔ㄦ�佺敓鎴愭爣绛惧唴瀹� + // return relationships.find(rel => rel.source === nodes[params.data + // .source] && rel.target === nodes[params.data.target]) + // .relation; + return linkItem.relation; + }, // 璁剧疆鍏崇郴鏍囩鍐呭涓�"Child-Parent" + color: "#2C2C2C", + fontSize: 16, + backgroundColor: "rgba(255, 255, 255, 1)", + padding: [3, 8], + borderRadius: 30, + position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず + // z: -1, // 璁剧疆鏍囩鐨剒杞撮珮搴︼紝浣垮叾姣旇繛鎺ョ嚎鏇撮珮 + distance: -10 // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 + } }); } this.dataList = []; @@ -150,13 +189,24 @@ ...item, itemStyle: { color: item.identifier == this.idIndex ? "#F8E2D7" : item.color, - borderColor: item.identifier == this.idIndex ? "#F3AA78" : item.borderColor, + borderColor: + item.identifier == this.idIndex ? "#F3AA78" : item.borderColor, borderWidth: "3" } }; }); - console.log(this.dataList,this.links); - this.initBarChart(); + console.log(this.dataList); + console.log(this.links); + this.initBarChart(this.dataList, this.links); + }); + + // 涓栧尰鏂囧寲 + inheritMedicalCultureList({ + identifier: this.idIndex + }).then((res) => { + this.culture1 = res.list.find(item=>item.typeName == "瀹堕") + this.culture2 = res.list.find(item=>item.typeName == "鍖诲痉") + this.culture3 = res.list.find(item=>item.typeName == "瀹惰") }); }, showSocialMapping() { @@ -167,9 +217,7 @@ newDataList = [...this.dataList]; newLinks = [...this.links]; } else { - newDataList = this.dataList.filter( - (item) => item.itemStyle.borderColor == "#F3AA78" - ); + newDataList = this.dataList.filter((item) => item.color !== "#ecf4fe"); newLinks = [...this.links]; } this.initBarChart(newDataList, newLinks); @@ -183,7 +231,7 @@ }, 50); } }, - initBarChart() { + initBarChart(dataList, links) { // WMBg //閫氳繃 $ref 杩涜鎸傝浇 var barChart = document.getElementById("barChart"); @@ -233,30 +281,20 @@ color: "black", // 璁剧疆鑺傜偣鏂囧瓧棰滆壊涓洪粦鑹� fontSize: FontSize // 璁剧疆鏂囧瓧澶у皬 }, - edgeSymbol: ["circle"], + edgeSymbol: ["circle", "arrow"], edgeSymbolSize: [4, 10], - - edgeLabel: { - show: true, - fontSize: FontSize, //鏇存敼涓よ�呭叧绯荤殑瀛椾綋 - position: "middle", - //杩欓噷璁剧疆鍏崇郴鏂囧瓧鏄惁鍜岀嚎娈甸噸鍙� - // padding: [0, 0], // 璋冩暣鍐呰竟璺濅互纭繚鏍囩涓庣嚎娈电揣瀵嗚创鍚� - // verticalAlign: 'middle', // 璁剧疆鏂囨湰鐨勫瀭鐩村榻愭柟寮忎负灞呬腑 - formatter: function (params) { - // params.data 鏄竟鐨勬暟鎹璞★紝浣犲彲浠ュ湪杩欓噷瀹氫箟鍏崇郴鍚� - // 渚嬪锛屼綘鍙互鏍规嵁 source 鍜� target 鐨勫悕绉版潵瀹氫箟鍏崇郴鍚� - return params.data.relationName || "鐖跺瓙"; // 濡傛灉瀹氫箟浜� relationName 鍒欐樉绀哄畠锛屽惁鍒欐樉绀衡�滅埗瀛愨�� - } - }, - //鍚勪釜鑺傜偣 - data: this.dataList, //鍏崇郴杩炴帴 - links: this.links, + data: dataList, + links: links, lineStyle: { - color: "#000000", opacity: 0.9, width: 2, - curveness: 0 + curveness: 0.3 + }, + emphasis: { + focus: "adjacency", + lineStyle: { + width: 10 + } }, force: { initLayout: null, -- Gitblit v1.9.1