From 587d25c4a1d1a5d240e7750aa0c043a702a737d5 Mon Sep 17 00:00:00 2001 From: QYF-GitLab1 <1940665526@qq.com> Date: 星期四, 18 七月 2024 10:47:30 +0800 Subject: [PATCH] 1 --- src/pages/academicSchools/index.vue | 674 +++++++++++++++++++++++++++++++++++++++ src/pages/character/index.vue | 1 src/pages/territory/territory.vue | 130 ++++--- src/api/index.js | 106 +++--- src/components/headNav/headNav.vue | 53 +- src/pages/index/index.vue | 54 +- 6 files changed, 845 insertions(+), 173 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index e534e70..5f87363 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -6,7 +6,7 @@ return req1({ url: "/account/register", method: "post", - data: Obj + data: Obj, }); }; @@ -17,8 +17,8 @@ method: "post", data: req, headers: { - "Content-Type": "multipart/form-data" - } + "Content-Type": "multipart/form-data", + }, }); }; @@ -27,14 +27,14 @@ return req1({ url: "/account/verification", method: "post", - data: req + data: req, }); }; // 鑾峰彇鐢ㄦ埛淇℃伅 export const getUserInfo = () => { return req1({ url: "/account/getUserInfo", - method: "post" + method: "post", }); }; @@ -43,7 +43,7 @@ return req1({ url: "/account/resetPassword", method: "post", - data: Obj + data: Obj, }); }; @@ -51,7 +51,7 @@ export const getlogout = () => { return req1({ url: "/account/logout", - method: "post" + method: "post", }); }; @@ -60,7 +60,7 @@ return req1({ url: "/account/changePassword", method: "post", - data: obj + data: obj, }); }; @@ -69,7 +69,7 @@ export const getdataOutput = () => { return req1({ url: "/person/dataOutput", - method: "post" + method: "post", }); }; @@ -77,7 +77,7 @@ export const getHotSearch = () => { return req1({ url: "/person/hotSearch", - method: "post" + method: "post", }); }; // 浜虹墿鐩稿叧鐨� 鏉ユ簮 @@ -85,7 +85,7 @@ return req1({ url: "/person/source", method: "post", - params: data + params: data, }); }; // 浜虹墿鐩稿叧鐨� 涓汉鏃剁┖鍦板浘 @@ -93,7 +93,7 @@ return req1({ url: "/person/spaceTime", method: "post", - params: data + params: data, }); }; @@ -102,7 +102,7 @@ return req1({ url: "/person/images", method: "post", - params: data + params: data, }); }; // 鍖诲浜虹墿鐭ヨ瘑搴� 涓汉浜嬭抗 @@ -110,7 +110,7 @@ return req1({ url: "/person/biog", method: "post", - params: data + params: data, }); }; // 鍖诲浜虹墿鐭ヨ瘑搴� 浜虹墿鍏崇郴 @@ -118,7 +118,7 @@ return req1({ url: "/person/personRelationAtSchool", method: "post", - params: data + params: data, }); }; // 鍖诲浜虹墿鐭ヨ瘑搴� 浜虹墿鍏崇郴 @@ -126,7 +126,7 @@ return req1({ url: "/inheritMedical/nodeCount", method: "post", - data: data + data: data, }); }; @@ -135,7 +135,7 @@ return req1({ url: "/person/writings", method: "post", - params: data + params: data, }); }; // 鍖诲浜虹墿鐭ヨ瘑搴� 浜虹墿璇︽儏 @@ -143,14 +143,14 @@ return req1({ url: "/person/getPersonInfo", method: "post", - params: Obj + params: Obj, }); }; export const getWebBasic = (Obj) => { return req1({ url: "/person/webBasic", method: "post", - params: Obj + params: Obj, }); }; @@ -162,7 +162,7 @@ params: { keyword: requestData?.keyword, personId: requestData?.personId, - } + }, }); }; @@ -171,7 +171,7 @@ return req1({ url: "/person/advanceSearch", method: "post", - data: Obj + data: Obj, }); }; @@ -187,18 +187,18 @@ requestData?.keyword + "&dynasty=" + requestData?.dynasty, - method: "post" + method: "post", }); }; // 涓浗鍦板煙鍦拌氨妫�绱汉鐗� export const getPreCount = (requestData) => { return req1({ url: - "/person/retrieval/preCount?keyword=" + + "/person/retrieval/preCount?keyword=" + requestData?.keyword + "&dynasty=" + requestData?.dynasty, - method: "post" + method: "post", }); }; // 鍖诲浜虹墿鐭ヨ瘑搴� @@ -208,28 +208,28 @@ return req1({ url: "/inheritMedical/list", method: "post", - data: requestData + data: requestData, }); }; export const inheritMedicalSataStatistics = (requestData) => { return req1({ url: "/inheritMedical/dataStatistics", method: "post", - data: requestData + data: requestData, }); }; export const inheritMedicalCultureList = (requestData) => { return req1({ url: "/inheritMedical/cultureList", method: "post", - data: requestData + data: requestData, }); }; export const inheritMedicalRelationList = (requestData) => { return req1({ url: "/inheritMedical/relationList", method: "post", - data: requestData + data: requestData, }); }; @@ -239,14 +239,14 @@ return req1({ url: "/person/list", method: "post", - data: data + data: data, }); }; // 妫�绱㈡暟鎹埌鍑� export const getPDownload = () => { return req1({ url: "/person/download", - method: "post" + method: "post", }); }; // -------------------------P @@ -255,20 +255,20 @@ export const getDynastyAll = () => { return req1({ url: "/dynasty/list", - method: "post" + method: "post", }); }; export const getDynasty = () => { return req1({ url: "/dynasty/listAll", - method: "post" + method: "post", }); }; export const getDynastyData = () => { return req1({ url: "/person/retrieval/dynasty", - method: "post" + method: "post", }); }; @@ -276,31 +276,37 @@ export const getDynastyStatistics = () => { return req1({ url: "/school/dynasty/statistics", - method: "get" + method: "get", }); }; export const getIntroduction = (id) => { return req1({ url: "/school/introduction?id=" + id, - method: "post" + method: "post", }); }; export const schoolAtlas = (id) => { return req1({ url: "/person/schoolAtlas?schoolId=" + id, - method: "post" + method: "post", }); }; - +// 鏌ヨ浜虹墿6绫绘暟鎹� +export const getPersonData = (id) => { + return req1({ + url: "/person/chain/search/person?personId=" + id + "&maxStep=3", + method: "post", + }); +}; export const searchSchoolPerson = (data) => { return req1({ url: "/person/searchSchoolPerson", method: "post", - params: data + params: data, }); }; @@ -309,7 +315,7 @@ export const getDataStatistics = () => { return req1({ url: "/medical/dataStatistics", - method: "post" + method: "post", }); }; // 鏌ヨ @@ -317,7 +323,7 @@ return req1({ url: "/medical/list", method: "post", - data: data + data: data, }); }; // 璇︽儏 @@ -325,7 +331,7 @@ return req1({ url: "/medical/details", method: "post", - data: data + data: data, }); }; // 鍙栧�硷細RDF銆丯T銆乆ML銆丣SON @@ -333,7 +339,7 @@ return req1({ url: "/medical/dataOutput", method: "post", - data: Obj + data: Obj, }); }; @@ -341,7 +347,7 @@ return req1({ url: "/person/dataOutput", method: "post", - params: Obj + params: Obj, }); }; @@ -352,7 +358,7 @@ export const getPDataStatistics = () => { return req1({ url: "/person/dataStatistics", - method: "post" + method: "post", }); }; // ---------------- @@ -364,21 +370,13 @@ export const getRelationTypeTreeList = () => { return req1({ url: "/personRelationType/getRelationTypeTreeList", - method: "post" + method: "post", }); }; export const getInstitutionList = () => { return req1({ url: "/medical/institutionList", - method: "post" + method: "post", }); }; - - - - - - - - diff --git a/src/components/headNav/headNav.vue b/src/components/headNav/headNav.vue index 37ff5c2..64c56dd 100644 --- a/src/components/headNav/headNav.vue +++ b/src/components/headNav/headNav.vue @@ -82,12 +82,9 @@ class="search-logo" @click="toggleSearch" :style="{ - backgroundColor: searchBg == true ? '#244A7B' : '#DA7A2B' + backgroundColor: searchBg == true ? '#244A7B' : '#DA7A2B', }" - style=" - background-color: #000; - border-radius: 50%; - " + style="background-color: #000; border-radius: 50%" ></view> </view> <el-dropdown trigger="click" @command="handleCommand"> @@ -178,32 +175,32 @@ type: String, default() { return "鏍囬"; - } + }, }, searchBg: { type: Boolean, default() { return true; - } + }, }, bg: { type: String, default() { return "/static/image/topBg.png"; - } + }, }, bg1: { type: String, default() { return "/static/image/line.png"; - } + }, }, idIndex: { type: String, default() { return "1"; - } - } + }, + }, }, data() { return { @@ -211,7 +208,7 @@ searchInput: "", // 鎼滅储妗嗚緭鍏ョ殑鍐呭 menuNav: false, dialogVisible: false, - isCommand: true + isCommand: true, }; }, methods: { @@ -236,13 +233,13 @@ if (res.confirm) { setTimeout(() => { uni.reLaunch({ - url: "/pages/Login/Login" + url: "/pages/Login/Login", }); }, 1500); } else if (res.cancel) { // console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷'); } - } + }, }); } // uni.navigateTo({ @@ -256,7 +253,7 @@ handleCommand(int) { if (int == 1) { uni.navigateTo({ - url: "/pages/changePassword/changePassword" + url: "/pages/changePassword/changePassword", }); } else if (int == 2) { uni.showModal({ @@ -273,40 +270,44 @@ //閫�鍑烘垚鍔燂紒骞惰烦杞埌鍏朵粬椤甸潰 this.$message.success("閫�鍑烘垚鍔�"); uni.reLaunch({ - url: "/pages/Login/Login" + url: "/pages/Login/Login", }); }); } else if (res.cancel) { // console.log('鐢ㄦ埛鐐瑰嚮鍙栨秷'); } - } + }, }); } }, handleSelect(index) { if (index === "0") { uni.navigateTo({ - url: "/pages/index/index?id=" + 0 + url: "/pages/index/index?id=" + 0, }); } else if (index === "1") { uni.navigateTo({ - url: "/pages/character/index?id=" + 1 + url: "/pages/character/index?id=" + 1, }); } else if (index === "2") { uni.navigateTo({ - url: "/pages/inherit/index?id=" + 2 + url: "/pages/inherit/index?id=" + 2, }); } else if (index === "3") { uni.navigateTo({ - url: "/pages/academicGenres/index?id=" + 3 + url: "/pages/academicGenres/index?id=" + 3, }); } else if (index === "4") { uni.navigateTo({ - url: "/pages/territory/territory?id=" + 4 + url: "/pages/territory/territory?id=" + 4, }); } else if (index === "5") { uni.navigateTo({ - url: "/pages/TcmSystem/TcmSystem?id=" + 5 + url: "/pages/TcmSystem/TcmSystem?id=" + 5, + }); + } else if (index === "6") { + uni.navigateTo({ + url: "/pages/academicSchools/index", }); } }, @@ -322,13 +323,13 @@ if (this.searchInput.trim() !== "") { uni.navigateTo({ url: - "/pages/knowledgeBase/knowledgeBase?keyword=" + this.searchInput + "/pages/knowledgeBase/knowledgeBase?keyword=" + this.searchInput, }); } this.searchInput = ""; }); - } - } + }, + }, }; </script> diff --git a/src/pages/academicSchools/index.vue b/src/pages/academicSchools/index.vue index 6f61006..7b41958 100644 --- a/src/pages/academicSchools/index.vue +++ b/src/pages/academicSchools/index.vue @@ -1,19 +1,679 @@ <template> <view> - <headNav :idIndex="6" text="瀛︽湳娴佹淳" /> + <headNav :idIndex="'6'" text="瀛︽湳娴佹淳" /> + <!-- 楂樼骇鎼滅储 --> + <view style="margin-top: 0.1rem"> + <advancedSearch + @onSearch="onSearch" + @onSubmit="onSubmit" + :from="From" + placehold="璇疯緭鍏ュ叧閿瓧" + :keyword="searchKey" + :advancedSearchBack="advancedSearchBack" + /> + </view> + <!-- 鐑棬鎼滅储 --> + <view class="flex flex-center hotSearch"> + 鐑棬鎼滅储锛� + <ul class="flex" style="margin-right: 10rpx"> + <li + @click="onSearch({ text: item }, index)" + :class="{ cursor: true, active: hotAciveIndex === index }" + v-for="(item, index) in hotKeyList" + :key="item" + > + {{ item }} + </li> + </ul> + </view> + <view style="margin-left: 0.2rem">涔︿腑鏈�甯告彁鍒扮殑100浣嶄汉鐗�</view> + <!-- 鍏崇郴琛ㄥ湴鍥� --> + <div + id="relation" + style="margin-top: 0.1rem; flex: 1; width: 100%; position: relative" + > + <div + v-if="!loading && relationships.length == 0" + style=" + position: absolute; + top: 30%; + left: 0; + right: 0; + text-align: center; + font-size: 0.2rem; + color: #666; + " + > + 鏆傛棤鐩稿叧鏁版嵁 + </div> + </div> </view> </template> <script> -// import * as echarts from "echarts"; -// import axios from "axios"; +import { + getPersonData, + getHotSearch, + getPDataStatistics, +} from "@/api/index.js"; +import * as echarts from "echarts"; export default { data() { - return {}; + return { + loading: true, + hotAciveIndex: "", + currentId: 21682, + // echarts鏁版嵁 + nodes: [], + // echarts涓よ�呯殑鍏崇郴 + relationships: [], + // 楂樼骇鎼滅储 + From: { + from: [ + { + type: "input", + label: "濮撳悕", + name: "name", + value: "", + }, + { + type: "input", + label: "鍒悕", + name: "alias", + value: "", + }, + { + type: "input", + label: "绫嶈疮", + name: "location", + value: "", + }, + { + type: "select", + label: "鑱屼笟", + name: "sdId", + value: "", + options: [ + { + label: "鏈寚鏄�", + value: "UNKNOWN", + }, + ], + }, + { + type: "input", + label: "瀹樿亴", + name: "office", + value: "", + }, + { + type: "select", + label: "鎬у埆", + value: "", + name: "genderTypeEO", + options: [ + { + label: "鏈寚鏄�", + value: "UNKNOWN", + }, + { + label: "鐢�", + value: "MALE", + }, + { + label: "濂�", + value: "WOMAN", + }, + ], + }, + { + type: "input", + label: "鏃舵湡", + name: "period", + value: "", + }, + { + type: "input", + label: "鏈烘瀯", + name: "inst", + value: "", + }, + { + type: "number", + label: "椤电爜", + name: "page", + value: "", + }, + { + type: "number", + label: "椤靛ぇ灏�", + name: "pageSize", + value: "", + }, + ], + }, + // 涓嬮潰鐨勬湞浠�1 + dynastyColor: 1, + // 鏈濅唬 + dynasty: [ + { + name: "澶忔湞", + coord: "2070BC", + id: 1, + }, + { + name: "鍟嗘湞", + id: 2, + coord: "1600BC", + }, + { + name: "瑗垮懆", + id: 3, + coord: "1600BC", + }, + { + name: "鏄ョ鎴樺浗", + id: 4, + coord: "770BC", + }, + { + name: "绉︽湞", + id: 5, + coord: "221BC", + }, + { + name: "姹夋湞", + id: 6, + coord: "202BC", + }, + { + name: "涓夊浗涓ゆ檵鍗楀寳鏈�", + id: 7, + coord: "184", + }, + { + name: "闅嬫湞", + id: 8, + coord: "581", + }, + { + name: "鍞愭湞", + id: 9, + coord: "618", + }, + { + name: "浜斾唬鍗佸浗", + id: 10, + coord: "907", + }, + { + name: "杈藉閲�", + id: 11, + coord: "907", + }, + { + name: "瀹嬫湞", + id: 12, + coord: "960", + }, + { + name: "鍏冩湞", + id: 13, + coord: "1271", + }, + + { + name: "鏄庢湞", + id: 14, + coord: "1368", + }, + { + name: "娓呮湞", + id: 15, + coord: "1636", + }, + ], + // 鐑棬鎼滅储 + hotKeyList: [], + searchKey: "", + + // 鍒嗙被 + categories: [], + // 浜虹墿淇℃伅 + infoOfPersons: [], + // 褰撳墠浜虹墿淇℃伅 + ownInfo: null, + }; }, - onLoad(options) {}, - methods: {} + mounted() { + this.getData(); + // this.echartsArr(); + this.hotSearch(); + // 鐩戝惉绐楀彛澶у皬鍙樺寲 + window.addEventListener("resize", this.relation); + this.innt(); + }, + onLoad(options) { + this.searchKey = options.keyword; + }, + methods: { + getPersonInfo(arr, str, newArr, order, type) { + for (let i = 0; i < arr.length; i++) { + const ele = arr[i]; + const personInfo = this.infoOfPersons.find( + (item) => item.id == ele.personId + ); + const obj = { + personId: ele.personId, + id1: this.ownInfo.id, + id2: personInfo.id, + relationTypeId: ele.relationTypeId, + relationTypeName: ele.relationTypeName, + name1: this.ownInfo?.NAME[0]?.content1, + name2: personInfo?.NAME[0]?.content1, + category: type, + }; + newArr.push(obj); + if (ele[str] && ele[str]?.length) { + this.getPersonInfo(ele[str], "kinList", newArr, 2, type); + } + } + }, + + //鏁扮粍鍘婚噸 + deduplicateArray(arr, idKey) { + // 浣跨敤涓�涓緟鍔╁璞℃潵璺熻釜宸茬粡瑙佽繃鐨処D + const seen = {}; + // 浣跨敤filter鏂规硶杩囨护鏁扮粍 + const deduplicatedArray = arr.filter((item) => { + // 鑾峰彇褰撳墠瀵硅薄鐨処D + const id = item[idKey]; + // 濡傛灉ID鍦ㄨ緟鍔╁璞′腑涓嶅瓨鍦紝鍒欏皢鍏舵坊鍔犲埌瀵硅薄骞惰繑鍥瀟rue + if (!seen[id]) { + seen[id] = true; + return true; + } + // 濡傛灉ID宸茬粡瀛樺湪锛岃繑鍥瀎alse + return false; + }); + + return deduplicatedArray; + }, + getData() { + this.loading = true; + getPersonData(this.currentId).then((res) => { + this.nodes = []; + this.relationships = []; + let kin = []; + let teacher = []; + if (res && res.success && res.object) { + console.log(res.object); + this.infoOfPersons = res.object?.infoOfPersons; + if (res.object?.personChain) { + this.ownInfo = this.infoOfPersons.find( + (item) => item.id == res.object?.personChain.personId + ); + const obj = res.object?.personChain; + console.log(obj.kinList, "kinList"); + if (obj.kinList?.length) { + let newArr = []; + this.categories.push({ name: "浜插睘鍏崇郴" }); + this.getPersonInfo(obj.kinList, "kinList", newArr, 1, 0); + console.log(newArr, "list"); + newArr.forEach((item) => { + let exists1 = this.nodes.some( + (node) => node.id === item.id1 && node.name === item.name1 + ); + let exists2 = this.nodes.some( + (node) => node.id === item.id1 && node.name === item.name2 + ); + // 璇佹槑涓嶅瓨鍦� + if (item.name1 && exists1 !== true) { + this.nodes.push({ + name: item.name1, + id: item.id1, + ...item, + }); + } + if (item.name2 && exists2 !== true) { + this.nodes.push({ + name: item.name2, + id: item.id2, + ...item, + }); + } + let obj = { + source: item.name1, + target: item.name2, + relation: item.relationTypeName || "", // 濡傛灉瀛樺湪 relationName 瀛楁鍒欎娇鐢紝鍚﹀垯涓虹┖瀛楃涓� + }; + this.relationships.push(obj); + }); + } + if (obj.teacherStudentList?.length) { + this.categories.push({ name: "甯堟壙鍏崇郴" }); + } + if (obj.literatureList?.length) { + this.categories.push({ name: "鏂囩尞浣滃搧" }); + } + if (obj.socialList?.length) { + this.categories.push({ name: "绀句細鍏崇郴" }); + } + if (obj.placeList?.length) { + this.categories.push({ name: "娲诲姩鍦�" }); + } + if (obj.schoolList?.length) { + this.categories.push({ name: "瀛︽湳娴佹淳" }); + } + } + } + this.loading = false; + this.relation(); + }); + }, + // 鍏崇郴鍥捐氨 + relation() { + var chartDom = document.getElementById("relation"); + var myChart = echarts.init(chartDom); + // 鍋囪鎮ㄦ湁鑺傜偣鍚嶇О鍜屽畠浠箣闂寸殑鍏崇郴鏁版嵁 + var nodes = this.deduplicateArray(this.nodes, "id"); + var relationships = this.relationships; + + let FontSize = 12; // 瀛椾綋澶у皬 + let BorderWidth = 2; // 杈规澶у皬 + let SymbolSize = 80; // 灏哄璺濈 + let Distance = 10; + // 涓嶅悓灏哄涓嬩慨鏀筫charts鐨勫瓧浣� + if (window.innerWidth > 2560 && window.innerWidth <= 3840) { + FontSize = 20; + BorderWidth = 5; + SymbolSize = 90; + Distance = 33; + } else if (window.innerWidth > 1920 && window.innerWidth <= 2560) { + FontSize = 18; + BorderWidth = 4; + SymbolSize = 80; + Distance = 22; + } else if (window.innerWidth >= 1366 && window.innerWidth <= 1920) { + FontSize = 14; + BorderWidth = 4; + SymbolSize = 70; + Distance = 22; + } + // 鏍规嵁鍏崇郴鏁版嵁鐢熸垚杩炴帴绾� + var links = []; + relationships.forEach((relationship, i) => { + var sourceIndex = nodes.findIndex( + (node) => node.name === relationship.source + ); + var targetIndex = nodes.findIndex( + (node) => node.name === relationship.target + ); + if (relationship.relation) { + if (sourceIndex !== -1 && targetIndex !== -1) { + links.push({ + source: sourceIndex, + target: targetIndex, + label: { + show: true, + formatter: function (params) { + // 浣跨敤鍑芥暟鍔ㄦ�佺敓鎴愭爣绛惧唴瀹� + // return relationships.find(rel => rel.source === nodes[params.data + // .source] && rel.target === nodes[params.data.target]) + // .relation; + return relationship.relation; + }, // 璁剧疆鍏崇郴鏍囩鍐呭涓�"Child-Parent" + color: "#2C2C2C", + fontSize: FontSize - 2, + backgroundColor: "rgba(255, 255, 255, 1)", + padding: [3, 8], + borderRadius: 30, + position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず + // z: -1, // 璁剧疆鏍囩鐨剒杞撮珮搴︼紝浣垮叾姣旇繛鎺ョ嚎鏇撮珮 + distance: -10, // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 + }, + }); + } + } + }); + // 鏍规嵁nodes鍔ㄦ�佺敓鎴愯妭鐐规暟鎹� + var nodeData = nodes.map(function (node, index) { + return { + name: node.name, + id: node.id, + itemStyle: { + color: "#eae0eb", // 鍙互鏍规嵁绱㈠紩璁剧疆涓嶅悓鐨勯鑹� + borderWidth: BorderWidth, + borderColor: "#996f9f", + }, + }; + }); + + var option; + option = { + title: { + // text: '涔︿腑鏈�甯告彁鍒扮殑100浣嶄汉鐗�', + // subtext: '', + left: "center", + top: FontSize + 10, + // textStyle: { + // fontSize: FontSize // 璁剧疆鏍囬鏂囧瓧澶у皬涓� 18px + // }, + subtextStyle: { + fontSize: FontSize, // 璁剧疆鍓爣棰樻枃瀛楀ぇ灏忎负 14px + color: "#2C2C2C", + }, + }, + backgroundColor: { + type: "image", + image: "/static/image/characterRelationBg.png", + // repeat: 'repeat-x', // 鏄惁骞抽摵锛屽彲浠ユ槸 'repeat-x', 'repeat-y', 'no-repeat' + size: "100% 100%", // 鑳屾櫙鍥剧墖鐨勫昂瀵革紝鍙互鏄櫨鍒嗘瘮鎴栬�呭儚绱� + position: "center center", // 鑳屾櫙鍥剧墖鐨勪綅缃紝鍙互鏄� top, bottom, middle 鎴栬�呯櫨鍒嗘瘮 + }, + tooltip: {}, + legend: [ + { + // selectedMode: 'single', + data: this.categories.map(function (a) { + return a.name; + }), + }, + ], + animationDurationUpdate: 1500, + animationEasingUpdate: "quinticInOut", + series: [ + { + type: "graph", + layout: "force", + roam: true, + symbolSize: SymbolSize, // 璋冩暣鑺傜偣澶у皬 + label: { + show: true, + color: "black", // 璁剧疆鑺傜偣鏂囧瓧棰滆壊涓洪粦鑹� + fontSize: FontSize, // 璁剧疆鏂囧瓧澶у皬 + }, + edgeSymbol: ["circle", "arrow"], + edgeSymbolSize: [4, 10], + data: nodeData, + links: links, + categories: this.categories, + lineStyle: { + opacity: 0.9, + width: 2, + curveness: 0.3, + }, + emphasis: { + focus: "adjacency", + lineStyle: { + width: 10, + }, + }, + force: { + // layoutAnimation: false, + // friction: 1, + repulsion: 800, + edgeLength: 400, + }, + }, + // { + // name: "Les Miserables", + // type: "graph", + // legendHoverLink: false, + // layout: "none", + // data: nodeData, + // links: links, + // categories: this.categories, + // roam: true, + // label: { + // position: "right", + // formatter: "{b}", + // }, + // lineStyle: { + // color: "source", + // curveness: 0.3, + // }, + // emphasis: { + // focus: "adjacency", + // lineStyle: { + // width: 10, + // }, + // }, + // }, + ], + }; + // 灏嗙敓鎴愮殑杩炴帴绾挎坊鍔犲埌echarts鍥捐〃鐨刼ption涓� + option.series[0].links = links; + // 璁剧疆鐐瑰嚮浜嬩欢鐩戝惉 + myChart.off("click"); + myChart.on("click", (params) => { + if (params.dataType === "node") { + this.spaceTimeArr(params.data.id); + } + }); + option && myChart.setOption(option); + }, + // 鍩虹鎼滅储 + onSearch(val, index) { + if (index !== undefined) { + this.searchKey = ""; + this.hotAciveIndex = index; + } else { + this.hotAciveIndex = ""; + } + // this.searchKey = val.text; + this.getData(val.text); + }, + // 楂樼骇鎼滅储 + onSubmit(val) { + getAdvanceSearch({ + ...val, + page: 1, + pageSize: 100, + }).then((res) => { + console.log(res, "res"); + }); + }, + advancedSearchBack() { + uni.navigateTo({ + url: "/pages/knowledgeBase/knowledgeBase", + }); + }, + // 鐐瑰嚮涓嬮潰鐨勬湞浠f寜閽� + dynastyBottomClick(item) { + this.dynastyColor = item.id; + this.onSearch({ + text: item.name, + }); + }, + // 鍏崇郴鍥� 鐐瑰嚮閲岄潰鐨勫厓绱� + spaceTimeArr(id) { + // 鍏崇郴鍥剧殑鏁版嵁 + uni.navigateTo({ + url: "/pages/character/detail?id=" + id, + }); + }, + // 鑾峰彇鏈濅唬echarts鐨勬暟鎹� + echartsArr() { + getDataStatistics().then((res) => { + res.object.dynastyStatistic.details.map((item, index) => { + // this.dynasty.id = item.dynastyId + // this.dynasty.name = item.dynastyName + // this.dynasty.coord = item.count + this.dynasty[index].id = item.dynastyId; + this.dynasty[index].name = item.dynastyName; + this.dynasty[index].coord = item.count; + }); + }); + }, + // 鐑棬鎼滅储 + hotSearch() { + getHotSearch().then((res) => { + const indexList = Object.keys(res.object); + indexList.sort((a, b) => parseInt(b) - parseInt(a)); + this.hotKeyList = indexList.map((item) => { + return res.object[item]; + }); + }); + }, + + // 楂樼骇鎼滅储閲岄潰鑱屼笟鐨勪笅鎷夎彍鍗� + innt() { + getPDataStatistics().then((res) => { + const professionIndex = this.From.from.findIndex( + (field) => field.label === "鑱屼笟" + ); + // 濡傛灉鎵惧埌浜嗚亴涓氬瓧娈� + if (professionIndex !== -1) { + // 灏� profession.list 杞崲涓� options 鏍煎紡 + const options = res.object.occupationStatistic.details.map( + (item) => ({ + label: item.tagName, + value: item.tagId.toString(), // 灏� id 杞崲涓哄瓧绗︿覆锛岀‘淇濅笌 value 绫诲瀷涓�鑷� + }) + ); + // 鏇存柊鑱屼笟瀛楁鐨� options 灞炴�� + this.$set(this.From.from[professionIndex], "options", options); + } + }); + }, + }, }; </script> -<style></style> +<style> +@media screen and (min-width: 2560px) and (max-width: 3840px) { +} + +@media screen and (min-width: 1366px) and (max-width: 1920px) { +} + +::v-deep .uni-input-placeholder { + line-height: 1; + font-size: 0.12rem; +} + +::v-deep .ffff { + border-radius: 0.5rem; +} + +::v-deep .widget_button { + border-radius: 0.5rem; + margin: 0.02rem; +} + +.hotSearch { + font-size: 0.12rem; + color: #2c2c2c; + + li { + color: #244a7b; + margin: 0 0.1rem; + color: #244a7b; + &.active { + color: #027edc; + font-weight: bold; + } + } +} +</style> diff --git a/src/pages/character/index.vue b/src/pages/character/index.vue index 4764c42..676fcff 100644 --- a/src/pages/character/index.vue +++ b/src/pages/character/index.vue @@ -411,7 +411,6 @@ } }; }); - var option; option = { title: { diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index eb07212..63770e5 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -150,7 +150,7 @@ import Footer1 from "@/components/footer/footer.vue"; export default { components: { - Footer1 + Footer1, }, data() { return { @@ -169,55 +169,55 @@ pass: "", checkPass: "", cellphoneORmailbox: "", - verifyCode: "" + verifyCode: "", }, // 鐧诲綍鐢ㄦ埛璐﹀彿 loginData: { // 璐﹀彿 loginID: "", - pass: "" + pass: "", }, // 閲嶇疆瀵嗙爜 resetDataPass: { cellphoneORmailbox: "", verifyCode: "", newPass: "", - checkPass: "" + checkPass: "", }, // 淇敼瀵嗙爜 amendDataPass: { loginID: "", originalPass: "", newPass: "", - checkPass: "" + checkPass: "", }, // 涔︾睄鏁版嵁 listData: [ { name: "鍘嗕唬浜虹墿", - id: 1 + id: 1, }, { name: "瀹跺浼犳壙", - id: 2 + id: 2, }, { name: "瀛︽湳娴佹淳", - id: 6 + id: 6, }, { name: "瀛︽湳鍥捐氨", - id: 3 + id: 3, }, { name: "鍦板煙鍥捐氨", - id: 4 + id: 4, }, // { // name: "涓尰鍖讳簨鍒跺害", // id: 5 // } - ] + ], }; }, onLoad() { @@ -225,7 +225,7 @@ success: function (info) { // console.log('灞忓箷鐨勫搴︼細' + info.windowWidth); // console.log('灞忓箷鐨勯珮搴︼細' + info.windowHeight); - } + }, }); }, mounted() { @@ -236,7 +236,7 @@ // 鎼滅储 onSearch(val) { uni.navigateTo({ - url: "/pages/knowledgeBase/knowledgeBase?keyword=" + val.text + url: "/pages/knowledgeBase/knowledgeBase?keyword=" + val.text, }); }, // 鎼滅储 @@ -247,7 +247,7 @@ if (this.searchInput.trim() !== "") { uni.navigateTo({ url: - "/pages/knowledgeBase/knowledgeBase?keyword=" + this.searchInput + "/pages/knowledgeBase/knowledgeBase?keyword=" + this.searchInput, }); } this.searchInput = ""; @@ -260,30 +260,30 @@ if (item.id == 1) { uni.navigateTo({ // url: '/pages/character/detail?id=' + item.id - url: "/pages/character/index?id=" + item.id + url: "/pages/character/index?id=" + item.id, }); } else if (item.id == 2) { uni.navigateTo({ - url: "/pages/inherit/index?id=" + item.id + url: "/pages/inherit/index?id=" + item.id, }); // uni.navigateTo({ // url: '/pages/shiyiHome/shiyiHome' // }) } else if (item.id == 3) { uni.navigateTo({ - url: "/pages/academicGenres/index?id=" + item.id + url: "/pages/academicGenres/index?id=" + item.id, }); } else if (item.id == 4) { uni.navigateTo({ - url: "/pages/territory/territory?id=" + item.id + url: "/pages/territory/territory?id=" + item.id, }); } else if (item.id == 5) { uni.navigateTo({ - url: "/pages/TcmSystem/TcmSystem?id=" + item.id + url: "/pages/TcmSystem/TcmSystem?id=" + item.id, }); } else if (item.id == 6) { uni.navigateTo({ - url: "/pages/academicSchools/academicSchools" + url: "/pages/academicSchools/index", }); } }, @@ -315,7 +315,7 @@ // token 涓嶅瓨鍦� this.isCommand = false; uni.navigateTo({ - url: "/pages/Login/Login" + url: "/pages/Login/Login", }); } } else if (index == 3) { @@ -326,7 +326,7 @@ handleCommand(int) { if (int == 1) { uni.navigateTo({ - url: "/pages/changePassword/changePassword" + url: "/pages/changePassword/changePassword", }); } else if (int == 2) { uni.showModal({ @@ -343,15 +343,15 @@ //閫�鍑烘垚鍔燂紒骞惰烦杞埌鍏朵粬椤甸潰 this.$message.success("閫�鍑烘垚鍔�"); uni.reLaunch({ - url: "/pages/Login/Login" + url: "/pages/Login/Login", }); }); } - } + }, }); } - } - } + }, + }, }; </script> @@ -758,7 +758,7 @@ } .secretary li .detailBtn { - transition: translate .3s; + transition: translate 0.3s; } .secretary li .detailBtn:hover { translate: 0 -5px; diff --git a/src/pages/territory/territory.vue b/src/pages/territory/territory.vue index 36353af..4f8e055 100644 --- a/src/pages/territory/territory.vue +++ b/src/pages/territory/territory.vue @@ -94,7 +94,7 @@ class="information" v-for="(item, index) in SearchArr" :key="index" - style="cursor: pointer;" + style="cursor: pointer" @click="showCard(item)" > <li style="font-size: 0.18rem; font-weight: 700"> @@ -131,14 +131,28 @@ 濮撳悕: {{ currentMark[0].name ? currentMark[0].name : "-" }} </li> - <li>鍒悕: {{ currentMark[0].nikeName ? currentMark[0].nikeName : "-" }}</li> - <li>绫嶈疮: {{ currentMark[0].nativePlace ? currentMark[0].nativePlace : "-" }}</li> - <li>鍖诲鍒嗙: {{ currentMark[0].barnch ? currentMark[0].barnch : "-" }}</li> + <li> + 鍒悕: + {{ currentMark[0].nikeName ? currentMark[0].nikeName : "-" }} + </li> + <li> + 绫嶈疮: + {{ + currentMark[0].nativePlace + ? currentMark[0].nativePlace + : "-" + }} + </li> + <li> + 鍖诲鍒嗙: + {{ currentMark[0].barnch ? currentMark[0].barnch : "-" }} + </li> <li class="medicalLi" :title="currentMark[0].medical ? currentMark[0].medical : '-'" > - 灏忎紶: {{ currentMark[0].medical ? currentMark[0].medical : "-" }} + 灏忎紶: + {{ currentMark[0].medical ? currentMark[0].medical : "-" }} </li> </ul> <el-button @@ -158,6 +172,7 @@ <el-collapse-item v-for="(item, index) in currentMark" :name="index" + :key="index" > <template slot="title"> <div class="titleImg"> @@ -194,7 +209,6 @@ > </el-collapse-item> </el-collapse> - </div> </div> </div> @@ -287,7 +301,7 @@ " :style="{ marginRight: index === dynasty1.length - 1 ? '0' : '0.03rem', - background: dynasty1Color == item.id ? '#244A7B' : '#597AA5' + background: dynasty1Color == item.id ? '#244A7B' : '#597AA5', }" > {{ item.dynastyChs }} @@ -309,7 +323,7 @@ getRetrieval, getDynasty, getPreCount, - getDynastyData + getDynastyData, } from "@/api/index.js"; export default { @@ -326,25 +340,25 @@ information: [ { label: "濮撳悕", - content: "鏉庢椂鐝�" + content: "鏉庢椂鐝�", }, { label: "鍒悕", - content: "涓滀附鍏堢敓" + content: "涓滀附鍏堢敓", }, { label: "绫嶈疮", - content: "婀栧寳" + content: "婀栧寳", }, { label: "鍖诲鍒嗙", - content: "涓嵂,閽堢伕" + content: "涓嵂,閽堢伕", }, { label: "灏忎紶", content: - "鏉庢椂鐝�(绾�1518骞磣1593 骞�)锛� 瀛椾笢鐠э紝 鏅氬勾鑷彿婵掓箹灞变汉锛� 婀栧箍榛勫窞搴滆柂宸�(浠婃箹鍖楃渷钖槬鍘�) 浜猴紝 鏄庝唬钁楀悕鍖昏嵂瀛﹀銆� 涓庘�� 鍖诲湥鈥� 涓囧瘑鏂嬮綈鍚嶏紝 鍙ゆ湁鈥� 涓囧瘑鏂嬬殑鏂癸紝 鏉庢椂鐝嶇殑鑽�� 涔嬭銆� 鍚庝负妤氬共搴�..." - } + "鏉庢椂鐝�(绾�1518骞磣1593 骞�)锛� 瀛椾笢鐠э紝 鏅氬勾鑷彿婵掓箹灞变汉锛� 婀栧箍榛勫窞搴滆柂宸�(浠婃箹鍖楃渷钖槬鍘�) 浜猴紝 鏄庝唬钁楀悕鍖昏嵂瀛﹀銆� 涓庘�� 鍖诲湥鈥� 涓囧瘑鏂嬮綈鍚嶏紝 鍙ゆ湁鈥� 涓囧瘑鏂嬬殑鏂癸紝 鏉庢椂鐝嶇殑鑽�� 涔嬭銆� 鍚庝负妤氬共搴�...", + }, ], // 涓嬮潰鐨勬湞浠�1 dynasty1Color: "", @@ -352,78 +366,78 @@ { name: "澶忔湞", coord: "2070BC", - id: 1 + id: 1, }, { name: "鍟嗘湞", id: 2, - coord: "1600BC" + coord: "1600BC", }, { name: "瑗垮懆", id: 3, - coord: "1600BC" + coord: "1600BC", }, { name: "鏄ョ鎴樺浗", id: 4, - coord: "770BC" + coord: "770BC", }, { name: "绉︽湞", id: 5, - coord: "221BC" + coord: "221BC", }, { name: "姹夋湞", id: 6, - coord: "202BC" + coord: "202BC", }, { name: "涓夊浗涓ゆ檵鍗楀寳鏈�", id: 7, - coord: "184" + coord: "184", }, { name: "闅嬫湞", id: 8, - coord: "581" + coord: "581", }, { name: "鍞愭湞", id: 9, - coord: "618" + coord: "618", }, { name: "浜斾唬鍗佸浗", id: 10, - coord: "907" + coord: "907", }, { name: "杈藉閲�", id: 11, - coord: "907" + coord: "907", }, { name: "瀹嬫湞", id: 12, - coord: "960" + coord: "960", }, { name: "鍏冩湞", id: 13, - coord: "1271" + coord: "1271", }, { name: "鏄庢湞", id: 14, - coord: "1368" + coord: "1368", }, { name: "娓呮湞", id: 15, - coord: "1636" - } + coord: "1636", + }, ], // 鏍囬椤堕儴鏍忛渶瑕佺殑涓滆タ idIndex: 0, @@ -432,43 +446,43 @@ { name: "澶�", color: "#90BBD8", - id: 1 + id: 1, }, { name: "鍟�", color: "#EDD28B", - id: 2 + id: 2, }, { name: "瑗垮懆", color: "#CF746D", - id: 3 + id: 3, }, { name: "绉�", color: "#9CC27A", - id: 4 + id: 4, }, { name: "姹�", color: "#5B6CB9", - id: 5 + id: 5, }, { name: "闅�", color: "#8860A8", - id: 6 + id: 6, }, { name: "鍞�", color: "#DE8E66", - id: 7 + id: 7, }, { name: "鏄�", color: "#DE8E66", - id: 8 - } + id: 8, + }, ], // 鎼滅储鍚庢槸鍚︽樉绀哄脊妗� isSearch: false, @@ -478,19 +492,19 @@ id: 1, name: "鏉庢椂鐝�", birthAndDeath: "1518-1593", - source: "鍥藉浘瑙勮寖妗o紝CBDB锛屼笂鍥惧彜绫嶆暟鎹簱 绫嶈疮锛氭箹鍖�" + source: "鍥藉浘瑙勮寖妗o紝CBDB锛屼笂鍥惧彜绫嶆暟鎹簱 绫嶈疮锛氭箹鍖�", }, { id: 2, name: "鏉庢椂鐝�", birthAndDeath: "1518-1593", - source: "鍥藉浘瑙勮寖妗o紝CBDB锛屼笂鍥惧彜绫嶆暟鎹簱 绫嶈疮锛氭箹鍖�" - } + source: "鍥藉浘瑙勮寖妗o紝CBDB锛屼笂鍥惧彜绫嶆暟鎹簱 绫嶈疮锛氭箹鍖�", + }, ], zoomLevel: 5, oldMarkList: [], aggregatedData: [], - openData: null + openData: null, }; }, onLoad(options) { @@ -528,7 +542,7 @@ let times = 0; getPreCount({ keyword: this.keyword, - dynasty: this.dynasty1Color + dynasty: this.dynasty1Color, }).then(async (res) => { const totalCount = res.object; if (totalCount % 200 == 0) { @@ -562,7 +576,7 @@ name: item?.NAME[0]?.content1, source: "-", nativPlace: item?.NATIVE_PLACE[0].content1, - id: item.id + id: item.id, })); this.loading = false; this.markerList = markerList; @@ -577,7 +591,7 @@ keyword: this.keyword, dynasty: this.dynasty1Color, page: count, - pageSize: 200 + pageSize: 200, }); if (res.object) { let markerList = []; @@ -620,7 +634,7 @@ } var map = L.map("map", { preferCanvas: true, - attributionControl: false + attributionControl: false, }).setView([34.3227, 108.5525], this.zoomLevel); map.on("moveend", this.onMapMoveEnd); map.on("zoomend", () => { @@ -634,14 +648,14 @@ .chinaProvider("TianDiTu.Normal.Map", { key: "76bc34ead7e30e663a4eded8aeaf5860", maxZoom: 18, - minZoom: 3 + minZoom: 3, }) .addTo(map); L.tileLayer .chinaProvider("TianDiTu.Normal.Annotion", { key: "76bc34ead7e30e663a4eded8aeaf5860", maxZoom: 18, - minZoom: 3 + minZoom: 3, }) .addTo(map); this.map = map; @@ -678,7 +692,7 @@ 17: 4513.997733376551, 18: 2256.9988666882755, 19: 1128.4994333441377, - 20: 564.24971667206887 + 20: 564.24971667206887, }; // 鏍规嵁姣斾緥灏鸿绠楀綋鍓嶅湴鍥�1鍘樼背鐨勭粡绾害宸�� const cmData = scale[this.zoomLevel] / 100; // 灏嗗帢绫宠浆鎹负绫� @@ -707,7 +721,7 @@ contentY: "", xList: [], yList: [], - data: [] + data: [], }; obj.xList.push(item.xCoord); obj.yList.push(item.yCoord); @@ -740,12 +754,12 @@ : "99+" }</div>`, iconSize: [30, 30], - className: "map-circle" + className: "map-circle", }); const temp_mark = L.marker( [aggregatedItem.contentY, aggregatedItem.contentX], { - icon: icon + icon: icon, } ); this.oldMarkList.push(temp_mark); @@ -760,7 +774,7 @@ nativePlace: item?.content1, barnch: item?.MEDICAL_BRANCH[0]?.content1, medical: item?.BIOGRAPHY, - id: item.id + id: item.id, }; }); this.isTop = e.containerPoint.y - 435 + "px"; @@ -790,7 +804,7 @@ nativePlace: item?.content1, barnch: item?.MEDICAL_BRANCH[0]?.content1, medical: item?.BIOGRAPHY, - id: item.id + id: item.id, }; }); this.isEchTrue = true; @@ -824,10 +838,10 @@ // 鏌ョ湅鏇村>> viewMoreClick(data) { uni.navigateTo({ - url: "/pages/character/detail?id=" + data.id + url: "/pages/character/detail?id=" + data.id, }); - } - } + }, + }, }; </script> -- Gitblit v1.9.1