学员端小程序
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.

175 lines
4.1 KiB

1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
  1. <template>
  2. <view class="consultItem">
  3. <view class="top_row">
  4. <view class="flex">
  5. <view class="tag"> {{ item.complainDO.userType==1?'投诉驾校':'投诉教练'}}</view>
  6. <view class="tag">{{ item.complainType }}</view>
  7. </view>
  8. <view class="status">{{dealStatus[item.complainDO.dealStatus]}}</view>
  9. </view>
  10. <view class="target">
  11. <view class="row">
  12. <view class="leftLab">
  13. <view class="icon">
  14. <image src="@/static/images/car/ic_jiaxiao.png" mode=""></image>
  15. </view>
  16. <view class="lab">驾校名称</view>
  17. </view>
  18. <view class="name towRowText">{{ item.complainDO.schoolName }}</view>
  19. </view>
  20. <view class="row" v-if="item.complainDO.coachName">
  21. <view class="leftLab">
  22. <view class="icon">
  23. <image src="@/static/images/index/edit.png" mode=""></image>
  24. </view>
  25. <view class="lab">教练名称</view>
  26. </view>
  27. <view class="name">{{ item.complainDO.coachName }}</view>
  28. </view>
  29. </view>
  30. <view class="content">
  31. <view class="lab">问题描述</view>
  32. <view class="text">{{ item.complainDO.content }}</view>
  33. </view>
  34. <view class="content" v-if="item.complainReplayDOS&&item.complainReplayDOS.length">
  35. <view class="lab">回复内容</view>
  36. <view class="text" v-for="(item2,index2) in item.complainReplayDOS" :key="index2">{{ item2.replyContent }}</view>
  37. </view>
  38. <view class="border_bottom">
  39. <view class="dateBox">
  40. <view class="date">创建时间{{ $u.date(item.createTime, 'yyyy-mm-dd')}}</view>
  41. <view class="date" v-if="item.complainDO.dealStatus==2&&item.complainReplayDOS.length">处理时间{{ $u.date(item.complainReplayDOS[0].updateTime, 'yyyy-mm-dd')}} </view>
  42. </view>
  43. <view class="close_btn" @click="closeFn(item.complainDO.id)" v-if="item.complainDO.dealStatus==1">关闭</view>
  44. </view>
  45. </view>
  46. </template>
  47. <script>
  48. import { consultationClosed } from '@/config/api.js'
  49. export default {
  50. props: ['item'],
  51. data() {
  52. return {
  53. dealStatus: ['','未处理', '已处理', '已关闭' ],//处理状态:1、未处理,2、已处理,3、已关闭
  54. }
  55. },
  56. methods: {
  57. closeFn(id) {
  58. uni.showModal({
  59. content:'确定要关闭吗?',
  60. success: async (res)=> {
  61. if (res.confirm) {
  62. const result = await consultationClosed({id})
  63. this.$u.toast('关闭成功')
  64. this.item.complainDO.dealStatus = 3
  65. } else if (res.cancel) {
  66. console.log('用户点击取消');
  67. }
  68. }
  69. })
  70. }
  71. }
  72. }
  73. </script>
  74. <style lang="scss" scoped>
  75. .consultItem {
  76. width: 100%;
  77. .target {
  78. border-bottom: 2rpx dashed #E8E9EC;
  79. }
  80. .row {
  81. display: flex;
  82. align-items: flex-start;
  83. padding: 24rpx 0;
  84. .leftLab {
  85. display: flex;
  86. align-items: center;
  87. .icon {
  88. width: 30rpx;
  89. height: 30rpx;
  90. }
  91. .lab {
  92. // margin-left: 10rpx;
  93. font-size: 28rpx;
  94. color: #ADADAD;
  95. white-space: nowrap;
  96. }
  97. }
  98. .name {
  99. font-size: 28rpx;
  100. color: #333;
  101. width: 0;
  102. flex: 1;
  103. padding-left: 15rpx;
  104. }
  105. }
  106. .top_row {
  107. display: flex;
  108. width: 100%;
  109. height: 116rpx;
  110. border-bottom: 2rpx dashed #E8E9EC;
  111. justify-content: space-between;
  112. align-items: center;
  113. .tag {
  114. width: 176rpx;
  115. height: 60rpx;
  116. background: rgba(38,144,12,0.1);
  117. border-radius: 8rpx;
  118. text-align: center;
  119. line-height: 60rpx;
  120. font-size: 28rpx;
  121. color: #0D9269;
  122. margin-right: 24rpx;
  123. }
  124. .status {
  125. font-size: 28rpx;
  126. color: $themC;
  127. }
  128. }
  129. .content {
  130. padding: 24rpx 0 20rpx 0;
  131. font-size: 28rpx;
  132. .lab {
  133. color: #ADADAD;
  134. margin-bottom: 4rpx;
  135. }
  136. .text {
  137. }
  138. }
  139. .border_bottom {
  140. border-top: 2rpx dashed #E8E9EC;
  141. display: flex;
  142. align-items: center;
  143. justify-content: space-between;
  144. padding: 30rpx 0 16rpx 0;
  145. .dateBox {
  146. .date {
  147. font-size: 28rpx;
  148. color: #ADADAD;
  149. margin-bottom: 16rpx;
  150. }
  151. }
  152. .close_btn {
  153. width: 140rpx;
  154. height: 60rpx;
  155. background: #FFFFFF;
  156. border-radius: 8rpx;
  157. border: 2rpx solid #E8E9EC;
  158. text-align: center;
  159. line-height: 60rpx;
  160. color: #ADADAD;
  161. font-size: 28rpx;
  162. }
  163. }
  164. }
  165. </style>