index.vue 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711
  1. <template>
  2. <view :style="colorStyle">
  3. <view class="my-order">
  4. <view class="header bg-color">
  5. <view class="picTxt acea-row row-between-wrapper">
  6. <view class="text">
  7. <view class="name">{{ $t(`订单信息`) }}</view>
  8. <!-- <view>{{$t(`消费订单`)}}:{{ orderData.order_count || 0 }} {{$t(`总消费`)}}:{{$t(`¥`)}}{{ orderData.sum_price || 0 }}</view> -->
  9. </view>
  10. <view class="pictrue">
  11. <image src="../static/orderTime.png"></image>
  12. </view>
  13. </view>
  14. </view>
  15. <view class="nav acea-row row-around">
  16. <view class="item" :class="orderStatus == 0 ? 'on' : ''" @click="statusClick(0)">
  17. <view>{{ $t(`全部`) }}</view>
  18. <!-- <view class="num">{{ orderData.evaluated_count || 0 }}</view> -->
  19. </view>
  20. <view class="item" :class="orderStatus == 1 ? 'on' : ''" @click="statusClick(1)">
  21. <view>{{ $t(`待付款`) }}</view>
  22. <!-- <view class="num">{{ orderData.unpaid_count || 0 }}</view> -->
  23. </view>
  24. <view class="item" :class="orderStatus == 2 ? 'on' : ''" @click="statusClick(2)">
  25. <view>{{ $t(`待发货`) }}</view>
  26. <!-- <view class="num">{{ orderData.unshipped_count || 0 }}</view> -->
  27. </view>
  28. <view class="item" :class="orderStatus == 3 ? 'on' : ''" @click="statusClick(3)">
  29. <view>{{ $t(`待收货`) }}</view>
  30. <!-- <view class="num ">{{ orderData.received_count || 0 }}</view> -->
  31. </view>
  32. <!-- <view class="item" :class="orderStatus == 3 ? 'on' : ''" @click="statusClick(3)">
  33. <view>{{$t(`待评价`)}}</view>
  34. <view class="num">{{ orderData.evaluated_count || 0 }}</view>
  35. </view> -->
  36. <view class="item" :class="orderStatus == 4 ? 'on' : ''" @click="statusClick(4)">
  37. <view>{{ $t(`已完成`) }}</view>
  38. <!-- <view class="num">{{ orderData.complete_count || 0 }}</view> -->
  39. </view>
  40. </view>
  41. <view class="list">
  42. <view class="item" v-for="(item, index) in orderList" :key="index">
  43. <view @click="goOrderDetails(item.id)">
  44. <view class="title acea-row row-between-wrapper">
  45. <view class="acea-row row-middle">
  46. <text class="sign cart-color acea-row row-center-wrapper" v-if="item.type == 2">{{
  47. $t(`砍价`)
  48. }}</text>
  49. <text class="sign cart-color acea-row row-center-wrapper" v-else-if="item.type == 3">{{
  50. $t(`拼团`)
  51. }}</text>
  52. <text class="sign cart-color acea-row row-center-wrapper" v-else-if="item.type == 1">{{
  53. $t(`秒杀`)
  54. }}</text>
  55. <text class="sign cart-color acea-row row-center-wrapper" v-else-if="item.type == 4">{{
  56. $t(`预售`)
  57. }}</text>
  58. <view>{{ item.createTime }}</view>
  59. </view>
  60. <view class="font-color">{{ item.payFlagDisplayName }}</view>
  61. </view>
  62. <view class="item-info acea-row row-between row-top" v-for="(items, index) in item.orderGoods"
  63. :key="index">
  64. <view class="pictrue">
  65. <image :src="items.goodsImg"></image>
  66. </view>
  67. <view class="text row-between">
  68. <text class="name line2">{{ items.goodsName }}</text>
  69. <view class="money">
  70. <view v-if="items.goodsPrice">{{ $t(`¥`) }}{{ items.goodsPrice }}
  71. </view>
  72. <view v-else>{{ $t(`¥`) }}{{ items.salePrice - 0}}</view>
  73. <view>x{{ items.goodsNum }}</view>
  74. <!-- <view v-if="items.refund_num && item.payFlag != -2" class="return">
  75. {{ items.refund_num }}{{$t(`件退款中`)}}
  76. </view> -->
  77. </view>
  78. </view>
  79. </view>
  80. <view class="totalPrice">
  81. {{ $t(`共`) }}{{ item.orderGoods.length || 0 }}{{ $t(`件商品,总金额`) }}
  82. <text class="money">{{ $t(`¥`) }}{{ item.totalFee }}</text>
  83. </view>
  84. </view>
  85. <view class="bottom acea-row row-right row-middle">
  86. <view class="bnt cancelBnt" v-if="item.payFlag == 1 || item.payFlag == 9"
  87. @click="cancelOrder(index, item.id)">{{ $t(`取消订单`) }}</view>
  88. <view class="bnt cancelBnt" v-if="item.payFlag == 2 || item.payFlag == 3"
  89. @click="refundOrder(index, item.id)">{{ $t(`申请退款`) }}</view>
  90. <view class="bnt bg-color" v-if="item.payFlag == 1" @click="goPay(item.totalFee, item.id)">
  91. {{ $t(`立即支付`) }}</view>
  92. <!-- <view class="bnt bg-color" v-else-if="item.payFlag == 3"
  93. @click="goOrderDetails(item.order_id)">去评价</view> -->
  94. <!-- <view class="bnt bg-color"
  95. v-else-if="item.seckill_id < 1 && item.bargain_id < 1 && item.combination_id < 1 && item.payFlag == 4"
  96. @click="goOrderDetails(item.order_id)">
  97. 再次购买
  98. </view> -->
  99. <view class="bnt cancelBnt" v-if="item.payFlag == 5" @click="delOrder(item.order_id, index)">
  100. {{ $t(`删除订单`) }}</view>
  101. <!-- <view class="bnt bg-color" @click="goOrderDetails(item.order_id)">{{$t(`查看详情`)}}</view> -->
  102. </view>
  103. </view>
  104. </view>
  105. <view class="loadingicon acea-row row-center-wrapper" v-if="orderList.length > 0">
  106. <text class="loading iconfont icon-jiazai" :hidden="loading == false"></text>
  107. {{ loadTitle }}
  108. </view>
  109. <view v-if="orderList.length == 0">
  110. <emptyPage v-if="!loading" :title="$t(`暂无订单`)"></emptyPage>
  111. <view class="loadingicon acea-row row-center-wrapper">
  112. <text class="loading iconfont icon-jiazai" :hidden="loading == false"></text>
  113. </view>
  114. </view>
  115. </view>
  116. <!-- #ifndef MP -->
  117. <home></home>
  118. <!-- #endif -->
  119. <payment :payMode="payMode" :pay_close="pay_close" @onChangeFun="onChangeFun" :order_id="pay_order_id"
  120. :totalPrice="totalPrice"></payment>
  121. </view>
  122. </template>
  123. <script>
  124. import {
  125. getUserOrderPage,
  126. postUserOrderCancel,
  127. postUserOrderRefund
  128. } from '@/api/home.js';
  129. import {
  130. getOrderList,
  131. orderData,
  132. orderCancel,
  133. orderDel,
  134. orderPay
  135. } from '@/api/order.js';
  136. import {
  137. getUserInfo
  138. } from '@/api/user.js';
  139. import {
  140. openOrderSubscribe
  141. } from '@/utils/SubscribeMessage.js';
  142. import home from '@/components/home';
  143. import payment from '@/components/payment';
  144. import {
  145. toLogin
  146. } from '@/libs/login.js';
  147. import {
  148. mapGetters
  149. } from 'vuex';
  150. // #ifdef MP
  151. import authorize from '@/components/Authorize';
  152. // #endif
  153. import emptyPage from '@/components/emptyPage.vue';
  154. import colors from '@/mixins/color.js';
  155. export default {
  156. components: {
  157. payment,
  158. home,
  159. emptyPage,
  160. // #ifdef MP
  161. authorize
  162. // #endif
  163. },
  164. mixins: [colors],
  165. data() {
  166. return {
  167. loading: false, //是否加载中
  168. loadend: false, //是否加载完毕
  169. loadTitle: this.$t(`加载更多`), //提示语
  170. orderList: [], //订单数组
  171. orderData: {}, //订单详细统计
  172. orderStatus: 0, //订单状态
  173. page: 1,
  174. limit: 20,
  175. payMode: [{
  176. name: this.$t(`微信支付`),
  177. icon: 'icon-weixinzhifu',
  178. value: 'weixin',
  179. title: this.$t(`使用微信快捷支付`),
  180. payStatus: true
  181. },
  182. // {
  183. // name: this.$t(`支付宝支付`),
  184. // icon: 'icon-zhifubao',
  185. // value: 'alipay',
  186. // title: this.$t(`使用支付宝支付`),
  187. // payStatus: true
  188. // },
  189. // {
  190. // name: this.$t(`余额支付`),
  191. // icon: 'icon-yuezhifu',
  192. // value: 'yue',
  193. // title: this.$t(`可用余额`),
  194. // number: 0,
  195. // payStatus: true
  196. // }, {
  197. // "name": this.$t(`好友代付`),
  198. // "icon": "icon-haoyoudaizhifu",
  199. // value: 'friend',
  200. // title: this.$t(`找微信好友支付`),
  201. // payStatus: 1,
  202. // }
  203. ],
  204. pay_close: false,
  205. pay_order_id: '',
  206. totalPrice: '0',
  207. isAuto: false, //没有授权的不会自动授权
  208. isShowAuth: false //是否隐藏授权
  209. };
  210. },
  211. computed: mapGetters(['isLogin']),
  212. onShow() {
  213. if (this.isLogin) {
  214. this.page = 1;
  215. this.orderList = []
  216. this.loadend = false;
  217. this.onLoadFun();
  218. this.getOrderList();
  219. } else {
  220. toLogin();
  221. }
  222. },
  223. methods: {
  224. onLoadFun() {
  225. this.getOrderData();
  226. this.getUserInfo();
  227. },
  228. // 授权关闭
  229. authColse: function (e) {
  230. this.isShowAuth = e;
  231. },
  232. /**
  233. * 事件回调
  234. *
  235. */
  236. onChangeFun: function (e) {
  237. let opt = e;
  238. let action = opt.action || null;
  239. let value = opt.value != undefined ? opt.value : null;
  240. action && this[action] && this[action](value);
  241. },
  242. /**
  243. * 获取用户信息
  244. *
  245. */
  246. getUserInfo: function () {
  247. let that = this;
  248. getUserInfo().then(res => {
  249. that.payMode[2].number = res.data.now_money;
  250. that.$set(that, 'payMode', that.payMode);
  251. });
  252. },
  253. /**
  254. * 关闭支付组件
  255. *
  256. */
  257. payClose: function () {
  258. this.pay_close = false;
  259. },
  260. /**
  261. * 生命周期函数--监听页面加载
  262. */
  263. onLoad: function (options) {
  264. if (options.status) this.orderStatus = options.status;
  265. },
  266. /**
  267. * 获取订单统计数据
  268. *
  269. */
  270. getOrderData: function () {
  271. let that = this;
  272. // orderData().then(res => {
  273. // that.$set(that, 'orderData', res.data);
  274. // that.payMode.map(item => {
  275. // if (item.value == 'weixin') {
  276. // item.payStatus = res.data.pay_weixin_open ? true : false;
  277. // }
  278. // if (item.value == 'alipay') {
  279. // item.payStatus = res.data.ali_pay_status ? true : false;
  280. // }
  281. // if (item.value == 'yue') {
  282. // item.payStatus = res.data.yue_pay_status == 1 ? true : false;
  283. // }
  284. // if (item.value == 'friend') {
  285. // item.payStatus = res.data.friend_pay_status == 1 ? true : false;
  286. // }
  287. // });
  288. // //#ifdef MP
  289. // this.payMode[1].payStatus = false;
  290. // //#endif
  291. // });
  292. },
  293. /**
  294. * 取消订单
  295. *
  296. */
  297. cancelOrder: function (index, order_id) {
  298. let that = this;
  299. if (!order_id)
  300. return that.$util.Tips({
  301. title: that.$t(`缺少订单号无法取消订单`)
  302. });
  303. uni.showModal({
  304. title: that.$t(`删除订单`),
  305. content: that.$t(`确定删除该订单`),
  306. success: function (res) {
  307. if (res.confirm) {
  308. postUserOrderCancel({ id: order_id })
  309. .then(res => {
  310. return that.$util.Tips({
  311. title: res.msg,
  312. icon: 'success'
  313. },
  314. function () {
  315. // that.orderList.splice(index, 1);
  316. // that.$set(that, 'orderList', that.orderList);
  317. // that.$set(that.orderData, 'unpaid_count', that.orderData.unpaid_count - 1);
  318. // that.getOrderData();
  319. this.getOrderList()
  320. }
  321. );
  322. })
  323. .catch(err => {
  324. return that.$util.Tips({
  325. title: err
  326. });
  327. });
  328. } else if (res.cancel) {
  329. return that.$util.Tips({
  330. title: that.$t(`已取消`)
  331. });
  332. }
  333. }
  334. });
  335. },
  336. refundOrder: function (index, order_id) {
  337. let that = this;
  338. if (!order_id)
  339. return that.$util.Tips({
  340. title: that.$t(`缺少订单号无法申请退款订单`)
  341. });
  342. uni.showModal({
  343. title: that.$t(`删除订单`),
  344. content: that.$t(`确定删除该订单`),
  345. success: function (res) {
  346. if (res.confirm) {
  347. postUserOrderRefund({ id: order_id })
  348. .then(res => {
  349. return that.$util.Tips({
  350. title: res.msg,
  351. icon: 'success'
  352. },
  353. function () {
  354. // that.orderList.splice(index, 1);
  355. // that.$set(that, 'orderList', that.orderList);
  356. // that.$set(that.orderData, 'unpaid_count', that.orderData.unpaid_count - 1);
  357. // that.getOrderData();
  358. this.getOrderList()
  359. }
  360. );
  361. })
  362. .catch(err => {
  363. return that.$util.Tips({
  364. title: err
  365. });
  366. });
  367. } else if (res.cancel) {
  368. return that.$util.Tips({
  369. title: that.$t(`已取消`)
  370. });
  371. }
  372. }
  373. });
  374. },
  375. /**
  376. * 打开支付组件
  377. *
  378. */
  379. goPay: function (pay_price, order_id) {
  380. this.$set(this, 'pay_close', true);
  381. this.$set(this, 'pay_order_id', order_id);
  382. this.$set(this, 'totalPrice', pay_price);
  383. },
  384. /**
  385. * 支付成功回调
  386. *
  387. */
  388. pay_complete: function () {
  389. this.loadend = false;
  390. this.page = 1;
  391. this.$set(this, 'orderList', []);
  392. this.pay_close = false;
  393. uni.navigateTo({
  394. url: '/pages/goods/order_pay_status/index?order_id=' + this.pay_order_id +
  395. '&msg=' + this.$t(`支付成功`) + '&type=3&totalPrice=' + this.totalPrice
  396. })
  397. this.pay_order_id = '';
  398. this.getOrderData();
  399. this.getOrderList();
  400. },
  401. /**
  402. * 支付失败回调
  403. *
  404. */
  405. pay_fail: function () {
  406. this.pay_close = false;
  407. this.pay_order_id = '';
  408. },
  409. /**
  410. * 去订单详情
  411. */
  412. goOrderDetails: function (order_id) {
  413. let that = this;
  414. if (!order_id)
  415. return that.$util.Tips({
  416. title: that.$t(`缺少订单号无法查看订单详情`)
  417. });
  418. // #ifdef MP
  419. uni.showLoading({
  420. title: that.$t(`正在加载中`)
  421. });
  422. openOrderSubscribe()
  423. .then(() => {
  424. uni.hideLoading();
  425. uni.navigateTo({
  426. url: '/pages/goods/order_details/index?order_id=' + order_id
  427. })
  428. })
  429. .catch(err => {
  430. uni.hideLoading();
  431. });
  432. // #endif
  433. // #ifndef MP
  434. uni.navigateTo({
  435. url: '/pages/goods/order_details/index?order_id=' + order_id
  436. });
  437. // #endif
  438. },
  439. /**
  440. * 切换类型
  441. */
  442. statusClick: function (status) {
  443. if (status == this.orderStatus) return;
  444. this.orderStatus = status;
  445. this.loadend = false;
  446. this.page = 1;
  447. this.$set(this, 'orderList', []);
  448. this.getOrderList();
  449. },
  450. /**
  451. * 获取订单列表
  452. */
  453. getOrderList: function () {
  454. let that = this;
  455. if (that.loadend) return;
  456. if (that.loading) return;
  457. that.loading = true;
  458. that.loadTitle = that.$t(`加载更多`);
  459. getUserOrderPage({
  460. userId: this.$store.state.app.uid,
  461. current: that.page,
  462. size: that.limit,
  463. payFlag: this.orderStatus
  464. })
  465. .then(res => {
  466. let list = res.data || [];
  467. let loadend = list.length < that.limit;
  468. that.orderList = that.$util.SplitArray(list, that.orderList);
  469. that.$set(that, 'orderList', that.orderList);
  470. that.loadend = loadend;
  471. that.loading = false;
  472. that.loadTitle = loadend ? that.$t(`没有更多内容啦~`) : that.$t(`加载更多`);
  473. that.page = that.page + 1;
  474. })
  475. .catch(err => {
  476. that.loading = false;
  477. that.loadTitle = that.$t(`加载更多`);
  478. });
  479. },
  480. /**
  481. * 删除订单
  482. */
  483. delOrder: function (order_id, index) {
  484. let that = this;
  485. uni.showModal({
  486. title: that.$t(`删除订单`),
  487. content: that.$t(`确定删除该订单`),
  488. success: function (res) {
  489. if (res.confirm) {
  490. orderDel(order_id)
  491. .then(res => {
  492. that.orderList.splice(index, 1);
  493. that.$set(that, 'orderList', that.orderList);
  494. that.$set(that.orderData, 'unpaid_count', that.orderData
  495. .unpaid_count - 1);
  496. that.getOrderData();
  497. return that.$util.Tips({
  498. title: that.$t(`删除成功`),
  499. icon: 'success'
  500. });
  501. })
  502. .catch(err => {
  503. return that.$util.Tips({
  504. title: err
  505. });
  506. });
  507. } else if (res.cancel) {
  508. return that.$util.Tips({
  509. title: that.$t(`已取消`)
  510. });
  511. }
  512. }
  513. });
  514. }
  515. },
  516. onReachBottom: function () {
  517. this.getOrderList();
  518. }
  519. };
  520. </script>
  521. <style scoped lang="scss">
  522. .my-order .header {
  523. height: 220rpx;
  524. padding: 0 30rpx;
  525. }
  526. .my-order .header .picTxt {
  527. height: 160rpx;
  528. }
  529. .my-order .header .picTxt .text {
  530. color: rgba(255, 255, 255, 0.8);
  531. font-size: 26rpx;
  532. font-family: 'Guildford Pro';
  533. }
  534. .my-order .header .picTxt .text .name {
  535. font-size: 34rpx;
  536. font-weight: bold;
  537. color: #fff;
  538. margin-bottom: 20rpx;
  539. }
  540. .my-order .header .picTxt .pictrue {
  541. width: 122rpx;
  542. height: 109rpx;
  543. }
  544. .my-order .header .picTxt .pictrue image {
  545. width: 100%;
  546. height: 100%;
  547. }
  548. .my-order .nav {
  549. background-color: #fff;
  550. width: 690rpx;
  551. // height: 140rpx;
  552. border-radius: 6rpx;
  553. margin: -73rpx auto 0 auto;
  554. }
  555. .my-order .nav .item {
  556. text-align: center;
  557. font-size: 26rpx;
  558. color: #282828;
  559. padding: 27rpx 0;
  560. border-bottom: 5rpx solid transparent;
  561. }
  562. .my-order .nav .item.on {
  563. /* #ifdef H5 || MP */
  564. font-weight: bold;
  565. /* #endif */
  566. /* #ifdef APP-PLUS */
  567. color: #000;
  568. /* #endif */
  569. border-color: var(--view-theme);
  570. }
  571. .my-order .nav .item .num {
  572. margin-top: 18rpx;
  573. }
  574. .my-order .list {
  575. width: 690rpx;
  576. margin: 14rpx auto 0 auto;
  577. }
  578. .my-order .list .item {
  579. background-color: #fff;
  580. border-radius: 6rpx;
  581. margin-bottom: 14rpx;
  582. }
  583. .my-order .list .item .title {
  584. height: 84rpx;
  585. padding: 0 30rpx;
  586. border-bottom: 1rpx solid #eee;
  587. font-size: 28rpx;
  588. color: #282828;
  589. }
  590. .my-order .list .item .title .sign {
  591. font-size: 24rpx;
  592. padding: 0 7rpx;
  593. height: 36rpx;
  594. margin-right: 15rpx;
  595. }
  596. .my-order .list .item .item-info {
  597. padding: 0 30rpx;
  598. margin-top: 22rpx;
  599. }
  600. .my-order .list .item .item-info .pictrue {
  601. width: 120rpx;
  602. height: 120rpx;
  603. }
  604. .my-order .list .item .item-info .pictrue image {
  605. width: 100%;
  606. height: 100%;
  607. border-radius: 6rpx;
  608. }
  609. .my-order .list .item .item-info .text {
  610. width: 486rpx;
  611. font-size: 28rpx;
  612. color: #999;
  613. margin-top: 6rpx;
  614. display: flex;
  615. }
  616. .my-order .list .item .item-info .text .name {
  617. width: 306rpx;
  618. color: #282828;
  619. height: 78rpx;
  620. }
  621. .my-order .list .item .item-info .text .money {
  622. text-align: right;
  623. flex: 1;
  624. }
  625. .my-order .list .item .totalPrice {
  626. font-size: 26rpx;
  627. color: #282828;
  628. text-align: right;
  629. margin: 27rpx 0 0 30rpx;
  630. padding: 0 30rpx 30rpx 0;
  631. border-bottom: 1rpx solid #eee;
  632. }
  633. .my-order .list .item .totalPrice .money {
  634. font-size: 28rpx;
  635. font-weight: bold;
  636. color: var(--view-priceColor);
  637. }
  638. .my-order .list .item .bottom {
  639. height: 107rpx;
  640. padding: 0 30rpx;
  641. }
  642. .my-order .list .item .bottom .bnt {
  643. width: 176rpx;
  644. height: 60rpx;
  645. text-align: center;
  646. line-height: 60rpx;
  647. color: #fff;
  648. border-radius: 50rpx;
  649. font-size: 27rpx;
  650. }
  651. .my-order .list .item .bottom .bnt.cancelBnt {
  652. border: 1rpx solid #ddd;
  653. color: #aaa;
  654. }
  655. .my-order .list .item .bottom .bnt~.bnt {
  656. margin-left: 17rpx;
  657. }
  658. .noCart {
  659. margin-top: 171rpx;
  660. padding-top: 0.1rpx;
  661. }
  662. .noCart .pictrue {
  663. width: 414rpx;
  664. height: 336rpx;
  665. margin: 78rpx auto 56rpx auto;
  666. }
  667. .noCart .pictrue image {
  668. width: 100%;
  669. height: 100%;
  670. }
  671. .my-order .list .item .item-info .text .money .return {
  672. // color: var(--view-priceColor);
  673. margin-top: 10rpx;
  674. font-size: 24rpx;
  675. }
  676. </style>