From 040daecbc9bf04074c3f7053ea1710f380c03ea1 Mon Sep 17 00:00:00 2001 From: YM <479443481@qq.com> Date: 星期五, 26 七月 2024 11:40:48 +0800 Subject: [PATCH] 1 --- src/pages/academicSchools/index.vue | 336 ++++++++++++++++++++++++++++++++----------------------- 1 files changed, 196 insertions(+), 140 deletions(-) diff --git a/src/pages/academicSchools/index.vue b/src/pages/academicSchools/index.vue index 613b85e..fcfbb37 100644 --- a/src/pages/academicSchools/index.vue +++ b/src/pages/academicSchools/index.vue @@ -2,7 +2,7 @@ <view style="width: 100%; height: 100%; display: flex; flex-direction: column" > - <headNav :idIndex="'6'" text="瀛︽湳娴佹淳" /> + <headNav :idIndex="'6'" text="瀛︽湳鍥捐氨" /> <!-- 楂樼骇鎼滅储 --> <view style=" @@ -149,13 +149,14 @@ empty-text="鏆傛棤鎼滅储淇℃伅" size="small" :border="true" + :height="tableData.length > 0 ? '443' : 'auto'" > <el-table-column prop="id" label="搴忓彿" width="70" ></el-table-column> - <el-table-column prop="name" width="120" label="濮撳悕"> + <el-table-column prop="name" width="150" label="濮撳悕"> <template slot-scope="scope"> <a style="cursor: pointer; color: #027edc" @@ -175,22 +176,22 @@ <el-table-column prop="medicalBranch" label="鍖诲鍒嗙" - width="120" + width="150" ></el-table-column> <el-table-column prop="workName" label="浣滃搧"></el-table-column> <el-table-column prop="personLabel" - width="120" + width="150" label="浜虹墿鏍囩" ></el-table-column> <el-table-column prop="socialDistinction" label="绀句細韬唤" - width="120" + width="150" ></el-table-column> <el-table-column prop="period" - width="120" + width="150" label="鏃舵湡" ></el-table-column> </el-table> @@ -198,8 +199,8 @@ <el-pagination class="paging flex" background - @size-change="handleSizeChange" - @current-change="handleCurrentChange" + @size-change="handleSizeChangeForm" + @current-change="handleCurrentChangeForm" :current-page="formData.currentPage" :page-sizes="[10, 20, 60, 100]" :page-size="formData.pageSize" @@ -219,7 +220,7 @@ } " ></i> - <el-table :data="personList" style="width: 100%"> + <el-table :data="personList" style="width: 100%" :max-height="600"> <el-table-column prop="name" label="濮撳悕"> <template slot-scope="scope"> <span @@ -248,7 +249,7 @@ style="margin-top: 0.1rem; flex: 1; width: 100%; position: relative" > <div - v-if="!loading && links.length == 0" + v-if="!loading && nodeDatas.length == 0" style=" position: absolute; top: 30%; @@ -289,7 +290,7 @@ <p>鍖诲鍒嗙锛� {{ detailData.medicalBranch }}</p> <p>灏忎紶锛歿{ detailData.biography }}</p> </div> - <div class="btn" @click="spaceTimeArr(detailData.id)">鏌ョ湅鏇村>>></div> + <div class="btn" @click="spaceTimeArr(detailData.id, 1)">鏌ョ湅鏇村>>></div> </div> <div id="schoolDialog" class="customDialog"> <div class="title"> @@ -297,13 +298,12 @@ <span @click="closeDom">鍏抽棴</span> </div> <div class="content"> - <p>濮撳悕锛歿{ detailData.name }}</p> - <p>鍒悕锛歿{ detailData.alias }}</p> - <p>绫嶈疮锛歿{ detailData.nativePlace }}</p> - <p>鍖诲鍒嗙锛� {{ detailData.medicalBranch }}</p> - <p>灏忎紶锛歿{ detailData.biography }}</p> + <p>浠h〃浜虹墿锛歿{ detailData.character }}</p> + <p>閲嶈鍖诲锛歿{ detailData.skilledDoctor }}</p> + <p>浠h〃鎬ц憲浣滐細{{ detailData.works }}</p> + <p>瀛︽淳鎬濇兂锛� {{ detailData.thought }}</p> </div> - <div class="btn" @click="spaceTimeArr(detailData.id)">鏌ョ湅鏇村>>></div> + <div class="btn" @click="spaceTimeArr(detailData.id, 2)">鏌ョ湅鏇村>>></div> </div> <el-drawer title="鍦板潃鍒楄〃" @@ -399,7 +399,7 @@ getSocialDistinction, getDynastyAll, getAdvancedData, - getPlaceInfo, + getPlaceInfo } from "@/api/index.js"; import * as echarts from "echarts"; export default { @@ -420,28 +420,28 @@ // 鍒嗙被 categories: [ { - name: "浜插睘鍏崇郴", + name: "浜插睘鍏崇郴" }, { - name: "甯堟壙鍏崇郴", + name: "甯堟壙鍏崇郴" }, { - name: "鏂囩尞浣滃搧", + name: "鏂囩尞浣滃搧" }, { - name: "绀句細鍏崇郴", + name: "绀句細鍏崇郴" }, { - name: "娲诲姩鍦�", + name: "娲诲姩鍦�" }, { - name: "瀛︽湳娴佹淳", - }, + name: "瀛︽湳娴佹淳" + } ], // 褰撳墠浜虹墿淇℃伅 ownInfo: null, detailData: { - name: "", + name: "" }, isAdvancedSearch: false, formData: { @@ -454,14 +454,14 @@ page: 1, currentPage: 1, pageSize: 10, - total: 0, + total: 0 }, showPerson: false, personList: [], personPageInfo: { totalCount: 0, page: 1, - limit: 10, + limit: 10 }, personTag: [], socialDistinction: [], @@ -480,7 +480,7 @@ infoOfPersons: [], infoOfSchools: [], nodeDatas: [], - links: [], + links: [] }; }, mounted() { @@ -502,7 +502,7 @@ this.gridData = []; this.getAddressList(); }, - // 鍒嗛〉 + // 鍒嗛〉 handleSizeChange(val) { this.pageSize = val; this.getAddressList(); @@ -511,13 +511,22 @@ this.page = val; this.getAddressList(); }, + + handleSizeChangeForm(val) { + this.formData.pageSize = val; + this.searchFun(); + }, + handleCurrentChangeForm(val) { + this.formData.page = val; + this.searchFun(); + }, // 琛ㄦ牸閫夋嫨 handleSelectionChange(val) { const data = val.map((item) => { return { ...item, name: item.currentName, - id: item.dynastyId, + id: item.dynastyId }; }); this.formData.actively = data; @@ -538,7 +547,7 @@ return { ...item, name: item.currentName, - id: item.dynastyId, + id: item.dynastyId }; }); this.formData.actively = data; @@ -549,7 +558,7 @@ getAddressList() { const data = { page: this.page, - pageSize: this.pageSize, + pageSize: this.pageSize }; if (this.dynastyId != "") { data["dynastyId"] = this.dynastyId; @@ -565,7 +574,7 @@ this.gridData = res?.list?.map((item, i) => { return { ...item, - index: i, + index: i }; }); } else { @@ -597,16 +606,15 @@ page: 1, currentPage: 1, pageSize: 10, - total: 0, + total: 0 }; }, - searchFun() { const palceData = this.formData.actively?.map((item) => { return { ancientName: item.ancientName ?? "", dynastyId: item.dynastyId, - currentName: item.currentName, + currentName: item.currentName }; }); let Obj = { @@ -617,7 +625,7 @@ socialDistinctionIdList: this.formData.socialIdentity, dynastyIdList: this.formData.period, page: this.formData.page, - pageSize: this.formData.pageSize, + pageSize: this.formData.pageSize }; // // 鎼滅储 getAdvancedData(Obj).then((res) => { @@ -627,48 +635,90 @@ id: item.personId, name: item?.NAME?.map((e, i) => { - i += 1; - return e["content" + i]; - }).join("銆�") ?? "", + let data = []; + Object.entries(e).forEach((c) => { + if (c[0]?.indexOf("content") > -1) { + data.push(c[1]); + } + }); + return data; + }).join() ?? "", alias: item?.ALIAS?.map((e, i) => { - i += 1; - return e["content" + i]; - }).join("銆�") ?? "", + let data = []; + Object.entries(e).forEach((c) => { + if (c[0]?.indexOf("content") > -1) { + data.push(c[1]); + } + }); + return data; + }).join() ?? "", place: item?.NATIVE_PLACE?.map((e, i) => { - i += 1; - return e["content" + i]; - }).join("銆�") ?? "", + let data = []; + Object.entries(e).forEach((c) => { + if (c[0]?.indexOf("content") > -1) { + data.push(c[1]); + } + }); + return data; + }).join() ?? "", medicalBranch: item?.MEDICAL_BRANCH?.map((e, i) => { - i += 1; - return e["content" + i]; - }).join("銆�") ?? "", + let data = []; + Object.entries(e).forEach((c) => { + if (c[0]?.indexOf("content") > -1) { + data.push(c[1]); + } + }); + return data; + }).join() ?? "", socialDistinction: item?.SOCIAL_IDENTITY?.map((e, i) => { - i += 1; - return e["content" + i]; - }).join("銆�") ?? "", + let data = []; + Object.entries(e).forEach((c) => { + if (c[0]?.indexOf("content") > -1) { + data.push(c[1]); + } + }); + return data; + }).join() ?? "", period: item?.PERIOD?.map((e, i) => { - i += 1; - return e["content" + i]; - }).join("銆�") ?? "", + let data = []; + Object.entries(e).forEach((c) => { + if (c[0]?.indexOf("content") > -1) { + data.push(c[1]); + } + }); + return data; + }).join() ?? "", workName: item?.REPRESENTATIVE_WORKS?.map((e, i) => { - i += 1; - return e["content" + i]; - }).join("銆�") ?? "", + let data = []; + Object.entries(e).forEach((c) => { + if (c[0]?.indexOf("content") > -1) { + data.push(c[1]); + } + }); + return data; + }).join() ?? "", personLabel: item?.PERSON_LABEL?.map((e, i) => { - i += 1; - return e["content" + i]; - }).join("銆�") ?? "", + let data = []; + Object.entries(e).forEach((c) => { + if (c[0]?.indexOf("content") > -1) { + data.push(c[1]); + } + }); + return data; + }).join() ?? "" }; }); - // 鎬绘暟閲� - this.formData.total = res.npage.totalCount; + if (res?.npage) { + // 鎬绘暟閲� + this.formData.total = res.npage.totalCount; + } } }); }, @@ -696,7 +746,7 @@ parentName: parent?.NAME[0]?.content1 ?? parent.parentName, name: personInfo?.NAME[0]?.content1, category: type, - symbolSize: 15, + symbolSize: 15 }; if (order > 80) { order = 80; @@ -798,7 +848,7 @@ const data = item[str]?.map((e) => { return { ...e, - personId: item.personId, + personId: item.personId }; }); if (ele[str] && data?.length) { @@ -932,7 +982,7 @@ // place = [...newArr]; // } // if (obj.schoolList?.length) { - // this.categories.push({ name: "瀛︽湳娴佹淳" }); + // this.categories.push({ name: "瀛︽湳鍥捐氨" }); // let newArr = []; // const data = this.changeLiterature(obj.schoolList, "schoolList"); // this.getPersonInfo( @@ -987,8 +1037,8 @@ id: item.mainId, name: mainPerson.NAME[0].content1, itemStyle: { - color: "#244a7b", - }, + color: "#244a7b" + } }); } else { switch (parent.thisType) { @@ -1005,7 +1055,7 @@ this.nodeDatas.push({ category: 0, id: item.mainId, - name: p.NAME[0].content1, + name: p.NAME[0].content1 }); } } @@ -1021,8 +1071,8 @@ padding: [3, 8], borderRadius: 30, position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず - distance: -10, // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 - }, + distance: -10 // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 + } }); break; case 2: @@ -1034,12 +1084,12 @@ this.nodeDatas.push({ category: 2, id: item.mainId, - name: item.literatureName, + name: item.literatureName }); } this.links.push({ source: item.mainId, - target: parent.mainId, + target: parent.mainId }); break; case 3: @@ -1051,12 +1101,12 @@ this.nodeDatas.push({ category: 4, id: item.mainId, - name: item.ancientName, + name: item.ancientName }); } this.links.push({ source: item.mainId, - target: parent.mainId, + target: parent.mainId }); break; case 4: @@ -1072,13 +1122,13 @@ this.nodeDatas.push({ category: 5, id: item.mainId, - name: s.name[0], + name: s.name[0] }); } } this.links.push({ source: item.mainId, - target: parent.mainId, + target: parent.mainId }); break; case 5: @@ -1094,7 +1144,7 @@ this.nodeDatas.push({ category: 3, id: item.mainId, - name: p.NAME[0].content1, + name: p.NAME[0].content1 }); } } @@ -1110,8 +1160,8 @@ padding: [3, 8], borderRadius: 30, position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず - distance: -10, // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 - }, + distance: -10 // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 + } }); break; case 6: @@ -1127,7 +1177,7 @@ this.nodeDatas.push({ category: 1, id: item.mainId, - name: p.NAME[0].content1, + name: p.NAME[0].content1 }); } } @@ -1143,8 +1193,8 @@ padding: [3, 8], borderRadius: 30, position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず - distance: -10, // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 - }, + distance: -10 // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 + } }); break; } @@ -1162,7 +1212,7 @@ if (item.placeList && item.placeList.length) { this.handleData(item.placeList, { ...item, thisType: 3 }); } - // 瀛︽湳娴佹淳 + // 瀛︽湳鍥捐氨 if (item.schoolList && item.schoolList.length) { this.handleData(item.schoolList, { ...item, thisType: 4 }); } @@ -1195,7 +1245,7 @@ } return { ...item, - symbolSize: size > 80 ? 80 : size, + symbolSize: size > 80 ? 80 : size }; }); @@ -1229,8 +1279,8 @@ orient: "vertical", data: this.categories.map(function (a) { return a.name; - }), - }, + }) + } ], series: [ { @@ -1245,27 +1295,27 @@ label: { show: true, position: "right", - formatter: "{b}", + formatter: "{b}" }, scaleLimit: { min: 0.4, - max: 2, + max: 2 }, lineStyle: { color: "source", - curveness: 0.2, + curveness: 0.2 }, emphasis: { focus: "adjacency", lineStyle: { - width: 5, - }, + width: 5 + } }, force: { repulsion: 600, - edgeLength: 300, - }, - }, + edgeLength: 300 + } + } ], color: [ "#5470c6", @@ -1273,8 +1323,8 @@ "#fac858", "#ee6666", "#ea7ccc", - "#9a60b4", - ], + "#9a60b4" + ] }; // 璁剧疆鐐瑰嚮浜嬩欢鐩戝惉 myChart.off("click"); @@ -1294,6 +1344,8 @@ const e = params.event; const div = document.getElementById("customDialog"); div.style.display = "block"; + const div2 = document.getElementById("schoolDialog"); + div2.style.display = "none"; div.style.left = e.offsetX + 50 + "px"; div.style.top = e.offsetY - 50 + "px"; const data = this.infoOfPersons?.find((i) => i.id == id); @@ -1319,7 +1371,7 @@ i += 1; return e["content" + i]; }).join("銆�") ?? "", - biography: data?.BIOGRAPHY ?? "", + biography: data?.BIOGRAPHY ?? "" }; this.detailData = obj; } @@ -1328,32 +1380,26 @@ const e = params.event; const div = document.getElementById("schoolDialog"); div.style.display = "block"; + const div2 = document.getElementById("customDialog"); + div2.style.display = "none"; div.style.left = e.offsetX + 50 + "px"; div.style.top = e.offsetY - 50 + "px"; - const data = this.infoOfPersons?.find((i) => i.id == id); + const data = this.infoOfSchools?.find((i) => i.schoolId == id); const obj = { - id: params.data.id, - name: - data?.NAME?.map((e, i) => { - i += 1; - return e["content" + i]; - }).join("銆�") ?? "", - alias: - data?.ALIAS?.map((e, i) => { - i += 1; - return e["content" + i]; - }).join("銆�") ?? "", - nativePlace: - data?.NATIVE_PLACE?.map((e, i) => { - i += 1; - return e["content" + i]; - }).join("銆�") ?? "", - medicalBranch: - data?.MEDICAL_BRANCH?.map((e, i) => { - i += 1; - return e["content" + i]; - }).join("銆�") ?? "", - biography: data?.BIOGRAPHY ?? "", + id: id, + name: data.name[0], + character: data.important_people + ? data.important_people.map((item) => item.personName).join("銆�") + : "", + skilledDoctor: data.important_physician + ? data.important_physician.map((item) => item.personName).join("銆�") + : "", + works: data.important_work + ? data.important_work.map((item) => item.literatureTitle).join("銆�") + : "", + thought: data.school_introduction + ? data.school_introduction.join("銆�") + : "" }; this.detailData = obj; } @@ -1362,11 +1408,12 @@ closeDom() { const div = document.getElementById("customDialog"); div.style.display = "none"; + const div2 = document.getElementById("schoolDialog"); + div2.style.display = "none"; }, // 鍩虹鎼滅储 onSearch(val, index) { - console.log(val); if (index !== undefined) { // 鐑棬鎼滅储鍏抽敭瀛楋紝鐩存帴鏌ヨ鏁版嵁 this.searchKey = ""; @@ -1385,8 +1432,8 @@ searchPerson(key) { academicSearch({ keyword: key, - page: this.personPageInfo.page, - pageSize: this.personPageInfo.limit, + page: 1, + pageSize: 999 }).then((res) => { this.personList = res.list.map((item) => { return { @@ -1407,7 +1454,7 @@ division: item.medicalBranchList && item.medicalBranchList.length ? item.medicalBranchList[0].content1 - : "-", + : "-" }; }); this.showPerson = true; @@ -1415,11 +1462,18 @@ }, // 鍏崇郴鍥� 鐐瑰嚮閲岄潰鐨勫厓绱� - spaceTimeArr(id) { - // 鍏崇郴鍥剧殑鏁版嵁 - uni.navigateTo({ - url: "/pages/character/detail?id=" + id, - }); + spaceTimeArr(id, type) { + if (type == 1) { + // 浜虹墿 + uni.navigateTo({ + url: "/pages/character/detail?id=" + id + }); + } else { + // 瀛︽淳 + uni.navigateTo({ + url: "/pages/academicGenres/detail?id=" + id + }); + } }, // 鑾峰彇鏈濅唬echarts鐨勬暟鎹� @@ -1444,7 +1498,7 @@ this.hotKeyList = indexList.map((item) => { return { id: item, - name: res.object[item], + name: res.object[item] }; }); }); @@ -1460,8 +1514,8 @@ // document.querySelector(".fbox1").style.height = box1Height + "px"; // } // }); - }, - }, + } + } }; </script> @@ -1477,6 +1531,14 @@ color: #333; font-weight: normal; font-size: 14px; +} + +.fromTable + .drawerPage + >>> .el-pagination.is-background + .el-pager + li:not(.disabled).active { + background-color: rgb(36, 74, 123) !important; } .customDrawer >>> .el-drawer__header { @@ -1520,12 +1582,6 @@ justify-content: flex-end; padding: 20px 0; box-sizing: border-box; -} - -.drawerPage - >>> .el-pagination.is-background - .el-pager - li:not(.disabled).active { } .drawerBtn { -- Gitblit v1.9.1