index.vue 44 KB

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