From 571e12ca122d12f20689e3040a0f368ef1ae8850 Mon Sep 17 00:00:00 2001
From: YM <479443481@qq.com>
Date: 星期五, 26 七月 2024 11:16:08 +0800
Subject: [PATCH] 1

---
 src/pages/academicSchools/index.vue |  230 +++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 190 insertions(+), 40 deletions(-)

diff --git a/src/pages/academicSchools/index.vue b/src/pages/academicSchools/index.vue
index d8603ac..0bb5433 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,50 +149,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.currentPage"
+              :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 +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
@@ -234,7 +249,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%;
@@ -383,7 +398,8 @@
   getPersonTag,
   getSocialDistinction,
   getDynastyAll,
-  getPlaceInfo
+  getAdvancedData,
+  getPlaceInfo,
 } from "@/api/index.js";
 import * as echarts from "echarts";
 export default {
@@ -419,7 +435,7 @@
           name: "娲诲姩鍦�"
         },
         {
-          name: "瀛︽湳娴佹淳"
+          name: "瀛︽湳鍥捐氨"
         }
       ],
       // 褰撳墠浜虹墿淇℃伅
@@ -434,7 +450,11 @@
         works: "",
         personTags: "",
         socialIdentity: "",
-        period: ""
+        period: "",
+        page: 1,
+        currentPage: 1,
+        pageSize: 10,
+        total: 0,
       },
       showPerson: false,
       personList: [],
@@ -482,7 +502,7 @@
       this.gridData = [];
       this.getAddressList();
     },
-    //  鍒嗛〉
+    // 鍒嗛〉
     handleSizeChange(val) {
       this.pageSize = val;
       this.getAddressList();
@@ -490,6 +510,15 @@
     handleCurrentChange(val) {
       this.page = val;
       this.getAddressList();
+    },
+
+    handleSizeChangeForm(val) {
+      this.formData.pageSize = val;
+      this.searchFun();
+    },
+    handleCurrentChangeForm(val) {
+      this.formData.page = val;
+      this.searchFun();
     },
     // 琛ㄦ牸閫夋嫨
     handleSelectionChange(val) {
@@ -548,12 +577,6 @@
               index: i
             };
           });
-          setTimeout(() => {
-            this.multipleTableSelection.forEach((row) => {
-              this.$refs.multipleTable.toggleRowSelection(row);
-            });
-            this.formData.actively = this.multipleTableSelection;
-          }, 2000);
         } else {
           this.gridData = [];
         }
@@ -577,14 +600,127 @@
         name: "",
         actively: [],
         works: "",
-        personTags: "",
-        socialIdentity: "",
-        period: ""
+        personTags: [],
+        socialIdentity: [],
+        period: [],
+        page: 1,
+        currentPage: 1,
+        pageSize: 10,
+        total: 0,
       };
     },
-
     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() {
@@ -724,6 +860,7 @@
       }
       return arr;
     },
+
     //鏁扮粍鍘婚噸
     deduplicateArray(arr, idKey) {
       // 浣跨敤涓�涓緟鍔╁璞℃潵璺熻釜宸茬粡瑙佽繃鐨処D
@@ -845,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(
@@ -1075,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 });
         }
@@ -1270,9 +1407,9 @@
       const div = document.getElementById("customDialog");
       div.style.display = "none";
     },
+
     // 鍩虹鎼滅储
     onSearch(val, index) {
-      console.log(val);
       if (index !== undefined) {
         // 鐑棬鎼滅储鍏抽敭瀛楋紝鐩存帴鏌ヨ鏁版嵁
         this.searchKey = "";
@@ -1286,12 +1423,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 {
@@ -1318,6 +1456,7 @@
         this.showPerson = true;
       });
     },
+
     // 鍏崇郴鍥� 鐐瑰嚮閲岄潰鐨勫厓绱�
     spaceTimeArr(id) {
       // 鍏崇郴鍥剧殑鏁版嵁
@@ -1325,6 +1464,7 @@
         url: "/pages/character/detail?id=" + id
       });
     },
+
     // 鑾峰彇鏈濅唬echarts鐨勬暟鎹�
     echartsArr() {
       getDataStatistics().then((res) => {
@@ -1338,6 +1478,7 @@
         });
       });
     },
+
     // 鐑棬鎼滅储
     hotSearch() {
       getHotSearch().then((res) => {
@@ -1351,6 +1492,7 @@
         });
       });
     },
+
     isAvancedClick() {
       this.isAdvancedSearch = !this.isAdvancedSearch;
       // this.$nextTick(() => {
@@ -1380,6 +1522,14 @@
   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 {
   margin-bottom: 20px;
   border-bottom: 1px solid #eee;

--
Gitblit v1.9.1