myaid.vue 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818
  1. <template>
  2. <view class="content">
  3. <scroll-view scroll-x="true" class="class-box flex" :scroll-left="scrollLeft" :scroll-with-animation="true">
  4. <view @click="tabClick(idx)" class="item" v-for="(item, idx) in navList" :key="idx" >
  5. <view class="time" :class="{ action: idx == tabCurrentIndex }">{{ item.text }}</view>
  6. </view>
  7. </scroll-view>
  8. <!-- <view class="navbar">
  9. <view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
  10. </view> -->
  11. <swiper :current="tabCurrentIndex" class="swiper-box" duration="300" @change="changeTab">
  12. <swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
  13. <scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
  14. <!-- 空白页 -->
  15. <empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
  16. <!-- 订单列表 -->
  17. <view v-for="(item, index) in tabItem.orderList" :key="index" class="order-item" @click="tz(item)">
  18. <view class="item-top flex">
  19. <view class="item-number">
  20. 项目编号:{{item.order_sn}}
  21. </view>
  22. <!-- <view class="item-status" v-if="item.status === 0" style="color: #FA7E67;">审核中</view>
  23. <view class="item-status" v-if="item.status === 2" style="color: #FA7E67;">进行中</view>
  24. <view class="item-status" v-if="item.status === 3" style="color: #FA7E67;">已完成</view> -->
  25. <view class="item-status" v-if="item.order_status === -1" style="color: #999999">{{item.status_txt}}</view>
  26. <view class="item-status" v-else style="color: #FA7E67;">{{item.status_txt === '受捐者反馈'? '已完成':item.status_txt}}</view>
  27. </view>
  28. <view class="item-main flex">
  29. <image :src="item.img" mode="" v-if="item.img"></image>
  30. <image src="../../static/img/moren.png" mode="" v-else></image>
  31. <view class="item-info">
  32. <view class="info-title">
  33. {{item.title}}
  34. </view>
  35. <view class="info-content">
  36. 项目进度: 您的捐赠{{item.order_status === 0 ? '正在审核中,请耐心等待':item.order_status === -1 ? ' 审核未通过,感谢您的爱心!' : '审核已通过' }}
  37. </view>
  38. <view class="info-time">
  39. 申请时间 {{item.add_time | time}}
  40. </view>
  41. </view>
  42. </view>
  43. <view class="item-bottom flex" v-if="item.order_status >= 1">
  44. <!-- <view class="yxs" @click="navTo('/pages/user/intent')">
  45. 捐献意向书
  46. </view> -->
  47. <view class="zs" @click.stop="navTo('/pages/user/thank?project_id='+item.project_id + '&name=' + item.name + '&time=' + item.add_time+'&title=' + item.title ||'')" v-if="item.order_status == 6">
  48. 捐赠证书
  49. </view>
  50. </view>
  51. </view>
  52. <uni-load-more :status="tabItem.loadingType"></uni-load-more>
  53. </scroll-view>
  54. </swiper-item>
  55. </swiper>
  56. </view>
  57. </template>
  58. <script>
  59. import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
  60. import empty from '@/components/empty';
  61. import { mapState } from 'vuex';
  62. import { saveUrl } from '@/utils/loginUtils.js';
  63. import { orderList, orderCancel, orderDel, orderTake } from '@/api/order.js';
  64. import { getProjectInfo, createProject, getDonationInfo, getMyorder} from '../../api/money.js';
  65. export default {
  66. filters: {
  67. time(val) {
  68. let str =''
  69. if(val){
  70. let date = new Date(val * 1000);
  71. let Y = date.getFullYear();
  72. let M = (date.getMonth()+1) > 9 ? (date.getMonth()+1) : '0' + (date.getMonth()+1);
  73. let D = date.getDate() > 9 ? date.getDate() : '0' + date.getDate();
  74. str = Y + '-' + M + '-' + D ;
  75. }
  76. return str
  77. },
  78. },
  79. components: {
  80. uniLoadMore,
  81. empty
  82. },
  83. data() {
  84. return {
  85. tabCurrentIndex: 0,
  86. state: '',
  87. showModal: false,
  88. itemWidht: '60',
  89. navList: [
  90. {
  91. state: -2,
  92. text: '全部',
  93. loadingType: 'more',
  94. orderList: [
  95. ],
  96. page: 1, //当前页数
  97. limit: 10 //每次信息条数
  98. },
  99. {
  100. state: -1,
  101. text: '未通过',
  102. loadingType: 'more',
  103. orderList: [
  104. ],
  105. page: 1, //当前页数
  106. limit: 10 //每次信息条数
  107. },
  108. {
  109. state: 0,
  110. text: '审核中',
  111. loadingType: 'more',
  112. orderList: [],
  113. page: 1, //当前页数
  114. limit: 10 //每次信息条数
  115. },
  116. {
  117. state: 1,
  118. text: '审核通过',
  119. loadingType: 'more',
  120. orderList: [],
  121. page: 1, //当前页数
  122. limit: 10 //每次信息条数
  123. },
  124. {
  125. state: 2,
  126. text: '已发货',
  127. loadingType: 'more',
  128. orderList: [],
  129. page: 1, //当前页数
  130. limit: 10 //每次信息条数
  131. },
  132. {
  133. state: 3,
  134. text: '已入库',
  135. loadingType: 'more',
  136. orderList: [],
  137. page: 1, //当前页数
  138. limit: 10 //每次信息条数
  139. },
  140. {
  141. state: 4,
  142. text: '已出库',
  143. loadingType: 'more',
  144. orderList: [],
  145. page: 1, //当前页数
  146. limit: 10 //每次信息条数
  147. },
  148. // {
  149. // state: 5,
  150. // text: '发受捐者',
  151. // loadingType: 'more',
  152. // orderList: [],
  153. // page: 1, //当前页数
  154. // limit: 10 //每次信息条数
  155. // },
  156. {
  157. state: 6,
  158. text: '已完成',
  159. loadingType: 'more',
  160. orderList: [],
  161. page: 1, //当前页数
  162. limit: 10 //每次信息条数
  163. }
  164. ]
  165. }
  166. },
  167. onLoad(options) {
  168. this.state = options.state*1;
  169. console.log(this.state)
  170. saveUrl();
  171. /**
  172. * 修复app端点击除全部订单外的按钮进入时不加载数据的问题
  173. * 替换onLoad下代码即可
  174. */
  175. // this.tabCurrentIndex = options.state;
  176. // #ifndef MP
  177. this.loadData();
  178. // #endif
  179. // #ifdef MP
  180. if (options.state == -2) {
  181. this.loadData();
  182. }
  183. // #endif
  184. // this.getMyorder()
  185. },
  186. computed: {
  187. ...mapState(['userInfo']),
  188. scrollLeft() {
  189. if (this.tabCurrentIndex > 1) {
  190. console.log(this.itemWidht * (this.tabCurrentIndex - 1.5))
  191. return this.itemWidht * (this.tabCurrentIndex - 1.5);
  192. // return this.itemWidht * this.tabCurrentIndex
  193. } else {
  194. return 0;
  195. }
  196. }
  197. },
  198. methods: {
  199. // 确认收货
  200. orderTake(item, index) {
  201. let obj = this;
  202. uni.showModal({
  203. title: '是否确认收货?',
  204. success: function(res) {
  205. if (res.confirm) {
  206. orderTake({
  207. uni: item.order_id
  208. })
  209. .then(e => {
  210. obj.navList[obj.tabCurrentIndex].orderList.splice(index, 1);
  211. uni.showToast({
  212. title: '收货成功',
  213. icon: 'none'
  214. });
  215. })
  216. .catch(e => {
  217. console.log(e);
  218. });
  219. } else if (res.cancel) {
  220. console.log('用户点击取消');
  221. }
  222. }
  223. });
  224. },
  225. // 跳转到查询快递页面
  226. expressCheck(item) {
  227. uni.navigateTo({
  228. url: '/pages/order/expressInfo?id=' + item.id
  229. });
  230. },
  231. //跳转到订单详情
  232. goToOrderDetail(e) {
  233. uni.navigateTo({
  234. url: '/pages/order/orderDetail?id=' + e.order_id
  235. });
  236. },
  237. //分享
  238. share(e) {
  239. console.log(e);
  240. uni.navigateTo({
  241. url: '/pages/product/details?pink_id=' + e.pink_id
  242. });
  243. },
  244. // 申请退款
  245. orderRefund(e) {
  246. uni.navigateTo({
  247. url: '/pages/order/orderRefund?id=' + e.order_id
  248. });
  249. },
  250. // 订单支付
  251. orderPay(e) {
  252. if (e.combination_id > 0) {
  253. uni.navigateTo({
  254. url: '/pages/money/pay?type=1&ordid=' + e.order_id + '&money=' + e.pay_price + '&goodsType=2'
  255. });
  256. } else {
  257. uni.navigateTo({
  258. url: '/pages/money/pay?type=1&ordid=' + e.order_id + '&money=' + e.pay_price
  259. });
  260. }
  261. },
  262. //获取订单列表
  263. loadData(source) {
  264. //这里是将订单挂载到tab列表下
  265. let index = this.tabCurrentIndex;
  266. let navItem = this.navList[index];
  267. let state = navItem.state;
  268. if (source === 'tabChange' && navItem.loaded === true) {
  269. //tab切换只有第一次需要加载数据
  270. return;
  271. }
  272. if (navItem.loadingType === 'loading') {
  273. //防止重复加载
  274. return;
  275. }
  276. if (navItem.loadingType === 'noMore') {
  277. //防止重复加载
  278. return;
  279. }
  280. // 修改当前对象状态为加载中
  281. navItem.loadingType = 'loading';
  282. getMyorder({
  283. page: navItem.page,
  284. limit: navItem.limit,
  285. status: state
  286. }).then( ({data}) => {
  287. console.log( data,'888888888888888888888888')
  288. // let arr = data.list.map( item => {
  289. // return e
  290. // })
  291. if(data.list) {
  292. data.list = data.list.map(item => {
  293. if(item.project_id !== 0){
  294. getProjectInfo({
  295. id: item.project_id
  296. }).then( res => {
  297. let data = res.data
  298. console.log(data,'project_id+++++++++++++++++++')
  299. // item.img = data.img
  300. this.$set(item,'img',data.img)
  301. this.$set(item,'title',data.title)
  302. console.log(item)
  303. })
  304. }else {
  305. this.$set(item,'img','')
  306. this.$set(item,'title',item.name+'的爱心捐赠')
  307. }
  308. return item
  309. })
  310. }
  311. // console.log(arr,'99999999999999999999999999')
  312. navItem.orderList = navItem.orderList.concat(data.list)
  313. console.log(navItem.orderList,'++++++++++++++++++++++')
  314. navItem.page++;
  315. if(navItem.limit == data.list.length) {
  316. navItem.loadingType = 'more';
  317. return
  318. }else {
  319. navItem.loadingType = 'noMore';
  320. }
  321. this.$set(navItem, 'loaded', true);
  322. }).catch( err => {
  323. console.log(err)
  324. })
  325. // orderList({
  326. // type: state,
  327. // page: navItem.page,
  328. // limit: navItem.limit
  329. // })
  330. // .then(({ data }) => {
  331. // let arr = data.map(e => {
  332. // let b = this.orderStateExp(e.status);
  333. // e.stateTip = b.stateTip;
  334. // e.stateTipColor = b.stateTipColor;
  335. // return e;
  336. // });
  337. // navItem.orderList = navItem.orderList.concat(arr);
  338. // // console.log(navItem.orderList);
  339. // navItem.page++;
  340. // if (navItem.limit == data.length) {
  341. // //判断是否还有数据, 有改为 more, 没有改为noMore
  342. // navItem.loadingType = 'more';
  343. // return;
  344. // } else {
  345. // //判断是否还有数据, 有改为 more, 没有改为noMore
  346. // navItem.loadingType = 'noMore';
  347. // }
  348. // this.$set(navItem, 'loaded', true);
  349. // })
  350. // .catch(e => {
  351. // console.log(e);
  352. // });
  353. },
  354. //swiper 切换
  355. changeTab(e) {
  356. this.tabCurrentIndex = e.target.current;
  357. this.loadData('tabChange');
  358. },
  359. //顶部tab点击
  360. tabClick(index) {
  361. this.tabCurrentIndex = index;
  362. this.loadData('tabChange');
  363. },
  364. //删除订单
  365. deleteOrder(item, index) {
  366. uni.showModal({
  367. content: '是否确认删除订单?',
  368. success: res => {
  369. uni.showLoading({
  370. title: '请稍后'
  371. });
  372. setTimeout((e) => {
  373. orderDel({
  374. uni: item.order_id
  375. })
  376. .then(e => {
  377. this.navList[this.tabCurrentIndex].orderList.splice(index, 1);
  378. uni.hideLoading();
  379. })
  380. .catch(e => {
  381. console.log(e);
  382. uni.hideLoading();
  383. });
  384. },1000)
  385. },
  386. fail: e => {
  387. console.log(e);
  388. }
  389. });
  390. },
  391. //订单状态文字和颜色
  392. orderStateExp(state) {
  393. let stateTip = '',
  394. stateTipColor = '#EF041F';
  395. switch (+state) {
  396. case 0:
  397. stateTip = '全部';
  398. break;
  399. case 1:
  400. stateTip = '待付款';
  401. break;
  402. case 2:
  403. stateTip = '待发货';
  404. break;
  405. case 3:
  406. stateTip = '待收货';
  407. break;
  408. case 4:
  409. stateTip = '已完成';
  410. stateTipColor = '#5dbc7c';
  411. break;
  412. case 9:
  413. stateTip = '订单已关闭';
  414. stateTipColor = '#909399';
  415. break;
  416. //更多自定义
  417. }
  418. return { stateTip, stateTipColor };
  419. },
  420. navTo(url) {
  421. uni.navigateTo({
  422. url: url
  423. })
  424. },
  425. getMyorder() {
  426. getMyorder({
  427. status: 6
  428. }).then(res => {
  429. console.log(res,'66666666666666')
  430. })
  431. },
  432. tz(item) {
  433. console.log(item)
  434. if(item.project_id !== 0){
  435. uni.navigateTo({
  436. url: '/pages/donate/donateDetail?id=' + item.project_id
  437. })
  438. }
  439. }
  440. }
  441. };
  442. </script>
  443. <style lang="scss">
  444. page,
  445. .content {
  446. background: $page-color-base;
  447. height: 100%;
  448. }
  449. .swiper-box {
  450. height: calc(100% - 40px);
  451. // padding: 0 20rpx;
  452. }
  453. .list-scroll-content {
  454. height: 100%;
  455. }
  456. .navbar {
  457. display: flex;
  458. height: 40px;
  459. padding: 0 5px;
  460. background: #fff;
  461. box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
  462. position: relative;
  463. z-index: 10;
  464. .nav-item {
  465. width: 250rpx;
  466. flex: 1;
  467. display: flex;
  468. justify-content: center;
  469. align-items: center;
  470. height: 100%;
  471. font-size: 15px;
  472. color: $font-color-dark;
  473. position: relative;
  474. &.current {
  475. color: #FF0000;
  476. &:after {
  477. content: '';
  478. position: absolute;
  479. left: 50%;
  480. bottom: 0;
  481. transform: translateX(-50%);
  482. width: 44px;
  483. height: 0;
  484. border-bottom: 2px solid #FF0000;
  485. }
  486. }
  487. }
  488. }
  489. .uni-swiper-item {
  490. height: auto;
  491. }
  492. .order-item {
  493. background-color: #fff;
  494. padding: 0 20rpx;
  495. margin-bottom: 15rpx;
  496. margin-top: 15rpx;
  497. .item-top {
  498. justify-content: space-between;
  499. height: 79rpx;
  500. border-bottom: 1px solid #E1E1E5;
  501. line-height: 79rpx;
  502. font-size: 26rpx;
  503. font-family: PingFang SC;
  504. font-weight: bold;
  505. color: #333333;
  506. }
  507. .item-main {
  508. height: 210rpx;
  509. align-items: center;
  510. image {
  511. width: 220rpx;
  512. height: 170rpx;
  513. background: #FFFFFF;
  514. border: 1px solid #DDDDDD;
  515. border-radius: 10rpx;
  516. margin: 18rpx;
  517. }
  518. .item-info {
  519. width: 471rpx;
  520. height: 170rpx;
  521. position: relative;
  522. .info-title {
  523. font-size: 32rpx;
  524. // font-size: 24rpx;
  525. font-family: PingFang SC;
  526. font-weight: bold;
  527. color: #323232;
  528. line-height: 1;
  529. // position: absolute;
  530. // top: 0;
  531. }
  532. .info-content {
  533. padding-top: 14rpx;
  534. font-size: 22rpx;
  535. font-family: PingFang SC;
  536. font-weight: 500;
  537. color: #666666;
  538. line-height: 1.5;
  539. }
  540. .info-time {
  541. font-size: 22rpx;
  542. font-family: PingFang SC;
  543. font-weight: 500;
  544. color: #999999;
  545. position: absolute;
  546. right: 0;
  547. bottom: 0;
  548. }
  549. }
  550. }
  551. .item-bottom {
  552. height: 96rpx;
  553. border-top: 1px solid #E1E1E5;
  554. justify-content: flex-end;
  555. align-items: center;
  556. view {
  557. width: 144rpx;
  558. height: 55rpx;
  559. line-height: 55rpx;
  560. text-align: center;
  561. border-radius: 28rpx;
  562. font-size: 24rpx;
  563. font-family: PingFang SC;
  564. font-weight: 500;
  565. }
  566. .yxs {
  567. border: 2px solid #FA7E67;
  568. color: #FA7E67;
  569. line-height: 50rpx;
  570. }
  571. .zs {
  572. background: #FA7E67;
  573. color: #fff;
  574. margin-left: 15rpx;
  575. }
  576. }
  577. }
  578. // 积分投注弹窗
  579. .mask {
  580. z-index: 10;
  581. position: fixed;
  582. top: 0;
  583. right: 0;
  584. bottom: 0;
  585. left: 0;
  586. background-color: rgba(0, 0, 0, 0.5);
  587. width: 100%;
  588. height: 100%;
  589. display: flex;
  590. justify-content: center;
  591. align-items: center;
  592. flex-direction: column;
  593. .pop {
  594. z-index: 12;
  595. width: 560rpx;
  596. height: 379rpx;
  597. background: rgba(255, 255, 255, 1);
  598. border-radius: 30px;
  599. .pop-box {
  600. width: 100%;
  601. height: 100%;
  602. display: flex;
  603. flex-direction: column;
  604. text-align: center;
  605. align-items: center;
  606. margin-top: -72rpx !important;
  607. .pop-img {
  608. width: 177rpx;
  609. height: 186rpx;
  610. margin-bottom: 34rpx;
  611. }
  612. .pop-title {
  613. height: 34rpx;
  614. font-size: 36rpx;
  615. font-weight: 500;
  616. color: rgba(51, 51, 51, 1);
  617. margin-bottom: 32rpx;
  618. }
  619. .number {
  620. width: 454rpx;
  621. height: 78rpx;
  622. background: rgba(234, 234, 234, 1);
  623. background: #eaeaea;
  624. }
  625. }
  626. //关闭按钮
  627. .close-box {
  628. margin-top: 130rpx;
  629. text-align: center;
  630. .close {
  631. width: 83rpx;
  632. height: 83rpx;
  633. }
  634. }
  635. }
  636. }
  637. /* load-more */
  638. .uni-load-more {
  639. display: flex;
  640. flex-direction: row;
  641. height: 80rpx;
  642. align-items: center;
  643. justify-content: center;
  644. }
  645. .uni-load-more__text {
  646. font-size: 28rpx;
  647. color: #999;
  648. }
  649. .uni-load-more__img {
  650. height: 24px;
  651. width: 24px;
  652. margin-right: 10px;
  653. }
  654. .uni-load-more__img > view {
  655. position: absolute;
  656. }
  657. .uni-load-more__img > view view {
  658. width: 6px;
  659. height: 2px;
  660. border-top-left-radius: 1px;
  661. border-bottom-left-radius: 1px;
  662. background: #999;
  663. position: absolute;
  664. opacity: 0.2;
  665. transform-origin: 50%;
  666. animation: load 1.56s ease infinite;
  667. }
  668. .uni-load-more__img > view view:nth-child(1) {
  669. transform: rotate(90deg);
  670. top: 2px;
  671. left: 9px;
  672. }
  673. .uni-load-more__img > view view:nth-child(2) {
  674. transform: rotate(180deg);
  675. top: 11px;
  676. right: 0;
  677. }
  678. .uni-load-more__img > view view:nth-child(3) {
  679. transform: rotate(270deg);
  680. bottom: 2px;
  681. left: 9px;
  682. }
  683. .uni-load-more__img > view view:nth-child(4) {
  684. top: 11px;
  685. left: 0;
  686. }
  687. .load1,
  688. .load2,
  689. .load3 {
  690. height: 24px;
  691. width: 24px;
  692. }
  693. .load2 {
  694. transform: rotate(30deg);
  695. }
  696. .load3 {
  697. transform: rotate(60deg);
  698. }
  699. .load1 view:nth-child(1) {
  700. animation-delay: 0s;
  701. }
  702. .load2 view:nth-child(1) {
  703. animation-delay: 0.13s;
  704. }
  705. .load3 view:nth-child(1) {
  706. animation-delay: 0.26s;
  707. }
  708. .load1 view:nth-child(2) {
  709. animation-delay: 0.39s;
  710. }
  711. .load2 view:nth-child(2) {
  712. animation-delay: 0.52s;
  713. }
  714. .load3 view:nth-child(2) {
  715. animation-delay: 0.65s;
  716. }
  717. .load1 view:nth-child(3) {
  718. animation-delay: 0.78s;
  719. }
  720. .load2 view:nth-child(3) {
  721. animation-delay: 0.91s;
  722. }
  723. .load3 view:nth-child(3) {
  724. animation-delay: 1.04s;
  725. }
  726. .load1 view:nth-child(4) {
  727. animation-delay: 1.17s;
  728. }
  729. .load2 view:nth-child(4) {
  730. animation-delay: 1.3s;
  731. }
  732. .load3 view:nth-child(4) {
  733. animation-delay: 1.43s;
  734. }
  735. @-webkit-keyframes load {
  736. 0% {
  737. opacity: 1;
  738. }
  739. 100% {
  740. opacity: 0.2;
  741. }
  742. }
  743. .class-box {
  744. background: #FFFFFF;
  745. white-space: nowrap;
  746. height: 78rpx;
  747. .item {
  748. text-align: center;
  749. display: inline-block;
  750. color: $font-color-base;
  751. margin: 26rpx 34rpx 15rpx 29rpx;
  752. background-color: #fff;
  753. line-height: 1;
  754. .time {
  755. font-family: PingFang SC;
  756. font-weight: bold;
  757. font-size: 30rpx;
  758. padding-bottom: 19rpx;
  759. &.action {
  760. color: #FF0000;
  761. border-bottom: 4rpx solid #ff0000;
  762. }
  763. }
  764. }
  765. }
  766. </style>