From e4278df3b718638bc5511ff34c4c571b0da305a3 Mon Sep 17 00:00:00 2001 From: QYF-GitLab1 <1940665526@qq.com> Date: 星期五, 26 七月 2024 11:39:56 +0800 Subject: [PATCH] 1 --- src/pages/academicSchools/index.vue | 368 +++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 264 insertions(+), 104 deletions(-) diff --git a/src/pages/academicSchools/index.vue b/src/pages/academicSchools/index.vue index d8603ac..62ff658 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,50 +158,65 @@ 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="personName" width="120" label="濮撳悕"> + <el-table-column prop="name" width="150" label="濮撳悕"> <template slot-scope="scope"> <a style="cursor: pointer; color: #027edc" - @click="gotoDetail(scope.row.id)" - >{{ scope.row.personName }}</a + @click=" + () => { + currentId = scope.row.id; + getData(); + isAdvancedSearch = false; + } + " + >{{ scope.row.name }}</a > </template> </el-table-column> - <el-table-column prop="personAlias" label="鍒悕"></el-table-column> - <el-table-column prop="palce" label="娲诲姩鍦�"></el-table-column> + <el-table-column prop="alias" label="鍒悕"></el-table-column> + <el-table-column prop="place" label="娲诲姩鍦�"></el-table-column> <el-table-column - prop="birthYear" + prop="medicalBranch" label="鍖诲鍒嗙" - width="120" + width="150" ></el-table-column> - <el-table-column prop="deathYear" label="浣滃搧"></el-table-column> + <el-table-column prop="workName" label="浣滃搧"></el-table-column> <el-table-column - prop="nativePlace" - width="120" + prop="personLabel" + width="150" label="浜虹墿鏍囩" ></el-table-column> <el-table-column prop="socialDistinction" label="绀句細韬唤" - width="120" + width="150" ></el-table-column> <el-table-column - prop="official" - width="120" + prop="period" + width="150" label="鏃舵湡" ></el-table-column> </el-table> - <div style="text-align: right; padding-top: 20px"> - <el-button - style="width: 120px; background-color: #244a7b; color: #fff" - >纭</el-button + <div class="drawerPage"> + <el-pagination + class="paging flex" + background + @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" + :total="formData.total" > + </el-pagination> </div> </div> </view> @@ -205,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 @@ -234,7 +258,7 @@ style="margin-top: 0.1rem; flex: 1; width: 100%; position: relative" > <div - v-if="!loading && relationships.length == 0" + v-if="!loading && nodeDatas.length == 0" style=" position: absolute; top: 30%; @@ -357,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" @@ -383,7 +407,8 @@ getPersonTag, getSocialDistinction, getDynastyAll, - getPlaceInfo + getAdvancedData, + getPlaceInfo, } from "@/api/index.js"; import * as echarts from "echarts"; export default { @@ -404,28 +429,28 @@ // 鍒嗙被 categories: [ { - name: "浜插睘鍏崇郴" + name: "浜插睘鍏崇郴", }, { - name: "甯堟壙鍏崇郴" + name: "甯堟壙鍏崇郴", }, { - name: "鏂囩尞浣滃搧" + name: "鏂囩尞浣滃搧", }, { - name: "绀句細鍏崇郴" + name: "绀句細鍏崇郴", }, { - name: "娲诲姩鍦�" + name: "娲诲姩鍦�", }, { - name: "瀛︽湳娴佹淳" + name: "瀛︽湳鍥捐氨" } ], // 褰撳墠浜虹墿淇℃伅 ownInfo: null, detailData: { - name: "" + name: "", }, isAdvancedSearch: false, formData: { @@ -434,14 +459,18 @@ works: "", personTags: "", socialIdentity: "", - period: "" + period: "", + page: 1, + currentPage: 1, + pageSize: 10, + total: 0, }, showPerson: false, personList: [], personPageInfo: { totalCount: 0, page: 1, - limit: 10 + limit: 10, }, personTag: [], socialDistinction: [], @@ -460,7 +489,7 @@ infoOfPersons: [], infoOfSchools: [], nodeDatas: [], - links: [] + links: [], }; }, mounted() { @@ -479,10 +508,11 @@ methods: { // 鎼滅储鍦板潃 searchAddress() { + this.page = 1; this.gridData = []; this.getAddressList(); }, - // 鍒嗛〉 + // 鍒嗛〉 handleSizeChange(val) { this.pageSize = val; this.getAddressList(); @@ -491,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; @@ -518,7 +557,7 @@ return { ...item, name: item.currentName, - id: item.dynastyId + id: item.dynastyId, }; }); this.formData.actively = data; @@ -529,7 +568,7 @@ getAddressList() { const data = { page: this.page, - pageSize: this.pageSize + pageSize: this.pageSize, }; if (this.dynastyId != "") { data["dynastyId"] = this.dynastyId; @@ -545,15 +584,9 @@ this.gridData = res?.list?.map((item, i) => { return { ...item, - index: i + index: i, }; }); - setTimeout(() => { - this.multipleTableSelection.forEach((row) => { - this.$refs.multipleTable.toggleRowSelection(row); - }); - this.formData.actively = this.multipleTableSelection; - }, 2000); } else { this.gridData = []; } @@ -577,14 +610,129 @@ name: "", actively: [], works: "", - personTags: "", - socialIdentity: "", - period: "" + personTags: [], + socialIdentity: [], + period: [], + page: 1, + currentPage: 1, + pageSize: 10, + total: 0, }; + this.formData.page = 1; + this.searchFun(); }, - searchFun() { - console.log(this.formData); + const palceData = this.formData.actively?.map((item) => { + return { + ancientName: item.ancientName ?? "", + dynastyId: item.dynastyId, + currentName: item.currentName, + }; + }); + let Obj = { + keyword: this.formData.name, + placeList: [...palceData], + literatureName: this.formData.works, + personTagIdList: this.formData.personTags, + socialDistinctionIdList: this.formData.socialIdentity, + dynastyIdList: this.formData.period, + page: this.formData.page, + pageSize: this.formData.pageSize, + }; + // // 鎼滅储 + getAdvancedData(Obj).then((res) => { + if (res?.success) { + this.tableData = res.list.map((item) => { + return { + id: item.personId, + name: + item?.NAME?.map((e, i) => { + 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) => { + 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) => { + 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) => { + 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) => { + 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) => { + 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) => { + 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) => { + let data = []; + Object.entries(e).forEach((c) => { + if (c[0]?.indexOf("content") > -1) { + data.push(c[1]); + } + }); + return data; + }).join() ?? "", + }; + }); + if (res?.npage) { + // 鎬绘暟閲� + this.formData.total = res.npage.totalCount; + } + } + }); }, selectActively() { @@ -610,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; @@ -712,7 +860,7 @@ const data = item[str]?.map((e) => { return { ...e, - personId: item.personId + personId: item.personId, }; }); if (ele[str] && data?.length) { @@ -724,6 +872,7 @@ } return arr; }, + //鏁扮粍鍘婚噸 deduplicateArray(arr, idKey) { // 浣跨敤涓�涓緟鍔╁璞℃潵璺熻釜宸茬粡瑙佽繃鐨処D @@ -845,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( @@ -900,8 +1049,8 @@ id: item.mainId, name: mainPerson.NAME[0].content1, itemStyle: { - color: "#244a7b" - } + color: "#244a7b", + }, }); } else { switch (parent.thisType) { @@ -918,7 +1067,7 @@ this.nodeDatas.push({ category: 0, id: item.mainId, - name: p.NAME[0].content1 + name: p.NAME[0].content1, }); } } @@ -934,8 +1083,8 @@ padding: [3, 8], borderRadius: 30, position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず - distance: -10 // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 - } + distance: -10, // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 + }, }); break; case 2: @@ -947,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: @@ -964,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: @@ -985,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: @@ -1007,7 +1156,7 @@ this.nodeDatas.push({ category: 3, id: item.mainId, - name: p.NAME[0].content1 + name: p.NAME[0].content1, }); } } @@ -1023,8 +1172,8 @@ padding: [3, 8], borderRadius: 30, position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず - distance: -10 // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 - } + distance: -10, // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 + }, }); break; case 6: @@ -1040,7 +1189,7 @@ this.nodeDatas.push({ category: 1, id: item.mainId, - name: p.NAME[0].content1 + name: p.NAME[0].content1, }); } } @@ -1056,8 +1205,8 @@ padding: [3, 8], borderRadius: 30, position: "middle", // 璁剧疆鏍囩鏂囨湰鍦ㄧ嚎鐨勪腑闂翠綅缃笂灞呬腑鏄剧ず - distance: -10 // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 - } + distance: -10, // 灏嗘爣绛炬斁缃湪杩炴帴绾夸笂 + }, }); break; } @@ -1075,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 }); } @@ -1108,7 +1257,7 @@ } return { ...item, - symbolSize: size > 80 ? 80 : size + symbolSize: size > 80 ? 80 : size, }; }); @@ -1142,8 +1291,8 @@ orient: "vertical", data: this.categories.map(function (a) { return a.name; - }) - } + }), + }, ], series: [ { @@ -1158,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", @@ -1186,8 +1335,8 @@ "#fac858", "#ee6666", "#ea7ccc", - "#9a60b4" - ] + "#9a60b4", + ], }; // 璁剧疆鐐瑰嚮浜嬩欢鐩戝惉 myChart.off("click"); @@ -1232,7 +1381,7 @@ i += 1; return e["content" + i]; }).join("銆�") ?? "", - biography: data?.BIOGRAPHY ?? "" + biography: data?.BIOGRAPHY ?? "", }; this.detailData = obj; } @@ -1244,23 +1393,21 @@ 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, 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.map((item) => item).join("銆�") + : "", }; this.detailData = obj; } @@ -1270,9 +1417,9 @@ const div = document.getElementById("customDialog"); div.style.display = "none"; }, + // 鍩虹鎼滅储 onSearch(val, index) { - console.log(val); if (index !== undefined) { // 鐑棬鎼滅储鍏抽敭瀛楋紝鐩存帴鏌ヨ鏁版嵁 this.searchKey = ""; @@ -1286,12 +1433,13 @@ this.searchPerson(val.text); } }, + // 鏍规嵁鍏抽敭瀛楁绱汉鐗� 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 { @@ -1312,19 +1460,21 @@ division: item.medicalBranchList && item.medicalBranchList.length ? item.medicalBranchList[0].content1 - : "-" + : "-", }; }); this.showPerson = true; }); }, + // 鍏崇郴鍥� 鐐瑰嚮閲岄潰鐨勫厓绱� spaceTimeArr(id) { // 鍏崇郴鍥剧殑鏁版嵁 uni.navigateTo({ - url: "/pages/character/detail?id=" + id + url: "/pages/character/detail?id=" + id, }); }, + // 鑾峰彇鏈濅唬echarts鐨勬暟鎹� echartsArr() { getDataStatistics().then((res) => { @@ -1338,6 +1488,7 @@ }); }); }, + // 鐑棬鎼滅储 hotSearch() { getHotSearch().then((res) => { @@ -1346,11 +1497,12 @@ this.hotKeyList = indexList.map((item) => { return { id: item, - name: res.object[item] + name: res.object[item], }; }); }); }, + isAvancedClick() { this.isAdvancedSearch = !this.isAdvancedSearch; // this.$nextTick(() => { @@ -1361,8 +1513,8 @@ // document.querySelector(".fbox1").style.height = box1Height + "px"; // } // }); - } - } + }, + }, }; </script> @@ -1378,6 +1530,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 { @@ -1480,7 +1640,7 @@ min-height: 240px; display: none; position: fixed; - z-index: 99999999; + z-index: 9999999; border-radius: 2px; background: #fff; } -- Gitblit v1.9.1