<template>
	<view class="container">
    <!-- 骨架屏 -->
    <Skeleton
        el-color="#f1f3f4"
        bg-color="#fff"
        :loading="loading"
        :animation="true"
    ></Skeleton>
    <global-loading />
    <view class="u-skeleton">
      <!-- 我的评论 -->
      <view class="evaluateTitle-box flex-row-plus flex-sp-around u-skeleton-fillet">
        <view class="allEvaluate"
              :class="{'evaluateTitle-on' : evaluateTitleFlag == 1}"
              @click="evaluateTitleClick(1)"
        >全部评价({{ myCommentList.total || 0}})</view>
        <view class="centerLine">|</view>
        <view
            :class="{'evaluateTitle-on' : evaluateTitleFlag == 2}"
            @click="evaluateTitleClick(2)"
        >有图({{ myCommentList.imageTotal || 0}})</view>
      </view>
      <view v-if="evaluateTitleFlag == 1" class="mar-top-20">
        <template>
          <view
              class="evaluate-contentbox u-skeleton-fillet"
              v-for="(item, index) in commentVOList"
              :key="index"
              @click="commentDetails(index)"
          >
            <view class="evaluate-content flex-items flex-row flex-sp-between ">
              <view class="flex-items">
                <image class="user-headSmallImg u-skeleton-circle" v-if="item.headImage" :src="$baseURL+item.headImage"></image>
                <image class="user-headSmallImg u-skeleton-circle" src="https://zhgw-uat.028wlkj.com/cdwlMall/zsfwzxt/file/static/images/storeLogo.png" v-else></image>
                <view class="skuValue u-skeleton-fillet">
                  <label class="fs28" v-if="item.name">{{item.name}}</label>
                  <label class="fs28" v-else>匿名</label>
                  <view class="fs22 font-color-999 mar-top-10">
                    {{item.value}}
                  </view>
                </view>
              </view>
              <!-- <view class="addCommentsBut" v-if="item.addComment == ''" @click.stop="addCommentsClick(index,item)">追加评价</view> -->
            </view>
            <view class="fs26 pad-topbot-20 u-skeleton-fillet" style="margin-top: 10rpx">{{item.comment}}</view>
            <view class="evaluateImg-box" v-if="item.image">
              <view v-for="(cItem, index) in commentImgData(item.image)" :key="index">
                <image class="evaluate-Img" :src="$baseURL+cItem"></image>
              </view>
            </view>
            <!-- <view class="addComments-box flex-column-plus" v-if="item.addComment">
              <label class="font-color-C5AA7B mar-top-30">用户追评</label>
              <label class="mar-top-20">{{item.addComment}}</label>
              <view class="evaluateImg-box mar-top-20" v-if="item.addImage">
                <view v-for="(dItem, index) in commentImgData(item.addImage)" :key="index">
                  <image class="evaluate-Img" :src="$baseURL+dItem"></image>
                </view>
              </view>
            </view> -->
            <!-- <view class="goodsDes-box u-skeleton-fillet flex-column-plus mar-top-30">
              <view class="flex-row-plus" @click.stop="goGoodsDetails(item.shopId,item.productId,item.skuId)">
                <image class="goodsDes-img default-img" :src="$baseURL+item.productImage"></image>
                <view class="goodsDesText-box">
                  <label class="fs26 goodsDes-text">{{item.productName}}</label>
                  <view class="mar-top-70">
                    <label>¥ {{item.productPrice}}</label>
                  </view>
                </view>
              </view>
            </view> -->
            <!-- <view class="flex-items flex-row mar-top-30 flex-sp-between">
              <view class="font-color-999 fs22">{{item.createTime}}</view>
              <view class="praise-box flex-items flex-row">
                <image class="praise-icon" @click.stop="zanTap(index,item.commentId,0)" src="https://zhgw-uat.028wlkj.com/cdwlMall/zsfwzxt/file/static/images/praiseActiveIcon.png"
                       v-if="item.ifLike"></image>
                <image class="praise-icon" @click.stop="zanTap(index,item.commentId,1)" src="https://zhgw-uat.028wlkj.com/cdwlMall/zsfwzxt/file/static/images/addPraiseIcon.png"
                       v-else></image>
                <label class="mar-left-10">{{item.likes}}</label>
              </view>
            </view> -->
          </view>
        </template>
        <view v-if="evaluateEmpty" class="emptyOrder-box flex-items-plus flex-column">
          <image class="emptyOrder-img" src="https://zhgw-uat.028wlkj.com/cdwlMall/zsfwzxt/file/static/img//bgnull.png"></image>
          <label class="font-color-999 fs26 mar-top-30">你还没有评论哦～</label>
        </view>
      </view>
      <view v-if="evaluateTitleFlag == 2" class="mar-top-20">
        <template>
          <view
              class="evaluate-contentbox"
              v-for="(item, index) in commentVOList"
              :key="index"
          >
            <view class="evaluate-content flex-column" @click="commentDetails(index)" >
              <view class="flex-items">
                <image class="user-headSmallImg" v-if="item.headImage" :src="$baseURL+item.headImage"></image>
                <image class="user-headSmallImg" src="https://zhgw-uat.028wlkj.com/cdwlMall/zsfwzxt/file/static/images/storeLogo.png" v-else></image>
                <label class="fs28 mar-left-20" v-if="item.name">{{item.name}}</label>
                <label class="fs28 mar-left-20" v-else>匿名</label>
              </view>
              <view class="fs22 font-color-999 mar-top-10">
                {{item.value}}
              </view>
              <view class="fs26 pad-topbot-20">{{item.comment}}</view>
              <view class="evaluateImg-box" v-if="item.image">
                <view v-for="(cItem, index) in commentImgData(item.image)" :key="index">
                  <image class="evaluate-Img" :src="$baseURL+cItem"></image>
                </view>
              </view>
              <!-- <view class="addComments-box flex-column-plus" v-if="item.addComment">
                <label class="font-color-C5AA7B mar-top-30">用户追评</label>
                <label class="mar-top-20">{{item.addComment}}</label>
                <view class="evaluateImg-box mar-top-20" v-if="item.addImage">
                  <view v-for="(dItem, index) in commentImgData(item.addImage)" :key="index">
                    <image class="evaluate-Img" :src="$baseURL+dItem"></image>
                  </view>
                </view>
              </view> -->

              <view class="flex-items flex-row mar-top-30 flex-sp-between">
                <view class="font-color-999 fs22">{{item.createTime}}</view>
                <view class="praise-box flex-items flex-row">
                  <image class="praise-icon" @click.stop="zanTap(index,item.commentId,0)" src="https://zhgw-uat.028wlkj.com/cdwlMall/zsfwzxt/file/static/images/praiseActiveIcon.png"
                         v-if="item.ifLike"></image>
                  <image class="praise-icon" @click.stop="zanTap(index,item.commentId,1)" src="https://zhgw-uat.028wlkj.com/cdwlMall/zsfwzxt/file/static/images/praiseIcon.png"
                         v-else></image>
                  <label class="mar-left-10">{{item.likes}}</label>
                </view>
              </view>
            </view>
          </view>
        </template>
        <view v-if="evaluateEmpty" class="emptyOrder-box flex-items-plus flex-column">
          <image class="emptyOrder-img" src="https://zhgw-uat.028wlkj.com/cdwlMall/zsfwzxt/file/static/img//bgnull.png"></image>
          <label class="font-color-999 fs26 mar-top-30">你还没有评论哦～</label>
        </view>
      </view>
    </view>
	</view>
</template>

<script>
  import Skeleton from "../../components/Skeleton";
  const NET = require('../../utils/request')
	const API = require('../../config/api')
	export default {
    components: {Skeleton},
    data() {
			return {
        loading:true,
				evaluateTitleFlag: 1,
				myCommentList: [],
				commentVOList: [],
				state:"",
				page:1,//当前页
				pageSize:20,//每页记录数
				loadingType:0,
				topLeft: 0,
        evaluateEmpty: false
			}
		},
		onShow(){
			this.commentVOList = [{
        isLoading:true,
        name:'',
        comment:''
      },{
        isLoading:true,
        name:'',
        comment:''
      },{
        isLoading:true,
        name:'',
        comment:''
      },{
        isLoading:true,
        name:'',
        comment:''
      },{
        isLoading:true,
        name:'',
        comment:''
      }]
			this.getMyCommentList()
		},
		onLoad() {
			// this.getMyCommentList()
		},
		onReachBottom(){
			if(this.loadingType == 1){
				uni.stopPullDownRefresh()
			}else{
				this.page = this.page+1
				this.getMyCommentList()
			}
		},
		onBackPress(e) {
			if (e.from === 'navigateBack') {
				return false;
			}
			this.back();
			return true;
		},
		methods: {
			goGoodsDetails(shopId,productId,skuId){
				uni.navigateTo({
					url:'goodsDetails?shopId='+shopId+'&productId='+productId+'&skuId='+skuId
				})
			},
			back(){
				uni.switchTab({
					url:'../../pages/tabbar/user/index'
				});
			},
			commentImgData(imgData) {
				// console.log('现在图片',imgData)
				let imgDataResult = []
				imgDataResult = imgData.split(",");
				
				   for (let i = imgDataResult.length - 1; i >= 0; i--) {
				        const item = imgDataResult[i];
				        if (item === '' || item === null || item === undefined) {
				            imgDataResult.splice(i, 1);
				            break; // 只删除最后一个空数据，找到后跳出循环
				        }
				    }
				return imgDataResult
			},
			evaluateTitleClick(type) {
        this.evaluateEmpty = false
				if(type == 1){
					this.state = ''
				}else{
					this.state = "1"
				}
				this.page = 1
				this.commentVOList = []
				this.evaluateTitleFlag = type
				this.getMyCommentList()
			},
			//我的评价列表
			getMyCommentList() {
        this.$showLoading()
        this.loading = true
		console.log(this.state)
				NET.request(API.MyCommentList, {
					page: this.page,
					pageSize: this.pageSize,
					state: this.state
				}, 'GET').then(res => {
                 uni.hideLoading()
					if(res.data.page.list.length == 0){
						this.loadingType = 1
						this.page = this.page
					}
					this.myCommentList = res.data
					this.commentVOList = this.commentVOList.concat(res.data.page.list)
					
					
          this.commentVOList = this.commentVOList.filter(item=>!item.isLoading)
          if (this.commentVOList.length === 0) {
            this.evaluateEmpty = true
          }
				}).catch(res => {
          uni.hideLoading()
          uni.showToast({
            title: res.data.message,
            duration: 2000,
            icon: 'none'
          });
				}).finally(()=>{
          this.loading = false
          this.$hideLoading()
        })
			},
			//点赞
			zanTap(index, likeId, actionType) {
        this.$showLoading()
				NET.request(API.LikeOrUnLikeComment, {
					commentId: likeId,
					ifLike: actionType
				}, 'POST').then(res => {
					this.commentVOList[index].ifLike = !this.commentVOList[index].ifLike
					this.commentVOList[index].likes = this.commentVOList[index].ifLike ? this.commentVOList[index].likes + 1 : this.commentVOList[index].likes - 1
					// this.commentVOList = []
					// this.page = 1
					// this.getMyCommentList()
				}).catch(res => {
          this.$hideLoading()
					// uni.hideLoading()
				})
			},
			commentDetails(id) {
				uni.setStorageSync('commentVOList', this.commentVOList[id]);
				uni.navigateTo({
					url: 'evaluateDetails'
				})
			},
			//追加评论
			addCommentsClick(id,item) {
				
				uni.setStorageSync('addCommentVOList', this.commentVOList[id]);
				
				uni.navigateTo({
					url: `addEvaluate?type=2&detail${JSON.stringify(item)}`
				})
			}
		}
	}
</script>

<style lang="scss" scoped>
page {
	background-color: #FFFFFF;
}

.container {
	.emptyOrder-box {
		margin-top: 70upx;

		.emptyOrder-img {
			margin-top: 45%;
			width: 113upx;
			height: 98upx;
		}
	}

	.evaluateTitle-box {
		color: #CCCCCC;
		margin-top: 26upx;
    border-bottom: 2rpx solid #F3F4F5;
		.evaluateTitle-on {
			padding-bottom: 20upx;
			border-bottom: 4upx solid #C5AA7B;
      color: #333333;
		}
	}

	.evaluate-contentbox {
		display: flex;
		justify-content: center;
		flex-direction: column;
		padding: 30upx 30upx;
    margin: 10rpx 10rpx;
		background-color: #FFFFFF;
    border-bottom: 2rpx solid #F3F4F5;
		.evaluate-content {
			width: 670upx;
			display: flex;
			justify-content: space-between;
			.user-headSmallImg {
				width: 46upx;
				height: 46upx;
				border-radius: 50%;
			}
      .skuValue {
        text-align: left;
        padding-left: 30rpx;
      }
		}

		.evaluateImg-box {
			display: flex;
			flex-direction: row;
			flex-wrap: wrap;
			margin-left: -9upx;

			.evaluate-Img {
				width: 224upx;
				height: 224upx;
				border-radius: 10upx;
				margin-left: 9upx;
				margin-top: 9upx;
			}
		}

		.goodsDes-box {
			background-color: #F7F7F7;
			padding: 20upx 44upx 20upx 20upx;

			.goodsDes-img {
				width: 180upx;
				height: 180upx;
				border-radius: 10upx;
			}

			.goodsDesText-box {
				width: 416upx;
				margin-left: 30upx;
			}



			.praise-box {
				.praise-icon {
					width: 50upx;
					height: 50upx;
				}

			}
		}

		.addComments-box {
			border-top: 1upx solid #EEEEEE;
			margin-top: 35upx;
		}
	}
}
.praise-icon {
	width: 50upx;
	height: 50upx;
}
.addCommentsBut {
	width: 140upx;
	height: 58upx;
  background: #333333;
	font-size: 26upx;
	line-height: 58upx;
	text-align: center;
	color: #C5AA7B;
}

.addCommentsBut1 {
	width: 140upx;
	height: 58upx;
	font-size: 26upx;
  background: #333333;
	line-height: 58upx;
	text-align: center;
}
</style>
