index.vue 36 KB

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