index.vue 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954
  1. <template>
  2. <view :style="colorStyle">
  3. <view class="my-order">
  4. <view class="nav acea-row row-around">
  5. <view class="item" :class="orderStatus == 0 ? 'on' : ''" @click="statusClick(0)">
  6. <view>全部</view>
  7. <!-- <view class="num">{{ orderData.evaluated_count || 0 }}</view> -->
  8. </view>
  9. <view class="item" :class="orderStatus == 1 ? 'on' : ''" @click="statusClick(1)">
  10. <view>待发货</view>
  11. <!-- <view class="num">{{ orderData.unpaid_count || 0 }}</view> -->
  12. </view>
  13. <view class="item" :class="orderStatus == 2 ? 'on' : ''" @click="statusClick(2)">
  14. <view>已发货</view>
  15. <!-- <view class="num">{{ orderData.unshipped_count || 0 }}</view> -->
  16. </view>
  17. <view class="item" :class="orderStatus == 3 ? 'on' : ''" @click="statusClick(3)">
  18. <view>已完成</view>
  19. <!-- <view class="num ">{{ orderData.received_count || 0 }}</view> -->
  20. </view>
  21. </view>
  22. <view class="list" @click="goOrderDetails()">
  23. <view class="myclient_list">
  24. <view class="myclient_list_name">
  25. <view class="nl">
  26. 重磅集合!花王系列、宝洁洗衣液等好物全重磅集合!
  27. </view>
  28. <view class="status">
  29. 发布中
  30. </view>
  31. </view>
  32. <view class="myclient_list_content">
  33. <view class="phone">
  34. <image referrerpolicy="no-referrer" src="http://www.gzzzyd.com/groupon/home_slices/日期@2x.png" />
  35. <text>
  36. 团购日期:04/26 10:15 至 04/26
  37. </text>
  38. </view>
  39. <view class="time">
  40. <image referrerpolicy="no-referrer" src="http://www.gzzzyd.com/groupon/home_slices/出厂编号-线@2x.png" />
  41. <text>
  42. 履约编号:02023042616510560470
  43. </text>
  44. </view>
  45. </view>
  46. </view>
  47. <view class="all-products-body">
  48. <view class="all-products-item" @click="addGoodPopupShow = true">
  49. <image
  50. src="https://lanhu-dds-backend.oss-cn-beijing.aliyuncs.com/merge_image/imgs/38e693de009644aa9de2dc6d6f7e747a_mergeImage.png"
  51. mode="scaleToFill" />
  52. <view class="all-products-item-content">
  53. <view class="all-products-item-content-t">
  54. 宫中秘策(GOONGBE)进口儿童韩国进口儿童防晒霜80g
  55. </view>
  56. <view class="all-products-item-content-b">
  57. <view style="display:flex;">
  58. <text class="red"> 共2件</text>
  59. </view>
  60. </view>
  61. </view>
  62. </view>
  63. <view class="all-products-item" @click="addGoodPopupShow = true">
  64. <image
  65. src="https://lanhu-dds-backend.oss-cn-beijing.aliyuncs.com/merge_image/imgs/38e693de009644aa9de2dc6d6f7e747a_mergeImage.png"
  66. mode="scaleToFill" />
  67. <view class="all-products-item-content">
  68. <view class="all-products-item-content-t">
  69. 宫中秘策(GOONGBE)进口儿童韩国进口儿童防晒霜80g
  70. </view>
  71. <view class="all-products-item-content-b">
  72. <view style="display:flex;">
  73. <text class="red"> 共2件</text>
  74. </view>
  75. </view>
  76. </view>
  77. </view>
  78. </view>
  79. <view class="self-pickup-point">
  80. <view class="a-b">
  81. <view class="a-b1">
  82. 自提点:
  83. <text class="red">
  84. 上海市浦东新区秀浦路29号三层303室
  85. </text>
  86. </view>
  87. <view class="a-b2">
  88. </view>
  89. </view>
  90. </view>
  91. <view class="op-area">
  92. <button class="action-btn" @click="goPay()">确认核销</button>
  93. </view>
  94. </view>
  95. <view class="list" @click="goOrderDetails()">
  96. <view class="myclient_list">
  97. <view class="myclient_list_name">
  98. <view class="nl">
  99. 重磅集合!花王系列、宝洁洗衣液等好物全重磅集合!
  100. </view>
  101. <view class="status success">
  102. 已发货
  103. </view>
  104. </view>
  105. <view class="myclient_list_content">
  106. <view class="phone">
  107. <image referrerpolicy="no-referrer" src="http://www.gzzzyd.com/groupon/home_slices/日期@2x.png" />
  108. <text>
  109. 团购日期:04/26 10:15 至 04/26
  110. </text>
  111. </view>
  112. <view class="time">
  113. <image referrerpolicy="no-referrer" src="http://www.gzzzyd.com/groupon/home_slices/出厂编号-线@2x.png" />
  114. <text>
  115. 履约编号:02023042616510560470
  116. </text>
  117. </view>
  118. </view>
  119. </view>
  120. <view class="all-products-body">
  121. <view class="all-products-item" @click="addGoodPopupShow = true">
  122. <image
  123. src="https://lanhu-dds-backend.oss-cn-beijing.aliyuncs.com/merge_image/imgs/38e693de009644aa9de2dc6d6f7e747a_mergeImage.png"
  124. mode="scaleToFill" />
  125. <view class="all-products-item-content">
  126. <view class="all-products-item-content-t">
  127. 宫中秘策(GOONGBE)进口儿童韩国进口儿童防晒霜80g
  128. </view>
  129. <view class="all-products-item-content-b">
  130. <view style="display:flex;">
  131. <text class="red"> 共2件</text>
  132. </view>
  133. </view>
  134. </view>
  135. </view>
  136. <view class="all-products-item" @click="addGoodPopupShow = true">
  137. <image
  138. src="https://lanhu-dds-backend.oss-cn-beijing.aliyuncs.com/merge_image/imgs/38e693de009644aa9de2dc6d6f7e747a_mergeImage.png"
  139. mode="scaleToFill" />
  140. <view class="all-products-item-content">
  141. <view class="all-products-item-content-t">
  142. 宫中秘策(GOONGBE)进口儿童韩国进口儿童防晒霜80g
  143. </view>
  144. <view class="all-products-item-content-b">
  145. <view style="display:flex;">
  146. <text class="red"> 共2件</text>
  147. </view>
  148. </view>
  149. </view>
  150. </view>
  151. </view>
  152. <view class="self-pickup-point">
  153. <view class="a-b">
  154. <view class="a-b1">
  155. 自提点:
  156. <text class="red">
  157. 上海市浦东新区秀浦路29号三层303室
  158. </text>
  159. </view>
  160. <view class="a-b2">
  161. </view>
  162. </view>
  163. </view>
  164. <view class="op-area">
  165. </view>
  166. </view>
  167. <view class="loadingicon acea-row row-center-wrapper" v-if="orderList.length > 0">
  168. <text class="loading iconfont icon-jiazai" :hidden="loading == false"></text>
  169. {{ loadTitle }}
  170. </view>
  171. <view v-if="orderList.length == 0">
  172. <emptyPage v-if="!loading" :title="$t(`暂无订单`)"></emptyPage>
  173. <view class="loadingicon acea-row row-center-wrapper">
  174. <text class="loading iconfont icon-jiazai" :hidden="loading == false"></text>
  175. </view>
  176. </view>
  177. </view>
  178. <view class="publish">
  179. <button>发布团购</button>
  180. </view>
  181. <!-- #ifndef MP -->
  182. <home></home>
  183. <!-- #endif -->
  184. <payment :payMode="payMode" :pay_close="pay_close" @onChangeFun="onChangeFun" :order_id="pay_order_id"
  185. :totalPrice="totalPrice"></payment>
  186. </view>
  187. </template>
  188. <script>
  189. import {
  190. getUserOrderPage,
  191. postUserOrderCancel,
  192. postUserOrderRefund
  193. } from '@/api/home.js';
  194. import {
  195. getOrderList,
  196. orderData,
  197. orderCancel,
  198. orderDel,
  199. orderPay
  200. } from '@/api/order.js';
  201. import {
  202. getUserInfo
  203. } from '@/api/user.js';
  204. import {
  205. openOrderSubscribe
  206. } from '@/utils/SubscribeMessage.js';
  207. import home from '@/components/home';
  208. import payment from '@/components/payment';
  209. import {
  210. toLogin
  211. } from '@/libs/login.js';
  212. import {
  213. mapGetters
  214. } from 'vuex';
  215. // #ifdef MP
  216. import authorize from '@/components/Authorize';
  217. // #endif
  218. import emptyPage from '@/components/emptyPage.vue';
  219. import colors from '@/mixins/color.js';
  220. export default {
  221. components: {
  222. payment,
  223. home,
  224. emptyPage,
  225. // #ifdef MP
  226. authorize
  227. // #endif
  228. },
  229. mixins: [colors],
  230. data () {
  231. return {
  232. loading: false, //是否加载中
  233. loadend: false, //是否加载完毕
  234. loadTitle: this.$t(`加载更多`), //提示语
  235. orderList: [], //订单数组
  236. orderData: {}, //订单详细统计
  237. orderStatus: 0, //订单状态
  238. page: 1,
  239. limit: 20,
  240. payMode: [{
  241. name: this.$t(`微信支付`),
  242. icon: 'icon-weixinzhifu',
  243. value: 'weixin',
  244. title: this.$t(`使用微信快捷支付`),
  245. payStatus: true
  246. },
  247. // {
  248. // name: this.$t(`支付宝支付`),
  249. // icon: 'icon-zhifubao',
  250. // value: 'alipay',
  251. // title: this.$t(`使用支付宝支付`),
  252. // payStatus: true
  253. // },
  254. // {
  255. // name: this.$t(`余额支付`),
  256. // icon: 'icon-yuezhifu',
  257. // value: 'yue',
  258. // title: this.$t(`可用余额`),
  259. // number: 0,
  260. // payStatus: true
  261. // }, {
  262. // "name": this.$t(`好友代付`),
  263. // "icon": "icon-haoyoudaizhifu",
  264. // value: 'friend',
  265. // title: this.$t(`找微信好友支付`),
  266. // payStatus: 1,
  267. // }
  268. ],
  269. pay_close: false,
  270. pay_order_id: '',
  271. pay_orderId: '',
  272. totalPrice: '0',
  273. isAuto: false, //没有授权的不会自动授权
  274. isShowAuth: false //是否隐藏授权
  275. };
  276. },
  277. computed: mapGetters(['isLogin']),
  278. onShow () {
  279. if (this.isLogin) {
  280. this.page = 1;
  281. this.orderList = []
  282. this.loadend = false;
  283. this.onLoadFun();
  284. this.getOrderList();
  285. } else {
  286. toLogin();
  287. }
  288. },
  289. methods: {
  290. onLoadFun () {
  291. this.getOrderData();
  292. this.getUserInfo();
  293. },
  294. // 授权关闭
  295. authColse: function (e) {
  296. this.isShowAuth = e;
  297. },
  298. /**
  299. * 事件回调
  300. *
  301. */
  302. onChangeFun: function (e) {
  303. let opt = e;
  304. let action = opt.action || null;
  305. let value = opt.value != undefined ? opt.value : null;
  306. action && this[action] && this[action](value);
  307. },
  308. /**
  309. * 获取用户信息
  310. *
  311. */
  312. getUserInfo: function () {
  313. let that = this;
  314. getUserInfo().then(res => {
  315. that.payMode[2].number = res.data.now_money;
  316. that.$set(that, 'payMode', that.payMode);
  317. });
  318. },
  319. /**
  320. * 关闭支付组件
  321. *
  322. */
  323. payClose: function () {
  324. this.pay_close = false;
  325. },
  326. /**
  327. * 生命周期函数--监听页面加载
  328. */
  329. onLoad: function (options) {
  330. if (options.status) this.orderStatus = options.status;
  331. },
  332. /**
  333. * 获取订单统计数据
  334. *
  335. */
  336. getOrderData: function () {
  337. let that = this;
  338. // orderData().then(res => {
  339. // that.$set(that, 'orderData', res.data);
  340. // that.payMode.map(item => {
  341. // if (item.value == 'weixin') {
  342. // item.payStatus = res.data.pay_weixin_open ? true : false;
  343. // }
  344. // if (item.value == 'alipay') {
  345. // item.payStatus = res.data.ali_pay_status ? true : false;
  346. // }
  347. // if (item.value == 'yue') {
  348. // item.payStatus = res.data.yue_pay_status == 1 ? true : false;
  349. // }
  350. // if (item.value == 'friend') {
  351. // item.payStatus = res.data.friend_pay_status == 1 ? true : false;
  352. // }
  353. // });
  354. // //#ifdef MP
  355. // this.payMode[1].payStatus = false;
  356. // //#endif
  357. // });
  358. },
  359. /**
  360. * 取消订单
  361. *
  362. */
  363. cancelOrder: function (index, order_id) {
  364. let that = this;
  365. if (!order_id)
  366. return that.$util.Tips({
  367. title: that.$t(`缺少订单号无法取消订单`)
  368. });
  369. uni.showModal({
  370. title: that.$t(`取消订单`),
  371. content: that.$t(`确定取消该订单`),
  372. success: function (res) {
  373. if (res.confirm) {
  374. postUserOrderCancel({ id: order_id })
  375. .then(res => {
  376. return that.$util.Tips({
  377. title: res.msg,
  378. icon: 'success'
  379. },
  380. function () {
  381. that.orderList.splice(index, 1);
  382. that.$set(that, 'orderList', that.orderList);
  383. // that.$set(that.orderData, 'unpaid_count', that.orderData.unpaid_count - 1);
  384. // that.getOrderList()
  385. }
  386. );
  387. })
  388. .catch(err => {
  389. return that.$util.Tips({
  390. title: err
  391. });
  392. });
  393. } else if (res.cancel) {
  394. return that.$util.Tips({
  395. title: that.$t(`已取消`)
  396. });
  397. }
  398. }
  399. });
  400. },
  401. refundOrder: function (index, order_id) {
  402. let that = this;
  403. if (!order_id)
  404. return that.$util.Tips({
  405. title: that.$t(`缺少订单号无法申请退款订单`)
  406. });
  407. uni.showModal({
  408. title: that.$t(`申请退款`),
  409. content: that.$t(`确定申请退款该订单`),
  410. success: function (res) {
  411. if (res.confirm) {
  412. postUserOrderRefund({ id: order_id })
  413. .then(res => {
  414. return that.$util.Tips({
  415. title: res.msg,
  416. icon: 'success'
  417. },
  418. function () {
  419. that.orderList.splice(index, 1);
  420. that.$set(that, 'orderList', that.orderList);
  421. // that.$set(that.orderData, 'unpaid_count', that.orderData.unpaid_count - 1);
  422. // that.getOrderData();
  423. // this.getOrderList()
  424. }
  425. );
  426. })
  427. .catch(err => {
  428. return that.$util.Tips({
  429. title: err
  430. });
  431. });
  432. } else if (res.cancel) {
  433. return that.$util.Tips({
  434. title: that.$t(`已取消`)
  435. });
  436. }
  437. }
  438. });
  439. },
  440. /**
  441. * 打开支付组件
  442. *
  443. */
  444. goPay: function (item, order_no) {
  445. this.$set(this, 'pay_close', true);
  446. this.$set(this, 'pay_order_id', order_no);
  447. this.$set(this, 'pay_orderId', item.id);
  448. this.$set(this, 'totalPrice', item.totalFee);
  449. },
  450. /**
  451. * 支付成功回调
  452. *
  453. */
  454. pay_complete: function () {
  455. this.loadend = false;
  456. this.page = 1;
  457. this.$set(this, 'orderList', []);
  458. this.pay_close = false;
  459. uni.navigateTo({
  460. url: '/pages/goods/order_pay_status/index?order_id=' + this.pay_orderId +
  461. '&msg=' + this.$t(`支付成功`) + '&type=3&totalPrice=' + this.totalPrice
  462. })
  463. this.pay_order_id = '';
  464. this.pay_orderId = '';
  465. this.getOrderData();
  466. this.getOrderList();
  467. },
  468. /**
  469. * 支付失败回调
  470. *
  471. */
  472. pay_fail: function () {
  473. this.pay_close = false;
  474. this.pay_order_id = '';
  475. },
  476. /**
  477. * 去订单详情
  478. */
  479. goOrderDetails: function (order_id, order) {
  480. uni.navigateTo({
  481. url: '/pages/groupbuying/groupbuying_order_details/index?order_id= + order_id'
  482. });
  483. // let that = this;
  484. // if (!order_id)
  485. // return that.$util.Tips({
  486. // title: that.$t(`缺少订单号无法查看订单详情`)
  487. // });
  488. // uni.showLoading({
  489. // title: that.$t(`正在加载中`)
  490. // });
  491. // openOrderSubscribe()
  492. // .then(() => {
  493. // uni.hideLoading();
  494. // uni.navigateTo({
  495. // url: '/pages/goods/order_details/index?order_id=' + order_id
  496. // // +'&order='+JSON.stringify(order)
  497. // // +'&goods='+encodeURIComponent(JSON.stringify(order.orderGoods))
  498. // })
  499. // })
  500. // .catch(err => {
  501. // uni.hideLoading();
  502. // });
  503. },
  504. /**
  505. * 切换类型
  506. */
  507. statusClick: function (status) {
  508. if (status == this.orderStatus) return;
  509. this.orderStatus = status;
  510. this.loadend = false;
  511. this.page = 1;
  512. this.$set(this, 'orderList', []);
  513. this.getOrderList();
  514. },
  515. /**
  516. * 获取订单列表
  517. */
  518. getOrderList: function () {
  519. // let that = this;
  520. // if (that.loadend) return;
  521. // if (that.loading) return;
  522. // that.loading = true;
  523. // that.loadTitle = that.$t(`加载更多`);
  524. // getUserOrderPage({
  525. // userId: this.$store.state.app.uid,
  526. // current: that.page,
  527. // size: that.limit,
  528. // payFlag: this.orderStatus
  529. // })
  530. // .then(res => {
  531. // let list = res.data || [];
  532. // let loadend = list.length < that.limit;
  533. // that.orderList = that.$util.SplitArray(list, that.orderList);
  534. // that.$set(that, 'orderList', that.orderList);
  535. // that.loadend = loadend;
  536. // that.loading = false;
  537. // that.loadTitle = loadend ? that.$t(`没有更多内容啦~`) : that.$t(`加载更多`);
  538. // that.page = that.page + 1;
  539. // })
  540. // .catch(err => {
  541. // that.loading = false;
  542. // that.loadTitle = that.$t(`加载更多`);
  543. // });
  544. },
  545. /**
  546. * 删除订单
  547. */
  548. delOrder: function (order_id, index) {
  549. let that = this;
  550. uni.showModal({
  551. title: that.$t(`删除订单`),
  552. content: that.$t(`确定删除该订单`),
  553. success: function (res) {
  554. if (res.confirm) {
  555. orderDel(order_id)
  556. .then(res => {
  557. that.orderList.splice(index, 1);
  558. that.$set(that, 'orderList', that.orderList);
  559. that.$set(that.orderData, 'unpaid_count', that.orderData
  560. .unpaid_count - 1);
  561. that.getOrderData();
  562. return that.$util.Tips({
  563. title: that.$t(`删除成功`),
  564. icon: 'success'
  565. });
  566. })
  567. .catch(err => {
  568. return that.$util.Tips({
  569. title: err
  570. });
  571. });
  572. } else if (res.cancel) {
  573. return that.$util.Tips({
  574. title: that.$t(`已取消`)
  575. });
  576. }
  577. }
  578. });
  579. }
  580. },
  581. onReachBottom: function () {
  582. this.getOrderList();
  583. }
  584. };
  585. </script>
  586. <style scoped lang="scss">
  587. .my-order .nav {
  588. background-color: #F9F9F9;
  589. width: 100%;
  590. // height: 140rpx;
  591. }
  592. .my-order .nav .item {
  593. text-align: center;
  594. font-size: 26rpx;
  595. color: #282828;
  596. padding: 27rpx 0;
  597. border-bottom: 5rpx solid transparent;
  598. }
  599. .my-order .nav .item.on {
  600. /* #ifdef H5 || MP */
  601. font-weight: bold;
  602. /* #endif */
  603. /* #ifdef APP-PLUS */
  604. color: #000;
  605. /* #endif */
  606. border-color: var(--view-theme);
  607. }
  608. .my-order .nav .item .num {
  609. margin-top: 18rpx;
  610. }
  611. .list {
  612. width: 100%;
  613. background: white;
  614. margin: 14rpx auto 0 auto;
  615. padding-bottom: 30rpx;
  616. }
  617. .noCart {
  618. margin-top: 171rpx;
  619. padding-top: 0.1rpx;
  620. }
  621. .noCart .pictrue {
  622. width: 414rpx;
  623. height: 336rpx;
  624. margin: 78rpx auto 56rpx auto;
  625. }
  626. .noCart .pictrue image {
  627. width: 100%;
  628. height: 100%;
  629. }
  630. .my-order .list .item .item-info .text .money .return {
  631. // color: var(--view-priceColor);
  632. margin-top: 10rpx;
  633. font-size: 24rpx;
  634. }
  635. .myclient_list {
  636. padding: 30rpx;
  637. background: #FFFFFF;
  638. .myclient_list_name {
  639. margin-bottom: 15rpx;
  640. min-height: 44rpx;
  641. font-size: 28rpx;
  642. font-weight: 500;
  643. color: #111111;
  644. line-height: 44rpx;
  645. display: flex;
  646. .nv {
  647. flex-grow: 1;
  648. }
  649. .status {
  650. width: 300rpx;
  651. text-align: right;
  652. margin-left: 30rpx;
  653. color: #75BE00;
  654. }
  655. }
  656. .myclient_list_content {
  657. .subtitle {
  658. height: 44rpx;
  659. margin: 20rpx 0;
  660. font-size: 28rpx;
  661. font-weight: 400;
  662. color: #666666;
  663. line-height: 44rpx;
  664. }
  665. image {
  666. width: 24rpx;
  667. height: 24rpx;
  668. margin-right: 20rpx;
  669. }
  670. .phone {
  671. margin-bottom: 15rpx;
  672. height: 44rpx;
  673. font-size: 24rpx;
  674. font-weight: 400;
  675. color: #999999;
  676. line-height: 44rpx;
  677. }
  678. .time {
  679. height: 44rpx;
  680. font-size: 24rpx;
  681. font-weight: 400;
  682. color: #999999;
  683. line-height: 44rpx;
  684. }
  685. }
  686. }
  687. .all-products-body {
  688. background: white;
  689. .all-products-item {
  690. display: flex;
  691. margin-bottom: 20rpx;
  692. image {
  693. width: 128rpx;
  694. height: 128rpx;
  695. margin-right: 20rpx;
  696. border: 2rpx solid #FFFFFF;
  697. }
  698. .all-products-item-content {
  699. flex-grow: 1;
  700. display: flex;
  701. flex-direction: column;
  702. .all-products-item-content-t {
  703. flex: 1;
  704. font-size: 24rpx;
  705. font-weight: 400;
  706. color: #333333;
  707. line-height: 40rpx;
  708. }
  709. .all-products-item-content-b {
  710. flex: 1;
  711. font-size: 28rpx;
  712. font-weight: 500;
  713. line-height: 80rpx;
  714. display: flex;
  715. justify-content: space-between;
  716. .red {
  717. display: block;
  718. font-size: 28rpx;
  719. font-weight: 500;
  720. color: #999999 !important;
  721. margin-right: 10rpx;
  722. }
  723. .line-thr {
  724. display: block;
  725. font-size: 28rpx;
  726. font-weight: 400;
  727. color: #999999;
  728. text-decoration: line-through;
  729. }
  730. .count {
  731. font-size: 24rpx;
  732. font-weight: 400;
  733. color: #999999;
  734. margin-right: 30rpx;
  735. }
  736. }
  737. }
  738. }
  739. }
  740. .a-t {
  741. padding: 0 30rpx;
  742. display: flex;
  743. justify-content: space-between;
  744. height: 44rpx;
  745. margin-bottom: 20rpx;
  746. }
  747. .a-m {
  748. padding: 0 30rpx;
  749. .am1 {
  750. display: flex;
  751. justify-content: space-between;
  752. margin-bottom: 20rpx;
  753. .am1-1 {
  754. height: 40rpx;
  755. font-size: 28rpx;
  756. font-weight: 400;
  757. color: #111111;
  758. line-height: 40rpx;
  759. }
  760. .am1-2 {
  761. height: 36rpx;
  762. font-size: 20rpx;
  763. font-weight: 400;
  764. color: #666666;
  765. line-height: 36rpx;
  766. image {
  767. margin-left: 30rpx;
  768. vertical-align: middle;
  769. height: 34rpx;
  770. width: 34rpx;
  771. }
  772. }
  773. }
  774. .am2 {
  775. margin-bottom: 20rpx;
  776. height: 34rpx;
  777. font-size: 24rpx;
  778. font-weight: 400;
  779. color: #999999;
  780. line-height: 34rpx;
  781. }
  782. }
  783. .a-b {
  784. padding: 0 30rpx;
  785. width: 100%;
  786. background: #FFF7F8;
  787. border: 1px solid dashed #333333;
  788. height: 60rpx;
  789. line-height: 60rpx;
  790. display: flex;
  791. justify-content: space-between;
  792. .a-b1 {
  793. font-size: 20rpx;
  794. font-weight: 400;
  795. color: #666666;
  796. .red {
  797. font-size: 20rpx;
  798. font-weight: 500;
  799. color: #B22338;
  800. }
  801. }
  802. .a-b2 {
  803. image {
  804. vertical-align: middle;
  805. margin-right: 30rpx;
  806. margin-left: 30rpx;
  807. height: 34rpx;
  808. width: 34rpx;
  809. }
  810. }
  811. }
  812. .self-pickup-point {
  813. background: #FFF7F8;
  814. margin: 0 30rpx;
  815. }
  816. .op-area {
  817. height: 120rpx;
  818. display: flex;
  819. justify-content: flex-end;
  820. line-height: 120rpx;
  821. padding: 20rpx 0;
  822. text-align: right;
  823. .action-btn {
  824. min-width: 200rpx;
  825. background: #FFF7F8;
  826. border-radius: 32rpx;
  827. border: 2rpx solid #B22338;
  828. margin-right: 30rpx;
  829. height: 64rpx;
  830. font-size: 24rpx;
  831. font-weight: 400;
  832. color: #B22338;
  833. line-height: 64rpx;
  834. }
  835. .info-btn {
  836. width: 200rpx;
  837. background: #F5F5F5;
  838. border-radius: 32rpx;
  839. margin-right: 30rpx;
  840. height: 64rpx;
  841. font-size: 24rpx;
  842. font-weight: 400;
  843. color: #666666;
  844. line-height: 64rpx;
  845. }
  846. }
  847. .Ended {
  848. color: #666666 !important;
  849. }
  850. .Refused {
  851. color: #B42A3E !important;
  852. }
  853. .success {
  854. color: #75BE00 !important;
  855. }
  856. .publish {
  857. position: fixed;
  858. bottom: 0;
  859. height: 100rpx;
  860. width: 100%;
  861. background: #F9F9F9;
  862. button {
  863. width: 90%;
  864. height: 84rpx;
  865. background: #B42A3E;
  866. border-radius: 8rpx;
  867. position: relative;
  868. top: 0;
  869. margin: auto;
  870. font-size: 28rpx;
  871. font-weight: 400;
  872. color: #FFFFFF;
  873. line-height: 84rpx;
  874. }
  875. }
  876. </style>