hz-zhhq-app/pages/evaluate/evaluate.vue

242 lines
5.5 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="container" >
<view class="banner-box">
<image src="/static/imgs/food-comment-banner.png" mode=""></image>
</view>
<view class="main">
<view class="tab-box">
<view class="tab-item" style="width: 100%;" >{{title[type]}}</view>
</view>
<view class="comment-list" v-if="commentList.length > 0">
<view class="comment-item" v-for="(item,index) in commentList" :key="index">
<view class="user-head">
<image v-if="item.wx_profile" :src="item.wx_profile" mode=""></image>
<image v-else src="/static/imgs/missing-face.png" mode=""></image>
</view>
<view class="fr-content">
<view class="date">{{item.mobile}}</view><!-- formatDate(item.gmt_created,'dateTime') -->
<view class="name">{{item.applicant_name}}</view>
<view class="food-list" style="margin: 10upx 0upx 20upx 0upx; ">
<view class="food-item" style="background-color: #C5F2E0;">{{commentGrade[item.satisfied_level>2?0:item.satisfied_level].name}}</view>
</view>
<view class="comment-content" style="font-size: 26upx;color: #000000;">{{item.comment_content}}</view>
<view class="comment-content" style="font-size: 24upx;">服务时间:{{item.detail_time}}</view>
<view class="comment-content" style="font-size: 24upx;">评价时间:{{formatDate(item.gmt_created,'m_Time')}}</view>
</view>
</view>
</view>
<content-none v-else :padTop="35"></content-none>
</view>
<load-more :loadingType="loadingType" :contentText="contentText"></load-more>
</view>
</template>
<script>
import {getCommentListByType} from '@/common/api.js';
import {callbackRequest,formatDate} from '@/common/util.js';
import loadMore from '@/components/loadMore.vue';
import contentNone from '@/components/contentNone.vue';
export default {
data() {
return {
formatDate: formatDate,
loading:false,
page:1,
pageSize:10,
loadingType:0,//0-loading前1-loading中2-没有更多了
contentText: {
contentdown: "上拉加载更多",
contentrefresh: "正在加载...",
contentnomore: "没有更多数据了"
},
title:['','理发服务评价',"洗车服务评价",'','','用车服务评价','服务报修评价','咨询服务评价','用户投诉评价','报事服务评价','就诊服务评价'],
titleIndex:0,
type:0,
commentList:[],
commentGrade: [
{
value: '0',
name: '非常满意'
},
{
value: '1',
name: '满意',
checked: 'true'
},
{
value: '2',
name: '一般'
}
],
};
},
components:{
loadMore,
contentNone
},
onLoad(option) {
this.type=option.type||0;
this.initData();
},
methods:{
initData(){
let params = {
"method":getCommentListByType,
data:{
type:this.type,
pageSize:this.pageSize,
pageNum:this.page
}
}
callbackRequest(params)
.then(res => {
res = res.data;
if (res.returnCode == 1) {
if (this.page == 1) {
this.commentList = res.returnData ;
} else {
if (res.returnData.length > 0) {
this.commentList = this.commentList.concat(res.returnData);
this.loadingType = 0;
} else {
this.loadingType = 2;
}
}
} else {
alertTip(res.returnMsg);
}
})
}
},
onReachBottom() {
if(this.loadingType !== 0){
return false;
}
this.loadingType = 1;
this.page = this.page + 1;
this.initData();
}
}
</script>
<style lang="scss">
@import '@/static/css/common.scss';
.container{
background: #f8f8f8;
min-height:100vh;
overflow: hidden;
.banner-box {
width: 100%;
height: 240upx;
position: absolute;
top: 0;
left: 0;
image {
width: 100%;
height: 100%;
}
border-radius: 30upx;
}
.main {
margin: 172upx 40upx 0;
position: relative;
z-index: 10;
}
.tab-box {
overflow: hidden;
border-radius: 10upx 10upx 0 0;
background: rgba(132, 149, 167, 0.8);
height: 70upx;
.tab-item {
float: left;
height: 70upx;
width: 50%;
font-size: 30upx;
color: #e5f6ff;
text-align: center;
line-height: 70upx;
}
.active {
background: #fff;
color: #333;
border-radius: 10upx 10upx 0 0;
font-weight: bold;
}
}
}
.comment-list{
padding:30upx 30rpx 0;
background: #fff;
.comment-item{
overflow:hidden;
margin-bottom:20rpx;
.user-head{
float:left;
width:90upx;
height:90upx;
border-radius:50%;
image{
width:100%;
height:100%;
border-radius:50%;
}
}
.fr-content{
margin:0 0 0upx 110upx;
border-bottom:1px solid #f5f5f5;
padding-bottom:26upx;
.name{
font-size:28upx;
font-weight:bold;
line-height:44upx;
}
.date{
float:right;
font-size:26upx;
color:#666;
line-height:44upx;
}
.grade{
padding-bottom:10upx;
text{
display:inline-block;
font-size:26upx;
color:#666;
line-height:36upx;
vertical-align: top;
padding-right:20upx;
}
image{
width:36upx;
height:36upx;
margin-right:8upx;
vertical-align: top;
}
}
.comment-content{
font-size:26upx;
color:#666;
line-height:40upx;
}
.food-list {
padding: 10rpx 0 0;
overflow: hidden;
.food-item {
float: left;
margin-right: 10rpx;
font-size: 24rpx;
line-height: 30rpx;
color: #13ab5f;
padding: 4rpx 16rpx;
border-radius: 6upx;
}
}
}
}
}
</style>