index.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. <!-- 退货/退款上传凭证 -->
  2. <template>
  3. <view>
  4. <JHeader title="平台介入" width="50" height="50" style="padding: 24upx 0 0;"></JHeader>
  5. <view class="content">
  6. <view class="afterSale-select-box mt20">
  7. <view class="item item-start">
  8. <view class="l"><text class="font-color-C5AA7B">*</text>问题描述</view>
  9. </view>
  10. <textarea
  11. v-model="reason" maxlength="200" class="text-area" placeholder="填写相关问题"
  12. placeholder-style="color:#bbb;"
  13. bindinput="proofRemarkInput"
  14. ></textarea>
  15. </view>
  16. <view class="afterSale-select-box mt20">
  17. <view class="upload-title">举证图片</view>
  18. <view class="upload-img-box">
  19. <view class="mar-left-10 mar-top-10 evaluateImg">
  20. <ATFMoreUpload
  21. :imgs="fileList"
  22. @upload="handleSaveImg" @delete="handleDeleteImg"
  23. ></ATFMoreUpload>
  24. </view>
  25. </view>
  26. </view>
  27. </view>
  28. <view class="order-confirm-box">
  29. <text class="btn" bindtap="subimtTap" @click="interventionFn">提交</text>
  30. </view>
  31. </view>
  32. </template>
  33. <script>
  34. import { applyAfterPlatformApi } from '../../../api/anotherTFInterface'
  35. export default {
  36. name: 'PlatformJoin',
  37. data() {
  38. return {
  39. returnImgsList: 1,
  40. fileList: [],
  41. commentImgs: '',
  42. afterId: '',
  43. orderId: '',
  44. reason: ''
  45. }
  46. },
  47. onLoad(options) {
  48. this.afterId = options.afterId
  49. this.orderId = options.orderId
  50. },
  51. methods: {
  52. handleSaveImg(imgUrl) {
  53. this.fileList.push(imgUrl)
  54. this.$forceUpdate()
  55. },
  56. handleDeleteImg(imgUrl) {
  57. this.fileList.splice(this.fileList.findIndex((item) => item === imgUrl), 1)
  58. this.$forceUpdate()
  59. },
  60. interventionFn() {
  61. if (this.reason === '') {
  62. uni.showToast({
  63. title: '请填写问题描述',
  64. icon: 'none'
  65. })
  66. return false
  67. }
  68. if (this.fileList.length > 0) {
  69. for (let i = 0; i < this.fileList.length; i++) {
  70. this.commentImgs += this.fileList[i] + ','
  71. }
  72. }
  73. uni.showLoading({
  74. mask: true,
  75. title: '正在申请介入...'
  76. })
  77. applyAfterPlatformApi({
  78. afterId: this.afterId,
  79. orderId: this.orderId,
  80. image: this.commentImgs,
  81. reason: this.reason
  82. }).then((res) => {
  83. uni.hideLoading()
  84. uni.showToast({
  85. title: '申请成功'
  86. })
  87. uni.navigateBack({
  88. delta: 1
  89. })
  90. })
  91. .catch((e) => {
  92. uni.hideLoading()
  93. })
  94. }
  95. }
  96. }
  97. </script>
  98. <style lang="less" scoped>
  99. .content {
  100. padding: 0 0 120upx;
  101. box-sizing: border-box;
  102. }
  103. .afterSale-select-box {
  104. width: 100%;
  105. background: #fff;
  106. padding: 0 30upx 30upx 30upx;
  107. box-sizing: border-box;
  108. }
  109. .afterSale-select-box .item {
  110. height: 100upx;
  111. border-bottom: 1px solid #e5e5e5;
  112. display: flex;
  113. flex-direction: row;
  114. align-items: center;
  115. justify-content: space-between;
  116. font-size: 28upx;
  117. color: #333;
  118. }
  119. .afterSale-select-box .item:last-of-type {
  120. border-bottom: none;
  121. }
  122. .afterSale-select-box .item.item-start {
  123. justify-content: flex-start;
  124. }
  125. .afterSale-select-box .item .l {
  126. display: flex;
  127. flex-direction: row;
  128. align-items: center;
  129. }
  130. .afterSale-select-box .item .afterSale-img {
  131. width: 26upx;
  132. height: 26upx;
  133. margin-right: 20upx;
  134. }
  135. .afterSale-select-box .item .r-box {
  136. display: flex;
  137. flex-direction: row;
  138. align-items: center;
  139. color: #999;
  140. }
  141. .mt20 {
  142. margin-top: 20upx;
  143. }
  144. .upload-title {
  145. font-size: 28upx;
  146. color: #333;
  147. padding: 30upx 0;
  148. }
  149. .upload-img-box {
  150. display: flex;
  151. flex-direction: row;
  152. flex-wrap: wrap;
  153. padding: 0 0 30upx;
  154. align-items: flex-start;
  155. }
  156. .order-confirm-box {
  157. position: fixed;
  158. bottom: 0;
  159. left: 0;
  160. width: 100%;
  161. height: 120upx;
  162. background: #fff;
  163. padding: 0 30upx;
  164. box-sizing: border-box;
  165. display: flex;
  166. flex-direction: row;
  167. align-items: center;
  168. justify-content: center;
  169. }
  170. .order-confirm-box .btn {
  171. width: 100%;
  172. height: 80upx;
  173. line-height: 80upx;
  174. background: #333333;
  175. font-size: 28upx;
  176. color: #C5AA7B;
  177. text-align: center;
  178. }
  179. .text-area {
  180. width: 690upx;
  181. background: #F7F7F7;
  182. padding: 30upx;
  183. box-sizing: border-box;
  184. margin-bottom: 30upx;
  185. }
  186. </style>