order-detail1.vue 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275
  1. <template>
  2. <view class="order-box">
  3. <view
  4. :style="{ backgroundImage: `url(${apply_status == 1 ? bgimgurl[5]: is_deleted == true? bgimgurl[0] : pay_status == false? bgimgurl[1] : pay_status == true && status == 3 ? bgimgurl[2] : status == 4? bgimgurl[3] :bgimgurl[4]})` }"
  5. class="imgfix">
  6. <view class="topFix">
  7. <view class="topFix_one">
  8. {{ apply? titleList[5].title :is_deleted == true? titleList[0].title : pay_status == false? titleList[1].title : pay_status == true && status == 3 ? titleList[2].title : status == 4? titleList[3].title :titleList[4].title }}
  9. </view>
  10. <view class="topFix_two">
  11. {{ apply? titleList[5].tip : is_deleted == true? titleList[0].tip : pay_status == false? titleList[1].tip : pay_status == true && status == 3 ? titleList[2].tip : status == 4? titleList[3].tip :titleList[4].tip }}
  12. </view>
  13. </view>
  14. </view>
  15. <view class="dizhi">
  16. <view class="dizhi_flex">
  17. <image src="../../static/new_order/ding.png" mode="widthFix" style="width: 54rpx;"></image>
  18. <view class="dizhi_right">
  19. <view class="top">
  20. <text class="name">{{ address.con_name }}</text>
  21. <text class="phone">{{ address.con_mobile }}</text>
  22. </view>
  23. <view class="ellipsid">{{ address | getAddressString }}</view>
  24. </view>
  25. </view>
  26. <view class="zuofei dizhi_flex" v-if="apply || is_deleted == true">
  27. <image src="../../static/new_order/x.png" mode="widthFix" style="width: 54rpx;"></image>
  28. <view class="title">
  29. 作废原因:
  30. <text>
  31. {{ destroy_caused }}
  32. </text>
  33. </view>
  34. </view>
  35. </view>
  36. <view style="margin-top: 30rpx; background-color: #fff;">
  37. <view class="collapse" v-for="(item,index) in goodList" :key="item.attr_id">
  38. <view @click="changeContent(item,index)">
  39. <view class="coll-header">
  40. <view style="display: flex;align-items: center;">
  41. <image :src="item.main_img" mode="a" style="width: 136rpx;height: 136rpx;"></image>
  42. <view class="content">
  43. <view class="head-txt">{{item.name}}</view>
  44. <view class="bottom">
  45. <text class="num" style="margin-right: 20rpx;">尺码:{{ item.size.length }}</text>
  46. <text class="num">数量:{{ item.num.reduce((t, e) => t + e, 0) }}</text>
  47. </view>
  48. </view>
  49. </view>
  50. <view class="coll-right">
  51. <view class="space">
  52. ¥{{ item.money * item.num.reduce((t, e) => t + e, 0) }}
  53. </view>
  54. <image :src="item.open?imageList[0]:imageList[1]" mode="widthFix" style="width: 24rpx;">
  55. </image>
  56. </view>
  57. </view>
  58. <!-- 展开 -->
  59. <view class="box">
  60. <view class="box-cont" v-show="item.open === true">
  61. <view class="item" v-for="(sizeItem, sizeIndex) in item.size" :key="sizeIndex">
  62. <view class="flex" style="margin-bottom: 10rpx;">
  63. <view class="size"><text>款式:</text>{{ item.sec_attr }}</view>
  64. <view>{{ item.money }}元</view>
  65. </view>
  66. <view class="flex">
  67. <view class="size"><text>尺码:</text>{{ sizeItem }}</view>
  68. <view>x {{ item.num[sizeIndex] }}{{ item.unit }}</view>
  69. </view>
  70. </view>
  71. </view>
  72. </view>
  73. </view>
  74. </view>
  75. <view v-if="giftList.length > 0" style="padding: 30rpx;">
  76. <view style="font-size: 32rpx; font-weight: bold;margin-bottom: 28rpx;">
  77. 赠品信息
  78. </view>
  79. <view class="gift_item" v-for="item in giftList" :key="item.id" v-show="item.num > 0">
  80. <image :src="item.img" class="gift_img"></image>
  81. <view class="right">
  82. <view class="name">{{ item.name }}</view>
  83. <view class="num">数量:{{ item.num }}</view>
  84. </view>
  85. </view>
  86. </view>
  87. </view>
  88. <view class="botFlex">
  89. <view class="botFlex_flex">
  90. <view class="title">
  91. 订单编号:
  92. <text style="font-weight: 400;">{{ order_num }}</text>
  93. </view>
  94. <view class="anniu" @click="copy(order_num)">
  95. 复制
  96. </view>
  97. </view>
  98. <view class="botFlex_flex">
  99. <view class="title">
  100. 下单时间:
  101. <text style="font-weight: 400;">{{ created_at }}</text>
  102. </view>
  103. <view class="right">
  104. </view>
  105. </view>
  106. <view class="botFlex_flex">
  107. <view class="title">
  108. 商品总额:
  109. </view>
  110. <view class="right">
  111. ¥{{ money }}
  112. </view>
  113. </view>
  114. <view class="botFlex_flex">
  115. <view class="title">
  116. 商品数量:
  117. </view>
  118. <view class="right">
  119. {{ total }}件
  120. </view>
  121. </view>
  122. </view>
  123. <view class="botFlex">
  124. <view class="botFlex_flex">
  125. <view class="title">
  126. 所属者:
  127. </view>
  128. <text style="color: #333;" class="right"
  129. v-if="belong_user.nickname">{{ belong_user.nickname.length > 10 ? belong_user.nickname.slice(0, 10) + '...' : belong_user.nickname }}</text>
  130. </view>
  131. <view class="botFlex_flex" @click="toLogistics">
  132. <view class="title">
  133. 物流信息
  134. </view>
  135. <text class="cuIcon-right"></text>
  136. </view>
  137. <view class="botFlex_flex" @click="showRemark">
  138. <view class="title">
  139. 订单备注
  140. </view>
  141. <text class="cuIcon-right"></text>
  142. </view>
  143. <view class="botFlex_flex" @click="goDetail" v-if="is_merge == 1">
  144. <view class="title">
  145. 合并明细
  146. </view>
  147. <text class="cuIcon-right"></text>
  148. </view>
  149. <view class="botFlex_flex" @click="caozuo">
  150. <view class="title">
  151. 操作日志
  152. </view>
  153. <text class="cuIcon-right"></text>
  154. </view>
  155. <!-- <view class="botFlex_flex botzuofei" v-if="apply_status == 1">
  156. <view class="title">
  157. 作废原因:
  158. </view>
  159. <view class="red">
  160. </view>
  161. </view> -->
  162. </view>
  163. <view class="submitPay">
  164. <view class="submitPay_left">
  165. <text class="total">共{{ total }}件,</text>
  166. 合计:<text class="money">¥{{ money }}</text>
  167. </view>
  168. <view class="submitPay_right">
  169. <!-- 订单状态为 待订单审核,未申请作废订单, 订单未作废 -->
  170. <view class="anniu gray"
  171. v-if="status == 0 && apply_status == 0 && is_deleted == false && destroy_status != 2"
  172. @click="showCancel = true; destroy_cause = '' ">
  173. 作废订单
  174. </view>
  175. <!-- 订单状态为 待收货 或者 已完成 -->
  176. <view class="anniu red" v-if="status == 3 || status == 4" @click.stop="toGoodsInfo()">
  177. 发货详情
  178. </view>
  179. <!-- 订单状态为 已完成 -->
  180. <view class="anniu red" v-if="status != 3 || is_deleted == true || apply" @click.stop="buyAgain">
  181. 再次购买
  182. </view>
  183. <!-- 订单状态为 待收货 -->
  184. <view class="anniu red" v-if="status == 3 " @click.stop="received(order_num)">
  185. 确认收货
  186. </view>
  187. </view>
  188. </view>
  189. <u-popup v-model="showCancel" mode="bottom" height="700rpx;">
  190. <view class="popBox">
  191. <view class="popBox_title">
  192. 作废订单原因
  193. </view>
  194. <view class="">
  195. <radio-group @change="radioChange">
  196. <label v-for="(item, index) in cancelCause" :key="item.value">
  197. <view class="uni-list" :class="index == 3 ? '':'border'">
  198. <view>{{item.name}}</view>
  199. <view>
  200. <radio :value="item.value" :checked="index === current" color="#FF232C" />
  201. </view>
  202. </view>
  203. <view v-if="index == 3" class="input">
  204. <textarea v-model="destroy_cause" placeholder="请输入您作废的原因"
  205. placeholder-style="color: #CCCCCC" style="height: 150rpx;" :focus="firstFocus" />
  206. </view>
  207. </label>
  208. </radio-group>
  209. </view>
  210. </view>
  211. <view class="popBox_btn">
  212. <view class="btn qu" @click="destroy_cause = '';showCancel = false">
  213. 取消作废
  214. </view>
  215. <view class="btn submit" @click="$noMultipleClicks(commitWork)">
  216. 确定作废
  217. </view>
  218. </view>
  219. </u-popup>
  220. </view>
  221. </template>
  222. <script>
  223. import {
  224. _API_GoodList
  225. } from '@/apis/good.js';
  226. import {
  227. CheckMoney,
  228. _API_OrderDetail1,
  229. _API_GetOrderGift,
  230. _API_OrderReceiveGoods1,
  231. _API_destory
  232. } from '@/apis/order.js'
  233. import toast from "@/components/toast.vue"
  234. import {
  235. handleClipboard
  236. } from '../../common/util/utils.js'
  237. export default {
  238. components: {
  239. toast
  240. },
  241. data() {
  242. return {
  243. sureGift: false,
  244. biggift: {},
  245. bigstatus: false,
  246. noClick: true,
  247. firstFocus: false,
  248. current: 0,
  249. showBelong: false,
  250. destroy_cause: '',
  251. showCancel: false, // 作废弹窗
  252. imageList: [
  253. require('../../static/team/bottom.png'),
  254. require('../../static/team/right-t.png'),
  255. ],
  256. bgimgurl: [
  257. require('../../static/new_order/zuofeile.png'), // 已作废
  258. require('../../static/new_order/weifu.png'), // 待支付
  259. require('../../static/new_order/fahuo.png'), // 待收货
  260. require('../../static/new_order/wancheng.png'), // 已完成
  261. require('../../static/new_order/daishen.png'), // 待审核
  262. require('../../static/new_order/zuofei.png') // 待作废审核
  263. ],
  264. test: [
  265. '已作废',
  266. '待支付',
  267. '待收货',
  268. '已完成',
  269. '待审核',
  270. '待作废审核'
  271. ],
  272. cancelCause: [{
  273. value: '0',
  274. name: '收货信息错了'
  275. },
  276. {
  277. value: '1',
  278. name: '尺码或数量错了'
  279. },
  280. {
  281. value: '2',
  282. name: '订单下多了'
  283. },
  284. {
  285. value: '3',
  286. name: '其他原因'
  287. },
  288. ],
  289. titleList: [
  290. // 已作废
  291. {
  292. title: '已作废',
  293. tip: '请重新下单~'
  294. },
  295. // 待支付
  296. {
  297. title: '等待付款',
  298. tip: '请耐心等待~'
  299. },
  300. // 待收货
  301. {
  302. title: '待收货',
  303. tip: '已发货,记得及时收货呦~'
  304. },
  305. //已完成
  306. {
  307. title: '已完成',
  308. tip: '请及时确认订单呦~'
  309. },
  310. //待审核
  311. {
  312. title: '待审核',
  313. tip: '请耐心等待~'
  314. },
  315. //待作废审核
  316. {
  317. title: '作废订单审核中...',
  318. tip: '请耐心等待~'
  319. }
  320. ],
  321. data: {},
  322. apply: '',
  323. giftList: [],
  324. address: {},
  325. goodList: [],
  326. nopay: false,
  327. status: '',
  328. is_deleted: '',
  329. apply_status: '',
  330. pay_status: '',
  331. destroy_status: '',
  332. order_id: '',
  333. order_num: '',
  334. is_merge: '',
  335. remark: '',
  336. money: '',
  337. destroy_caused: '',
  338. reject_cause: '',
  339. created_at: '',
  340. track_company: '',
  341. track_number: '',
  342. track_remark: '',
  343. track_time: '',
  344. total: '',
  345. belong_user: {},
  346. belogShow: false
  347. };
  348. },
  349. // { created_at, status, order_id, order_num, is_deleted, pay_status, nopay, money, is_merge, total, apply_status, destroy_status }
  350. onLoad(option) {
  351. const item = JSON.parse(decodeURIComponent(option.item))
  352. this.data = item
  353. this.status = item.status;
  354. this.money = item.money;
  355. this.order_id = item.order_id;
  356. this.order_num = item.order_num;
  357. this.created_at = item.created_at;
  358. this.is_merge = item.is_merge;
  359. this.total = item.total
  360. this.pay_status = item.pay_status
  361. this.is_deleted = item.is_deleted
  362. this.destroy_caused = item.destroy_cause
  363. this.titleList[0].tip = `作废时间:${item.deleted_time}` //作废时间
  364. this.apply_status = item.apply_status
  365. this.destroy_status = item.destroy_status
  366. if (this.destroy_status == 0 && this.apply_status) {
  367. this.apply = true
  368. } else {
  369. this.apply = false
  370. }
  371. uni.loading();
  372. const order_num = this.order_num
  373. _API_OrderDetail1({
  374. order_num
  375. }).then(({
  376. code,
  377. message,
  378. data: {
  379. biggift,
  380. bigstatus,
  381. remark,
  382. address,
  383. list,
  384. track_company,
  385. track_number,
  386. track_remark,
  387. track_time,
  388. belong_user
  389. }
  390. }) => {
  391. if (code === 200) {
  392. this.getGiftList(order_num)
  393. this.remark = remark;
  394. this.address = address;
  395. /*大礼包测试begin*/
  396. // this.biggift = biggift
  397. // this.bigstatus = bigstatus
  398. // this.getGiftApply()
  399. /*大礼包测试end*/
  400. list.forEach((item, i) => {
  401. item.open = false
  402. })
  403. this.goodList = list;
  404. this.track_company = track_company;
  405. this.track_number = track_number;
  406. this.track_remark = track_remark;
  407. this.track_time = track_time;
  408. this.belong_user = belong_user
  409. } else {
  410. uni.showModal({
  411. title: '提示',
  412. content: message || '获取失败',
  413. showCancel: false,
  414. success: function(res) {
  415. if (res.confirm) {
  416. uni.navigateBack({
  417. delta: 1
  418. })
  419. }
  420. }
  421. });
  422. }
  423. })
  424. },
  425. onShow() {
  426. if (uni.getStorageSync('activeItem')) {
  427. uni.removeStorageSync('activeItem')
  428. }
  429. },
  430. methods: {
  431. /*复制单号*/
  432. copy(data) {
  433. handleClipboard(
  434. data,
  435. event,
  436. () => {
  437. uni.showToast({
  438. icon: 'none',
  439. title: '复制成功'
  440. });
  441. },
  442. () => {
  443. uni.showToast({
  444. icon: 'none',
  445. title: '复制失败'
  446. });
  447. }
  448. );
  449. },
  450. // 作废订单提交
  451. commitWork() {
  452. let that = this
  453. if (that.current != 3) {
  454. that.reject_cause = that.cancelCause[that.current].name
  455. } else {
  456. if (that.destroy_cause == '') {
  457. uni.showToast({
  458. title: '请输入作废原因',
  459. icon: 'none'
  460. })
  461. return false;
  462. } else {
  463. that.reject_cause = that.destroy_cause
  464. }
  465. }
  466. const data = {
  467. order_num: that.order_num,
  468. destroy_cause: that.reject_cause
  469. }
  470. uni.showLoading({
  471. mask: true
  472. })
  473. _API_destory(data).then(res => {
  474. if (res.code === 200) {
  475. this.noClick = false
  476. uni.showToast({
  477. title: '作废成功',
  478. icon: 'none'
  479. })
  480. setTimeout(function() {
  481. uni.redirectTo({
  482. url: '../my-order/my-order'
  483. })
  484. }, 1000)
  485. uni.hideLoading()
  486. } else {
  487. uni.showToast({
  488. title: res.message || '作废失败',
  489. icon: 'none',
  490. duration: 2500
  491. })
  492. uni.hideLoading()
  493. }
  494. })
  495. },
  496. // 选择作废原因
  497. radioChange(e) {
  498. console.log(e.detail.value)
  499. this.current = e.detail.value
  500. if (this.current != 3) {
  501. this.destroy_cause = ''
  502. }
  503. },
  504. // 获取赠品
  505. getGiftList(order_no) {
  506. _API_GetOrderGift({
  507. order_num: order_no
  508. }).then(res => {
  509. uni.hideLoading()
  510. if (res.code === 200) {
  511. this.giftList = res.data.list
  512. console.log(this.giftList)
  513. } else {
  514. uni.showToast({
  515. title: res.message || '获取赠品失败',
  516. icon: 'none'
  517. })
  518. }
  519. })
  520. },
  521. // 展开
  522. changeContent(item, index) {
  523. this.goodList.forEach(i => {
  524. if (i.open !== this.goodList[index].open) {
  525. i.open = false;
  526. }
  527. })
  528. item.open = !item.open
  529. },
  530. // 点击确认收货
  531. received(order_num) {
  532. uni.showModal({
  533. title: '提示',
  534. content: '确认收到货物?',
  535. success: (res) => {
  536. if (res.confirm) {
  537. uni.loading()
  538. _API_OrderReceiveGoods1({
  539. order_num
  540. }).then(() => {
  541. uni.startPullDownRefresh()
  542. })
  543. }
  544. }
  545. })
  546. },
  547. // 发货详情
  548. toGoodsInfo() {
  549. if (!this.data.track_status) {
  550. uni.showModal({
  551. content: "该订单尚未发货,暂不能查看详情",
  552. showCancel: false
  553. })
  554. return false
  555. }
  556. uni.navigateTo({
  557. url: "../lading_detail/index?data=" + encodeURIComponent(JSON.stringify(this.data))
  558. })
  559. },
  560. goDetail() {
  561. uni.navigateTo({
  562. url: '../my-order/order-detail?id=' + this.order_id
  563. })
  564. },
  565. toBelongUser() {
  566. this.belogShow = true
  567. console.log(this.belogShow)
  568. },
  569. toGiftDetail() {
  570. uni.navigateTo({
  571. url: '../gift-detail/index?order_no=' + this.order_num
  572. });
  573. },
  574. //跳转到物流信息页面
  575. toLogistics() {
  576. console.log(this.order_id, 'orderId')
  577. uni.navigateTo({
  578. url: '../logistics-info/logistics-info?order_no=' + this.order_num + '&order_id=' + this
  579. .order_id
  580. });
  581. },
  582. showRemark() {
  583. // 点击备注
  584. if (this.remark) {
  585. uni.showModal({
  586. title: '备注',
  587. content: this.remark,
  588. showCancel: false
  589. });
  590. } else {
  591. uni.toast('该订单无备注');
  592. }
  593. },
  594. caozuo() {
  595. uni.navigateTo({
  596. url: '../order-detail1-log/order-detail1-log?order_num=' + this.order_num
  597. })
  598. },
  599. toList() {
  600. // 点击查看商品详情
  601. uni.setStorageSync('lll', JSON.stringify(this.goodList));
  602. uni.navigateTo({
  603. url: '../order-detail1-list/order-detail1-list'
  604. });
  605. },
  606. payNow() {
  607. uni.navigateTo({
  608. url: `../pay-order/pay-order?order_num=${this.order_num}&money=${this.money}&order_id=${this.order_id}`
  609. });
  610. },
  611. // 再次购买
  612. buyAgain() {
  613. uni.showModal({
  614. title: '提示',
  615. content: '确定要再次购买?',
  616. success: res => {
  617. if (res.confirm) {
  618. uni.loading();
  619. _API_GoodList().then(({
  620. data: {
  621. list: list1
  622. }
  623. }) => {
  624. uni.loading();
  625. list1.forEach(e => (e.cart = Array(e.size.length).fill(0)));
  626. _API_OrderDetail1({
  627. order_num: this.order_num
  628. }).then(({
  629. data: {
  630. list: list2
  631. }
  632. }) => {
  633. this.$store.commit('cart/CLEAR');
  634. list1.forEach((item, index) => {
  635. const findRes = list2.find(e => e.attr_id ==
  636. item.attr_id);
  637. if (findRes) {
  638. findRes.size.forEach((size, sizeIndex) => {
  639. const goodItemSizeIndex =
  640. list1[index].size
  641. .findIndex(e => e ===
  642. size);
  643. list1[index].cart[
  644. goodItemSizeIndex] =
  645. findRes.num[sizeIndex];
  646. });
  647. item.choosed = true;
  648. item.sizeChoosed = Array(item.size.length)
  649. .fill(true);
  650. this.$store.commit('cart/ADD', item);
  651. uni.navigateTo({
  652. url: '../shop-car1/shop-car1'
  653. });
  654. }
  655. })
  656. });
  657. });
  658. }
  659. }
  660. });
  661. }
  662. }
  663. };
  664. </script>
  665. <style lang="scss" scoped>
  666. .giftYelleow {
  667. background: linear-gradient(90deg, #FFA600 0%, #FFBB00 100%);
  668. }
  669. .giftRed {
  670. background: linear-gradient(273deg, #FF7D2A 0%, #FF5500 100%);
  671. }
  672. .gift {
  673. // width: 702rpx;
  674. height: 104rpx;
  675. margin: 0 24rpx;
  676. border-radius: 16rpx;
  677. padding: 0 24rpx;
  678. display: flex;
  679. justify-content: space-between;
  680. align-items: center;
  681. .left {
  682. display: flex;
  683. align-items: center;
  684. .text {
  685. margin-left: 22rpx;
  686. font-size: 30rpx;
  687. font-weight: bold;
  688. color: #FFFFFF;
  689. }
  690. }
  691. }
  692. .popBox {
  693. border-radius: 40rpx 40rpx 0px 0px;
  694. padding: 30rpx 30rpx 0 30rpx;
  695. &_title {
  696. width: 100%;
  697. text-align: center;
  698. font-size: 36rpx;
  699. font-weight: bold;
  700. color: #333;
  701. margin-bottom: 20rpx;
  702. }
  703. &_btn {
  704. display: flex;
  705. justify-content: space-between;
  706. align-items: center;
  707. padding: 0 52rpx;
  708. height: 100rpx;
  709. border-top: 2rpx solid #EEEEEE;
  710. margin-top: 40rpx;
  711. .btn {
  712. width: 308rpx;
  713. height: 88rpx;
  714. text-align: center;
  715. line-height: 88rpx;
  716. font-size: 32rpx;
  717. font-weight: bold;
  718. border-radius: 44rpx;
  719. }
  720. .qu {
  721. border: 2rpx solid #FB231F;
  722. color: #FB231F;
  723. background-color: #FFF4F3;
  724. }
  725. .submit {
  726. color: #fff;
  727. background: linear-gradient(93deg, #FF232C 0%, #FF571B 100%);
  728. }
  729. }
  730. .uni-list {
  731. padding: 30rpx 0;
  732. width: 690rpx;
  733. font-size: 32rpx;
  734. font-weight: bold;
  735. color: #333;
  736. display: flex;
  737. justify-content: space-between;
  738. align-items: center;
  739. }
  740. .input {
  741. width: 690rpx;
  742. height: 224rpx;
  743. background: #F8F8F8;
  744. border-radius: 24rpx;
  745. padding: 30rpx;
  746. }
  747. .border {
  748. border-bottom: 2rpx solid #EEEEEE;
  749. }
  750. }
  751. .order-box {
  752. padding-bottom: 154rpx;
  753. }
  754. .imgfix {
  755. width: 100%;
  756. height: 258rpx;
  757. background-size: 100% 100%;
  758. padding: 36rpx 0 0 44rpx;
  759. .topFix {
  760. &_one {
  761. font-size: 36rpx;
  762. color: #fff;
  763. }
  764. &_two {
  765. font-size: 28rpx;
  766. color: #fff;
  767. margin-top: 10rpx;
  768. }
  769. }
  770. }
  771. .dizhi {
  772. width: 750rpx;
  773. background: #FFFFFF;
  774. border-radius: 24rpx;
  775. margin-top: -90rpx;
  776. padding: 30rpx 20rpx 30rpx 20rpx;
  777. &_flex {
  778. display: flex;
  779. align-items: center;
  780. }
  781. &_right {
  782. margin-left: 20rpx;
  783. .name,
  784. .phone {
  785. font-size: 32rpx;
  786. font-weight: bold;
  787. color: #333;
  788. margin-right: 20rpx;
  789. }
  790. .ellipsid {
  791. margin-top: 20rpx;
  792. width: 588rpx;
  793. color: #999999;
  794. font-size: 28rpx;
  795. word-wrap: break-word;
  796. }
  797. }
  798. .zuofei {
  799. margin-top: 30rpx;
  800. border-top: 2rpx solid #EEEEEE;
  801. padding-top: 20rpx;
  802. .title {
  803. width: 588rpx;
  804. margin-left: 20rpx;
  805. word-wrap: break-word;
  806. font-size: 32rpx;
  807. font-weight: bold;
  808. text {
  809. color: #FB231F;
  810. line-height: 44rpx;
  811. }
  812. }
  813. }
  814. }
  815. .coll-header {
  816. height: 196rpx;
  817. padding: 0 30rpx;
  818. display: flex;
  819. align-items: center;
  820. justify-content: space-between;
  821. .content {
  822. margin-left: 20rpx;
  823. height: 96rpx;
  824. display: flex;
  825. justify-content: space-between;
  826. flex-direction: column;
  827. .head-txt {
  828. font-size: 32rpx;
  829. font-weight: bold;
  830. color: #333;
  831. }
  832. .bottom {
  833. .num {
  834. color: #999;
  835. font-size: 28rpx;
  836. }
  837. }
  838. }
  839. .coll-right {
  840. display: flex;
  841. align-items: center;
  842. .space {
  843. color: #F76454;
  844. font-size: 32rpx;
  845. font-weight: bold;
  846. margin-right: 20rpx;
  847. }
  848. }
  849. }
  850. .box {
  851. padding: 0 30rpx;
  852. overflow: hidden;
  853. transition: all 0.3;
  854. // border-bottom: 1px solid #EEEEEE;
  855. }
  856. .box-circle {
  857. width: 36rpx;
  858. height: 36rpx;
  859. border-radius: 50%;
  860. background-color: #18BBB4;
  861. margin-left: 4rpx;
  862. margin-right: 19rpx;
  863. }
  864. .box-cont {
  865. color: #333;
  866. font-size: 28rpx;
  867. .item {
  868. margin-bottom: 30rpx;
  869. }
  870. .flex {
  871. display: flex;
  872. justify-content: space-between;
  873. align-items: center;
  874. font-size: 28rpx;
  875. color: 333;
  876. text {
  877. color: #999999;
  878. }
  879. }
  880. }
  881. .gift_item {
  882. // padding: 28rpx 0;
  883. margin-bottom: 1px;
  884. background-color: #FFFFFF;
  885. display: flex;
  886. justify-content: space-between;
  887. align-items: center;
  888. .gift_img {
  889. display: block;
  890. width: 140rpx;
  891. height: 140rpx;
  892. }
  893. .right {
  894. width: calc(100% - 140rpx);
  895. // height: 140rpx;
  896. padding: 0 50rpx 0 30rpx;
  897. display: flex;
  898. justify-content: space-between;
  899. flex-direction: column;
  900. .fixed {
  901. color: #181818;
  902. font-size: 32rpx;
  903. }
  904. .name {
  905. color: #333;
  906. font-size: 32rpx;
  907. font-weight: bold;
  908. margin-bottom: 20rpx;
  909. }
  910. .num {
  911. color: #999;
  912. font-size: 28rpx;
  913. }
  914. }
  915. }
  916. .botFlex {
  917. background-color: #fff;
  918. margin-top: 30rpx;
  919. padding: 20rpx 30rpx;
  920. .botzuofei {
  921. align-items: flex-start;
  922. .red {
  923. padding-top: 10rpx;
  924. width: 500rpx;
  925. font-size: 28rpx;
  926. line-height: 35rpx;
  927. color: #FB231F;
  928. // text-align: ri;
  929. display: flex;
  930. justify-content: flex-end;
  931. }
  932. }
  933. &_flex {
  934. display: flex;
  935. justify-content: space-between;
  936. align-items: center;
  937. .title {
  938. line-height: 56rpx;
  939. font-size: 28rpx;
  940. font-weight: bold;
  941. }
  942. .anniu {
  943. width: 72rpx;
  944. height: 42rpx;
  945. background: #FFF4F3;
  946. border-radius: 8rpx;
  947. text-align: center;
  948. line-height: 42rpx;
  949. font-size: 24rpx;
  950. color: #FB231F;
  951. }
  952. .right {
  953. font-size: 28rpx;
  954. font-weight: bold;
  955. color: #FB231F;
  956. }
  957. }
  958. }
  959. .submitPay {
  960. position: fixed;
  961. left: 0;
  962. bottom: 0;
  963. width: 100%;
  964. height: 98rpx;
  965. background-color: #fff;
  966. display: flex;
  967. justify-content: space-between;
  968. align-items: center;
  969. padding: 0 30rpx;
  970. border-top: 2rpx solid #EEEEEE;
  971. &_left {
  972. font-size: 28rpx;
  973. .total {
  974. font-size: 28rpx;
  975. color: #999999;
  976. margin-right: 5rpx;
  977. }
  978. .money {
  979. font-size: 32rpx;
  980. font-weight: bold;
  981. color: #FB231F;
  982. }
  983. }
  984. &_right {
  985. display: flex;
  986. align-items: center;
  987. .anniu {
  988. width: 160rpx;
  989. height: 64rpx;
  990. text-align: center;
  991. line-height: 64rpx;
  992. border-radius: 34rpx;
  993. margin-left: 20rpx;
  994. font-size: 28rpx;
  995. }
  996. .gray {
  997. background: #F8F8F8;
  998. border: 2rpx solid #CCCCCC;
  999. color: 333;
  1000. }
  1001. .red {
  1002. background: linear-gradient(141deg, #FF232C 0%, #FF571B 100%);
  1003. color: #fff;
  1004. }
  1005. }
  1006. }
  1007. .belogInfo {
  1008. width: calc(100% - 100rpx);
  1009. margin: 0 auto;
  1010. border-radius: 8rpx;
  1011. padding: 50rpx;
  1012. background-color: #ffffff;
  1013. display: flex;
  1014. flex-direction: column;
  1015. align-items: center;
  1016. margin-bottom: 30rpx;
  1017. .belong-avatar {
  1018. width: 120rpx;
  1019. height: 120rpx;
  1020. border-radius: 50%;
  1021. margin-bottom: 50rpx;
  1022. background-position: center;
  1023. background-size: 100%;
  1024. background-repeat: no-repeat;
  1025. background-color: #eeeeee;
  1026. }
  1027. .belong-nickname {
  1028. font-size: 28rpx;
  1029. text-align: center;
  1030. margin-bottom: 20rpx;
  1031. }
  1032. }
  1033. .order-detail1 {
  1034. // height: 100vh;
  1035. // overflow: auto;
  1036. // background: $app-base-bg;
  1037. // border-bottom: 100rpx solid transparent;
  1038. .address {
  1039. height: 120rpx;
  1040. background: #ffffff;
  1041. padding: 0 30rpx;
  1042. box-sizing: border-box;
  1043. @include flex();
  1044. justify-content: space-between;
  1045. .address-info {
  1046. flex: 1;
  1047. color: #181818;
  1048. font-size: 28rpx;
  1049. @include flex(column);
  1050. align-items: flex-start;
  1051. .name {
  1052. font-size: 32rpx;
  1053. font-weight: bold;
  1054. }
  1055. .phone {
  1056. margin-left: 30rpx;
  1057. }
  1058. .detail {
  1059. width: 654rpx;
  1060. color: #666666;
  1061. }
  1062. }
  1063. .choose {
  1064. @include flex();
  1065. justify-content: flex-start;
  1066. .add {
  1067. @include flex();
  1068. background: $app-base-color;
  1069. font-size: 40rpx;
  1070. color: #ffffff;
  1071. width: 60rpx;
  1072. height: 60rpx;
  1073. }
  1074. .text {
  1075. margin-left: 17rpx;
  1076. color: 32rpx;
  1077. }
  1078. }
  1079. .cuIcon-right {
  1080. font-size: 38rpx;
  1081. }
  1082. }
  1083. .border {
  1084. @include flex();
  1085. height: 6rpx;
  1086. background: #ffffff;
  1087. text {
  1088. flex: 1;
  1089. height: 100%;
  1090. background: #3283fa;
  1091. margin-left: 8rpx;
  1092. &.red {
  1093. background: #f56c6c;
  1094. }
  1095. }
  1096. }
  1097. .order_num {
  1098. height: 90rpx;
  1099. font-size: 28rpx;
  1100. margin-top: 14rpx;
  1101. font-weight: bold;
  1102. background: #ffffff;
  1103. }
  1104. .list {
  1105. .list-item {
  1106. height: 200rpx;
  1107. margin-top: 1rpx;
  1108. background: #ffffff;
  1109. box-sizing: border-box;
  1110. padding: 30rpx;
  1111. @include flex();
  1112. image {
  1113. width: 140rpx;
  1114. height: 140rpx;
  1115. border-radius: 6rpx;
  1116. }
  1117. .info {
  1118. flex: 1;
  1119. height: 100%;
  1120. font-size: 28rpx;
  1121. font-weight: bold;
  1122. margin-left: 30rpx;
  1123. @include flex(column);
  1124. align-items: flex-start;
  1125. justify-content: space-between;
  1126. }
  1127. }
  1128. }
  1129. .app-item {
  1130. font-size: 28rpx;
  1131. font-weight: bold;
  1132. &.top {
  1133. font-size: 32rpx;
  1134. font-weight: bold;
  1135. margin-top: 20rpx;
  1136. }
  1137. &.t {
  1138. margin-top: 20rpx;
  1139. }
  1140. &.pay {
  1141. justify-content: flex-end;
  1142. .paynow {
  1143. width: 156rpx;
  1144. height: 54rpx;
  1145. @include flex();
  1146. color: #ffffff;
  1147. margin-left: 28rpx;
  1148. font-weight: normal;
  1149. border-radius: 54rpx;
  1150. background: $app-base-color;
  1151. }
  1152. }
  1153. }
  1154. .submit {
  1155. @include flex();
  1156. position: fixed;
  1157. height: 100rpx;
  1158. bottom: 0;
  1159. font-size: 36rpx;
  1160. width: 100vw;
  1161. background: #ffffff;
  1162. color: #ffffff;
  1163. border-top: 1rpx solid #999999;
  1164. .left {
  1165. width: 190rpx;
  1166. height: 100%;
  1167. color: #666666;
  1168. @include flex();
  1169. }
  1170. .center {
  1171. flex: 1;
  1172. @include flex();
  1173. height: 100%;
  1174. background: #f7bc54;
  1175. }
  1176. .right {
  1177. height: 100%;
  1178. flex: 1;
  1179. @include flex();
  1180. background: #f76454;
  1181. }
  1182. }
  1183. }
  1184. </style>