mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-21 16:56:43 +08:00
Merge branch 'master' of codeup.aliyun.com:6265f483e4166464dc2f9c14/boeu/portal
This commit is contained in:
@@ -3,9 +3,15 @@
|
||||
<div class="article-list" v-for="(item, idx) in items" :key="idx" @click="jumpDetail(item)">
|
||||
<div class="article-info">
|
||||
<div class="article-info-title one-line-ellipsis">
|
||||
<span class="titleContent" >
|
||||
|
||||
<div class="titleContent" >
|
||||
<span style="float: right;">
|
||||
<el-button class="btncolor" @click.stop="editItem(item.id)" type="text" icon="el-icon-edit">编辑</el-button>
|
||||
<el-button style="margin-left: 30px;" class="btncolor" @click.stop="delItem(item)" type="text" icon="el-icon-delete">删除</el-button>
|
||||
</span>
|
||||
{{ item.title }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="art-head two-line-ellipsis">
|
||||
<div class="article-info-summary">
|
||||
@@ -65,7 +71,7 @@ export default {
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
console.log(this.items)
|
||||
|
||||
},
|
||||
methods: {
|
||||
classFilter(status){
|
||||
@@ -197,6 +203,11 @@ export default {
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
.btncolor{
|
||||
color: #8590A6;
|
||||
font-size: 14px;
|
||||
}
|
||||
.one-line-ellipsis {
|
||||
width: 100%;
|
||||
text-overflow: ellipsis;
|
||||
@@ -285,7 +296,7 @@ export default {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.article-info-tools {
|
||||
height: 30px;
|
||||
display: flex;
|
||||
|
||||
@@ -305,7 +305,7 @@ export default {
|
||||
homeworkInfo: {},
|
||||
examInfo: {},
|
||||
assessInfo: {},
|
||||
fileBaseUrl: this.$xpage.constants.fileBaseUrl,
|
||||
fileBaseUrl: process.env.VUE_APP_FILE_BASE_URL,
|
||||
btnLoading: false,
|
||||
curCFile:{},//课件内容
|
||||
coursewareInfo: {
|
||||
|
||||
@@ -366,7 +366,7 @@
|
||||
data(){
|
||||
return {
|
||||
converStatus:4,
|
||||
fileBaseUrl:this.$xpage.constants.fileBaseUrl,
|
||||
fileBaseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||
curPdfPath:'',
|
||||
curCFile:{},//当前课件的内容
|
||||
comTypes:[
|
||||
|
||||
@@ -149,7 +149,7 @@
|
||||
show-word-limit
|
||||
:rows="3"
|
||||
v-model="courseInfo.summary"
|
||||
placeholder="请尽量填写课程简介(限255字以内),用于列表中显示,可以让用户更容易了解课程信息">
|
||||
placeholder="请尽量填写课程简介,用于列表中显示,可以让用户更容易了解课程信息">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -258,9 +258,9 @@
|
||||
<el-form-item label="目标人群" required>
|
||||
<el-input maxlength="50" v-model="courseInfo.forUsers" show-word-limit placeholder="目标人群(限50字以内)"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="受众">
|
||||
<el-form-item label="受众"><!--:disabled="item.disabled"-->
|
||||
<el-select value-key="key" style="width: 100%;" v-model="courseCrowds" filterable multiple placeholder="请选择">
|
||||
<el-option v-for="item in userGroupList" :key="item.key" :label="item.value" :value="item"></el-option>
|
||||
<el-option v-for="item in userGroupList" :key="item.key" :label="item.value" :value="item"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="课程价值"><el-input maxlength="200" v-model="courseInfo.value" show-word-limit placeholder="课程价值(限200字以内)"></el-input></el-form-item>
|
||||
@@ -303,10 +303,10 @@
|
||||
<el-input
|
||||
type="textarea"
|
||||
show-word-limit
|
||||
maxlength="150"
|
||||
maxlength="255"
|
||||
:rows="5"
|
||||
v-model="courseInfo.summary"
|
||||
placeholder="请尽量填写课程简介(限255字以内),用于列表中显示,可以让用户更容易了解课程信息">
|
||||
placeholder="请尽量填写课程简介,用于列表中显示,可以让用户更容易了解课程信息">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<!-- v-if="!weike.onlyRequired" -->
|
||||
@@ -843,14 +843,25 @@ export default {
|
||||
let crowdList=[];
|
||||
if(result.crowds && result.crowds.length>0){
|
||||
result.crowds.forEach(crowd=>{
|
||||
crowdList.push({
|
||||
let newCrowd={
|
||||
key:crowd.groupId,
|
||||
value:crowd.groupName,
|
||||
disabled:false,
|
||||
text:''
|
||||
})
|
||||
}
|
||||
crowdList.push(newCrowd);
|
||||
let hasUG=$this.userGroupList.some(ug=>{
|
||||
return ug.key==crowd.groupId;
|
||||
});
|
||||
if(!hasUG){
|
||||
newCrowd.disabled=true;
|
||||
$this.userGroupList.push(newCrowd);
|
||||
}
|
||||
});
|
||||
}
|
||||
this.courseCrowds=crowdList;
|
||||
//反向看userGroupList是否有
|
||||
|
||||
//课程图片
|
||||
if (this.courseInfo.coverImg != '') {
|
||||
this.courseCoverurl = this.fileUrl+this.courseInfo.coverImg;
|
||||
@@ -1311,7 +1322,7 @@ export default {
|
||||
if (this.sysTypeList.length > 2) {
|
||||
this.courseInfo.sysType3 = this.sysTypeList[2]; //三级的id
|
||||
}
|
||||
|
||||
|
||||
//受众的处理
|
||||
let crowds=[];
|
||||
this.courseCrowds.forEach(item=>{
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="answer-list">
|
||||
<ul v-if="list.length > 0">
|
||||
<li class="answer-list-index" v-for="item in list" :key="item.id">
|
||||
<p v-if="isDynamic" class="portal-summary-text" style="margin-bottom:18px">
|
||||
<p class="portal-summary-text" style="margin-bottom:18px">
|
||||
<span v-if="!personal || isFollow">{{item.aname}}</span>{{item.cusInfo}}<span style="margin-left:28px">{{item.eventTime}}</span>
|
||||
<span v-if="item.aid == userInfo.aid" class="follow-hide pointer" style="float:right">
|
||||
<span v-if="item.hidden">已隐藏</span>
|
||||
@@ -27,11 +27,11 @@
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div v-else class="home-no-list">
|
||||
<!-- <div v-else class="home-no-list">
|
||||
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-answer.png`" alt="" srcset="">
|
||||
<p v-if="isFollow" class="text">暂时没有动态</p>
|
||||
<p v-else class="text">还没有回答</p>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -78,6 +78,10 @@
|
||||
},
|
||||
methods:{
|
||||
jumpDetail(item){
|
||||
if(item.deleted){
|
||||
this.$message.warning("此内容已删除");
|
||||
return;
|
||||
}
|
||||
this.$router.push('/qa/answer?id='+item.contentId)
|
||||
},
|
||||
emitHide(id) {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="article-list">
|
||||
<ul v-if="list.length > 0">
|
||||
<li class="article-list-index" v-for="item in list" :key="item.id">
|
||||
<p v-if="isDynamic" class="portal-summary-text" style="margin-bottom:18px">
|
||||
<p class="portal-summary-text" style="margin-bottom:18px">
|
||||
<span v-if="!personal || isFollow">{{item.aname}}</span>{{item.cusInfo}}
|
||||
<span style="margin-left:28px">{{item.eventTime}}</span>
|
||||
<span v-if="item.aid == userInfo.aid" class="follow-hide pointer" style="float:right" >
|
||||
@@ -31,11 +31,11 @@
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div v-else class="home-no-list">
|
||||
<!-- <div v-else class="home-no-list">
|
||||
<img class="img" style="width:150px;height:160px" :src="`${webBaseUrl}/images/homeWu/no-article.png`" alt="" srcset="">
|
||||
<p v-if="isFollow" class="text">暂时没有动态</p>
|
||||
<p v-else class="text">还没有文章</p>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -78,6 +78,10 @@
|
||||
},
|
||||
methods:{
|
||||
jumpDetail(item){
|
||||
if(item.info.deleted){
|
||||
this.$message.warning("此文章已删除");
|
||||
return;
|
||||
}
|
||||
this.$router.push('/article/detail?id='+item.contentId)
|
||||
},
|
||||
emitHide(id) {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<div class="data-content" v-if="list.length >0">
|
||||
<div :span="24" v-for="item in list" :key="item.id" class="case-list">
|
||||
<div class="case-info">
|
||||
<p v-if="isDynamic" class="portal-summary-text">
|
||||
<p class="portal-summary-text">
|
||||
<span v-if="!personal || isFollow">{{item.aname}}</span>{{item.cusInfo}}
|
||||
<span style="margin-left:28px">{{item.eventTime}}</span>
|
||||
<span v-if="item.aid == userInfo.aid" class="follow-hide pointer" style="float:right">
|
||||
@@ -55,11 +55,11 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="home-no-list">
|
||||
<!-- <div v-else class="home-no-list">
|
||||
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-case.png`" alt="" srcset="">
|
||||
<p v-if="isFollow" class="text">暂时没有动态</p>
|
||||
<p v-else class="text">还没有案例</p>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -124,6 +124,13 @@
|
||||
if(code==''|| code==undefined){return '';}
|
||||
return this.orgDomainMap.get(code);
|
||||
},
|
||||
jumpDetail(item){
|
||||
if(item.info.deleted){
|
||||
this.$message.warning("此案例已删除");
|
||||
return;
|
||||
}
|
||||
this.$router.push('/case/detail?id='+item.contentId)
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="">
|
||||
<ul class="data-info-ul" v-if="list.length > 0">
|
||||
<li class="data-info" v-for="item in list" :key="item.id">
|
||||
<p v-if="isDynamic" class="portal-summary-text" style="margin-bottom:18px">
|
||||
<p class="portal-summary-text" style="margin-bottom:18px">
|
||||
<span v-if="!personal || isFollow">{{item.aname}}</span>
|
||||
{{item.cusInfo}} <span style="margin-left:28px">{{item.eventTime}}</span>
|
||||
<span v-if="item.aid == userInfo.aid" class="follow-hide pointer" style="float:right" >
|
||||
@@ -39,11 +39,11 @@
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
<div v-else class="home-no-list">
|
||||
<!-- <div v-else class="home-no-list">
|
||||
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-course.png`" alt="" srcset="">
|
||||
<p v-if="isFollow" class="text">暂时没有动态</p>
|
||||
<p v-else class="text">还没有课程</p>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -98,7 +98,11 @@
|
||||
if(!data.contentId){
|
||||
return;
|
||||
}
|
||||
|
||||
console.log(data.info,'data.info')
|
||||
if(!data.info.enabled || data.info.deleted){
|
||||
this.$message.warning("此课程已停用或已删除");
|
||||
return;
|
||||
}
|
||||
this.$router.push({ path: '/course/detail?id=', query: { id: data.contentId } });
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="note-list">
|
||||
<ul v-if="list.length > 0">
|
||||
<li class="note-list-index" v-for="item in list" :key="item.id">
|
||||
<p v-if="isDynamic" style="word-break:break-all;word-wrap:break-word;margin-bottom:18px" class="portal-summary-text">
|
||||
<p style="word-break:break-all;word-wrap:break-word;margin-bottom:18px" class="portal-summary-text">
|
||||
<span style="word-break:break-all;word-wrap:break-word;margin-bottom:18px" v-if="!personal || isFollow">{{item.aname}}</span>{{item.cusInfo}}
|
||||
<span style="margin-left:28px">{{item.eventTime}}</span>
|
||||
<span v-if="item.aid == userInfo.aid" class="follow-hide pointer" style="float:right">
|
||||
@@ -24,11 +24,11 @@
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div v-else class="home-no-list">
|
||||
<!-- <div v-else class="home-no-list">
|
||||
<img class="img" :src="`${webBaseUrl}/images/homeWu/no-note.png`" alt="" srcset="">
|
||||
<p v-if="isFollow" class="text">暂时没有动态</p>
|
||||
<p v-else class="text">还没有笔记</p>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -74,6 +74,10 @@
|
||||
},
|
||||
methods:{
|
||||
jumpDetail(item){
|
||||
if(item.info.deleted){
|
||||
this.$message.warning("此笔记已删除");
|
||||
return;
|
||||
}
|
||||
this.$router.push('/course/detail?id='+item.info.courseId)
|
||||
},
|
||||
emitHide(id) {
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
<div class="put-list">
|
||||
<ul v-if="list.length > 0">
|
||||
<li class="put-list-index" v-for="item in list" :key="item.id">
|
||||
<p v-if="isDynamic" class="portal-summary-text" style="margin-bottom:18px;margin-top:10px">
|
||||
<span v-if="!personal || isFollow">{{item.aname}}</span>{{item.cusInfo}}
|
||||
<span style="margin-left:28px">{{item.eventTime}}</span>
|
||||
<p class="portal-summary-text" style="margin-bottom:18px;margin-top:10px">
|
||||
<span v-if="!personal || isFollow">{{item.aname}}</span>{{item.cusInfo}}
|
||||
<span style="margin-left:28px">{{item.eventTime}}</span>
|
||||
<span v-if="item.aid == userInfo.aid" class="follow-hide pointer" style="float:right">
|
||||
<span v-if="item.hidden">已隐藏</span>
|
||||
<span v-else @click="emitHide(item.id)"> <svg-icon style="margin-right: 10px;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>隐藏 </span>
|
||||
@@ -23,14 +23,14 @@
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<div v-else class="home-no-list">
|
||||
<!-- <div v-else class="home-no-list">
|
||||
<img class="img" style="width:204px;height:160px" :src="`${webBaseUrl}/images/homeWu/no-put.png`" alt="" srcset="">
|
||||
<p v-if="isFollow" class="text">暂时没有动态</p>
|
||||
<p v-else class="text">还没有提问</p>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
<script>
|
||||
import interactBar from "@/components/Portal/interactBar.vue";
|
||||
import { mapGetters,mapActions } from 'vuex';
|
||||
@@ -74,15 +74,19 @@
|
||||
},
|
||||
jumpDetail(data) {
|
||||
if(!data.id){
|
||||
return;
|
||||
return;
|
||||
}
|
||||
if(item.info.deleted){
|
||||
this.$message.warning("此问题已删除");
|
||||
return;
|
||||
}
|
||||
this.$router.push({ path: '/qa/answer', query: { id: data.id } });
|
||||
},
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.put-list{
|
||||
.put-title-info{
|
||||
@@ -113,6 +117,5 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
</el-tooltip>
|
||||
<span class="interact-bar-value"> {{data.shares}}</span>
|
||||
</div>
|
||||
<div v-if="views" style="cursor: default;" :style="`min-width: ${nodeWidth};`" class="interact-bar-btn" :class="{cursor:!readonly}">
|
||||
<div v-if="views" style="cursor: default;" :style="`min-width: ${nodeWidth};margin-left:${data.views>1000? '40px':'20px'}`" class="interact-bar-btn" :class="{cursor:!readonly}">
|
||||
<el-tooltip effect="light" content="浏览量" placement="top" :visible-arrow="false" popper-class="text-tooltip">
|
||||
<svg-icon style="margin-right: 0;font-size:22px;padding-top: 4px;" icon-class="eyes"></svg-icon>
|
||||
</el-tooltip>
|
||||
|
||||
@@ -155,7 +155,7 @@ export default {
|
||||
|
||||
components:{gonggao},
|
||||
computed: {
|
||||
...mapGetters(['userInfo', 'userMsg','identity']),
|
||||
...mapGetters(['userInfo', 'userMsg','identity','studyTaskCount']),
|
||||
|
||||
avatarText(){
|
||||
return userAvatarText(this.userInfo.name);
|
||||
@@ -190,20 +190,25 @@ export default {
|
||||
console.log('lll')
|
||||
},
|
||||
loadBoeData() {
|
||||
let params = {
|
||||
// keyword:this.keyword,
|
||||
page: 1,
|
||||
size: 10
|
||||
// cmtask_status:this.cmtask_status,
|
||||
// cmtask_name:this.cmtask_name,
|
||||
};
|
||||
apiBoeCourse.cmtaskList(params).then(res => {
|
||||
if (res.status == 200 && res.result.count > 0) {
|
||||
this.isTiao = true;
|
||||
} else {
|
||||
this.isTiao = false;
|
||||
}
|
||||
});
|
||||
if(this.studyTaskCount>0){
|
||||
this.isTiao = true;
|
||||
}else{
|
||||
this.isTiao = false;
|
||||
}
|
||||
// let params = {
|
||||
// // keyword:this.keyword,
|
||||
// page: 1,
|
||||
// size: 10
|
||||
// // cmtask_status:this.cmtask_status,
|
||||
// // cmtask_name:this.cmtask_name,
|
||||
// };
|
||||
// apiBoeCourse.cmtaskList(params).then(res => {
|
||||
// if (res.status == 200 && res.result.count > 0) {
|
||||
// this.isTiao = true;
|
||||
// } else {
|
||||
// this.isTiao = false;
|
||||
// }
|
||||
// });
|
||||
},
|
||||
handleCommand(val) {
|
||||
let urlPre=window.location.protocol+'//'+window.location.host;
|
||||
|
||||
@@ -78,9 +78,9 @@
|
||||
</div>
|
||||
|
||||
<div class="learning-info">
|
||||
<!--
|
||||
|
||||
<div @click="jumrank" style="cursor: pointer;" class="ranking-link"> BOE 排行榜 >></div>
|
||||
-->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user