学员端小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

176 lines
4.1 KiB

<template>
<view class="consultItem">
<view class="top_row">
<view class="flex">
<view class="tag"> {{ item.complainDO.userType==1?'投诉驾校':'投诉教练'}}</view>
<view class="tag">{{ item.complainType }}</view>
</view>
<view class="status">{{dealStatus[item.complainDO.dealStatus]}}</view>
</view>
<view class="target">
<view class="row">
<view class="leftLab">
<view class="icon">
<image src="@/static/images/car/ic_jiaxiao.png" mode=""></image>
</view>
<view class="lab">驾校名称</view>
</view>
<view class="name towRowText">{{ item.complainDO.schoolName }}</view>
</view>
<view class="row" v-if="item.complainDO.coachName">
<view class="leftLab">
<view class="icon">
<image src="@/static/images/index/edit.png" mode=""></image>
</view>
<view class="lab">教练名称</view>
</view>
<view class="name">{{ item.complainDO.coachName }}</view>
</view>
</view>
<view class="content">
<view class="lab">问题描述</view>
<view class="text">{{ item.complainDO.content }}</view>
</view>
<view class="content" v-if="item.complainReplayDOS&&item.complainReplayDOS.length">
<view class="lab">回复内容</view>
<view class="text" v-for="(item2,index2) in item.complainReplayDOS" :key="index2">{{ item2.replyContent }}</view>
</view>
<view class="border_bottom">
<view class="dateBox">
<view class="date">创建时间{{ $u.date(item.createTime, 'yyyy-mm-dd')}}</view>
<view class="date" v-if="item.complainDO.dealStatus==2&&item.complainReplayDOS.length">处理时间{{ $u.date(item.complainReplayDOS[0].updateTime, 'yyyy-mm-dd')}} </view>
</view>
<view class="close_btn" @click="closeFn(item.complainDO.id)" v-if="item.complainDO.dealStatus==1">关闭</view>
</view>
</view>
</template>
<script>
import { consultationClosed } from '@/config/api.js'
export default {
props: ['item'],
data() {
return {
dealStatus: ['','未处理', '已处理', '已关闭' ],//处理状态:1、未处理,2、已处理,3、已关闭
}
},
methods: {
closeFn(id) {
uni.showModal({
content:'确定要关闭吗?',
success: async (res)=> {
if (res.confirm) {
const result = await consultationClosed({id})
this.$u.toast('关闭成功')
this.item.complainDO.dealStatus = 3
} else if (res.cancel) {
console.log('用户点击取消');
}
}
})
}
}
}
</script>
<style lang="scss" scoped>
.consultItem {
width: 100%;
.target {
border-bottom: 2rpx dashed #E8E9EC;
}
.row {
display: flex;
align-items: flex-start;
padding: 24rpx 0;
.leftLab {
display: flex;
align-items: center;
.icon {
width: 30rpx;
height: 30rpx;
}
.lab {
// margin-left: 10rpx;
font-size: 28rpx;
color: #ADADAD;
white-space: nowrap;
}
}
.name {
font-size: 28rpx;
color: #333;
width: 0;
flex: 1;
padding-left: 15rpx;
}
}
.top_row {
display: flex;
width: 100%;
height: 116rpx;
border-bottom: 2rpx dashed #E8E9EC;
justify-content: space-between;
align-items: center;
.tag {
width: 176rpx;
height: 60rpx;
background: rgba(38,144,12,0.1);
border-radius: 8rpx;
text-align: center;
line-height: 60rpx;
font-size: 28rpx;
color: #0D9269;
margin-right: 24rpx;
}
.status {
font-size: 28rpx;
color: $themC;
}
}
.content {
padding: 24rpx 0 20rpx 0;
font-size: 28rpx;
.lab {
color: #ADADAD;
margin-bottom: 4rpx;
}
.text {
}
}
.border_bottom {
border-top: 2rpx dashed #E8E9EC;
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx 0 16rpx 0;
.dateBox {
.date {
font-size: 28rpx;
color: #ADADAD;
margin-bottom: 16rpx;
}
}
.close_btn {
width: 140rpx;
height: 60rpx;
background: #FFFFFF;
border-radius: 8rpx;
border: 2rpx solid #E8E9EC;
text-align: center;
line-height: 60rpx;
color: #ADADAD;
font-size: 28rpx;
}
}
}
</style>