From b576ba3501304bdbd56771dc7299e0c40e047aa4 Mon Sep 17 00:00:00 2001 From: YM <479443481@qq.com> Date: 星期六, 11 五月 2024 19:40:04 +0800 Subject: [PATCH] 1 --- src/pages/character/detail.vue | 2 src/pages/character/index.vue | 8 src/pages/inherit/list.vue | 105 ++++++---- src/pages/inherit/index.vue | 292 ++++++++++++++++++++--------- src/pages/TcmSystem/TcmSystem.vue | 134 +++++++++--- 5 files changed, 370 insertions(+), 171 deletions(-) diff --git a/src/pages/TcmSystem/TcmSystem.vue b/src/pages/TcmSystem/TcmSystem.vue index 22dd33d..cec201f 100644 --- a/src/pages/TcmSystem/TcmSystem.vue +++ b/src/pages/TcmSystem/TcmSystem.vue @@ -50,8 +50,8 @@ style="padding: 0 20rpx; color: #2c2c2c; cursor: pointer" @click="handInstitCLick(item, 'a')" > - <view class="">{{ item.dynastyName }}</view> - <view class="">{{ item.count }}</view> + <view>{{ item.dynastyName }}</view> + <view>{{ item.count }}</view> </li> </ul> <view v-if="institution.list.length - 1 > 3" class="flex flex-center"> @@ -85,8 +85,8 @@ style="padding: 0 20rpx; cursor: pointer" @click="handInstitCLick(item, 'b')" > - <view class="">{{ item.dynastyName }}</view> - <view class="">{{ item.count }}</view> + <view>{{ item.dynastyName }}</view> + <view>{{ item.count }}</view> </li> </ul> <view v-if="officials.list.length - 1 > 3" class="flex flex-center"> @@ -125,9 +125,7 @@ v-loading="pageLoading" > <view class="flex" style="width: 100%; margin-bottom: 0.3rem"> - <view - class="" - style="font-size: 0.14rem; color: #2c2c2c; font-weight: 400" + <view style="font-size: 0.14rem; color: #2c2c2c; font-weight: 400" >鍏眥{ total }}鏉�</view > <view class="paixu"> @@ -145,8 +143,8 @@ <view class="flex CommodityList"> <view class="rightList" - @click="ListClick(item)" - v-for="item in CommodityList" + @click="ListClick(item, index)" + v-for="(item, index) in CommodityList" :key="item" > <el-card class="box-card" style="height: 100%"> @@ -247,7 +245,6 @@ <el-dialog class="dialog" :visible.sync="dialogVisible" width="40%"> <!-- 鍙栨秷閿� --> <view - class="" style=" padding: 0.16rem; position: absolute; @@ -292,21 +289,20 @@ </ul> </view> </view> - <view class="" style="width: 80%; height: 100%; position: relative"> + <view style="width: 80%; height: 100%; position: relative"> <view class="pinji flex"> - <view class="" + <view >鍝佺骇锛�<span> {{ ListDetails.grade || "-" }}</span> </view> - <view class="" + <view >鍒悕锛�<span> {{ ListDetails.alias || "-" }}</span> </view> - <view class="" + <view >鏉ユ簮锛�<span> {{ ListDetails.source || "-" }}</span> </view> </view> - <view class=""> + <view> <view - class="" style=" font-size: 0.14rem; color: #2c2c2c; @@ -320,7 +316,6 @@ 鐩稿叧鎻忚堪 </view> <view - class="" style=" font-size: 0.14rem; color: #2c2c2c; @@ -330,9 +325,8 @@ > {{ ListDetails.desc || "-" }} </view> - <view class=""> + <view> <view - class="" style=" font-size: 0.14rem; color: #2c2c2c; @@ -346,7 +340,6 @@ 澶囨敞 </view> <span - class="" v-for="item in ListDetails.notesList" style=" font-size: 0.14rem; @@ -360,21 +353,60 @@ </view> </view> </view> - <!-- <view class="flex detailsBtn"> - <el-button class="flex btn-prev"> + <view class="flex detailsBtn"> + <el-button + class="flex btn-prev" + :disabled="!ListDetails.prev" + @click="ListClick(ListDetails.prev, ListDetails.prev.index)" + > <view class="flex"> - <view class="" style="margin-right: 40rpx">涓婁竴鏉�</view> - <view class="btn-prev-L">鏈烘瀯: 澶尰闄� </view> + <view style="width: 0.6rem">涓婁竴鏉�</view> + <view + class="btn-prev-L" + style=" + flex: 1; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + " + :title="ListDetails.prev ? ListDetails.prev.name : '-'" + > + {{ + ListDetails.prev + ? ListDetails.prev.typeName + "锛�" + ListDetails.prev.name + : "-" + }} + </view> </view> </el-button> - <view class=""> 102/329 </view> - <el-button class="flex btn-next"> + <view class="pageInfo"> + {{ ListDetails.index + 1 }}/{{ total }} + </view> + <el-button + class="flex btn-next" + :disabled="!ListDetails.next" + @click="ListClick(ListDetails.next, ListDetails.next.index)" + > <view class="flex"> - <view class="" style="margin-right: 40rpx">鏈烘瀯: 澶尰闄� </view> - <view class="btn-prev-R">涓嬩竴鏉�</view> + <view + style=" + flex: 1; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + " + :title="ListDetails.next ? ListDetails.next.name : '-'" + > + {{ + ListDetails.next + ? ListDetails.next.typeName + "锛�" + ListDetails.next.name + : "-" + }} + </view> + <view class="btn-prev-R" style="width: 0.6rem">涓嬩竴鏉�</view> </view> </el-button> - </view> --> + </view> </view> </el-dialog> @@ -528,7 +560,7 @@ getMedicalList(Obj).then((res) => { this.CommodityList = res.list.map((item) => { return { - id: item.id, + requestId: this.searchType == "ALL" ? item.id : item.rowId, post: item.type === "OFFICIAL" ? "鑱屽畼" @@ -544,23 +576,44 @@ }); }, // list鏁扮粍 鑾峰彇list閲岄潰鐨勮鎯卻huju - ListClick(item) { - console.log(item,this.searchType); + ListClick(item, index) { + console.log(item, "item"); let Obj = { - rowId: this.searchType == "ALL" ? item.id : item.rowId, + rowId: item.requestId, medicalSearchType: this.searchType, type: this.classifyType, //鏌ヨ绫诲瀷 鍙栧�硷細OFFICIAL->鑱屽畼 INSTITUTION->鏈烘瀯 ALL->鑱屽畼銆佹満鏋� name: this.SearchValue, //鎼滅储妗嗘绱� dynastyId: this.classifyId, //鐐瑰嚮鏈濅唬鏌ヨ鏁版嵁鏃讹紝甯︿笂姝ゅ弬鏁� - sort: this.rankVal, //鎺掑簭鏂瑰紡 鍙栧�硷細CREATE鍒涘缓鏃堕棿锛孨AME鍚嶇О + sort: this.rankVal //鎺掑簭鏂瑰紡 鍙栧�硷細CREATE鍒涘缓鏃堕棿锛孨AME鍚嶇О }; getMedicalDetails(Obj).then((res) => { this.ListDetails = { + index, ...item, - ...res.object.curr + ...res.object.curr, + next: + res.object.next && res.object.next.name + ? { + ...res.object.next, + requestId: res.object.next.rowId, + index: index + 1, + typeName: + res.object.next.type === "OFFICIAL" ? "鑱屽畼" : "鏈烘瀯" + } + : null, + prev: + res.object.prev && res.object.prev.name + ? { + ...res.object.prev, + requestId: res.object.prev.rowId, + index: index - 1, + typeName: + res.object.prev.type === "OFFICIAL" ? "鑱屽畼" : "鏈烘瀯" + } + : null }; + this.dialogVisible = true; }); - this.dialogVisible = !this.dialogVisible; }, // 宸︿晶鐨勬満鏋勭粺璁$瓑绛夋寜閽� handInstitCLick(item, name) { @@ -755,12 +808,19 @@ border-radius: 5px; /* height: .32rem; */ line-height: 0.32rem; + flex: 1; + overflow: hidden; +} + +.detailsBtn .pageInfo { + width: 1rem; + text-align: center; } .detailsBtn .btn-prev-L, .detailsBtn .btn-prev-R { border-left: 1px solid #9e9e9e; - padding-left: 0.1rem; + text-align: center; } .detailsBtn > :nth-child(2) { diff --git a/src/pages/character/detail.vue b/src/pages/character/detail.vue index 984d3b5..6eb5246 100644 --- a/src/pages/character/detail.vue +++ b/src/pages/character/detail.vue @@ -515,7 +515,7 @@ a: item.time, b: item.activityName, c: item.activityAddrOld, - d: "-" // 杩欓噷缂哄皯娲诲姩鎻忚堪瀛楁 + d: item.desc // 杩欓噷缂哄皯娲诲姩鎻忚堪瀛楁 }; }); }); diff --git a/src/pages/character/index.vue b/src/pages/character/index.vue index e58ea8a..3d38805 100644 --- a/src/pages/character/index.vue +++ b/src/pages/character/index.vue @@ -468,8 +468,12 @@ }, // 楂樼骇鎼滅储 onSubmit(val) { - getAdvanceSearch(val).then((res) => { - console.log(res, "鎺ュ彛璋冪敤鎴愬姛"); + getAdvanceSearch({ + ...val, + page: 1, + pageSize: 100 + }).then((res) => { + console.log(res,"res"); }); }, // 鐐瑰嚮涓嬮潰鐨勬湞浠f寜閽� diff --git a/src/pages/inherit/index.vue b/src/pages/inherit/index.vue index 325dcfe..615cdc6 100644 --- a/src/pages/inherit/index.vue +++ b/src/pages/inherit/index.vue @@ -10,16 +10,24 @@ <div class="filterBox font-family"> <div class="searchBox"> - <input type="text" placeholder="杈撳叆濮撳悕/鍒悕/鏈濅唬" /> - <button>鎼滅储</button> + <input type="text" v-model="keyword" placeholder="璇疯緭鍏ュ叧閿瓧" /> + <button @click="search">鎼滅储</button> </div> <div class="dynasty"> <div style="font-weight: 700; line-height: 0.25rem">绛涢�夋湞浠�</div> <div class="filterList"> - <div class="filterItem" v-for="(item, index) in dynasty" :key="index"> - <div class="circleBox" :class="{ bgcColor: item.isColor }"></div> - <div class="filterText" :class="{ fontColor: item.isColor }"> - {{ item.name + " " + item.number }} + <div + class="filterItem" + v-for="(item, index) in dynasty" + :key="index" + @click="changeDynasty(item)" + > + <div + class="circleBox" + :class="{ active: item.dynastyId === activeId }" + ></div> + <div class="filterText"> + {{ item.dynasty + " " + item.count }} </div> </div> </div> @@ -27,83 +35,76 @@ <div class="condition"> <div style="font-weight: 700; line-height: 0.25rem">鏉′欢閫夋嫨</div> <div class="filterList"> - <div class="conditionItem"> - <div class="circleBox"></div> + <div class="conditionItem" @click="changeCondition(3)"> + <div + class="circleBox" + :style="{ background: conditionId === 3 ? '#bacd66' : '#9e9e9e' }" + ></div> <div class="filterText">3浠d紶鎵夸笘鍖�</div> </div> - <div class="conditionItem"> - <div class="circleBox"></div> + <div class="conditionItem" @click="changeCondition(4)"> + <div + class="circleBox" + :style="{ background: conditionId === 4 ? '#6d9346' : '#9e9e9e' }" + ></div> <div class="filterText">4浠d紶鎵夸笘鍖�</div> </div> - <div class="conditionItem"> - <div class="circleBox"></div> + <div class="conditionItem" @click="changeCondition(5)"> + <div + class="circleBox" + :style="{ background: conditionId === 5 ? '#da7a2b' : '#9e9e9e' }" + ></div> <div class="filterText">5浠d紶鎵夸笘鍖�</div> </div> - <div class="conditionItem"> - <div class="circleBox"></div> + <div class="conditionItem" @click="changeCondition(6)"> + <div + class="circleBox" + :style="{ background: conditionId === 6 ? '#bc321d' : '#9e9e9e' }" + ></div> <div class="filterText">5浠d互涓婁紶鎵夸笘鍖�</div> </div> </div> </div> - <div style="padding-left: 0.5rem; margin-top: 20px">鍏� 1983涓笘鍖�</div> + <div style="padding-left: 0.5rem; margin-top: 20px"> + 鍏� {{ this.nodeData.length }}涓笘鍖� + </div> </div> - - <!-- echarts鍥� --> - <div class="barChart" ref="barChart"></div> + <div class="contentBox"> + <!-- echarts鍥� --> + <div class="barChart" ref="barChart"></div> + <div + class="toolBox" + v-if="showTool" + :style="{ top: toolTop, left: toolLeft }" + > + <div class="toolItem" @click="gotoDetail(1)">涓汉淇℃伅</div> + <div class="toolItem" @click="gotoDetail(2)">涓栧尰鏂囧寲</div> + <div class="toolItem" @click="gotoDetail(3)">涓栧尰浼犳壙</div> + </div> + </div> </view> </template> <script> import * as echarts from "echarts"; -import { inheritMedicalList } from "@/api/index.js"; +import { + inheritMedicalSataStatistics, + inheritMedicalList +} from "@/api/index.js"; export default { data() { return { // 鏍囬椤堕儴鏍忛渶瑕佺殑涓滆タ + keyword: "", idIndex: 0, - activeIndex: 1, - dynasty: [ - { - name: "鍞�", - number: "4910", - isColor: false - }, - { - name: "浜斾唬", - number: "494", - isColor: true - }, - { - name: "瀹�", - number: "51273", - isColor: false - }, - { - name: "鍖楀畫", - number: "15", - isColor: true - }, - { - name: "鍗楀畫", - number: "4910", - isColor: false - }, - { - name: "鍏�", - number: "299", - isColor: true - }, - { - name: "鏄�", - number: "1830", - isColor: false - }, - { - name: "娓�", - number: "1000", - isColor: true - } - ], - nodeData: [] + activeId: "", + conditionId: "", + searchType: "KEYWORD", + dynasty: [], + nodeData: [], + showTool: false, + toolTop: 0, + toolLeft: 0, + toolInfo: {} }; }, onLoad(options) { @@ -111,27 +112,40 @@ console.log("optionsoptionsoptions", options.id); }, mounted() { + this.getStatistics(); this.getData(); }, methods: { + getStatistics() { + inheritMedicalSataStatistics().then((res) => { + this.dynasty = res.object; + }); + }, getData() { + this.nodeData = []; inheritMedicalList({ - keywords: "", - dynastyId: "", - searchType: "KEYWORD", - path: "" + keywords: this.keyword, + dynastyId: this.activeId, + searchType: this.searchType, + path: this.conditionId }).then((res) => { console.log(res); - this.nodeData = res.object.nodeList.map((item) => { - return { - ...item, - itemStyle: { - color: "#F8E2D7", - borderColor: "#F3AA78", - borderWidth: "3" - } - }; - }); + for (let i = 0; i < res.object.nodeList.length; i++) { + const node = res.object.nodeList[i]; + if ( + this.nodeData.findIndex((citem) => citem.name == node.name) == -1 + ) { + this.nodeData.push({ + ...node, + itemStyle: { + color: "#F8E2D7", + borderColor: "#F3AA78", + borderWidth: "3" + } + }); + } + } + console.log(this.nodeData); // 鍒濆鍖� echarts this.initBarChart(); }); @@ -225,18 +239,84 @@ //杩涜娓叉煋 myChart.setOption(option); myChart.on("click", (params) => { - uni.navigateTo({ - url: - "/pages/inherit/list?id=" + - params.data.identifier + - "&name=" + - encodeURIComponent(params.data.name) - }); + console.log(params.event.offsetX, params.event.offsetY); + if (params.componentType === "series") { + this.showTool = true; + this.toolTop = params.event.offsetY + "px"; + this.toolLeft = params.event.offsetX + "px"; + this.toolInfo = { + id: params.data.identifier, + name: encodeURIComponent(params.data.name) + }; + } }); + }, + gotoDetail(type) { + switch (type) { + case 1: + uni.navigateTo({ + url: "/pages/character/detail?id=" + this.toolInfo.id + }); + break; + case 2: + uni.navigateTo({ + url: + "/pages/inherit/list?type=" + + 2 + + "&id=" + + this.toolInfo.id + + "&name=" + + this.toolInfo.name + }); + break; + case 3: + uni.navigateTo({ + url: + "/pages/inherit/list?type=" + + 1 + + "&id=" + + this.toolInfo.id + + "&name=" + + this.toolInfo.name + }); + break; + } }, // 杩斿洖鎸夐挳 goBack() { this.$router.go(-1); + }, + search() { + this.searchType = "KEYWORD"; + this.activeId = ""; + this.conditionId = ""; + this.getData(); + }, + changeDynasty(item) { + if (item.dynastyId === this.activeId) { + this.activeId = ""; + if (this.conditionId === "") { + this.searchType = "KEYWORD"; + } + } else { + this.searchType = "DYNASTY"; + this.activeId = item.dynastyId; + this.keyword = ""; + } + this.getData(); + }, + changeCondition(index) { + if (index === this.conditionId) { + this.conditionId = ""; + if (this.activeId === "") { + this.searchType = "KEYWORD"; + } + } else { + this.searchType = "DYNASTY"; + this.conditionId = index; + this.keyword = ""; + } + this.getData(); } } }; @@ -258,12 +338,32 @@ font-size: 0.12rem; padding: 0; } -.barChart { +.contentBox { width: 100vw; height: 80vh; + position: relative; +} +.barChart { + width: 100%; + height: 100%; +} +.toolBox { + padding: 0.1rem; + position: absolute; +} +.toolItem { + padding: 0.04rem 0.2rem; + border: 1px solid #333; + border-radius: 1rem; + margin: 0.06rem; + font-size: 0.12rem; + cursor: pointer; + background-color: #fff; +} +.toolItem:hover { + background-color: #efefef; } .filterBox { - height: 2.2rem; width: 90%; border-bottom: 1px solid #ccc; padding: 20px; @@ -309,8 +409,10 @@ padding: 0.1rem 0.5rem; } .filterList { + flex: 1; + overflow: hidden; margin-left: 0.4rem; - display: flex; + overflow: hidden; } .filterItem { display: flex; @@ -319,9 +421,12 @@ justify-content: center; width: 1rem; height: 0.25rem; - flex: 1; margin-left: 0.2rem; border-radius: 0.13rem; + float: left; + margin-top: 0.02rem; + margin-bottom: 0.1rem; + cursor: pointer; } .conditionItem { display: flex; @@ -330,21 +435,26 @@ justify-content: center; width: 1.3rem; height: 0.25rem; - flex: 1; + float: left; margin-left: 0.2rem; border-radius: 0.13rem; + margin-top: 0.02rem; + margin-bottom: 0.1rem; + cursor: pointer; } .circleBox { width: 20px; height: 20px; border-radius: 50%; - background-color: #326350; + background-color: #9e9e9e; +} +.circleBox.active { + background-color: #da7a2b; } .filterText { margin-left: 10px; font-size: 16px; - color: #326350; } .fontColor { color: #827e44 !important; diff --git a/src/pages/inherit/list.vue b/src/pages/inherit/list.vue index 45f0b2d..3d759f3 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"> @@ -87,7 +87,6 @@ <script> import * as echarts from "echarts"; import { - inheritMedicalSataStatistics, inheritMedicalCultureList, inheritMedicalRelationList } from "@/api/index.js"; @@ -108,9 +107,12 @@ 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 +128,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 +178,22 @@ ...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) => { + console.log(res, "res"); }); }, showSocialMapping() { @@ -167,9 +204,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 +218,7 @@ }, 50); } }, - initBarChart() { + initBarChart(dataList, links) { // WMBg //閫氳繃 $ref 杩涜鎸傝浇 var barChart = document.getElementById("barChart"); @@ -233,30 +268,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