mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-11 03:46:44 +08:00
Merge branch 'dev' of https://codeup.aliyun.com/6265f483e4166464dc2f9c14/boeu/portal into dev
# Conflicts: # src/views/portal/case/Index.vue
This commit is contained in:
@@ -109,7 +109,7 @@
|
|||||||
<!-- 推荐案例2版 -->
|
<!-- 推荐案例2版 -->
|
||||||
<div class="modules">
|
<div class="modules">
|
||||||
<div class="modules-title">
|
<div class="modules-title">
|
||||||
|
|
||||||
<span class="modules-text">推荐案例</span>
|
<span class="modules-text">推荐案例</span>
|
||||||
<span class="quyer-tag">
|
<span class="quyer-tag">
|
||||||
<a :class="caseList.orderType==2?'current':''" @click="changeCaseOrder(2)">最热</a>
|
<a :class="caseList.orderType==2?'current':''" @click="changeCaseOrder(2)">最热</a>
|
||||||
@@ -122,9 +122,9 @@
|
|||||||
<div class="casetwo" :body-style="{ padding: '0px' }">
|
<div class="casetwo" :body-style="{ padding: '0px' }">
|
||||||
<!-- <div class="case-top"></div> -->
|
<!-- <div class="case-top"></div> -->
|
||||||
<div class="case-conent">
|
<div class="case-conent">
|
||||||
<div class="case-time">
|
<!-- <div class="case-time">
|
||||||
{{ca.sysCreateTime.substring(0,10)}}
|
{{ca.sysCreateTime.substring(0,10)}}
|
||||||
</div>
|
</div> -->
|
||||||
<a :href="'case/detail?id='+ca.id" >
|
<a :href="'case/detail?id='+ca.id" >
|
||||||
<span class="case-title one-line-ellipsis">
|
<span class="case-title one-line-ellipsis">
|
||||||
{{ca.title}}
|
{{ca.title}}
|
||||||
@@ -135,17 +135,13 @@
|
|||||||
</a>
|
</a>
|
||||||
<div class="case-inter">
|
<div class="case-inter">
|
||||||
<interactBar style="width:180px" :type="3" :readonly="true" :data="ca" :shares="false" :views="false"></interactBar>
|
<interactBar style="width:180px" :type="3" :readonly="true" :data="ca" :shares="false" :views="false"></interactBar>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div style="height:40px">
|
<div style="height:40px;margin-top:10px">
|
||||||
<authorInfo :avatar="ca.authorInfo.avatar" :name="ca.authorInfo.name" :info="ca.authorInfo.orgInfo" :sex="ca.authorInfo.sex"></authorInfo></div>
|
<authorInfo :avatar="ca.authorInfo.avatar" :name="ca.authorInfo.name" :info="ca.authorInfo.orgInfo" :sex="ca.authorInfo.sex"></authorInfo></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!-- 推荐案例 -->
|
<!-- 推荐案例 -->
|
||||||
<!-- <div class="modules">
|
<!-- <div class="modules">
|
||||||
@@ -194,7 +190,7 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
</div> -->
|
</div> -->
|
||||||
|
|
||||||
<!-- 推荐文章 -->
|
<!-- 推荐文章 -->
|
||||||
<div class="modules">
|
<div class="modules">
|
||||||
<!--内容块-->
|
<!--内容块-->
|
||||||
@@ -472,20 +468,44 @@ export default {
|
|||||||
let userIds = [];
|
let userIds = [];
|
||||||
res.result.forEach(item => {
|
res.result.forEach(item => {
|
||||||
item.authorInfo = { aid: '', name: '', orgInfo: '', avatar: '', code: '',sex:null };
|
item.authorInfo = { aid: '', name: '', orgInfo: '', avatar: '', code: '',sex:null };
|
||||||
|
|
||||||
if (item.authorId && item.authorId != '') {
|
if (item.authorId && item.authorId != '') {
|
||||||
userIds.push(item.authorId);
|
userIds.push(item.authorId);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.caseList.list = res.result;
|
this.caseList.list = res.result;
|
||||||
this.loadAuthorInfo(res.result, userIds);
|
this.loadCaseAuthorInfo(res.result, userIds);
|
||||||
}
|
}
|
||||||
this.caseList.list = res.result;
|
// this.caseList.list = res.result;
|
||||||
} else {
|
} else {
|
||||||
console.log('加载案例错误:' + res.error);
|
console.log('加载案例错误:' + res.error);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
loadCaseAuthorInfo(list, ids) {
|
||||||
|
//加载作者信息,头像,机构信息
|
||||||
|
if (ids.length == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const noReapetIds = [...new Set(ids)];
|
||||||
|
apiUser.getByIds(ids).then(res => {
|
||||||
|
if (res.status == 200) {
|
||||||
|
list.forEach((item, index) => {
|
||||||
|
res.result.some(author => {
|
||||||
|
if (author.aid == item.authorId) {
|
||||||
|
item.authorInfo = author;
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log('加载用户信息失败:' + res.error);
|
||||||
|
//this.$message.error(res.message);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
getArticleData() {
|
getArticleData() {
|
||||||
let $this = this;
|
let $this = this;
|
||||||
this.articleList.list = [];
|
this.articleList.list = [];
|
||||||
@@ -678,7 +698,7 @@ export default {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
border-bottom: 1px solid #f3f3f3;
|
border-bottom: 1px solid #f3f3f3;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// .qa-dai{
|
// .qa-dai{
|
||||||
|
|||||||
@@ -93,29 +93,19 @@
|
|||||||
</div>
|
</div>
|
||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
<div style="height:35px">
|
|
||||||
<author :avatar="item.authorInfo.avatar" :name="item.authorInfo.name" :info="item.authorInfo.orgInfo" :sex="item.authorInfo.sex"></author>
|
<div style="height:35px">
|
||||||
</div>
|
<author :avatar="item.authorInfo.avatar" :name="item.authorInfo.name" :info="item.authorInfo.orgInfo" :sex="item.authorInfo.sex"></author>
|
||||||
<!-- <router-link :to="'/case/detail?id='+item.id"> -->
|
</div>
|
||||||
<!-- class="case-info-summary" -->
|
|
||||||
<div class="case-info-summary">
|
<div class="case-info-summary">
|
||||||
<router-link :to="'/case/detail?id='+item.id">
|
<router-link :to="'/case/detail?id='+item.id">
|
||||||
<!-- {{item.summary}} -->
|
|
||||||
{{displayAll(item)}}
|
{{displayAll(item)}}
|
||||||
</router-link>
|
</router-link>
|
||||||
<span style="color:#588afc" v-if="item.summary.length>190" @click="changeIsAll(item)">
|
<span style="color:#588afc" v-if="item.summary.length>190" @click="changeIsAll(item)">
|
||||||
{{item.isAll?'收起':'展开'}}
|
{{item.isAll?'收起':'展开'}}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<!-- </router-link> -->
|
|
||||||
<!-- <div class="button-wrap" v-if="needShowExpande">
|
|
||||||
<div class="exp-but" @click="expandeClick" v-if="!expande">展开
|
|
||||||
</div>
|
|
||||||
<div class="exp-but" @click="expandeClick" v-else>收起</div>
|
|
||||||
</div> -->
|
|
||||||
|
|
||||||
<div style="display: flex;justify-content: space-between;">
|
<div style="display: flex;justify-content: space-between;">
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<interactBar :type="0" :shares="false" :data="item" :readonly="false"></interactBar> </div>
|
<interactBar :type="0" :shares="false" :data="item" :readonly="false"></interactBar> </div>
|
||||||
</div>
|
</div>
|
||||||
@@ -238,24 +228,31 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from "vuex";
|
||||||
import portalHeader from '@/components/PortalHeader.vue';
|
import portalHeader from "@/components/PortalHeader.vue";
|
||||||
import portalFooter from '@/components/PortalFooter.vue';
|
import portalFooter from "@/components/PortalFooter.vue";
|
||||||
import portalFloatTools from '@/components/PortalFloatTools.vue';
|
import portalFloatTools from "@/components/PortalFloatTools.vue";
|
||||||
import interactBar from '@/components/Portal/interactBar.vue';
|
import interactBar from "@/components/Portal/interactBar.vue";
|
||||||
import timeShow from '@/components/Portal/datetimeShow.vue';
|
import timeShow from "@/components/Portal/datetimeShow.vue";
|
||||||
import author from '@/components/Portal/authorInfo.vue';
|
import author from "@/components/Portal/authorInfo.vue";
|
||||||
import apiCase from '@/api/modules/cases.js';
|
import apiCase from "@/api/modules/cases.js";
|
||||||
import apiUser from '@/api/system/user.js';
|
import apiUser from "@/api/system/user.js";
|
||||||
import apiSearchterm from "@/api/modules/searchterm.js";
|
import apiSearchterm from "@/api/modules/searchterm.js";
|
||||||
import { deepClone } from "../../../utils";
|
import { deepClone } from "../../../utils";
|
||||||
import apiDict from "@/api/modules/dict.js"
|
import apiDict from "@/api/modules/dict.js";
|
||||||
export default {
|
export default {
|
||||||
name: 'index',
|
name: "index",
|
||||||
components: { portalHeader, portalFooter, portalFloatTools, interactBar,timeShow ,author},
|
components: {
|
||||||
|
portalHeader,
|
||||||
|
portalFooter,
|
||||||
|
portalFloatTools,
|
||||||
|
interactBar,
|
||||||
|
timeShow,
|
||||||
|
author
|
||||||
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters(['userInfo','portalCase']),
|
...mapGetters(["userInfo", "portalCase"]),
|
||||||
word: function() {
|
word: function() {
|
||||||
if (this.showAll == false) {
|
if (this.showAll == false) {
|
||||||
//对文字进行处理
|
//对文字进行处理
|
||||||
return "展开";
|
return "展开";
|
||||||
@@ -265,43 +262,43 @@ export default {
|
|||||||
},
|
},
|
||||||
isMore() {
|
isMore() {
|
||||||
let isOk = true;
|
let isOk = true;
|
||||||
if(this.caseList.list.length === this.caseList.count) {
|
if (this.caseList.list.length === this.caseList.count) {
|
||||||
isOk = false;
|
isOk = false;
|
||||||
}
|
}
|
||||||
return isOk;
|
return isOk;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
moreState:1,// 1 加载更多 2 加载中 3无数据
|
moreState: 1, // 1 加载更多 2 加载中 3无数据
|
||||||
isSeach:false,
|
isSeach: false,
|
||||||
searchwd:true,
|
searchwd: true,
|
||||||
showAll:true,//是否展开全部
|
showAll: true, //是否展开全部
|
||||||
searchRecords:[],
|
searchRecords: [],
|
||||||
caseList:{
|
caseList: {
|
||||||
count:0,
|
count: 0,
|
||||||
list:[]
|
list: []
|
||||||
},
|
},
|
||||||
ankingList:[],
|
ankingList: [],
|
||||||
Popularity:[],
|
Popularity: [],
|
||||||
Positive:[],
|
Positive: [],
|
||||||
domain:[],
|
domain: [],
|
||||||
Profess:[],
|
Profess: [],
|
||||||
optionsList: [], //分类数据
|
optionsList: [], //分类数据
|
||||||
protocolDialogVisible: false,
|
protocolDialogVisible: false,
|
||||||
protocolConfirmButton:true,
|
protocolConfirmButton: true,
|
||||||
queryCondition:{
|
queryCondition: {
|
||||||
pageIndex:1,
|
pageIndex: 1,
|
||||||
pageSize:10,
|
pageSize: 10,
|
||||||
isTop:true,
|
isTop: true,
|
||||||
orderField:'comments',
|
orderField: "comments",
|
||||||
// breCommend:null,
|
// breCommend:null,
|
||||||
keyWord:'',
|
keyWord: "",
|
||||||
majorType:null,//专业分类
|
majorType: null, //专业分类
|
||||||
orgDomain:null,// 组织领域
|
orgDomain: null, // 组织领域
|
||||||
orderAsc: false
|
orderAsc: false
|
||||||
},
|
},
|
||||||
keyWord:'',
|
keyWord: "",
|
||||||
anking: 2,
|
anking: 2,
|
||||||
queryExpand: true, // true更多,false收起
|
queryExpand: true, // true更多,false收起
|
||||||
category: 0,
|
category: 0,
|
||||||
@@ -316,12 +313,12 @@ export default {
|
|||||||
this.$nextTick(function() {
|
this.$nextTick(function() {
|
||||||
this.closeSearch();
|
this.closeSearch();
|
||||||
});
|
});
|
||||||
if(!this.portalCase.readProtocol){
|
if (!this.portalCase.readProtocol) {
|
||||||
this.protocolDialogVisible = true;
|
this.protocolDialogVisible = true;
|
||||||
}
|
}
|
||||||
this.keyWord = this.$route.query.keyword;
|
this.keyWord = this.$route.query.keyword;
|
||||||
if(this.keyWord != '') {
|
if (this.keyWord != "") {
|
||||||
this.isSeach = true;
|
this.isSeach = true;
|
||||||
}
|
}
|
||||||
this.getAnkingData();
|
this.getAnkingData();
|
||||||
this.getPopularity();
|
this.getPopularity();
|
||||||
@@ -331,13 +328,10 @@ export default {
|
|||||||
this.getdomain();
|
this.getdomain();
|
||||||
// this.getCaseData();
|
// this.getCaseData();
|
||||||
this.search();
|
this.search();
|
||||||
window.addEventListener(
|
window.addEventListener("scroll", this.handleScroll);
|
||||||
"scroll",
|
|
||||||
this.handleScroll
|
|
||||||
);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
watch:{
|
watch: {
|
||||||
// queryCondition:{
|
// queryCondition:{
|
||||||
// handler(newValue,oldValue){
|
// handler(newValue,oldValue){
|
||||||
// this.getCaseData()
|
// this.getCaseData()
|
||||||
@@ -346,82 +340,80 @@ export default {
|
|||||||
// immediate:true
|
// immediate:true
|
||||||
// }
|
// }
|
||||||
},
|
},
|
||||||
beforeDestroy(){
|
beforeDestroy() {
|
||||||
window.removeEventListener("scroll",this.handleScroll);
|
window.removeEventListener("scroll", this.handleScroll);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//展示全部
|
//展示全部
|
||||||
displayAll(item) {
|
displayAll(item) {
|
||||||
if(!item.isAll && item.summary && item.summary.length > 190) {
|
if (!item.isAll && item.summary && item.summary.length > 190) {
|
||||||
return item.summary.slice(0, 190) + "...";
|
return item.summary.slice(0, 190) + "...";
|
||||||
}
|
}
|
||||||
return item.summary;
|
return item.summary;
|
||||||
},
|
},
|
||||||
changeIsAll(item) {
|
changeIsAll(item) {
|
||||||
item.isAll=!item.isAll;
|
item.isAll = !item.isAll;
|
||||||
},
|
},
|
||||||
closeSearch() {
|
closeSearch() {
|
||||||
this.showAll = !this.showAll;
|
this.showAll = !this.showAll;
|
||||||
var searchBoxHeght = document.getElementById("searchBox");
|
var searchBoxHeght = document.getElementById("searchBox");
|
||||||
var searchBoxWidth = document.getElementById("searchBox");
|
var searchBoxWidth = document.getElementById("searchBox");
|
||||||
if(searchBoxWidth.clientWidth > 950){
|
if (searchBoxWidth.clientWidth > 950) {
|
||||||
this.searchwd = false;
|
this.searchwd = false;
|
||||||
}
|
}
|
||||||
if (this.showAll == false) {
|
if (this.showAll == false) {
|
||||||
searchBoxHeght.style.height = 70 + "px";
|
searchBoxHeght.style.height = 70 + "px";
|
||||||
} else {
|
} else {
|
||||||
searchBoxHeght.style.height = "auto";
|
searchBoxHeght.style.height = "auto";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
getAnkingData(){
|
getAnkingData() {
|
||||||
apiCase.usernameList(5).then(res=>{
|
apiCase.usernameList(5).then(res => {
|
||||||
if(res.status==200){
|
if (res.status == 200) {
|
||||||
this.ankingList=res.result
|
this.ankingList = res.result;
|
||||||
// console.log(res)
|
// console.log(res)
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
getPopularity(){
|
getPopularity() {
|
||||||
apiCase.queryPraises(5).then(res=>{
|
apiCase.queryPraises(5).then(res => {
|
||||||
if(res.status==200){
|
if (res.status == 200) {
|
||||||
this.Popularity=res.result
|
this.Popularity = res.result;
|
||||||
// console.log(this.Popularity)
|
// console.log(this.Popularity)
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
getPositive(){
|
getPositive() {
|
||||||
apiCase.queryComments(5).then(res=>{
|
apiCase.queryComments(5).then(res => {
|
||||||
if(res.status==200){
|
if (res.status == 200) {
|
||||||
this.Positive=res.result
|
this.Positive = res.result;
|
||||||
console.log(res)
|
console.log(res);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
getdomain(){
|
getdomain() {
|
||||||
let key ='org_domain'
|
let key = "org_domain";
|
||||||
apiDict.items(key).then(res =>{
|
apiDict.items(key).then(res => {
|
||||||
if(res.status==200){
|
if (res.status == 200) {
|
||||||
this.domain = res.result
|
this.domain = res.result;
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
getProfess(){
|
getProfess() {
|
||||||
let key ='major_type'
|
let key = "major_type";
|
||||||
apiDict.items(key).then(res =>{
|
apiDict.items(key).then(res => {
|
||||||
if(res.status==200){
|
if (res.status == 200) {
|
||||||
this.Profess = res.result
|
this.Profess = res.result;
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
emitInput(val) {
|
emitInput(val) {
|
||||||
this.keyWord=val;
|
this.keyWord = val;
|
||||||
this.isSeach =true;
|
this.isSeach = true;
|
||||||
this.queryCondition.pageIndex = 1
|
this.queryCondition.pageIndex = 1;
|
||||||
this.search()
|
this.search();
|
||||||
},
|
},
|
||||||
searchData(num) {
|
searchData(num) {
|
||||||
this.queryCondition.pageIndex = 1;
|
this.queryCondition.pageIndex = 1;
|
||||||
@@ -429,92 +421,102 @@ export default {
|
|||||||
this.getCaseData();
|
this.getCaseData();
|
||||||
},
|
},
|
||||||
handleScroll() {
|
handleScroll() {
|
||||||
let innerHeight = document.querySelector('#case-list-content').clientHeight
|
let innerHeight = document.querySelector("#case-list-content")
|
||||||
let outerHeight = document.documentElement.clientHeight
|
.clientHeight;
|
||||||
let scrollTop = document.documentElement.scrollTop
|
let outerHeight = document.documentElement.clientHeight;
|
||||||
if ((outerHeight + scrollTop + 350) >= innerHeight) {
|
let scrollTop = document.documentElement.scrollTop;
|
||||||
if(this.moreState == 1 && this.queryCondition.pageIndex < 4) {
|
if (outerHeight + scrollTop + 350 >= innerHeight) {
|
||||||
this.loadMore();
|
if (this.moreState == 1 && this.queryCondition.pageIndex < 4) {
|
||||||
}
|
this.loadMore();
|
||||||
}
|
|
||||||
if(scrollTop > 630) {
|
|
||||||
document.querySelector('#fixd-box').style.cssText = "position: fixed;top: -550px;width:245.5px";
|
|
||||||
} else {
|
|
||||||
document.querySelector('#fixd-box').style.cssText = "position: static";
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (scrollTop > 630) {
|
||||||
|
document.querySelector("#fixd-box").style.cssText =
|
||||||
|
"position: fixed;top: -550px;width:245.5px";
|
||||||
|
} else {
|
||||||
|
document.querySelector("#fixd-box").style.cssText = "position: static";
|
||||||
|
}
|
||||||
},
|
},
|
||||||
useHotword(item){
|
useHotword(item) {
|
||||||
this.keyWord=item.keyword;
|
this.keyWord = item.keyword;
|
||||||
this.search();
|
this.search();
|
||||||
},
|
},
|
||||||
searchterm(){
|
searchterm() {
|
||||||
apiSearchterm.list(5,3).then(res => {
|
apiSearchterm.list(5, 3).then(res => {
|
||||||
if (res.status === 200) {
|
if (res.status === 200) {
|
||||||
this.searchRecords = res.result;
|
this.searchRecords = res.result;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
loadMore() {
|
loadMore() {
|
||||||
this.queryCondition.pageIndex += 1;
|
this.queryCondition.pageIndex += 1;
|
||||||
this.getCaseData();
|
this.getCaseData();
|
||||||
},
|
},
|
||||||
protocolCheck(obj){
|
protocolCheck(obj) {
|
||||||
this.protocolConfirmButton = !obj;
|
this.protocolConfirmButton = !obj;
|
||||||
},
|
},
|
||||||
protocolConfirm(){
|
protocolConfirm() {
|
||||||
this.protocolDialogVisible = false;
|
this.protocolDialogVisible = false;
|
||||||
this.$store.dispatch('portal/SetReadProtocol', true);
|
this.$store.dispatch("portal/SetReadProtocol", true);
|
||||||
},
|
},
|
||||||
handleSizeChange(item){
|
handleSizeChange(item) {
|
||||||
this.queryCondition.pageSize=item;
|
this.queryCondition.pageSize = item;
|
||||||
},
|
},
|
||||||
handleCurrentChange(item){
|
handleCurrentChange(item) {
|
||||||
this.queryCondition.pageIndex=item;
|
this.queryCondition.pageIndex = item;
|
||||||
},
|
},
|
||||||
search(){
|
search() {
|
||||||
apiSearchterm.save({keyword:this.keyWord,type:3});
|
apiSearchterm.save({ keyword: this.keyWord, type: 3 });
|
||||||
if(!this.isFind){
|
if (!this.isFind) {
|
||||||
this.isFind = true;
|
this.isFind = true;
|
||||||
}
|
}
|
||||||
this.queryCondition.pageIndex = 1;
|
this.queryCondition.pageIndex = 1;
|
||||||
if(this.keyWord!=this.queryCondition.keyWord){
|
if (this.keyWord != this.queryCondition.keyWord) {
|
||||||
this.queryCondition.keyWord=this.keyWord
|
this.queryCondition.keyWord = this.keyWord;
|
||||||
}
|
}
|
||||||
this.getCaseData();
|
this.getCaseData();
|
||||||
},
|
},
|
||||||
async getCaseData(){
|
async getCaseData() {
|
||||||
this.getTags();
|
this.getTags();
|
||||||
if(this.queryCondition.pageIndex == 1) {
|
if (this.queryCondition.pageIndex == 1) {
|
||||||
this.caseList.list =[];
|
this.caseList.list = [];
|
||||||
}
|
}
|
||||||
this.moreState = 2;
|
this.moreState = 2;
|
||||||
await apiCase.queryList(this.queryCondition).then(res=>{
|
await apiCase
|
||||||
if(res.status==200){
|
.queryList(this.queryCondition)
|
||||||
if(res.result.list.length>0){
|
.then(res => {
|
||||||
this.isSeach =false;
|
if (res.status == 200) {
|
||||||
res.result.list.forEach(item=>{
|
if (res.result.list.length > 0) {
|
||||||
item.isAll=false;
|
this.isSeach = false;
|
||||||
item.authorInfo={aid:'',name:'',orgInfo:'',avatar:'',sex:null};
|
res.result.list.forEach(item => {
|
||||||
})
|
item.isAll = false;
|
||||||
this.caseList.list.push(...res.result.list);
|
item.authorInfo = {
|
||||||
this.caseList.count=res.result.count;
|
aid: "",
|
||||||
this.getCaseUserData(res.result.list)
|
name: "",
|
||||||
this.moreState = 1;
|
orgInfo: "",
|
||||||
if(res.result.count === res.result.list.length) {
|
avatar: "",
|
||||||
this.moreState = 3;
|
sex: null
|
||||||
|
};
|
||||||
|
});
|
||||||
|
this.caseList.list.push(...res.result.list);
|
||||||
|
this.caseList.count = res.result.count;
|
||||||
|
this.getCaseUserData(res.result.list);
|
||||||
|
this.moreState = 1;
|
||||||
|
if (res.result.count === res.result.list.length) {
|
||||||
|
this.moreState = 3;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.moreState = 3;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
this.moreState = 3;
|
this.$message.error(res.message);
|
||||||
|
|
||||||
}
|
}
|
||||||
}else{
|
})
|
||||||
this.$message.error(res.message);
|
.catch(err => {
|
||||||
}
|
console.log(err);
|
||||||
}).catch(err=>{
|
});
|
||||||
console.log(err)
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
getTags() {
|
getTags() {
|
||||||
this.searchTags = [];
|
this.searchTags = [];
|
||||||
let caseData = deepClone(this.queryCondition);
|
let caseData = deepClone(this.queryCondition);
|
||||||
for (let i in caseData) {
|
for (let i in caseData) {
|
||||||
@@ -528,21 +530,19 @@ export default {
|
|||||||
caseData[i] !== null &&
|
caseData[i] !== null &&
|
||||||
caseData[i] !== undefined
|
caseData[i] !== undefined
|
||||||
) {
|
) {
|
||||||
if(caseData[i] !== '0') {
|
if (caseData[i] !== "0") {
|
||||||
this.searchTags.push(
|
this.searchTags.push(caseData[i]);
|
||||||
caseData[i]
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
tagsClose(tag, index) {
|
tagsClose(tag, index) {
|
||||||
for (let i in this.queryCondition) {
|
for (let i in this.queryCondition) {
|
||||||
if (tag === this.queryCondition[i]) {
|
if (tag === this.queryCondition[i]) {
|
||||||
if(i == 'majorType'){
|
if (i == "majorType") {
|
||||||
this.queryCondition.majorType = null;
|
this.queryCondition.majorType = null;
|
||||||
}
|
}
|
||||||
if(i == 'orgDomain'){
|
if (i == "orgDomain") {
|
||||||
this.queryCondition.orgDomain = null;
|
this.queryCondition.orgDomain = null;
|
||||||
}
|
}
|
||||||
this.queryCondition[i] = "";
|
this.queryCondition[i] = "";
|
||||||
@@ -552,140 +552,135 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getCaseUserData(caseList){
|
getCaseUserData(caseList) {
|
||||||
let ids=caseList.map((item,index)=>{
|
let ids = caseList.map((item, index) => {
|
||||||
return item.sysCreateAid
|
return item.authorId;
|
||||||
})
|
});
|
||||||
const noReapetIds=[...new Set(ids)]
|
const noReapetIds = [...new Set(ids)];
|
||||||
apiUser.getByIds(ids).then(res=>{
|
apiUser.getByIds(noReapetIds).then(res => {
|
||||||
if(res.status==200){
|
if (res.status == 200) {
|
||||||
caseList.forEach((item,index)=>{
|
caseList.forEach((item, index) => {
|
||||||
res.result.some(author=>{
|
res.result.some(author => {
|
||||||
if(author.aid==item.sysCreateAid){
|
if (author.aid == item.authorId) {
|
||||||
item.authorInfo=author;
|
item.authorInfo = author;
|
||||||
return true;
|
return true;
|
||||||
}else{
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
});
|
});
|
||||||
}else{
|
} else {
|
||||||
this.$message.error(res.message);
|
this.$message.error(res.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
getAnkingData(){
|
getAnkingData() {
|
||||||
apiCase.usernameList(10).then(res=>{
|
apiCase.usernameList(10).then(res => {
|
||||||
if(res.status==200){
|
if (res.status == 200) {
|
||||||
this.ankingList=res.result
|
this.ankingList = res.result;
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
getPopularity(){
|
getPopularity() {
|
||||||
apiCase.queryPraises(5).then(res=>{
|
apiCase.queryPraises(5).then(res => {
|
||||||
if(res.status==200){
|
if (res.status == 200) {
|
||||||
this.Popularity=res.result
|
this.Popularity = res.result;
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
getPositive(){
|
getPositive() {
|
||||||
apiCase.queryComments(5).then(res=>{
|
apiCase.queryComments(5).then(res => {
|
||||||
if(res.status==200){
|
if (res.status == 200) {
|
||||||
this.Positive=res.result
|
this.Positive = res.result;
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
jumpRouter(item){
|
jumpRouter(item) {
|
||||||
this.$router.push(`/case/detail?id=${item.id}`);
|
this.$router.push(`/case/detail?id=${item.id}`);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
.searBox{
|
.searBox {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
margin: 0px auto 0 auto;
|
margin: 0px auto 0 auto;
|
||||||
}
|
}
|
||||||
#searchBox {
|
#searchBox {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
.ranking-title {
|
.ranking-title {
|
||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
|
font-size: 15px;
|
||||||
|
color: #333333;
|
||||||
|
.center-titlt {
|
||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
.center-titlt{
|
|
||||||
font-size: 15px;
|
|
||||||
color: #333333;
|
|
||||||
}
|
|
||||||
.center{
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
img{
|
|
||||||
margin-top: 5px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
::v-deep .title-line-ellipsis{
|
.center {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
img {
|
||||||
|
margin-top: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
::v-deep .title-line-ellipsis {
|
||||||
// width: 100%;
|
// width: 100%;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow:ellipsis;
|
text-overflow: ellipsis;
|
||||||
-webkit-box-orient: vertical;
|
-webkit-box-orient: vertical;
|
||||||
-webkit-line-clamp: 1;
|
-webkit-line-clamp: 1;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
word-break:break-all;
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
::v-deep .el-card__body{
|
::v-deep .el-card__body {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
::v-deep .bacolor:nth-child(odd){
|
::v-deep .bacolor:nth-child(odd) {
|
||||||
background-color: #f6f6f6;
|
background-color: #f6f6f6;
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
}
|
}
|
||||||
::v-deep .bacolor:nth-child(even){
|
::v-deep .bacolor:nth-child(even) {
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
padding: 0 5px;
|
padding: 0 5px;
|
||||||
|
|
||||||
}
|
}
|
||||||
::v-deep .el-card{
|
::v-deep .el-card {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
border: 1px solid #EBEEF5;
|
border: 1px solid #ebeef5;
|
||||||
}
|
}
|
||||||
::v-deep .el-radio-button__inner, .el-radio-group {
|
::v-deep .el-radio-button__inner,
|
||||||
vertical-align: top;
|
.el-radio-group {
|
||||||
|
vertical-align: top;
|
||||||
}
|
}
|
||||||
::v-deep .el-radio-button__inner{
|
::v-deep .el-radio-button__inner {
|
||||||
background: none;
|
background: none;
|
||||||
}
|
}
|
||||||
::v-deep .el-radio-button:first-child .el-radio-button__inner {
|
::v-deep .el-radio-button:first-child .el-radio-button__inner {
|
||||||
border-left: none;
|
border-left: none;
|
||||||
|
|
||||||
// border-radius: 4px 0 0 4px;
|
// border-radius: 4px 0 0 4px;
|
||||||
//box-shadow: none!important;
|
//box-shadow: none!important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.item-title{
|
.item-title {
|
||||||
margin: 10px 10px 10px 0;
|
margin: 10px 10px 10px 0;
|
||||||
//font-size: 14px;
|
//font-size: 14px;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
// line-height: 20px;
|
// line-height: 20px;
|
||||||
}
|
}
|
||||||
.item-line{
|
.item-line {
|
||||||
padding-left: 2px;
|
padding-left: 2px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
|
|
||||||
background: #ddd;
|
background: #ddd;
|
||||||
}
|
}
|
||||||
|
|
||||||
.portal-content{
|
.portal-content {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
// .item-title{
|
// .item-title{
|
||||||
@@ -748,8 +743,7 @@ export default {
|
|||||||
.pagination-div {
|
.pagination-div {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding: 10px 0;
|
padding: 10px 0;
|
||||||
.pag-text{
|
.pag-text {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.order-div {
|
.order-div {
|
||||||
@@ -856,20 +850,17 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.ranking-card {
|
.ranking-card {
|
||||||
|
.center {
|
||||||
|
text-align: center;
|
||||||
.center{
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
.right-box {
|
.right-box {
|
||||||
line-height: 25px;
|
line-height: 25px;
|
||||||
|
|
||||||
.ranking-title {
|
.ranking-title {
|
||||||
}
|
}
|
||||||
.aligh-title{
|
.aligh-title {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user