提交修改

This commit is contained in:
daihh
2022-05-30 23:25:01 +08:00
parent b050613020
commit b749df42e6
19 changed files with 481 additions and 307 deletions

View File

@@ -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){

View File

@@ -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;

View File

@@ -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 });

View File

@@ -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>

View File

@@ -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 }}&emsp;&emsp;部门{{ articleDetailData.orgInfo }}&emsp;&emsp;发布时间<time-show :time="articleDetailData.sysCreateTime"></time-show> </div> -->
</div>
<div class="content ql-container">

View File

@@ -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;

View File

@@ -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;

View File

@@ -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;

View File

@@ -187,7 +187,7 @@
});
},
openAvatar(){
// this.avatarUrl=''
//console.log(this.avatarUrl,'this.avatarUrl');
this.dialogVisibleAvatar=true
},
openPassword(){