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/knowledgeBase/knowledgeBase.vue | 281 ++++++++++++++++++++++++++++++++----------------------- 1 files changed, 164 insertions(+), 117 deletions(-) diff --git a/src/pages/knowledgeBase/knowledgeBase.vue b/src/pages/knowledgeBase/knowledgeBase.vue index 970b559..111bf5d 100644 --- a/src/pages/knowledgeBase/knowledgeBase.vue +++ b/src/pages/knowledgeBase/knowledgeBase.vue @@ -1,7 +1,7 @@ <template> <view> <!-- 椤堕儴 --> - <headNav idIndex="0" text="涓浗鍖诲浜虹墿鐭ヨ瘑搴�" /> + <headNav idIndex="0" text="涓浗鍘嗕唬鍖诲浜虹墿鐭ヨ瘑搴�" /> <!-- 鎼滅储 --> <view class="flex flex-center Search"> <!-- <luanqing-search class="search_bar" @onSearch="onSearch"></luanqing-search> --> @@ -15,7 +15,7 @@ class="advancedSea" @click="isAvancedClick" style="color: #244a7b; cursor: pointer" - >楂樼骇鎼滅储 锕�</view + >楂樼骇鎼滅储 {{ isAdvancedSearch ? "鈭�" : "鈭�" }}</view > </view> <!-- 鐑棬鎼滅储 --> @@ -26,11 +26,11 @@ 鐑棬鎼滅储锛� <ul class="flex" style="margin-right: 10rpx"> <li - v-for="item in hot" - @click="hotSearchClick(item)" + v-for="(item, index) in hot" + @click="hotSearchClick(item, index)" :key="item.id" - class="cursor" - style="color: #5879a4" + :class="{ cursor: true, active: hotAciveIndex === index }" + style="color: #244a7b" > {{ item.name }} </li> @@ -47,7 +47,7 @@ class="advancedSeaTrue1" > <h3>楂樼骇鎼滅储</h3> - <MyForm @submit="onSubmit" :from="from" /> + <MyForm @submit="onSubmit" @reset="resetForm" :from="from" /> </view> </view> <uni-row @@ -77,24 +77,24 @@ :style="{ background: profession.index === item.tagId ? '#d6e3f4' : '', borderRadius: profession.index === item.tagId ? '60rpx' : '', - display: index + 1 > professionIndex ? 'none' : 'flex', + display: index + 1 > professionIndex ? 'none' : 'flex' }" v-for="(item, index) in profession.list" :key="index" style="padding: 0 20rpx; line-height: 0.3rem; height: 0.3rem" @click="handInstitCLick(item, 'a')" > - <view class="">{{ item.tagName }}</view> - <view class="">{{ item.count }}</view> + <view>{{ item.tagName }}</view> + <view>{{ item.count }}</view> </li> </ul> <view v-if="profession.list.length - 1 > 3" class="flex flex-center"> <view class="toggleButton" - style="color: #c1d3ea" + style="color: #244a7b" @click="shrinkClick('a', '鑱屼笟')" > - {{ activeBox !== "a" ? "鏇村 锕�" : "鏀惰捣 锔�" }} + {{ activeBox !== "a" ? "鏇村 鈭�" : "鏀惰捣 鈭�" }} </view> </view> </view> @@ -115,24 +115,24 @@ :style="{ background: dynasty.index === item.dynastyId ? '#d6e3f4' : '', borderRadius: dynasty.index === item.dynastyId ? '60rpx' : '', - display: index + 1 > dynastyIndex ? 'none' : 'flex', + display: index + 1 > dynastyIndex ? 'none' : 'flex' }" v-for="(item, index) in dynasty.list" :key="index" style="padding: 0 20rpx" @click="handInstitCLick(item, 'b')" > - <view class="">{{ item.dynastyName }}</view> - <view class="">{{ item.count }}</view> + <view>{{ item.dynastyName }}</view> + <view>{{ item.count }}</view> </li> </ul> <view v-if="dynasty.list.length - 1 > 3" class="flex flex-center"> <view class="toggleButton" - style="color: #c1d3ea" + style="color: #244a7b" @click="shrinkClick('b', '鏃舵湡')" > - {{ activeBox !== "b" ? "鏇村 锕�" : "鏀惰捣 锔�" }} + {{ activeBox !== "b" ? "鏇村 鈭�" : "鏀惰捣 鈭�" }} </view> </view> </view> @@ -160,12 +160,12 @@ style="padding: 0 20rpx; color: #244a7b" @click="handInstitCLick(item, 'c')" > - <view class="">{{ index + 1 + ". " + item.source }}</view> + <view>{{ index + 1 + ". " + item.source }}</view> </li> </ul> <!-- <view class="flex flex-center"> <view class="toggleButton" style="font-size: 25rpx;color: #C1D3EA;" @click="shrinkClick('b')"> - {{ activeBox !== 'b' ? '鏇村 锕�' : '鏀惰捣 锔�' }} + {{ activeBox !== 'b' ? '鏇村 鈭�' : '鏀惰捣 鈭�' }} </view> </view> --> </view> @@ -182,12 +182,25 @@ " > <view class="flex lightTop" style="width: 100%; margin: 0.1rem 0"> - <view class="" style="color: #2c2c2c">鍏眥{ total }}鏉�</view> + <view style="color: #2c2c2c">鍏眥{ total }}鏉�</view> <el-button size="small" @click="exportClick">涓嬭浇</el-button> </view> - <el-table :data="tableData" class="lightBo" style="width: 100%"> + <el-table + :data="tableData" + class="lightBo" + style="width: 100%" + empty-text="鏆傛棤鎼滅储淇℃伅" + > <el-table-column prop="id" label="搴忓彿" width="110"></el-table-column> - <el-table-column prop="personName" label="濮撳悕"></el-table-column> + <el-table-column prop="personName" label="濮撳悕"> + <template slot-scope="scope"> + <a + style="cursor: pointer; color: #027edc" + @click="gotoDetail(scope.row.id)" + >{{ scope.row.personName }}</a + > + </template> + </el-table-column> <el-table-column prop="personAlias" label="鍒悕"></el-table-column> <el-table-column prop="gender" @@ -213,7 +226,7 @@ <el-table-column prop="official" label="瀹樿亴"></el-table-column> </el-table> <!-- 鍒嗛〉 --> - <el-row class="fenye" style="position: absolute; bottom: 0.1rem"> + <el-row class="fenye"> <el-pagination class="paging flex" :current-page="CurrentPage" @@ -247,14 +260,16 @@ getPList, getHotSearch, getPersonList, + getInstitutionList } from "@/api/index.js"; export default { components: { Footer1, - MyForm, + MyForm }, data() { return { + hotAciveIndex: "", // 楂樼骇鎼滅储鏄剧ず isAdvancedSearch: false, // 楂樼骇鎼滅储 @@ -264,19 +279,19 @@ type: "input", label: "濮撳悕", name: "name", - value: "", + value: "" }, { type: "input", label: "鍒悕", name: "alias", - value: "", + value: "" }, { type: "input", label: "绫嶈疮", name: "nativePlace", - value: "", + value: "" }, { type: "select", @@ -286,20 +301,20 @@ options: [ { label: "鍖诲", - value: "1", + value: "1" }, { label: "涓栧", - value: "2", - }, - ], + value: "2" + } + ] }, - { - type: "input", - label: "鑱屽畼", - name: "official", - value: "", - }, + // { + // type: "input", + // label: "鑱屽畼", + // name: "official", + // value: "" + // }, { type: "select", label: "鎬у埆", @@ -308,31 +323,31 @@ options: [ { label: "鏈寚鏄�", - value: "UNKNOWN", + value: "UNKNOWN" }, { label: "鐢�", - value: "MALE", + value: "MALE" }, { label: "濂�", - value: "WOMAN", - }, - ], + value: "WOMAN" + } + ] }, { type: "input", label: "鏃舵湡", name: "dynasty", - value: "", - }, - { - type: "input", - label: "鏈烘瀯", - name: "institution", - value: "", - }, - ], + value: "" + } + // { + // type: "select", + // label: "鏈烘瀯", + // name: "institution", + // options: [] + // } + ] }, // 鐑棬鎼滅储 @@ -342,7 +357,7 @@ title: "鑱屼笟", index: 0, id: 0, - list: [], + list: [] }, // 鐜板湪澶氬皯鏉¤亴涓氭暟鎹� professionIndex: 4, @@ -353,7 +368,7 @@ title: "鏃舵湡", id: "", index: "", - list: [], + list: [] }, // 鐜板湪澶氬皯鏉℃椂鏈熸暟鎹� dynastyIndex: 4, @@ -362,7 +377,7 @@ title: "鏉ユ簮", index: 0, id: 0, - list: [], + list: [] }, // 琛ㄦ牸鐨勬暟缁� tableData: [], @@ -381,23 +396,63 @@ nativePlace: "", tagId: "", official: "", - genderType: "", + genderType: "" }, + aSearchData: "" }; }, onLoad(options) { - console.log(options.keyword); - this.onSearch({ text: options.keyword }); + if (options.isAdvancedSearch && options.isAdvancedSearch == "1") { + this.isAdvancedSearch = true; + } + if (options.official) { + if (options.official) { + this.from.from[ + this.from.from.findIndex((item) => item.name == "official") + ].value = options.official; + } + + const result = this.from.from.reduce((obj, item) => { + obj[item.name] = item.value; + return obj; + }, {}); + // 鎻愪氦閫昏緫 + this.onSubmit(result); + } else { + if (options.dynasty) { + this.dynasty.index = Number(options.dynasty); + this.dynasty.id = Number(options.dynasty); + } + this.onSearch({ text: options.keyword }); + } }, mounted() { - // 淇敼涓ゆ鐨勯珮搴︿繚鎸佷竴鑷� - var box1Height = document.querySelector(".fbox2").offsetHeight; - document.querySelector(".fbox3").style.height = - box1Height + box1Height / 18 + "px"; - console.log(box1Height, "box1Height"); this.getStatistics(); + this.institutionList(); }, methods: { + institutionList() { + getInstitutionList().then((res) => { + this.$set( + this.from.from[ + this.from.from.findIndex((item) => item.name == "institution") + ], + "options", + res.list.map((item) => { + return { + label: item.name, + value: item.id + }; + }) + ); + + console.log(this.from.from); + }); + }, + //閲嶇疆鎼滅储缁撴灉 + resetForm() { + this.onSearch(""); + }, // ExportJsonExcel瀹炰緥 Ture() { // 鍒涘缓ExportJsonExcel瀹炰緥瀵硅薄 @@ -408,9 +463,8 @@ // 涓嬭浇鎸夐挳 async exportClick() { const dataList = this.tableData; - console.log(this.keywords, "keywords"); let Obj = { - keywords: '妤�', //鎼滅储妗嗘绱� + keywords: "", //鎼滅储妗嗘绱� // keywords: this.keywords, //鎼滅储妗嗘绱� name: this.submitData.name, //濮撳悕 alias: this.submitData.alias, //鍒悕 @@ -423,14 +477,11 @@ institution: "", //鏈烘瀯 bookId: null, //鏉ユ簮id page: 1, - pageSize: 1, + pageSize: 1 }; - console.log(Obj, "Obj"); // // 鎼滅储 await getPDownload(Obj).then((res) => { - console.log(res, "exportClick"); // if (res.success) { - // console.log(res, "鎼滅储鎺ュ彛"); // this.tableData = res.list; // // 鎬绘暟閲� // this.total = res.npage.totalCount; @@ -449,7 +500,7 @@ 鍗掑勾: dataList[i].deathYear, 绫嶈疮: dataList[i].nativePlace, 绀句細韬唤: dataList[i].socialDistinction, - 瀹樿亴: dataList[i].official, + 瀹樿亴: dataList[i].official }; dataTable.push(obj); // 璁剧疆excel姣忓垪鑾峰彇鐨勬暟鎹簮 @@ -475,7 +526,7 @@ "鍗掑勾", "绫嶈疮", "绀句細韬唤", - "瀹樿亴", + "瀹樿亴" ], // excel鏂囦欢鍒楀悕 sheetFilter: [ @@ -489,28 +540,26 @@ "鍗掑勾", "绫嶈疮", "绀句細韬唤", - "瀹樿亴", - ], + "瀹樿亴" + ] // columnWidths: ['10', '10', '20'] //excel鍒楀搴﹁缃� - }, + } ]; this.Ture(); }, // 鎺ュ彛 - async getStatistics() { + getStatistics() { // 鐑棬鎼滅储 - await getHotSearch().then((res) => { - console.log(res, "鐑棬鎼滅储"); + getHotSearch().then((res) => { this.hot = Object.keys(res.object).map((key) => { return { id: parseInt(key), - name: res.object[key], + name: res.object[key] }; }); }); // 鍙充晶鑱屼笟銆佹椂鏈熴�佹潵婧愮殑鏁版嵁 - await getPDataStatistics().then((res) => { - console.log(res, "鎺ュ彛鎴愬姛sdsdfsdsfs"); + getPDataStatistics().then((res) => { let totalCount1 = res.object.occupationStatistic.details.reduce( (total, item) => total + item.count, 0 @@ -522,7 +571,7 @@ // 鑱屼笟 this.profession.list = [ { count: totalCount1, tagName: "鍏ㄩ儴", tagId: 0 }, - ...res.object.occupationStatistic.details, + ...res.object.occupationStatistic.details ]; // 楂樼骇鎼滅储閲岄潰鐨勮亴涓�-------------------------------------------------- // 鎵惧埌鑱屼笟瀛楁鍦� from 瀵硅薄涓殑绱㈠紩 @@ -534,7 +583,7 @@ // 灏� profession.list 杞崲涓� options 鏍煎紡 const options = this.profession.list.map((item) => ({ label: item.tagName, - value: item.tagId.toString(), // 灏� id 杞崲涓哄瓧绗︿覆锛岀‘淇濅笌 value 绫诲瀷涓�鑷� + value: item.tagId.toString() // 灏� id 杞崲涓哄瓧绗︿覆锛岀‘淇濅笌 value 绫诲瀷涓�鑷� })); // 鏇存柊鑱屼笟瀛楁鐨� options 灞炴�� @@ -545,17 +594,21 @@ // 鏃舵湡 this.dynasty.list = [ { count: totalCount2, dynastyName: "鍏ㄩ儴", dynastyId: "" }, - ...res.object.dynastyStatistic.details, + ...res.object.dynastyStatistic.details ]; // 鏉ユ簮 this.source.list = res.object.sourceStatistic.details; this.source.index = this.source.list[0].bookId; }); }, + gotoDetail(id) { + uni.navigateTo({ + url: "/pages/character/detail?id=" + id + }); + }, // 鐑棬鎼滅储 - hotSearchClick(item) { - this.onSearch({ text: item.name }); - console.log(item, "鐑棬鎼滅储"); + hotSearchClick(item, index) { + this.onSearch({ text: item.name }, index); }, // 宸︿晶鐨勬満鏋勭粺璁$瓑绛夋寜閽� handInstitCLick(item, name) { @@ -571,16 +624,12 @@ this.dynasty.index = item.dynastyId; this.dynasty.id = item.dynastyId; this.CurrentPage = 1; - console.log(item); } else if (name == "c") { this.source.index = item.bookId; this.source.id = item.bookId; this.CurrentPage = 1; - console.log("鏉ユ簮"); } this.onSearch(""); - - console.log(item, name); }, isAvancedClick() { this.isAdvancedSearch = !this.isAdvancedSearch; @@ -588,7 +637,6 @@ var box1Height = document.querySelector(".fbox").offsetHeight; // let box2Height= document.querySelector('.fbox1').style.height = box1Height + 'px'; let box2Height = document.querySelector(".fbox1").offsetHeight; - console.log(box1Height, box2Height); if (box1Height <= box2Height) { document.querySelector(".fbox1").style.height = box1Height + "px"; } @@ -596,7 +644,9 @@ }, // 楂樼骇鎼滅储 async onSubmit(val) { - console.log(val); + this.keywords = ""; + this.hotAciveIndex = ""; + this.aSearchData = val; this.profession.index = Number(val.tagId); this.profession.id = Number(val.tagId); const currentDynasty = this.dynasty.list.find( @@ -621,23 +671,27 @@ institution: val.institution, //鏈烘瀯 bookId: null, //鏉ユ簮id page: this.CurrentPage, - pageSize: this.pageSize, + pageSize: this.pageSize }; // // 鎼滅储 await getPersonList(Obj).then((res) => { - console.log(res); if (res.success) { - console.log(res, "鎼滅储鎺ュ彛"); this.tableData = res.list; // 鎬绘暟閲� this.total = res.npage.totalCount; } }); - console.log(val); }, // 鍩虹鎼滅储 - async onSearch(val) { + async onSearch(val, index) { this.keywords = val.text; + this.aSearchData = ""; + if (index !== undefined) { + this.keywords = ""; + this.hotAciveIndex = index; + } else { + this.hotAciveIndex = ""; + } let Obj = { keywords: val.text, //鎼滅储妗嗘绱� name: "", //濮撳悕 @@ -651,40 +705,31 @@ institution: "", //鏈烘瀯 bookId: this.source.id, //鏉ユ簮id page: this.CurrentPage, - pageSize: this.pageSize, + pageSize: this.pageSize }; - console.log(Obj,"ObjObjObj"); // // 鎼滅储 await getPersonList(Obj).then((res) => { if (res.success) { - console.log(res, "鎼滅储鎺ュ彛"); this.tableData = res.list; // 鎬绘暟閲� this.total = res.npage.totalCount; } }); - // console.log(val, '澹ぇ澶絾鏄�'); }, // 鐑棬鎼滅储 HotClick(id) { this.hot.forEach((item) => { if (item.id === id) { - console.log(item.id === id); item.bgColor = true; } else { - console.log(item.id === id); item.bgColor = false; } }); }, // 灞曞紑鏀剁缉 shrinkClick(box, name) { - console.log(box); - console.log(this.dynasty.list); - // this.activeBox = this.activeBox === 'a' ? null : 'a'; if (name == "鑱屼笟") { - console.log("鑱屼笟"); this.professionIndex = this.professionIndex < this.profession.list.length ? this.profession.list.length @@ -692,7 +737,6 @@ this.dynastyIndex = 4; this.activeBox = this.activeBox === "a" ? null : "a"; } else { - console.log("鏃舵湡"); this.dynastyIndex = this.dynastyIndex < this.dynasty.list.length ? this.dynasty.list.length @@ -705,29 +749,28 @@ CurrentChange(val) { if (this.CurrentPage != val) { this.CurrentPage = val; - console.log("褰撳墠椤�", val); - this.onSearch(""); + if (this.isAdvancedSearch) { + this.onSubmit(this.aSearchData); + } else { + this.onSearch({ text: this.keywords }); + } } }, // 涓婁竴椤� PrevClick(val) { if (this.CurrentPage != val) { this.CurrentPage = val; - // console.log('涓婁竴椤�', val); - // console.log(this.CurrentPage); - this.onSearch(""); + this.onSearch({ text: this.keywords }); } }, // 涓嬩竴椤� NextClick(val) { if (this.CurrentPage != val) { - // console.log('涓嬩竴椤�',val); this.CurrentPage = val; - // console.log(this.CurrentPage); - this.onSearch(""); + this.onSearch({ text: this.keywords }); } - }, - }, + } + } }; </script> @@ -1228,6 +1271,10 @@ li { font-size: 0.12rem; margin: 0 0.1rem; + &.active { + color: #027edc !important; + font-weight: bold; + } } } -- Gitblit v1.9.1