This commit is contained in:
daihh
2022-10-19 12:22:37 +08:00
14 changed files with 227 additions and 20 deletions

View File

@@ -15,7 +15,9 @@ body {
text-rendering: optimizeLegibility;
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
}
:not([class*="icon"]):not(.fa):not(.fas):not(i) {
font-family: "Menlo", "苹方-简" !important;
}
.el-message {
top: 15%!important
}
@@ -389,3 +391,4 @@ li{
line-height: 50px;
}
}

View File

@@ -351,7 +351,7 @@
// }
.portal-images-title{
vertical-align: top;
padding: 2px 12px;
// padding: 2px 12px;
line-height: 24px;
}
/**滚动条的宽度*/
@@ -587,6 +587,8 @@
}
}
.qa-top{
display: flex;
justify-content: space-between;
& span:first-child{
// height: 24px;
background: rgba($color: #387DF7, $alpha: 0.05);

View File

@@ -97,3 +97,6 @@
.uc-select{
width: 125px;
}
.el-select-dropdown__item{
text-align: center;
}

View File

@@ -0,0 +1,168 @@
<template>
<div class="item-author">
<div style="width:40px;height:40px;" @click="toHome()">
<!-- <el-avatar shape="square" size="small" :src="userAvatar" v-if="userAvatar"></el-avatar> -->
<!-- <div v-else class="uavatar"><span class="uavatar-text">{{avatarText}}</span></div> -->
<el-avatar :size="40" shape="circle" :src="userAvatar" v-if="userAvatar"></el-avatar>
<div v-else class="uavatar">
<div v-if="sex == null" style="border-radius: 50%;width: 40px;height: 40px;"></div>
<div v-else>
<div class="mravat" v-if="sex === 1 "><img style="width:40px;height:40px;vertical-align: bottom;" src="../../../public/images/Avatarman.png" alt=""></div>
<div class="mravat" v-else><img style="width:40px;height:40px;vertical-align: bottom;" src="../../../public/images/Avatarwoman.png" alt=""></div>
</div>
</div>
</div>
<div class="author-right" v-if="!onlyAvatar" style="padding-left: 14px;font-size: 14px;">
<div>
<span style="color: #333333;font-weight: 400;font-size: 16px;">{{userName}}</span>
<span class="author-text" v-if="userInfo && userInfo!=''">({{userInfo}})</span>
</div>
<span class="autname">{{ usersign }}</span>
</div>
</div>
</template>
<script>
export default {
props:{
avatar:{
type:String,
default:''
},
width:{
type:String,
default:'200px'
},
sex:{
type:Number,
},
name:{
type:String,
default:''
},
sign:{
type:String,
default:''
},
aid:{
type:String,
default:''
},
info:{
type:String,
default:''
},
onlyAvatar:{
type:Boolean,
default:false
}
},
data(){
return {
baseUrl:process.env.VUE_APP_FILE_BASE_URL,
userAvatar:'',
userName:'',
userInfo:'',
usersex:null,
usersign:'',
}
},
created() {
// this.userAvatar=require("@/assets/images/user/default.png");
},
mounted() {
this.userName=this.name;
if(this.avatar && this.avatar!=''){
this.userAvatar=this.avatar;
}
this.userInfo=this.info;
this.usersex = this.sex;
this.usersign = this.sign;
},
methods:{
toHome() {
// ,query:{id:item.objId || item.id}
if(this.aid){
this.$router.push({path:this.$xpage.getHomePath(this.aid)})
}else{
this.$message.error("参数错误");
}
}
},
watch:{
name(newVal,oldVal){
this.userName=newVal;
},
sign(newVal,oldVal){
this.usersign=newVal;
},
avatar(newVal,oldVal){
if(newVal){
this.userAvatar=this.baseUrl+newVal;
}
},
aid(newVal,oldVal){
if(newVal){
this.aid=newVal;
}
},
sex(newVal,oldVal){
this.usersex=newVal;
},
info(newVal,oldVal){
this.userInfo=newVal;
}
}
}
</script>
<style scoped lang="scss">
.mravat{
width: 40px;
height: 40px;
img{
width: 100%;
height: 100%;
}
}
.autname{
color: #666666;
font-size: 14px;
font-weight: 400;
line-height: 25px;
}
.item-author{
// font-size: 0.9em;
line-height: 18px;
display: flex;
.author-text{
font-size: 12px;
color: #999999;
font-weight: 300;
margin-left: 10px;
}
.uavatar{
// border: 1px solid #73adfe;
// width: 28px;
// height: 28px;
// background: #d9e9ff;
display: flex;
justify-content: center;
align-items: center;
.uavatar-text{
transform: scale(0.8);
font-size: 12px;
color: #73adfe;
}
img{
border-radius: 50%;
width: 28px;
height: 28px;
}
}
}
</style>

View File

@@ -72,7 +72,8 @@
<div class="comment" v-for="(com,comIdx) in list" :key="com.id">
<div class="comment-top">
<div class="comment-author">
<authorInfo :aid="com.sysCreateAid" :avatar="com.avatar" :name="com.sysCreateBy" :sex="com.sex" :info="com.orgInfo"></authorInfo>
<authorInfo :aid="com.sysCreateAid" :avatar="com.avatar" :name="com.sysCreateBy" :sex="com.sex" :info="com.orgInfo" :sign="com.sign"></authorInfo>
<!-- <span class="signtext">{{ com.sign }}</span> -->
</div>
</div>
<div class="comment-body" >
@@ -114,7 +115,7 @@
<div class="comment" v-for="(reply,replyIdx) in com.replyList" :key="reply.id" :class="replyIdx===com.replyList.length-1 ? 'comment-last' : ''">
<div class="comment-top">
<div class="comment-author">
<authorInfo :aid="reply.sysCreateAid" :avatar="reply.avatar" :name="reply.sysCreateBy" :sex="reply.sex" :info="reply.orgInfo"></authorInfo>
<authorInfo :aid="reply.sysCreateAid" :avatar="reply.avatar" :name="reply.sysCreateBy" :sex="reply.sex" :info="reply.orgInfo" :sign="reply.sign"></authorInfo>
<span style="margin-left: 10px;color: #8590A6;font-size:14px; ">
<svg-icon style="font-size: 10px;margin-right: 0;" icon-class="triangle"></svg-icon>
</span>
@@ -238,7 +239,7 @@
import interactBar from "@/components/Portal/interactBar.vue";
import apiComment from '@/api/modules/comments.js'
import apiUser from '@/api/system/user.js'
import authorInfo from '@/components/Portal/authorInfo.vue';
import authorInfo from '@/components/Portal/artauthor.vue';
// import author from '@/components/Portal/author.vue';
import { mapGetters } from 'vuex';
export default {
@@ -405,6 +406,8 @@
item.avatar=author.avatar;
item.orgInfo=author.orgInfo;
item.sex=author.sex;
item.sign=author.sign
console.log(list,'评论信息')
return true;
}else{
return false;
@@ -447,6 +450,7 @@
res.result.list.forEach(item=>{
item.avatar='';
item.orgInfo='';
item.sign='';
item.isAll=false;
//item.sex=null;
allList.push(item);
@@ -456,6 +460,7 @@
reply.avatar='';
reply.orgInfo='';
reply.sex=null;
reply.sign='';
reply.isAll=false;
allList.push(reply);
ids.push(reply.sysCreateAid);
@@ -793,6 +798,9 @@
</script>
<style lang="scss" scoped>
.signtext{
}
.publish-button{
// line-height: 30px;

View File

@@ -250,15 +250,21 @@ export default {
if(this.type==5){
content='回答'
}
if(this.type==6){
content='课程笔记'
}
if(this.type==60){
content='课程笔记评论'
}
// 点赞type
if(this.type==10){
content='课程评论点赞'
content='课程评论'
}
if(this.type==20){
content='文章评论点赞'
content='文章评论'
}
if(this.type==30){
content='案例评论点赞'
content='案例评论'
}
content=sendName+typeText+content+'-'+title
let message={

View File

@@ -302,6 +302,14 @@ export default {
</script>
<style scoped rel="stylesheet/scss" lang="scss">
::v-deep .el-dropdown-menu__item:not(.is-disabled):hover{
background-color: #fff !important;
color: #0059FF !important;
}
::v-deep.el-dropdown-menu {
text-align: center;
border: none !important;
}
//定义消息的图标的样式按ui未完成
.msg-icon{
font-size:16px;

View File

@@ -144,6 +144,7 @@ import {userAvatarText,cutFullName} from "@/utils/tools.js";
</script>
<style lang="scss" scoped>
.ranking-link{
font-size: 16px;
font-weight: 600;

View File

@@ -251,6 +251,14 @@ export default {
</script>
<style lang="scss" scoped>
::v-deep .el-dropdown-menu__item:not(.is-disabled):hover{
background-color: #fff !important;
color: #0059FF !important;
}
::v-deep.el-dropdown-menu {
text-align: center;
border: none !important;
}
::v-deep .el-avatar{
margin-right: 8px;
img{

View File

@@ -131,7 +131,7 @@
<span class="portal-right-text blue-one">
<img :src="getPic(index)" alt="">
</span>
<span class="portal-title-desc two-line-ellipsis title-line-ellipsis" style="font-size: 14px;">{{ item.name }}</span>
<span class="portal-title-desc two-line-ellipsis title-line-ellipsis" style="font-size: 14px;color: #04243C;">{{ item.name }}</span>
</a>
<div class="list-active">
<div class="list-content">
@@ -214,7 +214,7 @@
<span class="portal-right-text orange-one">
<img :src="getPic(index)" alt="">
</span>
<span class="portal-title-desc two-line-ellipsis" style="font-size: 14px;">{{ item.title }}</span>
<span class="portal-title-desc two-line-ellipsis" style="font-size: 14px;color: #04243C;line-height: 26px;">{{ item.title }}</span>
</li>
</ul>
</div>

View File

@@ -64,8 +64,7 @@
<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 :aid="item.sysCreateAid" :avatar="item.avatar" :name="item.sysCreateBy" :info="item.orgInfo" :sex="item.sex"></author>
<div class="sign">{{item.sign}}</div>
<author :aid="item.sysCreateAid" :avatar="item.avatar" :name="item.sysCreateBy" :info="item.orgInfo" :sex="item.sex" :sign="item.sign"></author>
</div>
<div>
<span v-if="detailData.isResolve && item.isBest" style="color: #ffb30f">最佳答案</span>
@@ -123,7 +122,7 @@
:class="i === item.answers.length - 1 ? 'comment-last' : ''">
<div class="comment-top">
<div class="comment-author">
<author :aid="con.sysCreateAid" :avatar="con.avatar" :name="con.sysCreateBy" :sex="con.sex"></author>
<author :aid="con.sysCreateAid" :avatar="con.avatar" :name="con.sysCreateBy" :sex="con.sex" :sign="con.sign"></author>
<span class="comment-author-text">回复</span>
<span style="margin-left: 10px; font-size:14px">{{ con.replayName }}</span>
</div>
@@ -290,7 +289,7 @@ import portalFooter from "@/components/PortalFooter.vue";
import interactBar from "@/components/Portal/interactBar.vue";
import editQuestion from "@/components/Qa/editQuestion.vue";
import timeShow from "@/components/Portal/datetimeShow.vue";
import author from "@/components/Portal/authorInfo.vue";
import author from "@/components/Portal/artauthor.vue";
import portalFloatTools from "@/components/PortalFloatTools.vue";
import apiQa from "@/api/modules/qa.js";
import apiUser from "@/api/system/user.js";
@@ -468,6 +467,7 @@ export default {
res.result.avatar = "";
res.result.name = "";
res.result.orgInfo = "";
res.result.sign= "";
res.result.sex = null;
this.detailData = res.result;
if (JSON.stringify(this.detailData) != "{}") {
@@ -596,8 +596,8 @@ export default {
if (author.aid == item.sysCreateAid) {
item.avatar = author.avatar;
item.orgInfo = author.orgInfo;
item.sign = author.sign
item.sex = author.sex;
item.sign=author.sign;
return true;
} else {
return false;

View File

@@ -430,7 +430,7 @@
this.current_teacher_follow = true;
} else if(res.status == 400){
this.$message.warning(res.message);
this.current_teacher_follow = true;
this.current_teacher_follow = false;
}else{
this.$message.error(res.message);
}

View File

@@ -27,7 +27,7 @@
<h4>个人签名</h4>
</div>
<div class="base-info">
<label class="label" style="width:70px;text-align: left;">我的签名</label>
<label class="label" style="min-width:70px;text-align: left;">我的签名</label>
<p class="info-text" style="width:540px" v-show="!signData.isEdit">{{form.sign}}</p>
<el-input v-show="signData.isEdit" style="width:40%;height:40px" type="textarea" v-model="signData.sign" :rows="1"></el-input>
<el-button v-show="signData.isEdit" style="margin-left:110px" @click="signData.isEdit = false">取消</el-button>

View File

@@ -516,9 +516,9 @@ export default {
background-color: #fff !important;
color: #0059FF !important;
}
::v-deep.el-dropdown-menu {
border: none !important;
}
::v-deep.el-dropdown-menu {
border: none !important;
}
.page-ranking-col{
min-width: 430px;
//padding-right:30px;