No Description

BaseExpert.vue 3.9KB

    <template> <div> <div class="block-container"> <router-link class="block-item" v-for="item in userData" :key="item.index" :to="{name:'exp_show',query:{id:itemSingle.id}}" target="_blank"> <div class="show-head" :style="{backgroundImage:'url('+ headUrl(item) +')'}"></div> <div class="show-info"> <div class="info-tit">{{item.name}}<em class="authicon" :class="headIcon(item)"></em></div> <div class="info-tag" v-if="item.offt">{{item.offt}}</div> <div class="info-desc" v-if="item.reserachs">研究方向:{{item.reserachs}}</div> </div> </router-link> </div> <Loading v-show="loadingModalShow" :loadingComplete="loadingComplete" :isLoading="isLoading" v-on:upup="loadLower" v-if="!num"></Loading> </div> </template> <script> import Cookies from 'js-cookie'; import util from '@/libs/util'; export default { props: { num: { type: Number } }, data() { return { platId: '', rows: 30, userData: [], dataO: { bUid: '', bTime: '' }, loadingModalShow: true, // 是否显示按钮 loadingComplete: false, // 是否全部加载 isFormSearch: false, // 数据加载 isLoading: false // button style... }; }, created() { this.platId = Cookies.get('platId'); this.buttedProfessors(); }, methods: { buttedProfessors(id) { this.$axios.getk('/ajax/platform/info/buttedProfessors', { pid: this.platId, uid: this.dataO.bUid, time: this.dataO.bTime, rows: this.num ? this.num : this.rows }, (res) => { if (res.success) { var $data = res.data; if ($data.length > 0) { this.dataO.bUid = $data[$data.length - 1].id; this.dataO.bTime = $data[$data.length - 1].buttedTime; this.isFormSearch = true; for (let i = 0; i < $data.length; i++) { if ($data[i].title) { if ($data[i].orgName) { $data[i].offt = $data[i].title + ',' + $data[i].orgName; } else { $data[i].offt = $data[i].title; } } else { if ($data[i].office) { if ($data[i].orgName) { $data[i].offt = $data[i].office + ',' + $data[i].orgName; } else { $data[i].offt = $data[i].office; } } else { $data[i].offt = ''; } } this.$axios.getk('/ajax/researchArea/' + $data[i].id, {}, (res) => { const $info = res.data; let arr = []; for (let j = 0; j < $info.length; j++) { if ($info[j].caption) { arr.push($info[j].caption); }; if (j === $info.length - 1) { $data[i].reserachs = arr.join(','); this.$forceUpdate(); } } if ($info.lenth === 0) { $data[i].reserachs = ''; } }); } this.userData = this.userData.concat($data); if ($data.length < this.rows) { this.loadingModalShow = false; this.isFormSearch = false; } }; }; }); }, headUrl(item) { return item.hasHeadImage ? util.ImageUrl(('head/' + item.id + '_l.jpg'), true) : util.defaultSet.img.expert; }, headIcon(item) { return util.autho(item.authType, item.orgAuth, item.authStatus); }, loadLower() { if (this.loadingModalShow && !this.isLoading) { this.buttedProfessors(this.platId); } } } }; </script>