index.vue 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731
  1. <template>
  2. <view class="pages" style="position: relative">
  3. <view style="position: fixed; top: 0; left: 0; right: 0; z-index: 99; width: 100%" class="bg">
  4. <view class="flex bg justify-between padding-lr-xl">
  5. <view @click="switchTab(2)" :class="orderType == 2 ? 'select' : ''" class="tabBtn" v-if="XCXIsSelect == '是'">
  6. <view class="title">外卖配送</view>
  7. <view :class="orderType == 2 ? 'active' : ''"></view>
  8. </view>
  9. <view @click="switchTab(1)" :class="orderType == 1 ? 'select' : ''" class="tabBtn" v-if="XCXIsSelect == '是'">
  10. <view class="title">到店取餐</view>
  11. <view :class="orderType == 1 ? 'active' : ''"></view>
  12. </view>
  13. <view @click="switchTab(3)" :class="orderType == 3 ? 'select' : ''" class="tabBtn" v-if="XCXIsSelect == '是'">
  14. <view class="title">跑腿订单</view>
  15. <view :class="orderType == 3 ? 'active' : ''"></view>
  16. </view>
  17. </view>
  18. <view>
  19. <u-tabs v-if="orderType == 1" active-color="#FCD202" :list="qucanList" :is-scroll="true" :current="current" @change="change"></u-tabs>
  20. <u-tabs v-if="orderType == 2" active-color="#FCD202" :list="waimaiList" :is-scroll="true" :current="current1" @change="change1"></u-tabs>
  21. <u-tabs v-if="orderType == 3" :list="paotuiList" :is-scroll="true" active-color="#FCD202" :current="current2" @change="change2"></u-tabs>
  22. </view>
  23. </view>
  24. <!-- 全部订单 -->
  25. <view class="cont_one" v-if="orderType != 3 && XCXIsSelect == '是'">
  26. <view v-for="(item, index) in orderList" :key="index" @click="goNav('/pages/order/takefood?orderId=' + item.orderId + '&shopId=' + item.shopId)">
  27. <view class="cont" v-if="item.orderType == 1">
  28. <view class="order_title" v-if="item.expectDeliveryTime">预约订单:{{ item.expectDeliveryTime }}送达</view>
  29. <view class="order_success">
  30. <view class="order_name" v-if="item.status == 6">制作中</view>
  31. <view class="order_name" v-if="item.status == 3">待取餐</view>
  32. <view class="order_name" v-if="item.status == 4">已完成</view>
  33. <view class="order_name" v-if="item.status == 5">已取消</view>
  34. <view class="order_name" v-if="item.status == 7">待接单</view>
  35. <view class="order_name" v-if="item.status == 8">已退款</view>
  36. <view class="order_name" v-if="item.status == 0">待结算</view>
  37. <view class="order_data" v-if="item.payTime">{{ item.payTime }}</view>
  38. </view>
  39. <u-line color="#E6E6E6" />
  40. <view v-if="item.status == 0" style="text-align: end; padding: 10rpx 50rpx 0 0; margin-bottom: -40rpx">
  41. <uv-count-down :time="item.timeOut - Date.now()" format="mm:ss" @finish="payFinish(item.orderId)"></uv-count-down>
  42. </view>
  43. <view class="cont_two_top">
  44. <view class="text-lg text-bold text-black flex align-center">
  45. <image :src="item.shopCover" style="width: 80rpx; height: 80rpx; border-radius: 80rpx" mode=""></image>
  46. <view class="margin-left-xs">{{ item.shopName }}</view>
  47. </view>
  48. </view>
  49. <view style="padding: 0 30rpx; font-size: 20px" v-if="item.orderSequence">#{{ item.orderSequence }}</view>
  50. <view class="cont_two_text" v-if="item.orderCode">{{ item.orderCode }}</view>
  51. <view class="cont_two_text2" v-if="item.status == 6">
  52. 前面还有
  53. <text>{{ item.countOrder }}</text>
  54. 个人排队
  55. </view>
  56. <!-- <view class="cont_two_bottom">
  57. <view class="cont_two_bottom_le">点餐详情</view>
  58. <view class="cont_two_bottom_ri">
  59. <image src="../../static/images/order/right1.png" mode=""></image>
  60. </view>
  61. </view> -->
  62. <u-line color="#E6E6E6" />
  63. <view class="flex justify-between align-center padding-lr-sm padding-tb-sm">
  64. <view class="text-sm text-gray">
  65. 实收
  66. <text class="text-lg text-bold text-black margin-left-xs">¥{{ item.payMoney }}</text>
  67. </view>
  68. <view class="flex padding-tb-sm">
  69. <view v-if="item.status == 7" class="btn" @click.stop="cancel(item)">取消订单</view>
  70. </view>
  71. <view class="flex padding-tb-sm">
  72. <view style="margin-left: 225rpx" v-if="item.status == 0" class="btn" @click.stop="payFinishCancel(item.orderId)">取消订单</view>
  73. </view>
  74. <view v-if="item.status == 4 && item.commentFlag != 1" class="btn" @click.stop="pingjia(item)">评价订单</view>
  75. <view v-if="item.status == 0" class="btn_" @click.stop="goPay_throttle(item)">继续支付</view>
  76. </view>
  77. </view>
  78. <view class="cont" v-if="item.orderType == 2">
  79. <view class="order_title" v-if="item.expectDeliveryTime">预约订单:{{ item.expectDeliveryTime }}送达</view>
  80. <view class="order_success">
  81. <view class="order_name" v-if="item.status == 3">
  82. 配送中
  83. <text style="color: #666666; margin-left: 10upx">{{ item.autoSendOrder == 1 ? '商家配送' : '平台配送' }}</text>
  84. </view>
  85. <view class="order_name" v-if="item.status == 4">已完成</view>
  86. <view class="order_name" v-if="item.status == 5">已取消</view>
  87. <view class="order_name" v-if="item.status == 6">制作中</view>
  88. <view class="order_name" v-if="item.status == 7">待接单</view>
  89. <view class="order_name" v-if="item.status == 8">已退款</view>
  90. <view class="order_name" v-if="item.status == 13">待骑手接单</view>
  91. <view class="order_name" v-if="item.status == 0">待结算</view>
  92. <view class="order_data" v-if="item.payTime">{{ item.payTime }}</view>
  93. </view>
  94. <u-line color="#E6E6E6" />
  95. <view v-if="item.status == 0" style="text-align: end; padding: 10rpx 50rpx 0 0; margin-bottom: -40rpx">
  96. <uv-count-down :time="item.timeOut - Date.now()" format="mm:ss" @finish="payFinish(item.orderId)"></uv-count-down>
  97. </view>
  98. <view class="flex justify-between padding align-center">
  99. <view class="text-lg text-bold text-black flex align-center">
  100. <image :src="item.shopCover" style="width: 80rpx; height: 80rpx; border-radius: 80rpx" mode=""></image>
  101. <view class="margin-left-xs">{{ item.shopName }}</view>
  102. <view class="margin-left-xs" @click.stop="bindphone(item.shopPhone)">{{ item.shopPhone }}</view>
  103. </view>
  104. </view>
  105. <view style="padding: 0 30rpx; font-size: 20px" v-if="item.orderSequence">#{{ item.orderSequence }}</view>
  106. <view style="padding: 0 30rpx; font-size: 20px">
  107. {{ item.orderTypeExtra == 1 ? '到店取餐' : item.orderTypeExtra == 2 ? '骑手配送' : item.orderTypeExtra == 3 ? '商家配送' : '' }}
  108. </view>
  109. <view v-if="item.riderNickName" style="padding: 0 30rpx; font-size: 20px">骑手姓名:{{ item.riderNickName }}</view>
  110. <view v-if="item.riderPhone" style="padding: 0 30rpx; font-size: 20px" @click.stop="bindphone(item.riderPhone)">骑手电话:{{ item.riderPhone }}</view>
  111. <view class="">
  112. <view class="padding-lr margin-tb-sm" v-for="(ite, ind) in item.orderGoodsList" :key="ind">
  113. <view class="flex">
  114. <image :src="ite.goodsPicture[0]" mode="" style="width: 120rpx; height: 120rpx; border-radius: 10rpx"></image>
  115. <view class="margin-left-sm flex flex-direction justify-between">
  116. <view class="text-black text-bold text-lg">{{ ite.goodsName }}</view>
  117. <view class="text-gray text-sm" v-if="ite.skuMessage">{{ ite.skuMessage }}</view>
  118. </view>
  119. </view>
  120. </view>
  121. </view>
  122. <u-line color="#E6E6E6" />
  123. <view class="flex justify-between align-center padding-lr-sm">
  124. <view class="text-sm text-gray">
  125. 实收
  126. <text class="text-lg text-bold text-black margin-left-xs">¥{{ item.payMoney }}</text>
  127. </view>
  128. <view class="flex padding-tb-sm">
  129. <view v-if="item.status == 3" class="btn" @click.stop="finish(item)">确认收货</view>
  130. <!-- item.status == 6|| -->
  131. <view v-if="item.status == 7" class="btn" @click.stop="cancel(item)">取消订单</view>
  132. <view v-if="item.status == 4 && item.commentFlag != 1" class="btn" @click.stop="pingjia(item)">评价订单</view>
  133. <view v-if="item.status == 0" class="btn" @click.stop="payFinishCancel(item.orderId)">取消订单</view>
  134. <view v-if="item.status != 0" class="btn_" @click.stop="goShop(item.shopId)">再来一单</view>
  135. <view v-else class="btn_" @click.stop="goPay_throttle(item)">继续支付</view>
  136. </view>
  137. </view>
  138. </view>
  139. </view>
  140. <empty v-if="!orderList.length" style="z-index: 0"></empty>
  141. </view>
  142. <view v-if="orderType == 3" style="margin-top: 160rpx">
  143. <view>
  144. <view class="order_box" v-for="(item, index) in order" :key="index" @click="bindorderDetail(item.indentNumber)">
  145. <view class="order_success">
  146. <view class="order_name" v-if="item.indentState == 0">待付款</view>
  147. <view class="order_name" v-if="item.indentState == 1 || item.indentState == 8 || item.indentState == 9 || item.indentState == 10">已取消</view>
  148. <view class="order_name" v-if="item.indentState == 2">待接单</view>
  149. <view class="order_name" v-if="item.indentState == 5">待确认</view>
  150. <view class="order_name" v-if="item.indentState == 3">已接单</view>
  151. <view class="order_name" v-if="item.indentState == 4">派送中</view>
  152. <view class="order_name" v-if="item.indentState == 6 || item.indentState == 7">已完成</view>
  153. <view class="order_name" v-if="item.indentState == 10">已取消</view>
  154. <view class="order_data">{{ item.createTime }}</view>
  155. </view>
  156. <u-line color="#E6E6E6" />
  157. <view class="order_city">
  158. <view class="city_type">
  159. <view class="type_name" v-if="item.indentType == 1">帮我送</view>
  160. <view class="type_name" v-if="item.indentType == 2">帮我取</view>
  161. <view class="type_name" v-if="item.indentType == 3">同城帮买</view>
  162. <view class="type_name" v-if="item.indentType == 4">同城服务</view>
  163. <view class="type_name" v-if="item.indentType == 5">同城外卖</view>
  164. <view class="city_text" v-if="item.indentType == 1 || item.indentType == 2">
  165. {{ item.itemType }}
  166. </view>
  167. <view class="city_text" v-if="item.indentType == 3 && item.buyType == 0">骑手购买</view>
  168. <view class="city_text" v-if="item.indentType == 3 && item.buyType == 1">指定购买</view>
  169. <view class="city_text" v-if="item.indentType == 4 && item.serviceType">{{ item.serviceType }}</view>
  170. </view>
  171. <view class="city_address">
  172. <view class="fh_box" v-if="item.indentType == 1 || item.indentType == 2 || item.indentType == 3">
  173. <view class="fh_image">
  174. <image src="../../static/images/order/mai.png" v-if="item.indentType == 3"></image>
  175. <image src="../../static/images/order/icon_f.png" v-else></image>
  176. </view>
  177. <view class="box">
  178. <view class="fh_name">{{ item.shopAddressDetail }}</view>
  179. <view class="fh_type" v-if="item.indentType != 3">
  180. {{ item.shopName }}
  181. <text>{{ item.shopPhone }}</text>
  182. </view>
  183. </view>
  184. </view>
  185. <view style="padding: 0 30rpx; font-size: 20px" v-if="item.orderSequence">#{{ item.orderSequence }}</view>
  186. <view class="sh_box">
  187. <view class="sh_image">
  188. <image src="../../static/images/order/icon_s.png"></image>
  189. </view>
  190. <view class="box">
  191. <view class="sh_name">{{ item.userAddressDetail }}</view>
  192. <view class="sh_type">
  193. {{ item.userName }}
  194. <text>{{ item.userPhone }}</text>
  195. </view>
  196. </view>
  197. </view>
  198. </view>
  199. </view>
  200. <u-line color="#E6E6E6" />
  201. <view class="order_btn">
  202. <!-- item.indentState == 7||item.indentState == 6 &&!item.evaluateMessage -->
  203. <view
  204. class="btn"
  205. v-if="item.indentState == 7 || (item.indentState == 6 && (!item.evaluateMessage || item.evaluateMessage == 0))"
  206. @tap.stop="pingjias(item)"
  207. >
  208. 点赞骑手
  209. </view>
  210. <view class="btn" v-if="item.indentState == 0 || item.indentState == 2" @tap.stop="bindorderOff(item)">取消订单</view>
  211. <view class="btn" @tap.stop="bindconfirm(item)" v-if="item.indentState == 5">确认订单</view>
  212. <view
  213. class="btn_"
  214. @tap.stop="bindorder(item)"
  215. v-if="
  216. item.indentState == 1 ||
  217. item.indentState == 3 ||
  218. item.indentState == 8 ||
  219. item.indentState == 9 ||
  220. item.indentState == 10 ||
  221. item.indentState == 4 ||
  222. item.indentState == 6
  223. "
  224. >
  225. 再来一单
  226. </view>
  227. <view class="btn_" v-if="item.indentState == 0" @tap.stop="bindorderpay(item)">立即付款</view>
  228. </view>
  229. </view>
  230. </view>
  231. <empty v-if="!order.length" style="z-index: 0"></empty>
  232. </view>
  233. <!-- 联系客服悬浮按钮区域 -->
  234. <view class="serviceBtn" @click="goChat">
  235. <img src="../../static/images/my/13.png" style="width: 60rpx; height: 60rpx" mode="scaleToFill" />
  236. <view class="serviceBtn_text">联系客服</view>
  237. </view>
  238. </view>
  239. </template>
  240. <script>
  241. import empty from '@/components/empty.vue'
  242. import { throttle } from '@/utils/throttle.js'
  243. export default {
  244. components: {
  245. empty
  246. },
  247. data() {
  248. return {
  249. show: false,
  250. page: 1,
  251. limit: 10,
  252. orderType: 2,
  253. orderList: [],
  254. status: '',
  255. current: 0,
  256. current1: 0,
  257. current2: 0,
  258. qucanList: [
  259. {
  260. name: '全部'
  261. },
  262. {
  263. name: '待接单'
  264. },
  265. {
  266. name: '制作中'
  267. },
  268. {
  269. name: '待取餐'
  270. },
  271. {
  272. name: '待结算'
  273. },
  274. {
  275. name: '已完成'
  276. },
  277. {
  278. name: '已取消'
  279. },
  280. {
  281. name: '已退款'
  282. }
  283. ],
  284. waimaiList: [
  285. {
  286. name: '全部'
  287. },
  288. {
  289. name: '待接单'
  290. },
  291. {
  292. name: '制作中'
  293. },
  294. {
  295. name: '配送中'
  296. },
  297. {
  298. name: '待结算'
  299. },
  300. {
  301. name: '已完成'
  302. },
  303. {
  304. name: '已取消'
  305. },
  306. {
  307. name: '已退款'
  308. }
  309. ],
  310. paotuiList: [
  311. {
  312. name: '全部',
  313. id: 1
  314. },
  315. {
  316. name: '待付款',
  317. id: 2
  318. },
  319. {
  320. name: '待接单',
  321. id: 3
  322. },
  323. {
  324. name: '已接单',
  325. id: 4
  326. },
  327. {
  328. name: '派送中',
  329. id: 5
  330. },
  331. {
  332. name: '已完成',
  333. id: 6
  334. },
  335. {
  336. name: '已取消',
  337. id: 7
  338. }
  339. ],
  340. userId: '',
  341. currentIndex: 1,
  342. order: [],
  343. waimaiCount: 0,
  344. paotuiCount: 0,
  345. XCXIsSelect: '是',
  346. arr: [],
  347. token: '',
  348. isThrottle: true
  349. }
  350. },
  351. onLoad(option) {
  352. let that = this
  353. that.token = that.$queue.getData('token')
  354. this.XCXIsSelect = this.$queue.getData('XCXIsSelect') ? this.$queue.getData('XCXIsSelect') : '是'
  355. this.userId = uni.getStorageSync('userId')
  356. if (option.orderType) {
  357. this.orderType = option.orderType
  358. }
  359. uni.showLoading({
  360. title: '加载中...',
  361. mask: true // 是否显示透明蒙层,防止触摸穿透
  362. })
  363. this.$Request.getT('/app/common/type/266').then((res) => {
  364. console.log(res, 963)
  365. //订单取消通知
  366. if (res.code == 0) {
  367. if (res.data && res.data.value) {
  368. this.arr.push(res.data.value)
  369. }
  370. }
  371. })
  372. this.$Request.getT('/app/common/type/269').then((res) => {
  373. //订单状态通知
  374. if (res.code == 0) {
  375. if (res.data && res.data.value) {
  376. this.arr.push(res.data.value)
  377. }
  378. }
  379. })
  380. },
  381. onShow() {
  382. let that = this
  383. that.token = that.$queue.getData('token')
  384. this.userId = uni.getStorageSync('userId')
  385. if (uni.getStorageSync('current') && this.userId) {
  386. this.current1 = uni.getStorageSync('current')
  387. this.status = uni.getStorageSync('current')
  388. this.page = 1
  389. this.orderType = 2
  390. uni.removeStorageSync('current')
  391. this.getOrderList()
  392. }
  393. if (this.userId) {
  394. if (this.orderType == 3) {
  395. this.orderList_()
  396. } else {
  397. this.getOrderList()
  398. }
  399. } else {
  400. this.order = []
  401. this.orderList = []
  402. }
  403. uni.hideLoading()
  404. },
  405. methods: {
  406. goChat() {
  407. if (this.token) {
  408. uni.navigateTo({
  409. url: '/my/setting/chat'
  410. })
  411. } else {
  412. this.bindlogin()
  413. }
  414. },
  415. bindlogin() {
  416. uni.navigateTo({
  417. url: '/pages/public/login'
  418. })
  419. },
  420. bindopen() {
  421. this.show = true
  422. },
  423. bindx() {
  424. this.show = false
  425. },
  426. // 取消跑腿订单
  427. bindorderOff(e) {
  428. // #ifdef MP-WEIXIN
  429. if (uni.getStorageSync('sendMsg')) {
  430. console.log('授权+1')
  431. wx.requestSubscribeMessage({
  432. tmplIds: this.arr,
  433. success(re) {
  434. console.log(JSON.stringify(re), 111111111111)
  435. var datas = JSON.stringify(re)
  436. if (datas.indexOf('accept') != -1) {
  437. // console.log(re)
  438. }
  439. },
  440. fail: (res) => {
  441. // console.log(res)
  442. }
  443. })
  444. }
  445. // #endif
  446. console.log(e)
  447. let indentNumber = e.indentNumber
  448. console.log(indentNumber)
  449. uni.showModal({
  450. title: '温馨提示',
  451. // content: '取消订单平台将扣除您'+e.userFine+'元?',
  452. content: '确定取消订单?',
  453. showCancel: true,
  454. cancelText: '取消',
  455. confirmText: '确认',
  456. success: (res) => {
  457. if (res.confirm) {
  458. this.$Request.postT('/app/tbindent/userCancleIndent?indentNumber=' + indentNumber).then((res) => {
  459. // console.log(res)
  460. if (res.code == 0) {
  461. uni.showToast({
  462. title: '订单取消成功'
  463. })
  464. this.page = 1
  465. this.orderList_()
  466. } else {
  467. uni.hideLoading()
  468. uni.showModal({
  469. showCancel: false,
  470. title: '订单失败',
  471. content: res.msg
  472. })
  473. }
  474. })
  475. }
  476. }
  477. })
  478. },
  479. // 取消外卖订单
  480. cancel(e) {
  481. // #ifdef MP-WEIXIN
  482. if (uni.getStorageSync('sendMsg')) {
  483. console.log('授权+1')
  484. wx.requestSubscribeMessage({
  485. tmplIds: this.arr,
  486. success(re) {
  487. console.log(JSON.stringify(re), 111111111111)
  488. var datas = JSON.stringify(re)
  489. if (datas.indexOf('accept') != -1) {
  490. // console.log(re)
  491. }
  492. },
  493. fail: (res) => {
  494. // console.log(res)
  495. }
  496. })
  497. }
  498. // #endif
  499. let that = this
  500. console.log(e)
  501. uni.showModal({
  502. title: '提示',
  503. content: '确认取消订单吗?',
  504. success: function (res) {
  505. if (res.confirm) {
  506. console.log('用户点击确定')
  507. let data = {
  508. orderId: e.orderId
  509. }
  510. that.$Request.get('/app/order/userCancelOrder', data).then((res) => {
  511. if (res.code == 0) {
  512. uni.showToast({
  513. title: '订单取消成功',
  514. icon: 'none'
  515. })
  516. that.page = 1
  517. that.getOrderList()
  518. } else {
  519. uni.showToast({
  520. title: res.msg,
  521. icon: 'none'
  522. })
  523. }
  524. })
  525. } else if (res.cancel) {
  526. console.log('用户点击取消')
  527. }
  528. }
  529. })
  530. },
  531. // 评价订单
  532. pingjia(e) {
  533. // #ifdef MP-WEIXIN
  534. if (uni.getStorageSync('sendMsg')) {
  535. console.log('授权+1')
  536. wx.requestSubscribeMessage({
  537. tmplIds: this.arr,
  538. success(re) {
  539. console.log(JSON.stringify(re), 111111111111)
  540. var datas = JSON.stringify(re)
  541. if (datas.indexOf('accept') != -1) {
  542. // console.log(re)
  543. }
  544. },
  545. fail: (res) => {
  546. // console.log(res)
  547. }
  548. })
  549. }
  550. // #endif
  551. // console.log(e)
  552. let ordersId = e.orderId
  553. let orderNumber = e.orderNumber
  554. let goodsId = []
  555. if (e.orderGoodsList) {
  556. e.orderGoodsList.forEach((res) => {
  557. goodsId.push(res.goodsId)
  558. })
  559. }
  560. let info = encodeURIComponent(JSON.stringify(e))
  561. uni.navigateTo({
  562. url:
  563. '/pages/order/feedback?ordersId=' +
  564. ordersId +
  565. '&orderNumber=' +
  566. orderNumber +
  567. '&goodsId=' +
  568. goodsId.toString() +
  569. '&shopId=' +
  570. e.shopId +
  571. '&orderTypeExtra=' +
  572. e.orderTypeExtra +
  573. '&riderUserId=' +
  574. e.riderUserId +
  575. '&info=' +
  576. info
  577. })
  578. },
  579. pingjias(e) {
  580. // #ifdef MP-WEIXIN
  581. if (uni.getStorageSync('sendMsg')) {
  582. console.log('授权+1')
  583. wx.requestSubscribeMessage({
  584. tmplIds: this.arr,
  585. success(re) {
  586. console.log(JSON.stringify(re), 111111111111)
  587. var datas = JSON.stringify(re)
  588. if (datas.indexOf('accept') != -1) {
  589. // console.log(re)
  590. }
  591. },
  592. fail: (res) => {
  593. // console.log(res)
  594. }
  595. })
  596. }
  597. // #endif
  598. uni.navigateTo({
  599. url: '/pages/order/feedbacks?indentNumber=' + e.indentNumber
  600. })
  601. },
  602. goShop(e) {
  603. // #ifdef MP-WEIXIN
  604. if (uni.getStorageSync('sendMsg')) {
  605. console.log('授权+1')
  606. wx.requestSubscribeMessage({
  607. tmplIds: this.arr,
  608. success(re) {
  609. console.log(JSON.stringify(re), 111111111111)
  610. var datas = JSON.stringify(re)
  611. if (datas.indexOf('accept') != -1) {
  612. // console.log(re)
  613. }
  614. },
  615. fail: (res) => {
  616. // console.log(res)
  617. }
  618. })
  619. }
  620. // #endif
  621. uni.navigateTo({
  622. url: '/pages/index/shop/index?shopId=' + e
  623. })
  624. },
  625. // 完成订单
  626. finish(e) {
  627. // #ifdef MP-WEIXIN
  628. if (uni.getStorageSync('sendMsg')) {
  629. console.log('授权+1')
  630. wx.requestSubscribeMessage({
  631. tmplIds: this.arr,
  632. success(re) {
  633. console.log(JSON.stringify(re), 111111111111)
  634. var datas = JSON.stringify(re)
  635. if (datas.indexOf('accept') != -1) {
  636. // console.log(re)
  637. }
  638. },
  639. fail: (res) => {
  640. // console.log(res)
  641. }
  642. })
  643. }
  644. // #endif
  645. let that = this
  646. console.log(e)
  647. uni.showModal({
  648. title: '提示',
  649. content: '确认订单完成吗?',
  650. success: function (res) {
  651. if (res.confirm) {
  652. console.log('用户点击确定')
  653. let data = {
  654. orderId: e.orderId
  655. }
  656. that.$Request.post('/app/order/accomplishOrder', data).then((res) => {
  657. if (res.code == 0) {
  658. uni.showToast({
  659. title: '订单完成',
  660. icon: 'none'
  661. })
  662. that.getOrderList()
  663. } else {
  664. uni.showToast({
  665. title: res.msg,
  666. icon: 'none'
  667. })
  668. }
  669. })
  670. } else if (res.cancel) {
  671. console.log('用户点击取消')
  672. }
  673. }
  674. })
  675. },
  676. switchTab(e) {
  677. // #ifdef MP-WEIXIN
  678. if (uni.getStorageSync('sendMsg')) {
  679. console.log('授权+1')
  680. wx.requestSubscribeMessage({
  681. tmplIds: this.arr,
  682. success(re) {
  683. console.log(JSON.stringify(re), 111111111111)
  684. var datas = JSON.stringify(re)
  685. if (datas.indexOf('accept') != -1) {
  686. // console.log(re)
  687. }
  688. },
  689. fail: (res) => {
  690. // console.log(res)
  691. }
  692. })
  693. }
  694. // #endif
  695. this.page = 1
  696. this.status = ''
  697. this.orderType = e
  698. this.current = 0
  699. this.current1 = 0
  700. this.order = []
  701. this.orderList = []
  702. console.log(e)
  703. if (this.orderType == 3) {
  704. this.orderList_()
  705. } else {
  706. this.getOrderList()
  707. }
  708. },
  709. change(index) {
  710. // #ifdef MP-WEIXIN
  711. if (uni.getStorageSync('sendMsg')) {
  712. console.log('授权+1')
  713. wx.requestSubscribeMessage({
  714. tmplIds: this.arr,
  715. success(re) {
  716. console.log(JSON.stringify(re), 111111111111)
  717. var datas = JSON.stringify(re)
  718. if (datas.indexOf('accept') != -1) {
  719. // console.log(re)
  720. }
  721. },
  722. fail: (res) => {
  723. // console.log(res)
  724. }
  725. })
  726. }
  727. // #endif
  728. this.page = 1
  729. this.current = index
  730. switch (index) {
  731. case 0:
  732. this.status = '' //全部
  733. break
  734. case 1:
  735. this.status = 7 //待接单
  736. break
  737. case 2:
  738. this.status = 6 //制作中
  739. break
  740. case 3:
  741. this.status = 3 //待取餐
  742. break
  743. case 4:
  744. this.status = 0 //待结算
  745. break
  746. case 5:
  747. this.status = 4 //已完成
  748. break
  749. case 6:
  750. this.status = 5 //已取消
  751. break
  752. case 7:
  753. this.status = 8 //已退款
  754. break
  755. }
  756. this.getOrderList()
  757. },
  758. change1(index) {
  759. // #ifdef MP-WEIXIN
  760. if (uni.getStorageSync('sendMsg')) {
  761. console.log('授权+1')
  762. wx.requestSubscribeMessage({
  763. tmplIds: this.arr,
  764. success(re) {
  765. console.log(JSON.stringify(re), 111111111111)
  766. var datas = JSON.stringify(re)
  767. if (datas.indexOf('accept') != -1) {
  768. // console.log(re)
  769. }
  770. },
  771. fail: (res) => {
  772. // console.log(res)
  773. }
  774. })
  775. }
  776. // #endif
  777. this.page = 1
  778. this.current1 = index
  779. switch (index) {
  780. case 0:
  781. this.status = '' //全部
  782. break
  783. case 1:
  784. this.status = 7 //待接单
  785. break
  786. case 2:
  787. this.status = 6 //制作中
  788. break
  789. case 3:
  790. this.status = 3 //配送中
  791. break
  792. case 4:
  793. this.status = 0 //待结算
  794. break
  795. case 5:
  796. this.status = 4 //已完成
  797. break
  798. case 6:
  799. this.status = 5 //已取消
  800. break
  801. case 7:
  802. this.status = 8 //已退款
  803. break
  804. }
  805. this.getOrderList()
  806. },
  807. change2(index) {
  808. // #ifdef MP-WEIXIN
  809. if (uni.getStorageSync('sendMsg')) {
  810. console.log('授权+1')
  811. wx.requestSubscribeMessage({
  812. tmplIds: this.arr,
  813. success(re) {
  814. console.log(JSON.stringify(re), 111111111111)
  815. var datas = JSON.stringify(re)
  816. if (datas.indexOf('accept') != -1) {
  817. // console.log(re)
  818. }
  819. },
  820. fail: (res) => {
  821. // console.log(res)
  822. }
  823. })
  824. }
  825. // #endif
  826. this.current2 = index
  827. this.currentIndex = this.paotuiList[index].id
  828. this.page = 1
  829. this.orderList_()
  830. },
  831. goNav(url) {
  832. // #ifdef MP-WEIXIN
  833. if (uni.getStorageSync('sendMsg')) {
  834. console.log('授权+1')
  835. wx.requestSubscribeMessage({
  836. tmplIds: this.arr,
  837. success(re) {
  838. console.log(JSON.stringify(re), 111111111111)
  839. var datas = JSON.stringify(re)
  840. if (datas.indexOf('accept') != -1) {
  841. // console.log(re)
  842. }
  843. },
  844. fail: (res) => {
  845. // console.log(res)
  846. }
  847. })
  848. }
  849. // #endif
  850. uni.navigateTo({
  851. url
  852. })
  853. },
  854. // 跑腿订单获取
  855. orderList_() {
  856. let data = {
  857. page: this.page,
  858. limit: this.limit,
  859. indentState: this.currentIndex
  860. }
  861. this.$Request.getT('/app/tbindent/findUserIndent', data).then((res) => {
  862. // console.log(res)
  863. var that = this
  864. if (res.code === 0) {
  865. this.paotuiCount = res.data.totalCount
  866. if (that.page == 1) {
  867. that.order = res.data.list
  868. that.totalPage = res.data.totalPage
  869. }
  870. if (that.page > 1) {
  871. if (res.data.list.length > 0) {
  872. that.order = that.order.concat(res.data.list)
  873. }
  874. }
  875. }
  876. uni.stopPullDownRefresh()
  877. uni.hideLoading()
  878. })
  879. },
  880. // 外卖数据列表
  881. getOrderList() {
  882. let data = {
  883. page: this.page,
  884. limit: this.limit,
  885. status: this.status,
  886. orderType: this.orderType
  887. }
  888. // console.log(data)
  889. this.$Request.get('/app/order/waitTakeFood', data).then((res) => {
  890. if (res.code == 0) {
  891. this.waimaiCount = res.data.totalCount
  892. res.data.list.forEach((res) => {
  893. res.orderGoodsList.forEach((ret) => {
  894. if (ret.goodsPicture) {
  895. ret.goodsPicture = ret.goodsPicture.split(',')
  896. }
  897. })
  898. if (res.orderCode) {
  899. res.orderCode = res.orderCode.substring(res.orderCode.length - 3, res.orderCode.length)
  900. }
  901. })
  902. console.log(res.data.list, 'jjjjj')
  903. if (this.page == 1) {
  904. this.orderList = res.data.list
  905. } else {
  906. this.orderList = [...this.orderList, ...res.data.list]
  907. }
  908. }
  909. uni.stopPullDownRefresh()
  910. uni.hideLoading()
  911. })
  912. },
  913. // 再来一单
  914. bindorder(e) {
  915. // #ifdef MP-WEIXIN
  916. if (uni.getStorageSync('sendMsg')) {
  917. console.log('授权+1')
  918. wx.requestSubscribeMessage({
  919. tmplIds: this.arr,
  920. success(re) {
  921. console.log(JSON.stringify(re), 111111111111)
  922. var datas = JSON.stringify(re)
  923. if (datas.indexOf('accept') != -1) {
  924. // console.log(re)
  925. }
  926. },
  927. fail: (res) => {
  928. // console.log(res)
  929. }
  930. })
  931. }
  932. // #endif
  933. console.log(e)
  934. let index = e.indentType
  935. let current = e.buyType
  936. if (e.indentType == 1 || e.indentType == 2) {
  937. uni.navigateTo({
  938. url: '/running/Helpsend/Helpsend?indentNumber=' + e.indentNumber + '&index=' + index
  939. })
  940. } else if (e.indentType == 3) {
  941. uni.navigateTo({
  942. url: '/running/Helppay/Helppay?indentNumber=' + e.indentNumber + '&index=' + index + '&current=' + current
  943. })
  944. } else {
  945. uni.navigateTo({
  946. url: '/running/Cityservice/Cityservice?indentNumber=' + e.indentNumber + '&index=' + index
  947. })
  948. }
  949. },
  950. // 订单详情
  951. bindorderDetail(indentNumber) {
  952. // #ifdef MP-WEIXIN
  953. if (uni.getStorageSync('sendMsg')) {
  954. console.log('授权+1')
  955. wx.requestSubscribeMessage({
  956. tmplIds: this.arr,
  957. success(re) {
  958. console.log(JSON.stringify(re), 111111111111)
  959. var datas = JSON.stringify(re)
  960. if (datas.indexOf('accept') != -1) {
  961. // console.log(re)
  962. }
  963. },
  964. fail: (res) => {
  965. // console.log(res)
  966. }
  967. })
  968. }
  969. // #endif
  970. console.log(indentNumber)
  971. uni.navigateTo({
  972. url: '/pages/order/detail?indentNumber=' + indentNumber
  973. })
  974. },
  975. // 立即付款
  976. bindorderpay(e) {
  977. uni.navigateTo({
  978. url: '/running/order/pay/pay?indentNumber=' + e.indentNumber
  979. })
  980. },
  981. // 拨打电话
  982. bindphone(e) {
  983. console.log(e)
  984. uni.makePhoneCall({
  985. phoneNumber: e
  986. })
  987. },
  988. goPay_throttle: throttle(function (item) {
  989. this.goPay(item)
  990. }, 1000),
  991. goPay(item) {
  992. uni.navigateTo({
  993. url: `/pages/index/shop/confirmOrder?shopId=${item.shopId}&orderType=${item.orderType}&orderId=${item.orderId}&status=${item.status}&showReach=${item.orderType}`
  994. })
  995. },
  996. // 待结算订单取消接口 倒计时结束触发
  997. payFinish(orderId) {
  998. console.log(orderId)
  999. let data = {
  1000. orderId
  1001. }
  1002. this.$Request.get('/app/order/updateTimeOutOrder', data).then((res) => {
  1003. // if (res.code == 0) {
  1004. // uni.showToast({
  1005. // title: '订单取消成功',
  1006. // icon: 'none'
  1007. // })
  1008. // this.page = 1
  1009. // this.getOrderList()
  1010. // } else {
  1011. // uni.showToast({
  1012. // title: res.msg,
  1013. // icon: 'none'
  1014. // })
  1015. // }
  1016. })
  1017. },
  1018. // 取消待结算订单 按钮触发
  1019. payFinishCancel(orderId) {
  1020. // #ifdef MP-WEIXIN
  1021. if (uni.getStorageSync('sendMsg')) {
  1022. console.log('授权+1')
  1023. wx.requestSubscribeMessage({
  1024. tmplIds: this.arr,
  1025. success(re) {
  1026. console.log(JSON.stringify(re), 111111111111)
  1027. var datas = JSON.stringify(re)
  1028. if (datas.indexOf('accept') != -1) {
  1029. // console.log(re)
  1030. }
  1031. },
  1032. fail: (res) => {
  1033. // console.log(res)
  1034. }
  1035. })
  1036. }
  1037. // #endif
  1038. uni.showModal({
  1039. title: '提示',
  1040. content: '确认取消订单吗?',
  1041. success: (res) => {
  1042. if (res.confirm) {
  1043. let data = {
  1044. orderId
  1045. }
  1046. this.$Request.get('/app/order/updateTimeOutOrder', data).then((res) => {
  1047. if (res.code == 0) {
  1048. uni.showToast({
  1049. title: '订单取消成功',
  1050. icon: 'none'
  1051. })
  1052. this.page = 1
  1053. this.getOrderList()
  1054. } else {
  1055. uni.showToast({
  1056. title: res.msg,
  1057. icon: 'none'
  1058. })
  1059. }
  1060. })
  1061. } else if (res.cancel) {
  1062. console.log('用户点击取消')
  1063. }
  1064. }
  1065. })
  1066. }
  1067. },
  1068. onReachBottom: function () {
  1069. if (this.orderType == 3) {
  1070. if (this.order.length < this.paotuiCount) {
  1071. this.page = this.page + 1
  1072. this.orderList_()
  1073. } else {
  1074. uni.showToast({
  1075. title: '已经到底了',
  1076. icon: 'none'
  1077. })
  1078. }
  1079. } else {
  1080. if (this.orderList.length < this.waimaiCount) {
  1081. this.page = this.page + 1
  1082. this.getOrderList()
  1083. } else {
  1084. uni.showToast({
  1085. title: '已经到底了',
  1086. icon: 'none'
  1087. })
  1088. }
  1089. }
  1090. },
  1091. onPullDownRefresh: function () {
  1092. this.page = 1
  1093. this.status = ''
  1094. this.current = 0
  1095. this.current1 = 0
  1096. // console.log(e)
  1097. if (this.orderType == 3) {
  1098. this.orderList_()
  1099. } else {
  1100. this.getOrderList()
  1101. }
  1102. }
  1103. }
  1104. </script>
  1105. <style scoped>
  1106. .active {
  1107. /* width: 82rpx; */
  1108. height: 16rpx;
  1109. background: #fcd202;
  1110. position: relative;
  1111. top: -20rpx;
  1112. z-index: 9;
  1113. }
  1114. .bg {
  1115. background-color: #ffffff;
  1116. }
  1117. /* 切换选项 */
  1118. .nav {
  1119. display: flex;
  1120. align-items: center;
  1121. justify-content: center;
  1122. background-color: #ffffff;
  1123. color: #999999;
  1124. }
  1125. .btn {
  1126. width: 150rpx;
  1127. height: 60rpx;
  1128. line-height: 60rpx;
  1129. text-align: center;
  1130. background: #f5f5f5;
  1131. font-size: 28rpx;
  1132. border: 2rpx solid ##f5f5f5;
  1133. color: #666666;
  1134. border-radius: 50rpx;
  1135. font-weight: 700;
  1136. margin-left: 10rpx;
  1137. }
  1138. .btn_ {
  1139. width: 150rpx;
  1140. height: 60rpx;
  1141. line-height: 60rpx;
  1142. text-align: center;
  1143. background: #fcd202;
  1144. font-size: 28rpx;
  1145. border: 2rpx solid #fcd202;
  1146. color: #333333;
  1147. border-radius: 50rpx;
  1148. font-weight: 700;
  1149. margin-left: 10rpx;
  1150. }
  1151. .tabBtn {
  1152. /* background-color: #f6f6fa; */
  1153. height: 60rpx;
  1154. line-height: 60rpx;
  1155. color: #999999;
  1156. font-size: 38rpx;
  1157. }
  1158. .title {
  1159. position: relative;
  1160. z-index: 100;
  1161. }
  1162. .shaix {
  1163. width: 30%;
  1164. text-align: center;
  1165. display: flex;
  1166. align-items: center;
  1167. justify-content: center;
  1168. letter-spacing: 4rpx;
  1169. font-size: 27rpx;
  1170. }
  1171. .select {
  1172. color: #000000;
  1173. font-weight: bold;
  1174. background-color: #fff;
  1175. z-index: 10;
  1176. }
  1177. .nav view {
  1178. flex-grow: 1;
  1179. margin: 3% 6.5% 2%;
  1180. text-align: center;
  1181. }
  1182. .nav_btna {
  1183. font-size: 42rpx;
  1184. line-height: 34rpx;
  1185. color: #000000;
  1186. font-weight: bold;
  1187. border-bottom: 14rpx solid #fcd202;
  1188. }
  1189. /* 内容 */
  1190. /* 全部订单 */
  1191. .cont_one {
  1192. margin-top: 160rpx;
  1193. }
  1194. /* .cont_one image {
  1195. width: 80%;
  1196. height: 353rpx;
  1197. } */
  1198. /* 到店取餐 */
  1199. .cont_two {
  1200. display: none;
  1201. width: 94%;
  1202. margin: 3% auto;
  1203. background-color: #ffffff;
  1204. border-radius: 18rpx;
  1205. }
  1206. .cont {
  1207. /* display: none; */
  1208. width: 94%;
  1209. margin: 3% auto;
  1210. background-color: #ffffff;
  1211. border-radius: 18rpx;
  1212. /* padding: 20rpx 0; */
  1213. }
  1214. .cont_two_top {
  1215. width: 94%;
  1216. padding: 4% 3% 0;
  1217. margin: 0 auto;
  1218. display: flex;
  1219. justify-content: space-between;
  1220. }
  1221. .cont_two_top_le {
  1222. /* width: 85%; */
  1223. font-size: 30rpx;
  1224. font-weight: 500;
  1225. color: #333333;
  1226. /* line-height: 2; */
  1227. margin: 5rpx 0;
  1228. }
  1229. .cont_two_top_ri {
  1230. /* width: 15%; */
  1231. padding: 6rpx 10rpx;
  1232. text-align: center;
  1233. background: rgba(255, 19, 10, 0.2);
  1234. font-size: 24rpx;
  1235. border: 2rpx solid #ff130a;
  1236. color: #ff130a;
  1237. opacity: 0.6;
  1238. border-radius: 8rpx;
  1239. }
  1240. .cont_two_top_ri1 {
  1241. /* width: 15%; */
  1242. text-align: center;
  1243. /* line-height: 2; */
  1244. padding: 6rpx 10rpx;
  1245. background: #62ba8b;
  1246. font-size: 24rpx;
  1247. border: 2rpx solid #62ba8b;
  1248. color: #fff;
  1249. /* opacity: 0.6; */
  1250. border-radius: 8rpx;
  1251. }
  1252. .cont_two_top_ri2 {
  1253. /* width: 15%; */
  1254. text-align: center;
  1255. /* line-height: 2; */
  1256. padding: 6rpx 10rpx;
  1257. background: #fcd202;
  1258. font-size: 24rpx;
  1259. border: 2rpx solid #fcd202;
  1260. color: #fff;
  1261. /* opacity: 0.6; */
  1262. border-radius: 8rpx;
  1263. }
  1264. .cont_two_text {
  1265. font-size: 58rpx;
  1266. text-align: center;
  1267. font-weight: bold;
  1268. color: red;
  1269. margin: 3% 0;
  1270. line-height: 32rpx;
  1271. }
  1272. .cont_two_text2 {
  1273. font-size: 30rpx;
  1274. width: 100%;
  1275. font-weight: 500;
  1276. color: #333333;
  1277. text-align: center;
  1278. padding-bottom: 3%;
  1279. /* line-height: 32rpx; */
  1280. }
  1281. .cont_two_text2 text {
  1282. color: #ff130a;
  1283. }
  1284. .cont_two_bottom {
  1285. width: 94%;
  1286. padding: 3%;
  1287. margin: 0 auto;
  1288. display: flex;
  1289. border-top: 1rpx solid #e6e6e6;
  1290. }
  1291. .cont_two_bottom_le {
  1292. flex: 1;
  1293. font-size: 24rpx;
  1294. font-weight: 500;
  1295. color: #999999;
  1296. line-height: 32rpx;
  1297. }
  1298. .cont_two_bottom_ri {
  1299. flex: 1;
  1300. text-align: right;
  1301. }
  1302. .cont_two_bottom_ri image {
  1303. width: 14rpx;
  1304. height: 24rpx;
  1305. }
  1306. /* 外卖订单 */
  1307. .cont_three {
  1308. display: none;
  1309. width: 94%;
  1310. margin: 3% auto;
  1311. background-color: #ffffff;
  1312. border-radius: 18rpx;
  1313. }
  1314. .cont_three_top {
  1315. width: 94%;
  1316. padding: 4% 3% 0;
  1317. margin: 0 auto;
  1318. display: flex;
  1319. }
  1320. .cont_three_top_le {
  1321. flex: 2;
  1322. font-size: 30rpx;
  1323. font-weight: 500;
  1324. color: #d80204;
  1325. line-height: 32rpx;
  1326. }
  1327. .cont_three_top_ri {
  1328. flex: 1;
  1329. text-align: right;
  1330. font-size: 24rpx;
  1331. font-weight: 500;
  1332. color: #999999;
  1333. line-height: 32rpx;
  1334. }
  1335. .cont_three_text {
  1336. padding: 2% 0 2% 3%;
  1337. font-size: 24rpx;
  1338. font-weight: 500;
  1339. color: #999999;
  1340. line-height: 32rpx;
  1341. }
  1342. .cont_three_cen {
  1343. width: 94%;
  1344. padding: 0.5% 3%;
  1345. margin: 0 auto;
  1346. display: flex;
  1347. }
  1348. .cont_three_cen_le {
  1349. flex: 2;
  1350. font-size: 30rpx;
  1351. font-weight: 500;
  1352. color: #333333;
  1353. line-height: 32rpx;
  1354. }
  1355. .cont_three_cen_ri {
  1356. flex: 1;
  1357. text-align: right;
  1358. font-size: 24rpx;
  1359. font-weight: 500;
  1360. color: #999999;
  1361. line-height: 32rpx;
  1362. }
  1363. .cont_three_text2 {
  1364. font-size: 24rpx;
  1365. font-weight: 500;
  1366. color: #d80204;
  1367. padding: 0 3%;
  1368. line-height: 32rpx;
  1369. }
  1370. .cont_three_bottom {
  1371. width: 94%;
  1372. padding: 3%;
  1373. margin: 3% auto 0;
  1374. display: flex;
  1375. border-top: 1rpx solid #e6e6e6;
  1376. }
  1377. .cont_three_bottom_le {
  1378. flex: 1;
  1379. font-size: 24rpx;
  1380. font-weight: 500;
  1381. color: #999999;
  1382. line-height: 32rpx;
  1383. }
  1384. .cont_three_bottom_ri {
  1385. flex: 1;
  1386. text-align: right;
  1387. }
  1388. .cont_dis {
  1389. display: block;
  1390. }
  1391. .box {
  1392. /* width: 100%;
  1393. height: 100vh;
  1394. background-color: rgba(0, 0, 0, 0.2);
  1395. position: absolute;
  1396. top: 40px;
  1397. z-index: 999 */
  1398. }
  1399. .popbox {
  1400. width: 749upx;
  1401. /* height: 764upx; */
  1402. background: #ffffff;
  1403. padding-bottom: 72rpx;
  1404. z-inde: 999;
  1405. position: fixed;
  1406. top: 39px;
  1407. left: 0;
  1408. right: 0;
  1409. }
  1410. .impute {
  1411. background: #f2f2f2;
  1412. height: 80rpx;
  1413. margin: 20rpx 0;
  1414. }
  1415. .btns {
  1416. width: 690upx;
  1417. height: 88upx;
  1418. background: #ffcc00;
  1419. box-shadow: 0upx 10upx 20upx 0upx #ffd9b3;
  1420. border-radius: 16upx;
  1421. text-align: center;
  1422. line-height: 88rpx;
  1423. font-size: 32rpx;
  1424. font-weight: bold;
  1425. margin: 0 auto;
  1426. }
  1427. .empty {
  1428. width: 100%;
  1429. background: #ffffff;
  1430. /* #ifdef MP-WEIXIN */
  1431. height: 93vh;
  1432. /* #endif */
  1433. /* #ifndef MP-WEIXIN */
  1434. height: 80vh;
  1435. /* #endif */
  1436. }
  1437. .tabs_box {
  1438. display: none;
  1439. }
  1440. .dis {
  1441. display: block;
  1442. width: 100%;
  1443. }
  1444. .u-tab-item {
  1445. font-size: 30rpx !important;
  1446. /* color: #666666 !important; */
  1447. }
  1448. .success_box {
  1449. width: 100%;
  1450. }
  1451. .order_box {
  1452. width: 95%;
  1453. margin: 0 auto;
  1454. /* height: 420rpx; */
  1455. background: #ffffff;
  1456. margin-top: 20rpx;
  1457. border-radius: 10px;
  1458. /* padding: 20rpx 0rpx; */
  1459. }
  1460. .order_title {
  1461. width: 90%;
  1462. margin: 0 auto;
  1463. border-radius: 14px 14px, 0px, 0px;
  1464. background: rgba(255, 239, 222, 1);
  1465. height: 40upx;
  1466. color: rgba(255, 141, 26, 1);
  1467. font-size: 24upx;
  1468. line-height: 40upx;
  1469. text-align: center;
  1470. }
  1471. .order_success {
  1472. width: 90%;
  1473. margin: 0 auto;
  1474. display: flex;
  1475. height: 80upx;
  1476. }
  1477. .order_name {
  1478. flex: 1;
  1479. display: flex;
  1480. justify-content: left;
  1481. align-items: center;
  1482. font-weight: bold;
  1483. font-size: 31rpx;
  1484. letter-spacing: 1upx;
  1485. }
  1486. .order_data {
  1487. flex: 1;
  1488. color: #999999;
  1489. display: flex;
  1490. justify-content: flex-end;
  1491. align-items: center;
  1492. font-size: 27rpx;
  1493. }
  1494. .city_type {
  1495. width: 90%;
  1496. margin: 0 auto;
  1497. height: 60upx;
  1498. line-height: 60upx;
  1499. display: flex;
  1500. justify-content: left;
  1501. align-items: center;
  1502. }
  1503. .type_name {
  1504. font-size: 27rpx;
  1505. }
  1506. .city_text {
  1507. line-height: 36rpx;
  1508. color: #49a5ff;
  1509. background: #c4e2ff;
  1510. text-align: center;
  1511. font-size: 25rpx;
  1512. margin-left: 20rpx;
  1513. padding: 2rpx 10rpx;
  1514. }
  1515. .city_address {
  1516. width: 90%;
  1517. margin: 0 auto;
  1518. /* margin-top: -10rpx; */
  1519. }
  1520. /* 发货地址 */
  1521. .fh_box {
  1522. display: flex;
  1523. /* height: 80upx; */
  1524. margin-top: 25rpx;
  1525. }
  1526. .fh_image {
  1527. /* flex: 1; */
  1528. width: 10%;
  1529. }
  1530. .box {
  1531. /* flex: 11; */
  1532. width: 85%;
  1533. overflow: hidden;
  1534. }
  1535. .fh_name {
  1536. font-size: 31rpx;
  1537. font-weight: 600;
  1538. letter-spacing: 2upx;
  1539. }
  1540. .fh_type {
  1541. color: #999999;
  1542. font-size: 28rpx;
  1543. margin-top: 10rpx;
  1544. }
  1545. .fh_type text {
  1546. margin-left: 20upx;
  1547. }
  1548. /* 送货地址 */
  1549. .sh_box {
  1550. display: flex;
  1551. margin-bottom: 14upx;
  1552. margin-top: 25rpx;
  1553. }
  1554. .sh_image {
  1555. /* flex: 1; */
  1556. width: 10%;
  1557. }
  1558. .sh_name {
  1559. font-size: 31rpx;
  1560. font-weight: 600;
  1561. letter-spacing: 2upx;
  1562. }
  1563. .sh_type {
  1564. color: #999999;
  1565. font-size: 28rpx;
  1566. margin-top: 10rpx;
  1567. }
  1568. .sh_type text {
  1569. margin-left: 20upx;
  1570. }
  1571. .fh_image image {
  1572. width: 45upx;
  1573. height: 45upx;
  1574. }
  1575. .sh_image image {
  1576. width: 45upx;
  1577. height: 45upx;
  1578. }
  1579. .order_btn {
  1580. display: flex;
  1581. justify-content: flex-end;
  1582. align-items: center;
  1583. height: 80upx;
  1584. margin-top: 8upx;
  1585. padding: 0 20rpx;
  1586. }
  1587. .btn1 {
  1588. width: 170upx;
  1589. font-size: 26rpx;
  1590. line-height: 60upx;
  1591. text-align: center;
  1592. border: 3upx solid #9c9c9c;
  1593. border-radius: 20upx;
  1594. color: #9c9c9c;
  1595. margin-right: 30upx;
  1596. }
  1597. .btn2 {
  1598. width: 170upx;
  1599. line-height: 60upx;
  1600. color: white;
  1601. background: #ff6a04;
  1602. font-size: 27rpx;
  1603. text-align: center;
  1604. margin-right: 30upx;
  1605. border-radius: 20upx;
  1606. }
  1607. .btn3 {
  1608. width: 120upx;
  1609. font-size: 26rpx;
  1610. line-height: 60upx;
  1611. text-align: center;
  1612. border: 2upx solid #ff130a;
  1613. border-radius: 10upx;
  1614. color: #ff130a;
  1615. margin-right: 30upx;
  1616. background: rgba(255, 19, 10, 0.2);
  1617. opacity: 0.6;
  1618. }
  1619. .serviceBtn {
  1620. position: fixed;
  1621. right: 52rpx;
  1622. bottom: 50rpx;
  1623. display: flex;
  1624. flex-direction: column;
  1625. align-items: center;
  1626. justify-content: center;
  1627. width: 140rpx;
  1628. height: 140rpx;
  1629. border-radius: 50%;
  1630. color: #fff;
  1631. font-size: 20rpx;
  1632. background-color: #3e8ef7;
  1633. box-shadow: 0 0 7rpx #000;
  1634. }
  1635. .serviceBtn_text {
  1636. margin-top: 5rpx;
  1637. }
  1638. </style>