appointOrder.wxml 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346
  1. <view class="container">
  2. <!-- 地址 -->
  3. <view class="order-address">
  4. <!-- 有地址,选择 -->
  5. <view wx:if="{{addressId>0}}" class="address-select" bindtap="addressSelect">
  6. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-order-map.png" class="map-img">
  7. </image>
  8. <view class="address-main">
  9. <view class="main-line">
  10. <view>{{checkedAddress.name}}</view>
  11. <view class="phone">{{checkedAddress.tel}}</view>
  12. </view>
  13. <view class="customer-address" wx:if="{{checkedAddress.addressName}}">{{checkedAddress.addressName}}{{checkedAddress.detail}}</view>
  14. <view class="customer-address" wx:else="">{{checkedAddress.addressDetail}}</view>
  15. </view>
  16. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/wx-dy/arrow-grey.png" class="arrow-img"></image>
  17. </view>
  18. <!-- 没地址,输入 -->
  19. <view wx:else class="address-input-module add-address">
  20. <view class="add-form">
  21. <view class="form-item" bindtap="goMap" style="height:auto;min-height:78rpx; ">
  22. <view class="label"><text>*</text>服务地址</view>
  23. <view class="content" style="height:auto;min-height:78rpx; ">
  24. <view wx:if="{{address.addressname==''}}" style="color: #ACADB1;;font-size:24rpx;" class="input">
  25. 选择省、市、县(区)、乡(镇)
  26. </view>
  27. <view wx:else class="input"> {{address.addressname}}</view>
  28. <!-- <input class="input" value="{{address.addressname}}" disabled="true" placeholder="选择省、市、县(区)、乡(镇)" placeholder-style="color: #ACADB1;;font-size:24rpx;"/> -->
  29. <image src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-address-map.png"
  30. style="width: 28rpx;height: 28rpx;margin:28rpx 0 0 10rpx;"></image>
  31. </view>
  32. </view>
  33. <view class="form-item">
  34. <view class="label"><text>*</text>小区门牌</view>
  35. <view class="content">
  36. <input class="input" bindinput="bindinputAddress" value="{{address.detail}}"
  37. placeholder="详细地址,例xx小区x号楼x单元xx室" placeholder-style="color: #ACADB1;;font-size:24rpx;" />
  38. </view>
  39. </view>
  40. <view class="form-item">
  41. <view class="label"><text>*</text>联系人</view>
  42. <view class="content special-content">
  43. <input class="input" bindinput="bindinputName" placeholder="姓名" value="{{address.name}}" auto-focus
  44. placeholder-style="color: #ACADB1;;font-size:24rpx;" />
  45. <view class="gender-wrapper">
  46. <view class="female" bindtap="femaleSelect">
  47. <image src="https://mall.zhaijieshi.cc/file/jzmall-dy/icon-select-popup.png" mode="asceptFit"
  48. wx:if="{{gender==2}}"></image>
  49. <image src="https://mall.zhaijieshi.cc/file/jzmall-dy/icon-unselect-popup.png" mode="asceptFit" wx:else>
  50. </image>
  51. <text>女士</text>
  52. </view>
  53. <view class="male" bindtap="maleSelect">
  54. <image src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-select-popup.png" mode="asceptFit"
  55. wx:if="{{gender==1}}"></image>
  56. <image src="https://mall.zhaijieshi.cc/file/jzmall-dy/icon-unselect-popup.png" mode="asceptFit" wx:else>
  57. </image>
  58. <text>先生</text>
  59. </view>
  60. </view>
  61. </view>
  62. </view>
  63. <view class="form-item">
  64. <view class="label"><text>*</text>联系电话</view>
  65. <view class="content">
  66. <input class="input" bindinput="bindinputMobile" value="{{address.tel}}" type="number" placeholder="手机号码"
  67. maxlength="11" placeholder-style="color: #ACADB1;;font-size:24rpx;" />
  68. </view>
  69. </view>
  70. </view>
  71. </view>
  72. </view>
  73. <!-- <view style="color:red;font-size:24rpx;margin-top:20rpx;">临近春节,服务力紧张,我们会尽量为您安排。如果不能准时服务,支持全额退款</view> -->
  74. <!-- 预约服务时间 -->
  75. <view class="appoint-main-module">
  76. <view class="appoint-block" bindtap="showAppoint">
  77. <view class="title"><text>*</text>上门时段</view>
  78. <view class="appoint-time" wx:if="{{appointDate==''}}">服务者将在此时段内上门</view>
  79. <view class="appoint-timed" wx:else>{{appointDate}}</view>
  80. <image src="https://mall.zhaijieshi.cc/file/wx-dy/arrow-grey.png" mode="aspectFit" class="arrow-img"></image>
  81. </view>
  82. <view class="appoint-block" bindtap="showRemarkSelect">
  83. <view class="title">选择备注</view>
  84. <view class="appoint-time" wx:if="{{remark==''}}">请选择备注</view>
  85. <view class="appoint-timed" wx:else>{{remark}}</view>
  86. <image src="https://mall.zhaijieshi.cc/file/wx-dy/arrow-grey.png" mode="aspectFit" class="arrow-img"></image>
  87. </view>
  88. <view class="appoint-block">
  89. <view class="title">补充信息</view>
  90. <input placeholder="请输入补充信息" class="appoint-timed" value="{{message}}"
  91. placeholder-style="font-size:24rpx;color: #ACADB1;" bindinput="bindMessageInput" />
  92. <image src="https://mall.zhaijieshi.cc/file/wx-dy/arrow-grey.png" mode="aspectFit" class="arrow-img"></image>
  93. </view>
  94. </view>
  95. <!-- 预约备注 -->
  96. <!-- <view class="appoint-block" bindtap="showRemark">
  97. <view>预约备注</view>
  98. <view class="appoint-time" wx:if="{{message==''}}">请备注您的需求</view>
  99. <view wx:else class="remark-text">{{message}}</view>
  100. <image src="https://mall.zhaijieshi.cc/file/wx-dy/order-arrow.png" mode="aspectFit" class="arrow-img"></image>
  101. </view> -->
  102. <!-- 商品 -->
  103. <view class="product-block">
  104. <!-- <view class="title">
  105. 服务项目
  106. </view> -->
  107. <view class="product-detail">
  108. <view class="profuct-info">
  109. <image mode="aspectFit" class="product-img" src="{{orderInfo.picUrl+'?w=200'}}"></image>
  110. <view class="info-right">
  111. <view class="info-main">
  112. <view class="product-name">{{orderInfo.goodsName}}</view>
  113. <view class="price">¥<text style="font-size: 24rpx;">{{orderInfo.actualPrice}}</text></view>
  114. </view>
  115. <view class="sku-name" wx:if="{{orderInfo.increaseSumPrice}}">
  116. <view> 加购: {{orderInfo.unitDescribe}}*{{orderInfo.unitIncreaseNumber}}</view>
  117. <view>¥{{orderInfo.increaseSumPrice}}</view>
  118. </view>
  119. <view class="sku-name">
  120. 规格:{{orderInfo.skuName}}
  121. </view>
  122. <!-- <view class="other-info">规格:1</view> -->
  123. <view class="other-info">服务{{orderInfo.serviceTimes}}次</view>
  124. <!-- <view class="other-info">单价:¥{{product.price}}</view> -->
  125. </view>
  126. </view>
  127. </view>
  128. </view>
  129. <!-- 服务须知 -->
  130. <view wx:if="{{goodsTip.remark!=null}}" class="notice-block">
  131. <view class="notice-title">{{goodsTip.title}}</view>
  132. <view class="notice-item" wx:for="{{goodsTip.remark}}" wx:key="index">
  133. <view class="notice-index">{{index+1}}.</view>
  134. <view>{{item}}</view></view>
  135. </view>
  136. <!-- 订单信息 -->
  137. <view class="order-info">
  138. <view class="order-top">
  139. <view class="topic">
  140. 订单编号:
  141. </view>
  142. <view>
  143. {{orderInfo.orderSn}}
  144. </view>
  145. <image mode="aspectFit" class="copy-img" src="https://mall.zhaijieshi.cc/file/jzmall-dy/icon-order-copy.png"
  146. bindtap="copyOrder"></image>
  147. </view>
  148. <view class="order-top">
  149. <view class="topic">
  150. 下单时间:
  151. </view>
  152. <view>
  153. {{orderInfo.createTime}}
  154. </view>
  155. </view>
  156. <view class="order-top">
  157. <view class="topic">
  158. 支付方式:
  159. </view>
  160. <view>
  161. {{orderInfo.payChannel}}
  162. </view>
  163. </view>
  164. <view class="order-bottom">
  165. <view class="order-price">
  166. <view class="topic">
  167. 订单金额:
  168. </view>
  169. <view>
  170. ¥{{orderInfo.orderPrice}}
  171. </view>
  172. </view>
  173. <view class="coupon-price">
  174. <view class="topic">
  175. 优惠金额:
  176. </view>
  177. <view>
  178. ¥{{orderInfo.discountPrice}}
  179. </view>
  180. </view>
  181. <view class="real-price">
  182. 实际付款:<text>¥{{orderInfo.actualPrice}}</text>
  183. </view>
  184. </view>
  185. </view>
  186. <!-- 提交按钮 -->
  187. <view class="appoint-btn" bindtap="submitAll" wx:if="{{!isHide}}">
  188. 立即预约
  189. </view>
  190. <!-- 备注弹框 -->
  191. <view class="appoint-overlay-wrapper" wx:if="{{ remarkShow }}" bindtap="onRemarkClose">
  192. </view>
  193. <view class="remark-popup" wx:if="{{ remarkShow }}">
  194. <view class="title">
  195. 订单备注
  196. </view>
  197. <textarea bindinput="bindMessageInput" placeholder="请输入订单备注信息" value="{{message}}"
  198. placeholder-style="font-size:26rpx;color:#666;" maxlength="200" class="remark-textarea"></textarea>
  199. <view class="btn" bindtap="confirmRemark">
  200. 确定
  201. </view>
  202. </view>
  203. <view class="appoint-overlay-wrapper" wx:if="{{ choosePopup }}" bindtap="onClose">
  204. </view>
  205. <view class="popup-wrapper popup-wrapper-special" wx:if="{{ choosePopup }}">
  206. <!-- 标题 -->
  207. <view class="popup-title popup-title-special popup-title-new">
  208. <view>选择服务开始时间</view>
  209. <view wx:if="{{selectTimeValue>=17}}" class="fee-tips">您选的时间段可能会加收夜间服务费,具体以与商家的沟通为准</view>
  210. <!-- 选择服务者上门时段(具体服务时长以实际服务为准) -->
  211. </view>
  212. <block>
  213. <view class="popup-content popup-content-special">
  214. <view class="time-select-left">
  215. <view wx:for="{{dateList}}" wx:key="index" class="time-select-left-item" bindtap="dateCheck"
  216. data-index="{{index}}" data-week="{{item.week}}" data-date="{{item.date}}" data-isbook="{{item.isBook}}">
  217. <view class="date-line-wrapper">
  218. <view class="{{dateIndex==index?'current-date':''}}">{{item.bookdate+' '+item.weekOfDay}}</view>
  219. <view>
  220. <text wx:if="{{index<=1}}" class="date-tag">{{index==0?'今天':'明天'}}</text>
  221. </view>
  222. </view>
  223. <view class="date-msg {{item.dateMsg=='可约'?'avail-date':''}}">{{item.dateMsg}}</view>
  224. </view>
  225. </view>
  226. <view class="time-select-right">
  227. <view class="noon-select">
  228. <view class="noon-item {{noonType=='1'?'active-noon':''}}" data-noon="1" bindtap="noonTab">上午</view>
  229. <view class="noon-item {{noonType=='2'?'active-noon':''}}" data-noon="2" bindtap="noonTab">下午</view>
  230. </view>
  231. <view class="time-item-wrapper">
  232. <view wx:for="{{timeList}}" wx:key="id" class="time-select-right-item {{item.timeMsg?'invalid-time':''}}" bindtap="timeCheck"
  233. data-stock="{{item.stock}}" data-index="{{index}}" data-msg="{{item.timeMsg}}">
  234. <!-- <view class="{{item.stock<=0?'zero-stock':''}}"> -->
  235. <view class="time-line">
  236. <text class="{{timeIndex===index?'current-date':''}}">{{item.begin}} </text>
  237. <!-- <text class="stock-text">(库存:{{item.stock}})</text> -->
  238. <text wx:if="{{selectTimeValue>=17&&timeIndex==index&&(!item.timeMsg)}}" class="extra-tips">收夜间服务费</text>
  239. <text wx:if="{{timeIndex===index}}" class="date-tag">已选</text>
  240. <view wx:if="{{item.timeMsg&&item.timeMsg!=null}}" class="time-msg">
  241. {{item.timeMsg}}
  242. </view>
  243. </view>
  244. <!-- <view wx:if="{{timeIndex===index&&item.value>=17}}" style="font-size: 11px;line-height: 12px;">您选的时间段可能会加收夜间服务费,具体以与商家的沟通为准</view> -->
  245. </view>
  246. </view>
  247. </view>
  248. </view>
  249. </block>
  250. <!-- 确认按钮 -->
  251. <view class="popup-btn-wrapper">
  252. <view bindtap="confirmTime" class="confirm-btn">确定</view>
  253. </view>
  254. </view>
  255. <!-- 地址弹框 -->
  256. <view class="appoint-overlay-wrapper address-overlay" wx:if="{{ addressShow }}" bindtap="onAddressClose">
  257. <view class="address-popup" cantap="onAddressClick">
  258. <view class="title">
  259. 选择地址
  260. </view>
  261. <view class="address-list">
  262. <view class="address-item" wx:for="{{addressList}}" wx:key="index" data-address="{{item}}"
  263. bindtap="addressConfirm">
  264. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-order-map.png"
  265. class="map-img"></image>
  266. <view class="address-main">
  267. <view class="main-line">
  268. <view>{{item.name}}</view>
  269. <view class="phone">{{item.tel}}</view>
  270. </view>
  271. <view class="customer-address" wx:if="{{item.addressName}}">{{item.addressName}}{{item.detail}}</view>
  272. <view class="customer-address" wx:else="">{{item.addressDetail}}</view>
  273. </view>
  274. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/wx-dy/arrow-grey.png" class="arrow-img">
  275. </image>
  276. </view>
  277. </view>
  278. <view class="add-address-btn" bindtap="goAddAddress">添加其他地址</view>
  279. </view>
  280. </view>
  281. <!-- 备注弹框 -->
  282. <view class="appoint-overlay-wrapper remark-overlay" wx:if="{{ remarkPopupShow }}" bindtap="onRemarkPopupClose">
  283. <view class="remark-select" catchtap="onRemarkClick">
  284. <view class="title">
  285. 选择备注
  286. </view>
  287. <view class="remark-list">
  288. <view class="remark-item" wx:for="{{remarkList}}" wx:key="index" data-remark="{{item}}"
  289. catchtap="remarkItemSelect">
  290. <view class="remark-value">{{item}}</view>
  291. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-select-popup.png"
  292. class="radio-img" wx:if="{{remarkActive==item}}"></image>
  293. <image mode="aspectFit" src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-unselect-popup.png"
  294. class="radio-img" wx:else></image>
  295. </view>
  296. </view>
  297. <view class="remark-conf-btn" catchtap="remarkItemConfirm">提交备注</view>
  298. </view>
  299. </view>
  300. </view>