orderDetail.wxml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393
  1. <wxs src="../../../utils/formatFuc.wxs" module="utils" />
  2. <view class="container">
  3. <!-- 未支付 -->
  4. <view class="not-pay-module" wx:if="{{payOverTime>0}}">
  5. <view class="pay-amount">
  6. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-order-wallet.png"></image>
  7. <view> 待支付,剩余<text>{{utils.formatOverTime(payOverTime)}}</text></view>
  8. </view>
  9. <view class="over-time">超过30分钟未支付,订单将自动取消</view>
  10. <view class="pay-now" catchtap="payOrder" data-id="{{orderInfo.id}}" data-sn="{{orderInfo.orderSn}}" wx:if="{{orderInfo.handleOption.pay}}">立即支付</view>
  11. </view>
  12. <!-- 卡片 -->
  13. <view class="top-card" tt-if="{{orderInfo.orderStatusVal!='未支付'&&orderInfo.orderStatusVal!='已取消'}}">
  14. <view class="top-name">{{orderInfo.goodsName}}</view>
  15. <view class="top-times">
  16. <view class="top-sku-name">{{orderInfo.skuName}}</view>
  17. <view>剩余<text>{{remainTimes}}</text>次</view>
  18. <view class="serviced-times">已服务<text>{{orderInfo.servedTimes}}</text>次</view>
  19. </view>
  20. <view class="top-tips">预约后,将为您上门服务,详情请咨询客服。</view>
  21. <!-- tt-if="{{orderInfo.orderStatusVal!='服务已完成'}}" -->
  22. <view class="appoint-tag" data-detail="{{orderInfo.detailId}}" bindtap="goAppoint" wx:if="{{orderInfo.handleOption.book}}">预约服务</view>
  23. </view>
  24. <!-- 退款工单 -->
  25. <view class="refund-order-module" wx:if="{{afterSale}}">
  26. <view class="refund-title">
  27. <view class="title-text">退款工单</view>
  28. <view class="title-order">编号:{{afterSale.afterSn}}</view>
  29. <view class="title-status">{{afterSale.statusVal}}</view>
  30. </view>
  31. <view class="refund-main">
  32. <view class="row">
  33. <text>申请时间:</text>
  34. {{afterSale.createTime}}
  35. </view>
  36. <view class="row" wx:if="{{afterSale.refundTime!=null}}">
  37. <text>退款时间:</text>
  38. {{afterSale.refundTime}}
  39. </view>
  40. <view class="row">
  41. <text>退款原因:</text>
  42. {{afterSale.typeVal}}
  43. </view>
  44. <view class="row">
  45. <text>详细原因:</text>
  46. {{afterSale.reason}}
  47. </view>
  48. </view>
  49. <view class="refuse-remark-wrapper" wx:if="{{afterSale.statusVal=='已拒绝'}}">
  50. <view class="refuse-remark">
  51. <text>已拒绝:</text>
  52. {{afterSale.refusalRemark}}
  53. </view>
  54. </view>
  55. <view wx:if="{{afterSale.statu=='1'}}" class="refund-operate">
  56. <view bindtap="cancelRefund">取消退款</view>
  57. </view>
  58. </view>
  59. <!-- 工单列表 -->
  60. <view class="service-list" wx:if="{{dyDetails.length>0}}">
  61. <view class="service-item" wx:for="{{dyDetails}}" wx:key="index">
  62. <view class="service-title">
  63. <view class="sercive-name">服务{{utils.servciceName(index)}}</view>
  64. <view class="service-id">工单编号:{{item.id}}</view>
  65. <view class="service-status">{{item.statusVal}}</view>
  66. </view>
  67. <view class="service-main">
  68. <view class="customer-info">
  69. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-order-map.png"></image>
  70. <view class="customer-main">
  71. <view class="main-line">
  72. <view>{{item.customerName}}</view>
  73. <view class="phone">{{item.customerPhone}}</view>
  74. </view>
  75. <view class="customer-address" wx:if="{{item.addressName}}">{{item.addressName}}</view>
  76. <view class="customer-address" wx:else="">{{item.serviceAddress}}</view>
  77. </view>
  78. </view>
  79. <view class="row" wx:if="{{isShowPL}}">
  80. <text>开始时间:</text>{{item.bookStartTime}}
  81. </view>
  82. <view class="row" wx:else="">
  83. <text>预约时段:</text>{{item.bookTime}}
  84. </view>
  85. <view class="several-people" wx:if="{{item.isMultiWorker}}">
  86. <view class="title-tips">
  87. <view class="image">
  88. <image src="https://jzmall.lifejingzhi.com/file/jzmall-dy/dr.png" mode="aspectFill"></image>
  89. </view>
  90. <view class="tips-content">
  91. 本单为多人上门服务,上门时段可能不同,请您留意
  92. </view>
  93. </view>
  94. <view class="product-one" wx:for="{{item.serviceInfoList}}" wx:for-item="iitem">
  95. <view class="service-name">
  96. {{iitem.skillName}}
  97. </view>
  98. <view class="service-peoplenum">
  99. ({{iitem.workerNum}}人)
  100. </view>
  101. <view class="service-time">
  102. {{iitem.bookTime}}
  103. </view>
  104. </view>
  105. </view>
  106. <view class="row" wx:if="{{isShowPL}}">
  107. <text>服务内容:</text>{{orderInfo.skuName}}
  108. </view>
  109. <view class="row">
  110. <text>预约备注:</text>{{item.customerRemark}}
  111. </view>
  112. </view>
  113. <view class="service-remark-wrapper">
  114. <view class="service-store">
  115. <view class="store-left">
  116. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-store.png"></image>
  117. <view>{{item.fraShopName}}</view>
  118. </view>
  119. <view>服务咨询</view>
  120. <view class="store-right" bindtap="makeStorePhone" data-phone="{{item.shopPhone}}">
  121. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-order-phone.png"></image>
  122. </view>
  123. </view>
  124. <view class="service-remark" wx:if="{{item.reminder}}">
  125. <text>提醒:</text>
  126. {{item.reminder}}
  127. </view>
  128. </view>
  129. <view wx:if="{{item.ticketVo}}" class="ticket">
  130. <view class="title">
  131. <view style="font-weight: 600;">售后进度</view>
  132. <view class="comment" bindtap="showTicketTips" data-id="{{item.ticketVo.ticketId}}" wx:if="{{item.ticketVo.isSatisfaction}}">评价售后</view>
  133. </view>
  134. <view class="timeline">
  135. <block wx:for="{{item.ticketVo.actions}}" wx:for-index="index" wx:for-item="action" wx:key="action">
  136. <view class="timeline-event">
  137. <view style="{{index==0?'background-color: #09afff':'background-color: rgb(193 194 195)'}}" class="timeline-marker"></view>
  138. <!-- <view wx:else style="background-color: rgb(193 194 195);border-radius: 50%; height: 15px;width: 15px;"></view> -->
  139. <view class="timeline-event-copy">
  140. <view class="timeline-event-thumbnail">
  141. <text class="{{index==0?'':'timeline-text'}}">状态:{{action.status}}</text>
  142. <text class="timeline-text">{{action.createTime}}</text>
  143. </view>
  144. <view class="timeline-event-content">
  145. <text class="timeline-text">{{action.content}}</text>
  146. </view>
  147. </view>
  148. </view>
  149. </block>
  150. </view>
  151. </view>
  152. <view class="service-operate" wx:if="{{item.status==1||item.status==7||item.acceptanceAble}}">
  153. <view wx:if="{{item.canModify}}" bindtap="goEditAppoint" data-id="{{item.id}}" class="warning-color" data-status="{{item.status}}" data-time="{{item.bookTime}}">修改预约</view>
  154. <view wx:if="{{item.acceptanceAble}}" bindtap="goReVisit" data-id="{{item.id}}">服务验收</view>
  155. <view wx:if="{{item.isCancel}}" class="del" bindtap="goCancelBook" data-id="{{item.id}}" data-phone="{{item.shopPhone}}">取消预约</view>
  156. </view>
  157. </view>
  158. </view>
  159. <!-- 商品和订单信息 -->
  160. <view class="product-block">
  161. <view class="product-detail">
  162. <view class="profuct-info">
  163. <image mode="aspectFit" class="product-img" src="{{orderInfo.picUrl+'?w=200'}}"></image>
  164. <view class="info-right">
  165. <view class="info-main">
  166. <view class="product-name">{{orderInfo.goodsName}}</view>
  167. <view class="price">¥<text style="font-size: 24rpx;">{{orderInfo.actualPrice}}</text></view>
  168. </view>
  169. <view class="sku-name" wx:if="{{orderInfo.increaseSumPrice}}">
  170. <view> 加购: {{orderInfo.unitDescribe}}*{{orderInfo.unitIncreaseNumber}}</view>
  171. <view>¥{{orderInfo.increaseSumPrice}}</view>
  172. </view>
  173. <view class="sku-name">
  174. 规格:{{orderInfo.skuName}}
  175. </view>
  176. <view class="other-info">服务{{orderInfo.serviceTimes}}次</view>
  177. </view>
  178. </view>
  179. </view>
  180. <!-- 过期退,随时退 -->
  181. <view wx:if="{{payOverTime>0}}" class="refund-tips-bar">
  182. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-checkred.png"></image>
  183. <view>过期退</view>
  184. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-checkred.png"></image>
  185. <view>随时退</view>
  186. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-checkred.png"></image>
  187. <view>0费用</view>
  188. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-checkred.png"></image>
  189. <view>全国百城连锁</view>
  190. </view>
  191. </view>
  192. <view class="order-info">
  193. <view class="order-top">
  194. <view class="topic">
  195. 订单编号:
  196. </view>
  197. <view>
  198. {{orderInfo.orderSn}}
  199. </view>
  200. <image mode="aspectFit" class="copy-img" src="https://mall.zhaijieshi.cc/file/jzmall-dy/icon-order-copy.png" bindtap="copyOrder"></image>
  201. </view>
  202. <view class="order-top">
  203. <view class="topic">
  204. 下单时间:
  205. </view>
  206. <view>
  207. {{orderInfo.createTime}}
  208. </view>
  209. </view>
  210. <view class="order-top">
  211. <view class="topic">
  212. 支付方式:
  213. </view>
  214. <view>
  215. {{orderInfo.payChannel}}
  216. </view>
  217. </view>
  218. <view class="order-bottom">
  219. <view class="order-price">
  220. <view class="topic">
  221. 订单金额:
  222. </view>
  223. <view>
  224. ¥{{orderInfo.orderPrice}}
  225. </view>
  226. </view>
  227. <view class="coupon-price">
  228. <view class="topic">
  229. 优惠金额:
  230. </view>
  231. <view>
  232. ¥{{orderInfo.discountPrice}}
  233. </view>
  234. </view>
  235. <view class="real-price">
  236. 实际付款:<text>¥{{orderInfo.actualPrice}}</text>
  237. </view>
  238. </view>
  239. </view>
  240. <!-- 客户服务 -->
  241. <view class="customer-service">
  242. <view class="title">
  243. 客户服务
  244. </view>
  245. <view class="contact-store" wx:if="{{payOverTime>0}}">
  246. <view class="topic">联系门店</view>
  247. <view class="remark">预约、服务信息咨询</view>
  248. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-order-phone.png" bindtap="makeStorePhone" data-phone="4009218987"></image>
  249. </view>
  250. <view class="contact-company">
  251. <view class="topic">总部客服</view>
  252. <view class="remark">订单咨询、投诉建议</view>
  253. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-order-kf.png" bindtap="goIm"></image>
  254. <!-- <button class="contact-btn" open-type="contact">客服</button> -->
  255. </view>
  256. </view>
  257. <!-- 底部按钮 -->
  258. <view class="fixed-bottom">
  259. <view class="remain-content" wx:if="{{orderInfo.showAppointmentAlert}}">
  260. 还剩{{orderInfo.notAppointmentTimes}}次可约,请记得预约哦
  261. </view>
  262. <view class="order-operate-wrapper">
  263. <view catchtap="cancelOrder" wx:if="{{orderInfo.handleOption.cancel}}" data-id="{{orderInfo.id}}" class="del">取消订单
  264. </view>
  265. <!-- <view catchtap="aftersaleOrder" data-id="{{orderInfo.id}}" wx:if="{{orderInfo.handleOption.refund}}" class="del">
  266. 售后/退款</view> -->
  267. <!-- <view data-id="{{orderInfo.id}}" data-sn="{{orderInfo.orderSn}}" data-aid="{{orderInfo.addressId}}"
  268. data-type="{{orderInfo.type}}" wx:if="{{orderInfo.handleOption.book}}" class="eval-btn">评价</view> -->
  269. <view wx:if="{{orderInfo.handleOption.book}}" data-detail="{{orderInfo.detailId}}" class="appoint" catchtap="goAppoint">预约服务</view>
  270. <view catchtap="payOrder" data-id="{{orderInfo.id}}" data-sn="{{orderInfo.orderSn}}" wx:if="{{orderInfo.handleOption.pay}}">立即支付</view>
  271. <view class="blue-color" wx:if="{{orderInfo.orderStatus==201||orderInfo.orderStatus==205||orderInfo.orderStatus==206||orderInfo.orderStatus==301}}" bindtap="showMsg">追加备注</view>
  272. <!-- <view class="btn-rebuy" bindtap="buyAgain" data-id="{{orderInfo.goodsId}}"
  273. wx:if="{{orderInfo.orderStatusVal!='未支付'}}">再次购买</view> -->
  274. </view>
  275. </view>
  276. </view>
  277. <!-- 投诉建议弹框 -->
  278. <view class="goods-info-overlay" wx:if="{{ complainTips }}">
  279. <view class="goods-info-popup">
  280. <view class="popup-title">
  281. 投诉建议
  282. </view>
  283. <view class="tips-title">
  284. 电话:{{shopPhone}}
  285. </view>
  286. <view style="padding:0 20rpx 100rpx 32rpx;margin-top:-20rpx;">
  287. 对服务不满意或其他建议,请拨打投诉电话。
  288. </view>
  289. <view class="popup-bottom">
  290. <view class="btn-cancel" bindtap="cancelComplain">取消</view>
  291. <view class='btn-conf' bindtap="confComplain">拨打电话</view>
  292. </view>
  293. </view>
  294. </view>
  295. <!-- 客户追加备注弹框 -->
  296. <view class="appoint-overlay-wrapper" wx:if="{{ msgShow }}" bindtap="onMsgClose">
  297. </view>
  298. <view class="remark-popup" wx:if="{{ msgShow }}">
  299. <view class="title">
  300. 订单备注
  301. </view>
  302. <textarea bindinput="bindMsgInput" placeholder="请输入订单备注信息,此信息会提醒到服务人员" value="{{message}}" placeholder-style="font-size:26rpx;color:#666;" maxlength="100" class="remark-textarea"></textarea>
  303. <view class="btn" bindtap="confirmMsg">
  304. 确定
  305. </view>
  306. </view>
  307. <!-- 售后投诉满意回收 -->
  308. <view class="goods-info-overlay" wx:if="{{ ticketTips }}">
  309. <view class="goods-info-popup">
  310. <view class="popup-title">
  311. 售后评价
  312. </view>
  313. <view class="ticket-tips-content">
  314. 你的售后问题是否已被解决?您对售后服务是否满意?请打分。
  315. </view>
  316. <view style="display: flex;justify-content: center;">
  317. <image class="ticket-img" data-id="1" bindtap="selectTicketValue" src="/static/images/new/{{satisfaction==0?'star':(satisfaction==2||satisfaction==1?'star_red':'star_yellow')}}.png">
  318. </image>
  319. <image class="ticket-img" data-id="2" bindtap="selectTicketValue" src="/static/images/new/{{satisfaction<=1?'star':(satisfaction==2?'star_red':'star_yellow')}}.png"></image>
  320. <image class="ticket-img" data-id="3" bindtap="selectTicketValue" src="/static/images/new/{{satisfaction>=3?'star_yellow':'star'}}.png">
  321. </image>
  322. <image class="ticket-img" data-id="4" bindtap="selectTicketValue" src="/static/images/new/{{satisfaction>=4?'star_yellow':'star'}}.png">
  323. </image>
  324. <image class="ticket-img" data-id="5" bindtap="selectTicketValue" src="/static/images/new/{{satisfaction==5?'star_yellow':'star'}}.png">
  325. </image>
  326. </view>
  327. <view class="ticket-tips">{{satisfactionTips.tips}} </view>
  328. <view class="popup-bottom">
  329. <view class="btn-cancel" bindtap="cancelTicketTips">取消</view>
  330. <view class='btn-conf' bindtap="confTicketTips">立即提交</view>
  331. </view>
  332. </view>
  333. </view>
  334. <!-- 选择取消原因 -->
  335. <view class="appoint-overlay-wrapper remark-overlay" wx:if="{{ cancelShow }}" bindtap="onCancelPopupClose">
  336. <view class="remark-select" catchtap="onCancelClick">
  337. <view class="title">
  338. 选择取消原因
  339. </view>
  340. <view class="remark-list">
  341. <view class="remark-item" wx:for="{{cancelList}}" wx:key="index" data-id="{{item.id}}" catchtap="cancelItemSelect">
  342. <view class="remark-value">{{item.value}}</view>
  343. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-select-popup.png" class="radio-img" wx:if="{{cancelReason==item.id}}"></image>
  344. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-unselect-popup.png" class="radio-img" wx:else></image>
  345. </view>
  346. </view>
  347. <view class="remark-conf-btn" catchtap="cancelItemConfirm">取消预约</view>
  348. </view>
  349. </view>