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