From e00361c6bcbb1a56f6dcda22b91bdfcb2736e263 Mon Sep 17 00:00:00 2001 From: YM <479443481@qq.com> Date: 星期五, 26 七月 2024 15:56:27 +0800 Subject: [PATCH] 1 --- src/pages/knowledgeBase/knowledgeBase.vue | 299 +++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 197 insertions(+), 102 deletions(-) diff --git a/src/pages/knowledgeBase/knowledgeBase.vue b/src/pages/knowledgeBase/knowledgeBase.vue index 74eb53c..3371c48 100644 --- a/src/pages/knowledgeBase/knowledgeBase.vue +++ b/src/pages/knowledgeBase/knowledgeBase.vue @@ -1,13 +1,13 @@ <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> --> <advancedSearch @onSearch="onSearch" - placehold="杈撳叆濮撳悕/鍒悕/鏈濅唬/浼犱富鑱屼笟鎼滅储" + placehold="杈撳叆濮撳悕/鍒悕/鏃舵湡/浼犱富鑱屼笟鎼滅储" :isAvancedTrue="false" :keyword="keywords" /> @@ -15,7 +15,7 @@ class="advancedSea" @click="isAvancedClick" style="color: #244a7b; cursor: pointer" - >楂樼骇鎼滅储 {{isAdvancedSearch ? "鈭�" : "鈭�"}}</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,16 @@ class="advancedSeaTrue1" > <h3>楂樼骇鎼滅储</h3> - <MyForm @submit="onSubmit" @reset="resetForm" :from="from" /> + <MyForm + @submit=" + (data) => { + CurrentPage = 1; + onSubmit(data); + } + " + @reset="resetForm" + :from="from" + /> </view> </view> <uni-row @@ -77,15 +86,15 @@ :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 >{{ item.tagName }}</view> - <view >{{ 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"> @@ -115,15 +124,15 @@ :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 >{{ item.dynastyName }}</view> - <view >{{ 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"> @@ -160,7 +169,7 @@ style="padding: 0 20rpx; color: #244a7b" @click="handInstitCLick(item, 'c')" > - <view >{{ index + 1 + ". " + item.source }}</view> + <view>{{ index + 1 + ". " + item.source }}</view> </li> </ul> <!-- <view class="flex flex-center"> @@ -182,19 +191,32 @@ " > <view class="flex lightTop" style="width: 100%; margin: 0.1rem 0"> - <view 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%" empty-text="鏆傛棤鎼滅储淇℃伅"> + <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" label="鎬у埆" width="70" ></el-table-column> - <el-table-column prop="period" label="鏃朵唬"></el-table-column> + <el-table-column prop="period" label="鏃舵湡"></el-table-column> <el-table-column prop="birthYear" label="鐢熷勾" @@ -247,14 +269,16 @@ getPList, getHotSearch, getPersonList, + getInstitutionList } from "@/api/index.js"; export default { components: { Footer1, - MyForm, + MyForm }, data() { return { + hotAciveIndex: "", // 楂樼骇鎼滅储鏄剧ず isAdvancedSearch: false, // 楂樼骇鎼滅储 @@ -264,19 +288,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 +310,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 +332,31 @@ options: [ { label: "鏈寚鏄�", - value: "UNKNOWN", + value: "UNKNOWN" }, { label: "鐢�", - value: "MALE", + value: "MALE" }, { label: "濂�", - value: "WOMAN", - }, - ], + value: "WOMAN" + } + ] }, { type: "input", - label: "鏃堕棿", + label: "鏃舵湡", name: "dynasty", - value: "", - }, - { - type: "input", - label: "鏈烘瀯", - name: "institution", - value: "", - }, - ], + value: "" + } + // { + // type: "select", + // label: "鏈烘瀯", + // name: "institution", + // options: [] + // } + ] }, // 鐑棬鎼滅储 @@ -342,7 +366,7 @@ title: "鑱屼笟", index: 0, id: 0, - list: [], + list: [] }, // 鐜板湪澶氬皯鏉¤亴涓氭暟鎹� professionIndex: 4, @@ -350,10 +374,10 @@ activeBox: null, // 鏃舵湡 dynasty: { - title: "鏃朵唬", + title: "鏃舵湡", id: "", index: "", - list: [], + list: [] }, // 鐜板湪澶氬皯鏉℃椂鏈熸暟鎹� dynastyIndex: 4, @@ -362,12 +386,12 @@ title: "鏉ユ簮", index: 0, id: 0, - list: [], + list: [] }, // 琛ㄦ牸鐨勬暟缁� tableData: [], // 鍒嗛〉鐨勬�绘暟 - total: 100, + total: 0, // 褰撳墠椤� CurrentPage: 1, // 涓�椤垫樉绀哄灏戞潯鏁版嵁 @@ -381,17 +405,59 @@ nativePlace: "", tagId: "", official: "", - genderType: "", + genderType: "" }, + aSearchData: "" }; }, onLoad(options) { - 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() { 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(""); @@ -420,7 +486,7 @@ institution: "", //鏈烘瀯 bookId: null, //鏉ユ簮id page: 1, - pageSize: 1, + pageSize: 1 }; // // 鎼滅储 await getPDownload(Obj).then((res) => { @@ -443,7 +509,7 @@ 鍗掑勾: dataList[i].deathYear, 绫嶈疮: dataList[i].nativePlace, 绀句細韬唤: dataList[i].socialDistinction, - 瀹樿亴: dataList[i].official, + 瀹樿亴: dataList[i].official }; dataTable.push(obj); // 璁剧疆excel姣忓垪鑾峰彇鐨勬暟鎹簮 @@ -469,7 +535,7 @@ "鍗掑勾", "绫嶈疮", "绀句細韬唤", - "瀹樿亴", + "瀹樿亴" ], // excel鏂囦欢鍒楀悕 sheetFilter: [ @@ -483,26 +549,26 @@ "鍗掑勾", "绫嶈疮", "绀句細韬唤", - "瀹樿亴", - ], + "瀹樿亴" + ] // columnWidths: ['10', '10', '20'] //excel鍒楀搴﹁缃� - }, + } ]; this.Ture(); }, // 鎺ュ彛 - async getStatistics() { + getStatistics() { // 鐑棬鎼滅储 - await getHotSearch().then((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) => { + getPDataStatistics().then((res) => { let totalCount1 = res.object.occupationStatistic.details.reduce( (total, item) => total + item.count, 0 @@ -514,7 +580,7 @@ // 鑱屼笟 this.profession.list = [ { count: totalCount1, tagName: "鍏ㄩ儴", tagId: 0 }, - ...res.object.occupationStatistic.details, + ...res.object.occupationStatistic.details ]; // 楂樼骇鎼滅储閲岄潰鐨勮亴涓�-------------------------------------------------- // 鎵惧埌鑱屼笟瀛楁鍦� from 瀵硅薄涓殑绱㈠紩 @@ -526,7 +592,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 灞炴�� @@ -537,16 +603,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 }); + hotSearchClick(item, index) { + this.onSearch({ text: item.name }, index); }, // 宸︿晶鐨勬満鏋勭粺璁$瓑绛夋寜閽� handInstitCLick(item, name) { @@ -568,7 +639,6 @@ this.CurrentPage = 1; } this.onSearch(""); - }, isAvancedClick() { this.isAdvancedSearch = !this.isAdvancedSearch; @@ -580,9 +650,16 @@ document.querySelector(".fbox1").style.height = box1Height + "px"; } }); + if (this.isAdvancedSearch) { + this.keywords = ""; + this.CurrentPage = 1; + } }, // 楂樼骇鎼滅储 async onSubmit(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( @@ -593,7 +670,7 @@ this.dynasty.id = currentDynasty.dynastyId; } this.submitData = val; - this.CurrentPage = 1; + let Obj = { keywords: "", //鎼滅储妗嗘绱� name: val.name, //濮撳悕 @@ -605,9 +682,8 @@ dynasty: val.dynasty, //鏈濅唬id dynastyId: this.dynasty.id, //鏈濅唬id institution: val.institution, //鏈烘瀯 - bookId: null, //鏉ユ簮id page: this.CurrentPage, - pageSize: this.pageSize, + pageSize: this.pageSize }; // // 鎼滅储 await getPersonList(Obj).then((res) => { @@ -619,8 +695,15 @@ }); }, // 鍩虹鎼滅储 - 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: "", //濮撳悕 @@ -634,7 +717,7 @@ institution: "", //鏈烘瀯 bookId: this.source.id, //鏉ユ簮id page: this.CurrentPage, - pageSize: this.pageSize, + pageSize: this.pageSize }; // // 鎼滅储 await getPersonList(Obj).then((res) => { @@ -657,7 +740,6 @@ }, // 灞曞紑鏀剁缉 shrinkClick(box, name) { - // this.activeBox = this.activeBox === 'a' ? null : 'a'; if (name == "鑱屼笟") { this.professionIndex = @@ -679,24 +761,36 @@ CurrentChange(val) { if (this.CurrentPage != val) { this.CurrentPage = 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; - this.onSearch(""); + if (this.isAdvancedSearch) { + this.onSubmit(this.aSearchData); + } else { + this.onSearch({ text: this.keywords }); + } } }, // 涓嬩竴椤� NextClick(val) { if (this.CurrentPage != val) { this.CurrentPage = val; - this.onSearch(""); + if (this.isAdvancedSearch) { + this.onSubmit(this.aSearchData); + } else { + this.onSearch({ text: this.keywords }); + } } - }, - }, + } + } }; </script> @@ -787,29 +881,26 @@ .lightBo { font-size: 0.14rem !important; - - .is-leaf { - background-color: #c1d3ea !important; - color: #2c2c2c !important; - font-weight: 400; - - .cell { - height: 0.3rem !important; - line-height: 0.3rem !important; - } - } } - .el-table__body-wrapper { - .el-table__row { - height: 0.46rem !important; - line-height: 0.46rem !important; + .lightBo .is-leaf { + background-color: #c1d3ea !important; + color: #2c2c2c !important; + font-weight: 400; + } - .cell { - height: 0.3rem !important; - line-height: 0.3rem !important; - } - } + .lightBo .is-leaf .cell { + height: 0.3rem !important; + line-height: 0.3rem !important; + } + + .el-table__body-wrapper .el-table__row { + height: 0.46rem !important; + line-height: 0.46rem !important; + } + .el-table__body-wrapper .el-table__row .cell { + height: 0.3rem !important; + line-height: 0.3rem !important; } } @@ -1197,6 +1288,10 @@ li { font-size: 0.12rem; margin: 0 0.1rem; + &.active { + color: #027edc !important; + font-weight: bold; + } } } -- Gitblit v1.9.1