From 21e72d18e42e0b5966f5c76ed853ff175f4418ad Mon Sep 17 00:00:00 2001 From: YM <479443481@qq.com> Date: 星期五, 26 七月 2024 11:50:41 +0800 Subject: [PATCH] Merge branch 'master' of http://182.92.203.7:2001/r/TCM_CharacterLibrary --- src/pages/academicSchools/index.vue | 325 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 200 insertions(+), 125 deletions(-) diff --git a/src/pages/academicSchools/index.vue b/src/pages/academicSchools/index.vue index 8b05a64..c4735dc 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=" @@ -135,12 +135,21 @@ <el-button size="mini" style="background-color: #244a7b; color: #fff" - @click="searchFun" + @click=" + () => { + searchKey = ''; + formData.page = 1; + searchFun(); + } + " >鎼滅储</el-button > <el-button size="mini" @click="resetForm">閲嶇疆</el-button> </div> </el-form> + <div style="font-size: 14px"> + 娉�:褰撳墠鏁版嵁杈冨锛屽彲鑳戒細鍑虹幇鍗℃鐨勬儏鍐碉紝璇峰敖閲忕簿纭煡璇㈡垨鏌ョ湅鏌愪竴绫绘暟鎹叧绯� + </div> <div class="fromTable"> <el-table :data="tableData" @@ -149,13 +158,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 +185,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,9 +208,9 @@ <el-pagination class="paging flex" background - @size-change="handleSizeChange" - @current-change="handleCurrentChange" - :current-page="formData.currentPage" + @size-change="handleSizeChangeForm" + @current-change="handleCurrentChangeForm" + :current-page="formData.page" :page-sizes="[10, 20, 60, 100]" :page-size="formData.pageSize" layout="total, sizes, prev, pager, next, jumper" @@ -219,7 +229,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 +258,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 +299,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"> @@ -302,7 +312,7 @@ <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="鍦板潃鍒楄〃" @@ -371,7 +381,7 @@ background @size-change="handleSizeChange" @current-change="handleCurrentChange" - :current-page="currentPage" + :current-page="page" :page-sizes="[10, 20, 60, 100]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" @@ -398,7 +408,7 @@ getSocialDistinction, getDynastyAll, getAdvancedData, - getPlaceInfo, + getPlaceInfo } from "@/api/index.js"; import * as echarts from "echarts"; export default { @@ -419,19 +429,19 @@ // 鍒嗙被 categories: [ { - name: "浜插睘鍏崇郴" + name: "浜插睘鍏崇郴", }, { - name: "甯堟壙鍏崇郴" + name: "甯堟壙鍏崇郴", }, { - name: "鏂囩尞浣滃搧" + name: "鏂囩尞浣滃搧", }, { - name: "绀句細鍏崇郴" + name: "绀句細鍏崇郴", }, { - name: "娲诲姩鍦�" + name: "娲诲姩鍦�", }, { name: "瀛︽湳娴佹淳" @@ -440,7 +450,7 @@ // 褰撳墠浜虹墿淇℃伅 ownInfo: null, detailData: { - name: "" + name: "", }, isAdvancedSearch: false, formData: { @@ -453,14 +463,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: [], @@ -479,7 +489,7 @@ infoOfPersons: [], infoOfSchools: [], nodeDatas: [], - links: [] + links: [], }; }, mounted() { @@ -498,10 +508,11 @@ methods: { // 鎼滅储鍦板潃 searchAddress() { + this.page = 1; this.gridData = []; this.getAddressList(); }, - // 鍒嗛〉 + // 鍒嗛〉 handleSizeChange(val) { this.pageSize = val; this.getAddressList(); @@ -510,13 +521,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; @@ -537,7 +557,7 @@ return { ...item, name: item.currentName, - id: item.dynastyId + id: item.dynastyId, }; }); this.formData.actively = data; @@ -548,7 +568,7 @@ getAddressList() { const data = { page: this.page, - pageSize: this.pageSize + pageSize: this.pageSize, }; if (this.dynastyId != "") { data["dynastyId"] = this.dynastyId; @@ -564,7 +584,7 @@ this.gridData = res?.list?.map((item, i) => { return { ...item, - index: i + index: i, }; }); } else { @@ -596,16 +616,17 @@ page: 1, currentPage: 1, pageSize: 10, - total: 0, + total: 0 }; + this.formData.page = 1; + this.searchFun(); }, - searchFun() { const palceData = this.formData.actively?.map((item) => { return { ancientName: item.ancientName ?? "", dynastyId: item.dynastyId, - currentName: item.currentName, + currentName: item.currentName }; }); let Obj = { @@ -616,7 +637,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) => { @@ -626,48 +647,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; + } } }); }, @@ -695,7 +758,7 @@ parentName: parent?.NAME[0]?.content1 ?? parent.parentName, name: personInfo?.NAME[0]?.content1, category: type, - symbolSize: 15 + symbolSize: 15, }; if (order > 80) { order = 80; @@ -797,7 +860,7 @@ const data = item[str]?.map((e) => { return { ...e, - personId: item.personId + personId: item.personId, }; }); if (ele[str] && data?.length) { @@ -931,7 +994,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( @@ -986,8 +1049,8 @@ id: item.mainId, name: mainPerson.NAME[0].content1, itemStyle: { - color: "#244a7b" - } + color: "#244a7b", + }, }); } else { switch (parent.thisType) { @@ -1004,7 +1067,7 @@ this.nodeDatas.push({ category: 0, id: item.mainId, - name: p.NAME[0].content1 + name: p.NAME[0].content1, }); } } @@ -1020,8 +1083,8 @@ padding: [3, 8], borderRadius: 30, position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず - distance: -10 // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 - } + distance: -10, // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 + }, }); break; case 2: @@ -1033,12 +1096,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: @@ -1050,12 +1113,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: @@ -1071,13 +1134,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: @@ -1093,7 +1156,7 @@ this.nodeDatas.push({ category: 3, id: item.mainId, - name: p.NAME[0].content1 + name: p.NAME[0].content1, }); } } @@ -1109,8 +1172,8 @@ padding: [3, 8], borderRadius: 30, position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず - distance: -10 // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 - } + distance: -10, // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 + }, }); break; case 6: @@ -1126,7 +1189,7 @@ this.nodeDatas.push({ category: 1, id: item.mainId, - name: p.NAME[0].content1 + name: p.NAME[0].content1, }); } } @@ -1142,8 +1205,8 @@ padding: [3, 8], borderRadius: 30, position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず - distance: -10 // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 - } + distance: -10, // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 + }, }); break; } @@ -1161,7 +1224,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 }); } @@ -1194,7 +1257,7 @@ } return { ...item, - symbolSize: size > 80 ? 80 : size + symbolSize: size > 80 ? 80 : size, }; }); @@ -1228,8 +1291,8 @@ orient: "vertical", data: this.categories.map(function (a) { return a.name; - }) - } + }), + }, ], series: [ { @@ -1244,27 +1307,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", @@ -1272,8 +1335,8 @@ "#fac858", "#ee6666", "#ea7ccc", - "#9a60b4" - ] + "#9a60b4", + ], }; // 璁剧疆鐐瑰嚮浜嬩欢鐩戝惉 myChart.off("click"); @@ -1293,6 +1356,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); @@ -1318,7 +1383,7 @@ i += 1; return e["content" + i]; }).join("銆�") ?? "", - biography: data?.BIOGRAPHY ?? "" + biography: data?.BIOGRAPHY ?? "", }; this.detailData = obj; } @@ -1327,25 +1392,25 @@ 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.infoOfSchools?.find((i) => i.schoolId == id); - console.log(data); - debugger const obj = { - id: params.data.id, + id: id, name: data.name[0], - character: data.important_PEOPLE - ? data.important_PEOPLE.map((item) => item.content2).join("銆�") + character: data.important_people + ? data.important_people.map((item) => item.personName).join("銆�") : "", - skilledDoctor: data.important_PHYSICIAN - ? data.important_PHYSICIAN.map((item) => item.content2).join("銆�") + skilledDoctor: data.important_physician + ? data.important_physician.map((item) => item.personName).join("銆�") : "", - works: data.important_WORK - ? data.important_WORK.map((item) => item.content).join("銆�") + works: data.important_work + ? data.important_work.map((item) => item.literatureTitle).join("銆�") : "", - thought: data.school_THOUGHT - ? data.school_THOUGHT.map((item) => item.content).join("銆�") + thought: data.school_introduction + ? data.school_introduction.join("銆�") : "" }; this.detailData = obj; @@ -1355,11 +1420,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 = ""; @@ -1378,8 +1444,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 { @@ -1400,7 +1466,7 @@ division: item.medicalBranchList && item.medicalBranchList.length ? item.medicalBranchList[0].content1 - : "-" + : "-", }; }); this.showPerson = true; @@ -1408,11 +1474,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鐨勬暟鎹� @@ -1437,7 +1510,7 @@ this.hotKeyList = indexList.map((item) => { return { id: item, - name: res.object[item] + name: res.object[item], }; }); }); @@ -1453,8 +1526,8 @@ // document.querySelector(".fbox1").style.height = box1Height + "px"; // } // }); - } - } + }, + }, }; </script> @@ -1470,6 +1543,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 { @@ -1513,12 +1594,6 @@ justify-content: flex-end; padding: 20px 0; box-sizing: border-box; -} - -.drawerPage - >>> .el-pagination.is-background - .el-pager - li:not(.disabled).active { } .drawerBtn { @@ -1578,7 +1653,7 @@ min-height: 240px; display: none; position: fixed; - z-index: 99999999; + z-index: 9999999; border-radius: 2px; background: #fff; } -- Gitblit v1.9.1