mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/learning-system-portal.git
synced 2025-12-11 03:46:44 +08:00
提交修改
This commit is contained in:
@@ -53,10 +53,18 @@ const courseList = function(data) {
|
||||
return ajax.postJson('/b1/system/search/list',data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除课程
|
||||
* @param {Object} ms_timeline_kid
|
||||
*/
|
||||
const delLearning = function(ms_timeline_kid) {
|
||||
return ajax.post('/b1/system/user/ms-timeline-delete',{ms_timeline_kid});
|
||||
}
|
||||
|
||||
export default {
|
||||
myLearning,
|
||||
cmtaskList,
|
||||
reportList,
|
||||
courseList
|
||||
courseList,
|
||||
delLearning
|
||||
}
|
||||
|
||||
@@ -29,10 +29,5 @@ p{
|
||||
margin-top: 70px;
|
||||
color: #ccc;
|
||||
}
|
||||
.el-dialog__wrapper{
|
||||
background-color: rgba(128, 128, 128,.7) !important;
|
||||
}
|
||||
.el-message-box__wrapper{
|
||||
background-color: rgba(128, 128, 128,.7) !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -31,16 +31,10 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<el-dialog
|
||||
class="checked-show"
|
||||
:visible.sync="addFormCheckedShow"
|
||||
width="800px"
|
||||
:show-close="false"
|
||||
:modal="false">
|
||||
<el-dialog class="checked-show" :visible.sync="addFormCheckedShow" width="800px" :show-close="false" top="14vh" :modal="false">
|
||||
<agreement></agreement>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<!-- <el-button @click="addFormCheckedShow = false">取 消</el-button> -->
|
||||
<el-button type="primary" @click="addFormCheckedShow = false">确 定</el-button>
|
||||
<el-button style="margin-right:10px" type="primary" @click="addFormCheckedShow = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@@ -205,11 +199,17 @@ export default {
|
||||
.el-dialog__header{
|
||||
padding:0;
|
||||
}
|
||||
.el-dialog__body {
|
||||
padding: 30px 20px;
|
||||
// overflow-y: auto;
|
||||
}
|
||||
.el-dialog__footer{
|
||||
border-top: 1px solid #F5F5F6;
|
||||
background-color: #F5F5F6;
|
||||
border-top: 1px solid #fff;
|
||||
background-color: #fff;
|
||||
padding: 10px 20px 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.nav {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<!-- <img :src="imageUrl(item)" /><span v-if="isShow" class="two-line-ellipsis">{{item.title}}</span> -->
|
||||
</div>
|
||||
<div class="flex-between" @click="jump(item)">
|
||||
<div class="uc-course-name">
|
||||
<div class="uc-course-name one-line-ellipsis">
|
||||
<span :class="contentTypeFilter(item.contentType).class">{{ contentTypeFilter(item.contentType).text }}</span>
|
||||
<span>{{ item.title }}</span>
|
||||
</div>
|
||||
@@ -132,6 +132,16 @@ export default {
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.one-line-ellipsis{
|
||||
display: -webkit-box;
|
||||
// white-space:pre-wrap;
|
||||
word-wrap: break-word;
|
||||
word-break:break-all;
|
||||
overflow: hidden;
|
||||
text-overflow:ellipsis;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 1;
|
||||
}
|
||||
.uc-course {
|
||||
position: relative;
|
||||
cursor: pointer;
|
||||
@@ -163,9 +173,9 @@ export default {
|
||||
}
|
||||
.uc-course-img {
|
||||
position: relative;
|
||||
img {
|
||||
width: 160px;
|
||||
height: 90px;
|
||||
::v-deep img {
|
||||
width: 212px;
|
||||
height: 119px;
|
||||
border: 1px solid #f4f4f5;
|
||||
}
|
||||
> span {
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
</span> -->
|
||||
</el-dialog>
|
||||
<!--微课-->
|
||||
<el-dialog width="980px" :title="curCourseId == '' ? '新建课程' : '编辑课程'" :visible.sync="weike.dlgShow" :close-on-click-modal="false" custom-class="g-dialog" top="8%">
|
||||
<el-dialog width="980px" :title="curCourseId == '' ? '新建课程' : '编辑课程'" :visible.sync="weike.dlgShow" :close-on-click-modal="false" custom-class="g-dialog" top="8vh">
|
||||
<el-form label-width="100px" size="small" class="wei-from" style="min-height: 600px;">
|
||||
<el-row :gutter="10">
|
||||
<el-col :span="10">
|
||||
@@ -187,7 +187,7 @@
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!--录播课-->
|
||||
<el-dialog width="980px" :title="curCourseId == '' ? '新建课程' : '编辑课程'" :visible.sync="biaoke.dlgShow" :close-on-click-modal="false" custom-class="g-dialog" top="8%">
|
||||
<el-dialog width="980px" :title="curCourseId == '' ? '新建课程' : '编辑课程'" :visible.sync="biaoke.dlgShow" :close-on-click-modal="false" custom-class="g-dialog" top="8vh">
|
||||
<el-tabs v-model="biaoke.tabIndex" @tab-click="changeBiaokeTab" style="min-height: 600px;">
|
||||
<el-tab-pane label="课程信息" name="base" style="width: 90%;">
|
||||
<!-- :rules="rulesTwo" -->
|
||||
@@ -366,11 +366,10 @@
|
||||
<el-button @click="saveCatalogSort" type="primary">确定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<el-dialog class="checked-show" :visible.sync="courseInfoFormCheckedShow" top="10%" width="800px" :show-close="false" :modal="false">
|
||||
<el-dialog class="checked-show" :visible.sync="courseInfoFormCheckedShow" top="14vh" width="800px" :show-close="false" :modal="false">
|
||||
<agreement></agreement>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<!-- <el-button @click="courseInfoFormCheckedShow = false">取 消</el-button> -->
|
||||
<el-button type="primary" @click="courseInfoFormCheckedShow = false">确 定</el-button>
|
||||
<el-button style="margin-right:10px" type="primary" @click="courseInfoFormCheckedShow = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!--选择图片-->
|
||||
@@ -1255,10 +1254,6 @@ export default {
|
||||
.el-dialog__header{
|
||||
padding:0;
|
||||
}
|
||||
.el-dialog__footer{
|
||||
border-top: 1px solid #F5F5F6;
|
||||
background-color: #F5F5F6;
|
||||
}
|
||||
}
|
||||
.el-dialog__body {
|
||||
padding: 10px 10px;
|
||||
@@ -1326,7 +1321,7 @@ export default {
|
||||
border-bottom: 1px solid #dddddd;
|
||||
padding: 0px 6px;
|
||||
display: flex;
|
||||
|
||||
|
||||
}
|
||||
.cctree-chapter-cells {
|
||||
margin: 0px;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<template>
|
||||
<div class="item-agr">
|
||||
<div style="padding: 40px 20px 0 20px;color: #8a8a8a;">
|
||||
<div style="text-align: center;font-size: 26px;padding-bottom:40px ;">京东方大学堂内容发布须知</div>
|
||||
<div style="min-height: 300px;max-height: 500px;overflow-y: auto;">
|
||||
|
||||
<div style="line-height: 30px; white-space:pre-line" v-html="context" ></div>
|
||||
<div style="padding: 0 10px 0 10px;color:#626262;;">
|
||||
<div style="text-align: center;font-size: 26px;padding-bottom:20px ;">京东方大学堂内容发布须知</div>
|
||||
<div class="agr-content" style="min-height: 320px;max-height: 320px;overflow-y: auto;">
|
||||
<div style="" >
|
||||
<p style="margin-bottom:10px;line-height: 24px; white-space:pre-line" v-for="(item,index) in context" :key="index">{{item}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div style="height: 100px;"></div> -->
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -16,7 +16,7 @@ import apiProtocol from '@/api/modules/protocol.js';
|
||||
data(){
|
||||
return {
|
||||
baseUrl:process.env.VUE_APP_FILE_BASE_URL,
|
||||
context:'',
|
||||
context:[],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -33,7 +33,8 @@ import apiProtocol from '@/api/modules/protocol.js';
|
||||
getprotocol(){
|
||||
apiProtocol.query(1).then(res=>{
|
||||
if(res.status == 200){
|
||||
this.context = res.result.content;
|
||||
let list = res.result.content.split('\n');
|
||||
this.context = list;
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -42,5 +43,9 @@ import apiProtocol from '@/api/modules/protocol.js';
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
.agr-content{
|
||||
background: #f7f7f7;
|
||||
padding: 20px;
|
||||
color: #626262;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
<div class="zan-wu" v-if="list.length == 0">暂无评论~</div>
|
||||
<div class="comment" v-for="(com,comIdx) in list" :key="com.id">
|
||||
<div class="comment-top">
|
||||
<div class="comment-">
|
||||
<div class="comment-author">
|
||||
<authorInfo :avatar="com.avatar" :name="com.sysCreateBy" :sex="com.sex"></authorInfo>
|
||||
</div>
|
||||
<div class="comment-time">
|
||||
@@ -74,14 +74,19 @@
|
||||
</div>
|
||||
<div class="comment-body" >
|
||||
<div class="comment-info" @mouseover="showButtons(com.id)" @mouseout="hideButtons()">
|
||||
<div class="comment-content" @click="cancelReply()">{{com.content}}</div>
|
||||
<div class="comment-content" @click="cancelReply()">
|
||||
{{displayAll(com)}}
|
||||
<span v-if="com.content.length>170" @click="changeIsAll(com)">
|
||||
{{com.isAll?'收起':'全文'}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="comment-btns">
|
||||
<!-- <a><svg-icon icon-class="like"></svg-icon><span>66</span></a> -->
|
||||
<div v-show="btnsShowRowId==com.id">
|
||||
<a @click="showReply(com)"><svg-icon icon-class="comment" style="margin-right: 0px;font-size: 16px;"></svg-icon><span>回复</span></a>
|
||||
<!--必须当前登录人是一个人-->
|
||||
<a v-if="userInfo.aid==com.sysCreateAid" @click="delCommnet(com,comIdx)"><svg-icon icon-class="remove" style="margin-right: 0px;font-size: 16px;"></svg-icon><span>删除</span></a>
|
||||
<a v-if="com.replyList && com.replyList.length==5" @click="showMoreReply(com)" ><svg-icon icon-class="all" style="margin-right: 0px;font-size: 16px;"></svg-icon><span>全部</span></a>
|
||||
<!-- <a v-if="com.replyList && com.replyList.length==5" @click="showMoreReply(com)" ><svg-icon icon-class="all" style="margin-right: 0px;font-size: 16px;"></svg-icon><span>全部</span></a> -->
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="replyInfo.parentId==com.id" class="comment-reply" style="padding-bottom: 5px;">
|
||||
@@ -110,7 +115,12 @@
|
||||
</div>
|
||||
<div class="comment-body" @mouseover="showButtons(reply.id)" @mouseout="hideButtons()">
|
||||
<div class="comment-info" >
|
||||
<div class="comment-content" @click="cancelReply()">{{reply.content}}</div>
|
||||
<div class="comment-content" @click="cancelReply()">
|
||||
{{displayAll(reply)}}
|
||||
<span v-if="reply.content.length>170" @click="changeIsAll(reply)">
|
||||
{{reply.isAll?'收起':'全文'}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="comment-btns">
|
||||
<!-- <a><svg-icon icon-class="like"></svg-icon><span>66</span></a> -->
|
||||
<div v-show="btnsShowRowId==reply.id">
|
||||
@@ -405,7 +415,8 @@
|
||||
res.result.list.forEach(item=>{
|
||||
item.avatar='';
|
||||
item.orgInfo='';
|
||||
// item.sex=null;
|
||||
item.isAll=false;
|
||||
//item.sex=null;
|
||||
allList.push(item);
|
||||
ids.push(item.sysCreateAid);
|
||||
if(item.replyList && item.replyList!=''){
|
||||
@@ -413,6 +424,7 @@
|
||||
reply.avatar='';
|
||||
reply.orgInfo='';
|
||||
reply.sex=null;
|
||||
reply.isAll=false;
|
||||
allList.push(reply);
|
||||
ids.push(reply.sysCreateAid);
|
||||
})
|
||||
@@ -457,13 +469,14 @@
|
||||
|
||||
}
|
||||
|
||||
apiComment.add(cdata).then(res=>{
|
||||
apiComment.add(cdata).then(res=>{
|
||||
if(res.status==200){
|
||||
// this.list.unshift(res.result);
|
||||
// this.sex =
|
||||
res.result.sex=null;
|
||||
res.result.isAll=false;
|
||||
this.list.unshift(res.result);
|
||||
this.loadAuthorInfo([res.result],[res.result.sysCreateAid]);
|
||||
this.loadAuthorInfo([res.result],[res.result.sysCreateAid]);
|
||||
this.$message.success('发布成功');
|
||||
//
|
||||
|
||||
@@ -488,6 +501,17 @@
|
||||
hideButtons(){
|
||||
this.btnsShowRowId='';
|
||||
},
|
||||
//展示全部
|
||||
displayAll(item) {
|
||||
//console.log(item,'item');
|
||||
if(!item.isAll && item.content && item.content.length > 170) {
|
||||
return item.content.slice(0, 170) + "...";
|
||||
}
|
||||
return item.content;
|
||||
},
|
||||
changeIsAll(item) {
|
||||
item.isAll=!item.isAll;
|
||||
},
|
||||
showReply(item){
|
||||
this.replyInfo.objType=this.objType;
|
||||
this.replyInfo.objId=this.objId;
|
||||
@@ -513,7 +537,8 @@
|
||||
}
|
||||
apiComment.reply(this.replyInfo).then(res=>{
|
||||
if(res.status==200){
|
||||
res.result.sex = null;
|
||||
res.result.sex = null;
|
||||
res.result.isAll=false;
|
||||
this.loadAuthorInfo([res.result],[res.result.sysCreateAid]);
|
||||
comment.replyList.push(res.result);
|
||||
this.replyInfo.parentId='';
|
||||
@@ -617,6 +642,7 @@
|
||||
apiComment.reply(this.replyInfo).then(res=>{
|
||||
if(res.status==200){
|
||||
res.result.sex = null;
|
||||
res.result.isAll=false;
|
||||
this.loadAuthorInfo([res.result],[res.result.sysCreateAid]);
|
||||
this.replyDiaglog.list.push(res.result);
|
||||
this.replyInfo.parentId='';
|
||||
@@ -820,7 +846,13 @@
|
||||
padding-left: 40px;
|
||||
.comment-content{
|
||||
padding-bottom: 0px;
|
||||
white-space: pre-wrap;
|
||||
word-break:break-all;
|
||||
span {
|
||||
color: #409eff;
|
||||
cursor: pointer;
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
.comment-btns{
|
||||
// padding: 5px 10px 10px 0px;
|
||||
|
||||
@@ -178,7 +178,10 @@ export default {
|
||||
}
|
||||
},
|
||||
created(){
|
||||
if(this.data && this.data.id!='' && !this.readonly){
|
||||
|
||||
},
|
||||
mounted() {
|
||||
if(this.data && this.data.id && !this.readonly){
|
||||
this.checkHas();
|
||||
}
|
||||
},
|
||||
|
||||
@@ -106,7 +106,7 @@
|
||||
</span>
|
||||
</el-dialog>
|
||||
<addQuestion ref="addQuestion" @sure="sure"></addQuestion>
|
||||
<el-dialog title="创建文章" :visible.sync="diagSync" :close-on-click-modal="false" width="900px" custom-class="g-dialog">
|
||||
<el-dialog title="创建文章" :visible.sync="diagSync" top="14vh" :close-on-click-modal="false" width="900px" custom-class="g-dialog">
|
||||
<editItems v-if="diagSync" :jumpLimit="false" :editForm="{}" @success="saveSuccess"></editItems>
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
||||
@@ -31,11 +31,11 @@
|
||||
<el-button @click="askQuestionDialog = false">取 消</el-button>
|
||||
<el-checkbox style="margin-left:10px" v-model="askForm.checked"> </el-checkbox><span style="font-size:14px;color:#787878;margin-left:10px">我已阅读并遵守</span><span style="font-size:14px;color:#588afc;margin-right:10px;cursor: pointer;" @click="askFormCheckedShow = true">平台内容发布要求</span>
|
||||
</div>
|
||||
<el-dialog class="checked-show" :visible.sync="askFormCheckedShow" width="800px" :show-close="false" :modal="false">
|
||||
<el-dialog class="checked-show" :visible.sync="askFormCheckedShow" top="14vh" width="800px" :show-close="false" :modal="false">
|
||||
<agreement></agreement>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<!-- <el-button @click="askFormCheckedShow = false">取 消</el-button> -->
|
||||
<el-button type="primary" @click="askFormCheckedShow = false">确 定</el-button>
|
||||
<el-button style="margin-right:10px" type="primary" @click="askFormCheckedShow = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</el-dialog>
|
||||
@@ -117,9 +117,5 @@
|
||||
.el-dialog__header{
|
||||
padding:0;
|
||||
}
|
||||
.el-dialog__footer{
|
||||
border-top: 1px solid #F5F5F6;
|
||||
background-color: #F5F5F6;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -103,7 +103,6 @@ export default {
|
||||
query.sysCreateAid = this.userInfo.aid;
|
||||
apiArticle.myPageList(query).then(res => {
|
||||
if (res.status == 200) {
|
||||
console.log(res)
|
||||
this.total = res.result.count;
|
||||
this.pageData.list = res.result.list;
|
||||
if(this.pageData.list.length!=0){
|
||||
|
||||
@@ -283,11 +283,21 @@ export default {
|
||||
this.$message.error("回复失败");
|
||||
})
|
||||
} else {
|
||||
apiQa.saveComment({
|
||||
parentId:this.replayContent.parentId,
|
||||
content:this.replayContent.content,
|
||||
commentId:this.replayContent.id
|
||||
}).then(res=>{
|
||||
//默认是一级评论,2级数据
|
||||
let replyData={
|
||||
replayAid: this.replayContent.sysCreateAid,
|
||||
replayName: this.replayContent.sysCreateBy,
|
||||
content: this.replayContent.content,
|
||||
parentId: this.replayContent.id,
|
||||
commentId: "",
|
||||
clevel: 2
|
||||
}
|
||||
if(this.replayContent.clevel==2){ //当前是一级评论
|
||||
replyData.commentId=this.replayContent.id;
|
||||
replyData.clevel=3;
|
||||
}
|
||||
|
||||
apiQa.saveComment(replyData).then(res=>{
|
||||
if(res.status==200){
|
||||
this.$message.success("回复成功");
|
||||
this.shareShow = false;
|
||||
|
||||
@@ -13,11 +13,7 @@
|
||||
</el-cascader>
|
||||
</el-col> -->
|
||||
<el-col :span="4">
|
||||
<el-select
|
||||
v-model="params.type"
|
||||
clearable
|
||||
placeholder="类型"
|
||||
>
|
||||
<el-select v-model="params.type" clearable placeholder="类型" >
|
||||
<el-option
|
||||
v-for="item in optionsList"
|
||||
:key="item.value"
|
||||
@@ -33,33 +29,20 @@
|
||||
clearable></el-input>
|
||||
</el-col>
|
||||
<el-col :span="14">
|
||||
<el-button
|
||||
|
||||
type="primary"
|
||||
@click="loadData(1)"
|
||||
style="margin-left: 20px"
|
||||
icon="el-icon-search"
|
||||
>搜索</el-button>
|
||||
<el-button
|
||||
icon="el-icon-refresh-right"
|
||||
type="primary" @click="reset">
|
||||
重置
|
||||
</el-button>
|
||||
<el-button type="primary" @click="loadData(1)" style="margin-left: 20px" icon="el-icon-search" >搜索</el-button>
|
||||
<el-button icon="el-icon-refresh-right" type="primary" @click="reset"> 重置 </el-button>
|
||||
<el-button type="primary" @click="addQuestion(1)" style="margin-left: 10px" icon="el-icon-plus"> 添加 </el-button>
|
||||
<div style="display: inline-block;margin-left: 10px;">
|
||||
|
||||
<file-upload
|
||||
dir="files"
|
||||
<file-upload
|
||||
dir="files"
|
||||
text="导入"
|
||||
:loading="true"
|
||||
size="medium"
|
||||
url="/xboe/m/exam/question/import"
|
||||
size="medium"
|
||||
url="/xboe/m/exam/question/import"
|
||||
:isShowTip="false"
|
||||
@success="uploadFile"
|
||||
@remove="removeFile"
|
||||
>
|
||||
|
||||
|
||||
@remove="removeFile" >
|
||||
</file-upload>
|
||||
</div>
|
||||
</el-col>
|
||||
@@ -96,7 +79,7 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div v-if="tableData.length > 0" style="text-align: center;margin-top:70px">
|
||||
<el-pagination
|
||||
<el-pagination
|
||||
background
|
||||
@size-change="handleSizeChange"
|
||||
@current-change="handleCurrentChange"
|
||||
@@ -154,15 +137,12 @@
|
||||
<el-checkbox
|
||||
v-else
|
||||
v-model="question.optionList[i].isAnswer"
|
||||
style="width: 80px; margin-right: 10px"
|
||||
>正确</el-checkbox>
|
||||
<el-button type="text" @click="removeOption(i)"
|
||||
>删除</el-button>
|
||||
style="width: 80px; margin-right: 10px">正确</el-checkbox>
|
||||
<el-button type="text" @click="removeOption(i)">删除</el-button>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<center>
|
||||
<el-button type="text" @click="addOption"
|
||||
>添加选项</el-button>
|
||||
<el-button type="text" @click="addOption">添加选项</el-button>
|
||||
</center>
|
||||
<el-form-item label="难度">
|
||||
<el-select
|
||||
@@ -205,15 +185,10 @@
|
||||
label-width="80px"
|
||||
:model="question"
|
||||
ref="questionForm"
|
||||
:rules="questionRules"
|
||||
>
|
||||
<el-form-item label="资源归属">
|
||||
<el-cascader
|
||||
v-model="ownership"
|
||||
:options="resOwnerListMap"
|
||||
:props="resourceProps"
|
||||
></el-cascader>
|
||||
</el-form-item>
|
||||
:rules="questionRules">
|
||||
<!-- <el-form-item label="资源归属">
|
||||
<el-cascader v-model="ownership" :options="resOwnerListMap" :props="resourceProps" ></el-cascader>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="题干" prop="title"
|
||||
><el-input
|
||||
type="textarea"
|
||||
@@ -471,7 +446,7 @@ export default {
|
||||
const result = res.result;
|
||||
this.tableData = result.list;
|
||||
this.count = result.count;
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$message({ type: "error", message: "查询数据错误:" + err });
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
</el-col>
|
||||
<el-col :span="18">
|
||||
<div class="action">
|
||||
<el-input style="width: 30%" v-model="userQueryForm.keyWord" placeholder="请输入姓名或工号"></el-input>
|
||||
<el-input style="width: 30%;margin-left: 10px;" v-model="userQueryForm.keyWord" placeholder="请输入姓名或工号"></el-input>
|
||||
<el-button type="primary" size="medium" @click="queryUserData">搜索</el-button>
|
||||
<el-button type="primary" class="findBtn" size="medium" @click="reset">重置</el-button>
|
||||
</div>
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
</div>
|
||||
<!-- <author :avatar="articleDetailData.avatar" :name="articleDetailData.name" :info="articleDetailData.orgInfo" ></author> -->
|
||||
<!-- :readonly="true" -->
|
||||
<interactBar :type="2" :data="articleDetailData" :comments="false" :praises="false" :views="false"></interactBar>
|
||||
<interactBar v-if="articleDetailData.id" :type="2" :data="articleDetailData" :comments="false" :praises="false" :views="false"></interactBar>
|
||||
<!-- <div style="padding-top: 5px;padding-left: 5px;"> 作者:{{ articleDetailData.name }}  部门:{{ articleDetailData.orgInfo }}  发布时间:<time-show :time="articleDetailData.sysCreateTime"></time-show> </div> -->
|
||||
</div>
|
||||
<div class="content ql-container">
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<el-button type="text" icon="el-icon-edit">写回答</el-button>
|
||||
</div>
|
||||
<span class="answer-total">共计{{detailData.answers}}条回答</span>
|
||||
<interactBar :type="4" :comments="false" :data="detailData" :views="false"></interactBar>
|
||||
<interactBar v-if="detailData.id" :type="4" :comments="false" :data="detailData" :views="false"></interactBar>
|
||||
</div>
|
||||
</el-card>
|
||||
<div v-if="answerShow">
|
||||
@@ -45,9 +45,7 @@
|
||||
<!-- <el-checkbox style="margin-left:20px" v-model="checked"></el-checkbox><span style="margin-left:10px" @click="qaFormCheckedShow = true">我已阅读并遵守平台内容发布要求</span> -->
|
||||
<el-checkbox style="margin-left:20px" v-model="checked"></el-checkbox><span style="font-size:14px;color:#787878;margin-left:10px">我已阅读并遵守<span style="color:#588afc;cursor: pointer;" @click="qaFormCheckedShow = true">平台内容发布要求</span></span>
|
||||
</div>
|
||||
|
||||
</el-card>
|
||||
|
||||
</div>
|
||||
<el-card class="box-card" v-if="answerList.length ==0&&!answerShow" :body-style="{ padding: '0px' }">
|
||||
<div>
|
||||
@@ -55,8 +53,7 @@
|
||||
<img style="width:50px" src="../../../assets/images/icon/anser.png" alt="" srcset="">
|
||||
</div>
|
||||
<div style="font-size:14px;padding-bottom: 50px;">
|
||||
暂时还没有回答,开始
|
||||
<el-link type="primary" @click="openAnswer">写第一个回答</el-link>
|
||||
暂时还没有回答,开始 <el-link type="primary" @click="openAnswer">写第一个回答</el-link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -67,82 +64,122 @@
|
||||
<el-input placeholder="写回答...(1-1000个字)" minlength="1" maxlength="255" v-model="content"></el-input>
|
||||
<el-button type="primary" class="dian-btn" @click="publishAnswer">发布</el-button>
|
||||
</el-card> -->
|
||||
<el-card :body-style="{ padding: '0px' }" class="data">
|
||||
<div class="answer data-item" v-for="(item, index) of answerList" :key="item.id" :style="index === answerList.length - 1 ? 'border-bottom:none;' : ''">
|
||||
<div class="top">
|
||||
<!-- <author :avatar="item.avatar" :name="item.name" :info="item.orgInfo"></author> -->
|
||||
<author :avatar="item.avatar" :name="item.sysCreateBy" :sex="item.sex"></author>
|
||||
<span v-if="detailData.isResolve&&item.isBest" style="color: #ffb30f">最佳答案</span>
|
||||
<el-card :body-style="{ padding: '0px' }" class="answer-reply-box">
|
||||
<div class="answer" v-for="(item, index) of answerList" :key="item.id" :style="index === answerList.length - 1 ? 'border-bottom:none;' : ''">
|
||||
<div class="answer-top">
|
||||
<div><author :avatar="item.avatar" :name="item.sysCreateBy" :sex="item.sex"></author></div>
|
||||
<div>
|
||||
<span v-if="detailData.isResolve&&item.isBest" style="color: #ffb30f">最佳答案</span>
|
||||
<el-button type="primary" v-if="!detailData.isResolve && detailData.sysCreateAid == userInfo.aid" class="zuijia" @click="editAnsweBest(item)">设为最佳答案</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text">{{ displayAll(item) }}
|
||||
<span v-if="item.content.length>170" @click="changeIsAll(item)">{{item.isAll?'收起':'全文'}}</span></div>
|
||||
<span class="editTime">
|
||||
<div>发布于 <time-show :time="item.sysCreateTime"></time-show></div>
|
||||
<interactBar :type="5" :comments="false" :favorites="false" :data="item" :shares="false" :views="false"></interactBar>
|
||||
</span>
|
||||
<div class="tip">
|
||||
<!-- 这个组件的点赞失效了,应该我传入的参没有组件需要的id值有关,评论是因为没有对应的字段 -->
|
||||
<i class="el-icon-chat-line-round" @click="showRowInput(item,{})" style="margin-right:10px;"></i>
|
||||
<i class="el-icon-edit" style="margin-right:10px;" v-if="item.sysCreateAid == userInfo.aid" @click="editAnswer(item)"></i>
|
||||
<i class="el-icon-delete" v-if="detailData.sysCreateAid == userInfo.aid||item.sysCreateAid == userInfo.aid" @click="delAnswer(item)"></i>
|
||||
<el-button type="primary" v-if="!detailData.isResolve && detailData.sysCreateAid == userInfo.aid" class="zuijia" @click="editAnsweBest(item)">设为最佳答案</el-button>
|
||||
</div>
|
||||
<div v-show="curParentId==item.id" class="reply-box">
|
||||
<el-input type="textarea" v-model="replyContent" placeholder="回复内容"></el-input>
|
||||
<el-button type="primary" @click="replyContentMethod(item,{})">回复</el-button>
|
||||
</div>
|
||||
<div v-if="item.answers && item.answers.length!=0">
|
||||
<div class="answer-reply" v-for="(con,i) in item.answers" :key="i">
|
||||
<div class="answer-reply-first">
|
||||
<author :avatar="con.avatar" :name="con.sysCreateBy" :sex="con.sex"></author>
|
||||
<span class="answer-reply-text">回复</span>
|
||||
<span style="font-size: 14px;color: rgb(102, 102, 102);">{{con.replayName}}</span>
|
||||
</div>
|
||||
<div class="answer-reply-content">
|
||||
{{ displayAll(con) }}
|
||||
<span v-if="con.content.length>170" @click="changeIsAll(con)" style="cursor: pointer;color: #409EFF">
|
||||
{{con.isAll?'收起':'全文'}}
|
||||
</span>
|
||||
</div>
|
||||
<span class="editTime"><span>发布于 <time-show :time="con.sysCreateTime"></time-show></span></span>
|
||||
<div class="tip">
|
||||
<!-- <i class="el-icon-thumb" style="margin-right:10px;"></i> -->
|
||||
<i class="el-icon-chat-line-round" @click="showRowInput(con,item)" style="margin-right:10px;"></i>
|
||||
<i class="el-icon-edit" style="margin-right:10px;" v-if="con.sysCreateAid == userInfo.aid" @click="editAnswer(con)"></i>
|
||||
<i class="el-icon-delete" v-if="detailData.sysCreateAid == userInfo.aid||con.sysCreateAid == userInfo.aid" @click="delAnswer(con)"></i>
|
||||
</div>
|
||||
<div class="reply-box" v-show="curParentId==con.id">
|
||||
<el-input type="textarea" v-model="replyContent" placeholder="回复内容"></el-input>
|
||||
<el-button type="primary" @click="replyContentMethod(con,item)">回复</el-button>
|
||||
</div>
|
||||
<!--三级数据-->
|
||||
<div style="padding-left: 40px;" v-if="con.answers && con.answers.length>0">
|
||||
<div v-for="(row,rowIdx) in con.answers" :key="rowIdx">
|
||||
<div class="answer-reply-first">
|
||||
<author :avatar="row.avatar" :name="row.sysCreateBy" :sex="row.sex"></author>
|
||||
<span class="answer-reply-text">回复</span>
|
||||
<span style="font-size: 14px;color: rgb(102, 102, 102);">{{row.replayName}}</span>
|
||||
</div>
|
||||
<div class="answer-reply-content">
|
||||
{{ displayAll(row) }}
|
||||
<span v-if="row.content.length>170" @click="changeIsAll(row)" style="cursor: pointer;color: #409EFF">
|
||||
{{row.isAll?'收起':'全文'}}
|
||||
</span>
|
||||
</div>
|
||||
<span class="editTime"><span>发布于 <time-show :time="row.sysCreateTime"></time-show></span></span>
|
||||
<div class="tip">
|
||||
<!-- <i class="el-icon-thumb" style="margin-right:10px;"></i> -->
|
||||
<i class="el-icon-chat-line-round" @click="showRowInput(row,con)" style="margin-right:10px;"></i>
|
||||
<i class="el-icon-edit" style="margin-right:10px;" v-if="row.sysCreateAid == userInfo.aid" @click="editAnswer(row)"></i>
|
||||
<i class="el-icon-delete" v-if="detailData.sysCreateAid == userInfo.aid||row.sysCreateAid == userInfo.aid" @click="delAnswer(row)"></i>
|
||||
</div>
|
||||
<div class="reply-box" v-show="curParentId==row.id">
|
||||
<el-input type="textarea" v-model="replyContent" placeholder="回复内容"></el-input>
|
||||
<el-button type="primary" @click="replyContentMethod(row,con)">回复</el-button>
|
||||
</div>
|
||||
<div class="answer-body">
|
||||
<div @mouseover="showButtons(item.id)" @mouseout="hideButtons()"><!--在这一层上加事件-->
|
||||
<div class="answer-text">{{ displayAll(item) }}
|
||||
<span v-if="item.content.length>170" @click="changeIsAll(item)">{{item.isAll?'收起':'全文'}}</span>
|
||||
</div>
|
||||
<div class="answer-time">
|
||||
<div>回答于 <time-show :time="item.sysCreateTime"></time-show></div>
|
||||
<div style="margin-right: 10px;"><interactBar :type="5" :comments="false" :favorites="false" :data="item" :shares="false" :views="false"></interactBar></div>
|
||||
</div>
|
||||
<div class="answer-boot">
|
||||
<div class="answer-boot-btns">
|
||||
<div v-show="btnsShowRowId==item.id">
|
||||
<a @click="showRowInput(item,{})"><svg-icon icon-class="comment" style="margin-right: 0px;font-size: 16px;"></svg-icon><span>回复</span></a>
|
||||
<a v-if="item.sysCreateAid == userInfo.aid" @click="editAnswer(item)"> <i class="el-icon-edit" style="margin-right:10px;font-size: 15px;color: #8590A6; ">编辑</i></a>
|
||||
<a v-if="item.sysCreateAid == userInfo.aid" @click="delAnswer(item)"><svg-icon icon-class="remove" style="margin-right: 0px;font-size: 16px;"></svg-icon><span>删除</span></a>
|
||||
<!-- <a v-if="item.answers && item.answers.length==5" @click="showMoreReply(item)" ><svg-icon icon-class="all" style="margin-right: 0px;font-size: 16px;"></svg-icon><span>全部回复</span></a> -->
|
||||
</div>
|
||||
<!-- <i class="el-icon-chat-line-round" @click="showRowInput(item,{})" style="margin-right:10px;"></i>
|
||||
<i class="el-icon-edit" style="margin-right:10px;" v-if="item.sysCreateAid == userInfo.aid" @click="editAnswer(item)"></i>
|
||||
<i class="el-icon-delete" v-if="detailData.sysCreateAid == userInfo.aid||item.sysCreateAid == userInfo.aid" @click="delAnswer(item)"></i> -->
|
||||
</div>
|
||||
</div>
|
||||
<!---->
|
||||
<div v-show="curParentId==item.id" class="answer-reply">
|
||||
<el-input type="textarea" v-model="replyContent" show-word-limit maxlength="800" placeholder="回复内容"></el-input>
|
||||
<el-button type="primary" @click="replyContentMethod(item,{})">发布回复</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<!--一级评论,二级数据-->
|
||||
<div v-if="item.answers && item.answers.length!=0">
|
||||
<div class="comment" v-for="(con,i) in item.answers" :key="i" :class="i===item.answers.length-1 ? 'comment-last' : ''">
|
||||
<div class="comment-top">
|
||||
<div class="comment-author">
|
||||
<author :avatar="con.avatar" :name="con.sysCreateBy" :sex="con.sex"></author>
|
||||
<span class="comment-author-text">回复</span>
|
||||
<span style="margin-left: 10px; font-size:14px">{{con.replayName}}</span>
|
||||
</div>
|
||||
<div class="comment-time">
|
||||
<time-show :time="con.sysCreateTime"></time-show>
|
||||
</div>
|
||||
</div>
|
||||
<div class="comment-body" >
|
||||
<div class="comment-info" @mouseover="showButtons(con.id)" @mouseout="hideButtons()">
|
||||
<div class="comment-content">
|
||||
{{ displayAll(con) }}
|
||||
<span v-if="con.content.length>170" @click="changeIsAll(con)">
|
||||
{{con.isAll?'收起':'全文'}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="comment-btns">
|
||||
<div v-show="btnsShowRowId==con.id">
|
||||
<a @click="showRowInput(con,item)"><svg-icon icon-class="comment" style="margin-right: 0px;font-size: 16px;"></svg-icon><span>回复</span></a>
|
||||
<a v-if="con.sysCreateAid == userInfo.aid" @click="delAnswer(con)"><svg-icon icon-class="remove" style="margin-right: 0px;font-size: 16px;"></svg-icon><span>删除</span></a>
|
||||
</div>
|
||||
<!-- <i class="el-icon-chat-line-round" @click="showRowInput(con,item)" style="margin-right:10px;"></i>
|
||||
<i class="el-icon-edit" style="margin-right:10px;" v-if="con.sysCreateAid == userInfo.aid" @click="editAnswer(con)"></i>
|
||||
<i class="el-icon-delete" v-if="detailData.sysCreateAid == userInfo.aid||con.sysCreateAid == userInfo.aid" @click="delAnswer(con)"></i> -->
|
||||
</div>
|
||||
<div class="comment-reply" v-show="curParentId==con.id">
|
||||
<el-input type="textarea" v-model="replyContent" placeholder="回复内容" show-word-limit maxlength="100"></el-input>
|
||||
<el-button type="primary" @click="replyContentMethod(con,item)">发布回复</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<!--三级数据-->
|
||||
<div v-if="con.answers && con.answers.length>0">
|
||||
<div class="comment" v-for="(row,rowIdx) in con.answers" :key="rowIdx" :class="rowIdx===con.answers.length-1 ? 'comment-last' : ''">
|
||||
<div class="comment-top">
|
||||
<div class="comment-author">
|
||||
<author :avatar="row.avatar" :name="row.sysCreateBy" :sex="row.sex"></author>
|
||||
<span class="comment-author-text">回复</span>
|
||||
<span style="margin-left: 10px; font-size:14px">{{row.replayName}}</span>
|
||||
</div>
|
||||
<div class="comment-time">
|
||||
<time-show :time="row.sysCreateTime"></time-show>
|
||||
</div>
|
||||
</div>
|
||||
<div class="comment-body">
|
||||
<div class="comment-info" @mouseover="showButtons(row.id)" @mouseout="hideButtons()">
|
||||
<div class="comment-content">
|
||||
{{ displayAll(row) }}
|
||||
<span v-if="row.content.length>170" @click="changeIsAll(row)">
|
||||
{{row.isAll?'收起':'全文'}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="comment-btns">
|
||||
<div v-show="btnsShowRowId==row.id">
|
||||
<a @click="showRowInput(row,con)"><svg-icon icon-class="comment" style="margin-right: 0px;font-size: 16px;"></svg-icon><span>回复</span></a>
|
||||
<a v-if="row.sysCreateAid == userInfo.aid" @click="delAnswer(row)"><svg-icon icon-class="remove" style="margin-right: 0px;font-size: 16px;"></svg-icon><span>删除</span></a>
|
||||
</div>
|
||||
<!-- <i class="el-icon-thumb" style="margin-right:10px;"></i> -->
|
||||
<!-- <i class="el-icon-chat-line-round" @click="showRowInput(row,con)" style="margin-right:10px;"></i>
|
||||
<i class="el-icon-edit" style="margin-right:10px;" v-if="row.sysCreateAid == userInfo.aid" @click="editAnswer(row)"></i>
|
||||
<i class="el-icon-delete" v-if="detailData.sysCreateAid == userInfo.aid||row.sysCreateAid == userInfo.aid" @click="delAnswer(row)"></i> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="comment-reply" v-show="curParentId==row.id">
|
||||
<el-input type="textarea" v-model="replyContent" show-word-limit maxlength="100" placeholder="回复内容"></el-input>
|
||||
<el-button type="primary" @click="replyContentMethod(row,con)">发布回复</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div><!--二级数据结束-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-card>
|
||||
@@ -203,11 +240,11 @@
|
||||
</div>
|
||||
<addQuestion ref="addQuestion" @sure="toDetail"></addQuestion>
|
||||
<editQuestion ref="editQuestion" @enSure="enSure" :editData="editData"></editQuestion>
|
||||
<el-dialog class="checked-show" :visible.sync="qaFormCheckedShow" width="800px" :show-close="false" :modal="false">
|
||||
<el-dialog class="checked-show" :visible.sync="qaFormCheckedShow" width="800px" top="14vh" :show-close="false" :modal="false">
|
||||
<agreement></agreement>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<!-- <el-button @click="qaFormCheckedShow = false">取 消</el-button> -->
|
||||
<el-button type="primary" @click="qaFormCheckedShow = false">确 定</el-button>
|
||||
<el-button style="margin-right:10px" type="primary" @click="qaFormCheckedShow = false">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@@ -272,7 +309,18 @@ export default {
|
||||
controlListNew: [], //用来控制回复输入框的显示与否
|
||||
curParent:{},//当前输入的上级的对象,用于往answers中追加回复的内容
|
||||
curParentId:'',//当前回复的内容的id
|
||||
replyContent: "" //回复的内容
|
||||
replyContent: "" ,//回复的内容
|
||||
readonly:false,//是否只读,用于预览
|
||||
btnsShowRowId:'',//显示的button的条目id
|
||||
replyDiaglog:{
|
||||
show:false,
|
||||
pageIndex:1,
|
||||
pageSize:8,
|
||||
pages:1,
|
||||
count:0,
|
||||
commentId:'',
|
||||
list:[]
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
@@ -601,6 +649,14 @@ export default {
|
||||
this.loadAnswer();
|
||||
this.$off("ensure");
|
||||
},
|
||||
showButtons(id){
|
||||
if(!this.readonly){
|
||||
this.btnsShowRowId=id;
|
||||
}
|
||||
},
|
||||
hideButtons(){
|
||||
this.btnsShowRowId='';
|
||||
},
|
||||
//展示全部
|
||||
displayAll(item) {
|
||||
if(!item.isAll && item.content.length > 170) {
|
||||
@@ -662,7 +718,51 @@ export default {
|
||||
this.$message.error("回复失败");
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
showMoreReply(comment){
|
||||
this.replyDiaglog.pages=1;
|
||||
this.replyDiaglog.count=0;
|
||||
this.replyDiaglog.pageIndex=1;
|
||||
this.replyDiaglog.list=[];
|
||||
this.replyDiaglog.show=true;
|
||||
this.replyDiaglog.commentId=comment.id;
|
||||
this.loadAllReplyData(false);
|
||||
},
|
||||
loadMoreReply(){
|
||||
this.replyDiaglog.pageIndex++;
|
||||
this.loadAllReplyData(true);
|
||||
},
|
||||
loadAllReplyData(append){
|
||||
let params={
|
||||
pageIndex:this.replyDiaglog.pageIndex,
|
||||
pageSize:this.replyDiaglog.pageSize,
|
||||
commentId:this.replyDiaglog.commentId
|
||||
}
|
||||
let $this=this;
|
||||
// apiComment.replyList(params).then(rs=>{
|
||||
// if(rs.status==200){
|
||||
// $this.replyDiaglog.count=rs.result.count;
|
||||
// $this.replyDiaglog.pages=rs.result.totalPages;
|
||||
// let ids=[];
|
||||
// if(append){
|
||||
// rs.result.list.forEach(item=>{
|
||||
// item.avatar='';
|
||||
// ids.push(item.sysCreateAid);
|
||||
// $this.replyDiaglog.list.push(item);
|
||||
// })
|
||||
// }else{
|
||||
// rs.result.list.forEach(item=>{
|
||||
// item.avatar='';
|
||||
// ids.push(item.sysCreateAid);
|
||||
// })
|
||||
// $this.replyDiaglog.list=rs.result.list;
|
||||
// }
|
||||
// this.loadAuthorInfo(rs.result.list,ids);
|
||||
// }else{
|
||||
// this.$message.error(rs.message);
|
||||
// }
|
||||
// })
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@@ -672,10 +772,6 @@ export default {
|
||||
.el-dialog__header{
|
||||
padding:0;
|
||||
}
|
||||
.el-dialog__footer{
|
||||
border-top: 1px solid #F5F5F6;
|
||||
background-color: #F5F5F6;
|
||||
}
|
||||
}
|
||||
::v-deep .el-card__body {
|
||||
padding: 0;
|
||||
@@ -764,8 +860,9 @@ export default {
|
||||
.answer {
|
||||
margin-top: 14px;
|
||||
background-color: #fff;
|
||||
border-bottom: 1px solid #dddddd;
|
||||
// padding: 5px 20px 20px 20px;
|
||||
.top {
|
||||
.answer-top {
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
display: flex;
|
||||
@@ -778,41 +875,6 @@ export default {
|
||||
border-radius: 50%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
.submit-div {
|
||||
margin: 15px 0;
|
||||
}
|
||||
.bottom {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
.data {
|
||||
margin-top: 10px;
|
||||
background-color: #fff;
|
||||
padding: 5px 20px 10px 20px;
|
||||
.text {
|
||||
margin: 21px 0;
|
||||
line-height: 24px;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
|
||||
span {
|
||||
color: #409eff;
|
||||
cursor: pointer;
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
::v-deep .tip {
|
||||
color: #999999;
|
||||
margin: 15px 0;
|
||||
display: flex;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
i {
|
||||
color: #a3b1cc;
|
||||
// margin-left: 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.zuijia {
|
||||
width: 106px;
|
||||
height: 42px;
|
||||
@@ -826,77 +888,144 @@ export default {
|
||||
line-height: 42px;
|
||||
text-align: center;
|
||||
}
|
||||
.interact-bar-btn {
|
||||
margin: 0;
|
||||
margin-right: 10px;
|
||||
min-width: 0 !important;
|
||||
span {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
.data-item {
|
||||
.answer-body{
|
||||
padding-left: 40px;
|
||||
.answer-text{
|
||||
margin: 20px 0 15px;
|
||||
line-height: 24px;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
span {
|
||||
color: #409eff;
|
||||
cursor: pointer;
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
.answer-time{
|
||||
font-size: 14px;
|
||||
color: #8590a6;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.answer-boot{
|
||||
height: 35px;
|
||||
line-height: 35px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
.answer-boot-btns{
|
||||
a{
|
||||
margin-right:15px;
|
||||
span{
|
||||
margin-left: 6px;
|
||||
color: #8590A6;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
.answer-reply {
|
||||
display: flex;
|
||||
margin-bottom: 10px;
|
||||
.el-button {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
// .bottom {
|
||||
// text-align: right;
|
||||
// }
|
||||
}
|
||||
.comment{
|
||||
margin-top: 10px;
|
||||
background-color: #FFFFFF;
|
||||
border-bottom: 1px solid #dddddd;
|
||||
.reply-box {
|
||||
display: flex;
|
||||
margin-bottom: 10px;
|
||||
.el-button {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
&:last-of-type {
|
||||
border: 0;
|
||||
}
|
||||
.editTime {
|
||||
font-size: 14px;
|
||||
color: #8590a6;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
.answer-reply {
|
||||
margin-left: 40px;
|
||||
// margin-bottom: 20px;
|
||||
padding: 10px 0;
|
||||
border-bottom: 1px solid #dddddd;
|
||||
&:last-of-type {
|
||||
border: 0;
|
||||
}
|
||||
.answer-reply-first {
|
||||
.comment-top{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding-bottom:10px;
|
||||
font-weight: 500;
|
||||
line-height: 30px;
|
||||
font-size: 1.1em;
|
||||
.comment-author{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.answer-reply-text {
|
||||
margin: 0 10px;
|
||||
color: #8590a6;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
.comment-author-text{
|
||||
margin-left: 10px;
|
||||
color: #8590A6;
|
||||
font-size:14px;
|
||||
}
|
||||
}
|
||||
.answer-reply-content {
|
||||
line-height: 1.5;
|
||||
margin: 21px 0;
|
||||
.comment-time{
|
||||
color: #666666;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
.comment-body{
|
||||
padding-left: 40px;
|
||||
.comment-content{
|
||||
padding-bottom: 0px;
|
||||
word-break:break-all;
|
||||
span{
|
||||
cursor: pointer;
|
||||
color: #409EFF
|
||||
}
|
||||
}
|
||||
.comment-btns{
|
||||
// padding: 5px 10px 10px 0px;
|
||||
height: 35px;
|
||||
line-height: 35px;
|
||||
a{
|
||||
margin-right:15px;
|
||||
span{
|
||||
margin-left: 6px;
|
||||
color: #8590A6;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.comment-reply {
|
||||
display: flex;
|
||||
margin-bottom: 10px;
|
||||
.el-button {
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.comment-replys{
|
||||
padding-left: 40px;
|
||||
}
|
||||
}
|
||||
.comment-last{
|
||||
border-bottom: none;
|
||||
}
|
||||
::v-deep .publishAnswer {
|
||||
padding: 24px 20px;
|
||||
.el-card__body {
|
||||
// display: flex;
|
||||
// justify-content: space-between;
|
||||
align-items: center;
|
||||
.el-input__inner {
|
||||
height: 48px;
|
||||
}
|
||||
.el-button {
|
||||
margin-left: 20px;
|
||||
// height: 48px;
|
||||
// width: 78px;
|
||||
color: #e8f3fa;
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
.answer-reply-box {
|
||||
margin-top: 10px;
|
||||
background-color: #fff;
|
||||
padding: 5px 20px 10px 20px;
|
||||
}
|
||||
// ::v-deep .publishAnswer {
|
||||
// padding: 24px 20px;
|
||||
// .el-card__body {
|
||||
// // display: flex;
|
||||
// // justify-content: space-between;
|
||||
// align-items: center;
|
||||
// .el-input__inner {
|
||||
// height: 48px;
|
||||
// }
|
||||
// .el-button {
|
||||
// margin-left: 20px;
|
||||
// // height: 48px;
|
||||
// // width: 78px;
|
||||
// color: #e8f3fa;
|
||||
// font-size: 16px;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
.box-card {
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
</div>
|
||||
<div class="uc-course-btns">
|
||||
<div style="text-align: right;">
|
||||
<el-button class="del" @click.stop="delItem(item)" type="text" icon="el-icon-delete" size="mini" title="删除"></el-button>
|
||||
<el-button class="del" @click.stop="delItem(item,idx)" type="text" icon="el-icon-delete" size="mini" title="删除"></el-button>
|
||||
</div>
|
||||
<span @click.stop="jumpRouter(item)">
|
||||
<el-button style="margin-top:30px" v-if="item.progress==0" type="primary" size="small">开始学习</el-button>
|
||||
@@ -142,24 +142,42 @@ computed: {
|
||||
this.getData();
|
||||
},
|
||||
methods: {
|
||||
delItem(item) {
|
||||
delItem(item,itemIdx) {
|
||||
this.$confirm('您确定要删除所选课程吗?', '删除提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() =>{
|
||||
apicourseStudy.deleteSignUp(item.id,item.courseId).then(res =>{
|
||||
if(res.status==200){
|
||||
this.$message({ type: 'success', message: '删除成功!' });
|
||||
this.couresList.forEach((element,i )=> {
|
||||
if(element.id === item.id) {
|
||||
this.couresList.splice(i,1);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$message({ type: 'error', message: res.message });
|
||||
}
|
||||
})
|
||||
if(item.isOld){
|
||||
apiBoeCourse.delLearning(item.kid).then(res=>{
|
||||
if(res.status==200){
|
||||
this.$message({ type: 'success', message: '删除成功!' });
|
||||
this.couresList.splice(itemIdx,1);
|
||||
this.dataList.forEach((it,i)=>{
|
||||
if(item.id == it.id) {
|
||||
this.dataList.splice(i,1);
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message({ type: 'error', message: res.message });
|
||||
}
|
||||
});
|
||||
}else{
|
||||
apicourseStudy.deleteSignUp(item.id,item.courseId).then(res =>{
|
||||
if(res.status==200){
|
||||
this.$message({ type: 'success', message: '删除成功!' });
|
||||
this.couresList.splice(itemIdx,1);
|
||||
this.dataList.forEach((it,i)=>{
|
||||
if(item.id == it.id) {
|
||||
this.dataList.splice(i,1);
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.$message({ type: 'error', message: res.message });
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
async getData() { //当前方案,此处只是加载一次
|
||||
@@ -256,6 +274,7 @@ computed: {
|
||||
progress: item.completeProgress,
|
||||
status: status,
|
||||
isOld: true,
|
||||
kid:item.ms_timeline_kid
|
||||
})
|
||||
})
|
||||
return list;
|
||||
|
||||
@@ -296,8 +296,7 @@ export default {
|
||||
isAppendTime:false,//是否追加学习时长
|
||||
appentId:'',//当前追加的学习时长的id
|
||||
appentInterval:30000,//追加学习时间的间隔 30秒加一次
|
||||
handleTimeout:null,
|
||||
sonIndex: null
|
||||
handleTimeout:null
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
@@ -791,7 +790,6 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
this.sonIndex = i;
|
||||
this.playerBoxShow=false;
|
||||
//显示内容部分
|
||||
let $this = this;
|
||||
|
||||
@@ -187,7 +187,7 @@
|
||||
});
|
||||
},
|
||||
openAvatar(){
|
||||
// this.avatarUrl=''
|
||||
//console.log(this.avatarUrl,'this.avatarUrl');
|
||||
this.dialogVisibleAvatar=true
|
||||
},
|
||||
openPassword(){
|
||||
|
||||
Reference in New Issue
Block a user