<template>
    <!-- 互动问答详情 -->
    <view class="bg">
        <view style="height: 10rpx;"></view>
        <!-- 顶部 问题发起人 -->
        <view class="wdbox">
            <view class="wdflex" style="align-items: center;">
                <view class="photo">
                    <u--image shape="circle" width="80rpx" height="80rpx" :src="QaDetail.authorLogo" ></u--image>
                </view>
                <view class="wen_name">{{ QaDetail.authorName }}</view>
                <view  class="follow" @click="setQacollect()">{{ QaDetail.isCollection == '1' ? '取消关注' : '关注问题' }}</view>
            </view>
            <view class="wdflex">
                <!-- <view class="wen" style="background: #ff8c33">答</view> -->
                <view class="wen_text">{{ QaDetail.content }}</view>
            </view>
            <view class="wdflex" style="justify-content: space-between;">
                <view class="wen_text2">{{ QaDetail.createTime }}</view>
                <view  class="wen_text2">{{ QaDetail.num  + '回复'}}</view>
            </view>
        </view>

        <!-- 问题回复列表 -->
        <view class="wdbox" v-for="item in newsList" :key="item.id">
            <view class="wdflex" style="align-items: center;">
                <view class="photo">
                    <u--image shape="circle" width="80rpx" height="80rpx" :src="item.authorLogo" ></u--image>
                </view>
                <view class="wen_name">{{ item.authorName }}</view>
            </view>

            <view class="wdflex">
                <view class="wen" style="background: #ff8c33">答</view>
                <view class="wen_text" style="font-weight: 700;color: #666666;">{{ item.content }}</view>
            </view>
            <view class="wdflex" style="justify-content: space-between;align-items: center;">
                <view class="wen_text2">{{ item.createTime }}</view>
                <view class="flex wen_text2" style="width: 200rpx;">
                    <view class="flex" style="align-items: center;" @click="openComment(item)">
                        <u--image shape="circle" width="48rpx" height="48rpx" src="/static/myinfo/icomx_message2.png" ></u--image>
                        <text style="margin-left: 8rpx;">{{ item.num }}</text>
                    </view>
                    <view class="flex" @click="setQalike(item)" style="align-items: center;">
                        <u--image v-if="item.isLike == '1'" shape="circle" width="48rpx" height="48rpx" src="/static/myinfo/icomx_dianzan1.png" ></u--image>
                        <u--image v-else shape="circle" width="48rpx" height="48rpx" src="/static/myinfo/icomx_dianzan.png" ></u--image>
                        <text  style="margin-left: 8rpx;">{{ item.likesCount }}</text>
                    </view>
                </view>
            </view>
        </view>
        <commentNew @initDatalist="'initDatalist'" :CommentData="CommentData" :showComment="showComment" @closeComment="closeComment"></commentNew>

        <view class="loadmore" @click="loadmore()" >
            {{jiazaitext}}
        </view>
        <view class="btnflex">
            <view class="commentInput"> 
                <u-input placeholder="评论" v-model="inputValue2"  type="text"  />
            </view>
            <view class="btn" @click="submit2">
                提交
            </view>
        </view>
        <view style="height:100rpx"></view>
    </view>
</template>
<script>
import {topicQaDetail,Qareplybyid,QareplyPage,Qalike,Qacollect} from '@/http/api/common.js'
import commentNew from './base/commentNew.vue'
import * as util from '@/pages/util/util.js'
export default {
    components: {
        commentNew
    },
    
data() {
return {
    newsList:[],
    pageNum:1,
    num:0,
    topicId:'',
    inputValue2:'',
    jiazaitext:'加载更多',
    loadingType:false,
    showComment:false,
    QaDetail:{
        authorLogo:'',
        name:'张三',
        title:'我们睡着了，身体都在忙些什么呢？',
        follow:'关注问题',
        time:'2024-5-20 16:54 提问',
        num:'4',
        isCollection:'1',
    },
    CommentData:null
}
},
onReachBottom() {
    this.loadmore()
},
onLoad(e) {
   this.topicId = e.id
   this.initData()
},
methods: {
    async setQacollect(){
        let res = await Qacollect(this.QaDetail.id)
        this.QaDetail.isCollection = this.QaDetail.isCollection == '1'? '2' : '1'
    },
    async setQalike(item){
        let res = await Qalike(item.id)
        if (item.isLike == '1') {
            item.isLike = '2'
            item.likesCount = item.likesCount - 1
        }else{
            item.isLike = '1'
            item.likesCount = item.likesCount + 1
        }
    },
    async submit2(){
        //对主题回复
        let res = await Qareplybyid({
            floorId:'',
            content:this.inputValue2,
            replyId:'',
            replyType:1, //回复类型 1：回复主题 2：回复楼层 3：回复楼层内的评论
        },this.topicId)

        if (res.data.code == 200) {
            util.toastFunc('回复成功')
            this.inputValue2 = ''

            //初始化请求页签
            this.pageNum = 1
            this.CommentData = []
            //获取评论列表
            this.getTopicReply()
            this.close()
        }
    },
    async openComment(item){
        //把选中的子项回复赋值
        console.log(item);
        let res = await QareplyPage({
            pageNum:1,
            pageSize:100,
            floorId:item.id,
            topicId:item.topicId,
        })
        
        this.CommentData = {
            ...item,
            floorList:res.data.data.rows || []
        },
        this.showComment = true
    },
    closeComment(){
        this.showComment = false
    },
    openAskingQuestions(e){
        uni.navigateTo({ 
            url: '/pages/home/AskingQuestions'
        })
    },
    async initDatalist(){
      
        //每次切换页签初始化请求页签
        this.pageNum = 1
        this.newsList = []

        await this.initData()
    },
     async initData(){

        let data = {
            pageNum:this.pageNum,
            pageSize:10
        }
        let res = await topicQaDetail(data,this.topicId)
        if (res.data.code == 200 ) {
            this.QaDetail = res.data.data

            let newrows = this.QaDetail.repliesPage.rows || []

            this.newsList.push(...newrows)
            this.num = this.QaDetail.repliesPage.total
            if(this.newsList.length!=this.QaDetail.repliesPage.total){
                this.jiazaitext="加载更多"
            }else{
                this.jiazaitext="已经到底"
            }
        }
    },
    //加载更多
    loadmore(){
        console.log('下拉加载',this.jiazaitext);
        if (this.jiazaitext=="加载更多") {
            this.pageNum=this.pageNum+1
            this.jiazaitext="加载中..."
            this.initData()
        }
    },
}
}
</script>

<style lang="less" scoped>
.bg{
    background-color: #F6F6F6;
    width: 100vw;
    min-height: 100vh;
}

.loadmore{
    height:200rpx;
    text-align: center;
    font-size: 28rpx;
    font-weight: 400;
    color: #999;
    padding-top: 24rpx;
}
.wdbox{
    width: 660rpx;
    min-height: 240rpx;
    background: #ffffff;
    margin: 26rpx;
    padding: 20rpx;
    border-radius: 16rpx;
}
.wen{
    width: 40rpx;
    height: 40rpx;
    background: #0084ff;
    border-radius: 8rpx;
    font-size: 28rpx;
    text-align: center;
    line-height: 40rpx;
    color: #fff;
}
.wen_text{
    margin-left: 16rpx;
    width: 590rpx;
    font-size: 32rpx;
    font-family: PingFang SC, PingFang SC-Bold;
    font-weight: 700;
    text-align: left;
    color: #333333;

    display: -webkit-box;
    word-break: break-all;
    text-overflow: ellipsis;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp:2;
}
.wen_name{
    margin-left: 16rpx;
    width: 400rpx;
    font-size: 32rpx;
    font-family: PingFang SC, PingFang SC-Bold;
    font-weight: 700;
    text-align: left;
    color: #666666;
    word-break: break-all;
    text-overflow: ellipsis;
    overflow: hidden;
}
.wen_num{
    margin-left: 56rpx;
    width: 590rpx;
    font-size: 28rpx;
    font-family: PingFang SC, PingFang SC-Regular;
    font-weight: 400;
    text-align: left;
    color: #0084ff;
}
.wen_text2{
    font-size: 28rpx;
    font-family: PingFang SC, PingFang SC-Regular;
    font-weight: 400;
    text-align: left;
    color: #999999;
}
.wdflex{
    display: flex;
    justify-content: flex-start;
    flex-direction: row;
    margin-top: 24rpx;
}
.submitbtn{
    width: 700rpx;
    height: 80rpx;
    background: #46a6ff;
    border-radius: 40rpx;

    text-align: center;
    font-size: 28rpx;
    font-family: PingFang SC, PingFang SC-Medium;
    font-weight: 500;
    color: #ffffff;
    line-height: 80rpx;

    position: fixed;
    bottom: 10rpx;
    left: 26rpx;
}
.follow{
    width: 160rpx;
    height: 64rpx;
    background: #deeefc;
    border-radius: 4px;

    font-size: 28rpx;
    font-family: PingFang SC, PingFang SC-Medium;
    font-weight: 500;
    text-align: center;
    color: #0084ff;
    line-height: 64rpx;
}
.btnflex{
    display: flex;
    flex-direction: row;
    align-items: center;
    position: fixed;
    bottom: 0;
    left: 0;

    width: 750rpx;
    height: 100rpx;
    background: #ffffff;
}
.commentInput{
    width: 520rpx;
    background: #EEEEEE;
    border-radius: 40rpx 40rpx 40rpx 40rpx; 
    margin-left: 30rpx;
}
.btn{
    width: 150rpx;
    height: 70rpx;
    margin-left: 20rpx;
    border-radius: 40rpx;
    background: #46a6ff;
    text-align: center;
    line-height: 70rpx;
    font-size: 28rpx;
    color: #fff;
}
/deep/.u-input{
    border: 0px;
}
</style>
    