challenge-detail.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700
  1. <template>
  2. <view class="challenge-detail-container">
  3. <view class="bgc">
  4. <view class="challenage-info-top">
  5. <!-- <view
  6. class="challenage-status"
  7. :class="(Date.now() < item.guessing_endtime) ? item.status ? item.status == 1 ? 'ing' : '' : 'no' : ''"
  8. >
  9. {{
  10. (Date.now() &lt; item.guessing_endtime) ?
  11. !item.status ?
  12. '未应战' : item.status == 1 ?
  13. '对战中' : '已结束'
  14. : '已结束'
  15. }}
  16. </view> -->
  17. <view class="challenage-status" :class="item.status == 1 ? 'ing' : item.status == 0 ? 'no' : ''" v-if="active == 0">
  18. <view v-if="item.status == 0">未应战</view>
  19. <view v-if="item.status == 1">对战中</view>
  20. <view v-if="item.status == 2">已结束</view>
  21. <view v-if="item.status == 3">已拒绝</view>
  22. </view>
  23. <view class="challenage-status" :class="item.status == 1 ? 'ing' : ''" v-else>{{ item.status == 1 ? '对战中' : '已结束' }}</view>
  24. <view class="user-avatar">
  25. <view class="avatar-bg"><view class="avatar-img" :style="{ backgroundImage: item.challenge_avatar ? `url(${item.challenge_avatar})` : '' }" /></view>
  26. <view class="user-name">{{ item.challenge_nickname | getName }}</view>
  27. <view class="winTip" v-if="item.status == 2" :class="item.status == 2 && item.challenge_id == item.success_id ? 'winTip_red' : 'winTip_gray'">
  28. {{ item.status == 2 && item.challenge_id == item.success_id ? '胜利' : '失败' }}
  29. </view>
  30. </view>
  31. <!-- 竞猜时间阶段 对战中 -->
  32. <!-- <template v-if="Date.now() < item.guessing_endtime && item.status === 1"> -->
  33. <template>
  34. <view class="challenage-info">
  35. <view class="info-title"></view>
  36. <view class="info-num">
  37. <view class="num">{{ Math.floor(item.day / 10) }}</view>
  38. <view class="num">{{ item.day % 10 }}</view>
  39. </view>
  40. <view class="info-time">{{ item.time }}</view>
  41. <view class="info-btn">{{ item | getAction(self) }}</view>
  42. </view>
  43. </template>
  44. <!-- <template v-else>
  45. <view class="challenage-info info2">
  46. <view class="info-title">
  47. <text class="text">“</text>
  48. <text class="text spec">{{ item.challenge_nickname | getName }}</text>
  49. <text class="text">”向你发起的挑战</text>
  50. </view>
  51. <view class="challenage-vs">
  52. <view class="info-score">{{ item.challenge_total }}</view>
  53. <view class="vs-img"></view>
  54. <view class="info-score accept">{{ item.accept_total }}</view>
  55. </view>
  56. <view class="info-btn">{{ item | getAction(self) }}</view>
  57. </view>
  58. </template> -->
  59. <view class="user-avatar">
  60. <view class="avatar-bg accept"><view class="avatar-img" :style="{ backgroundImage: item.accept_avatar ? `url(${item.accept_avatar})` : '' }" /></view>
  61. <view class="user-name">{{ item.accept_nickname | getName }}</view>
  62. <view class="winTip" v-if="item.status == 2" :class="item.status == 2 && item.accept_id == item.success_id ? 'winTip_red' : 'winTip_gray'">
  63. {{ item.status == 2 && item.accept_id == item.success_id ? '胜利' : '失败' }}
  64. </view>
  65. </view>
  66. </view>
  67. <!-- <view class="bottom">
  68. <view class="tiaozhan">
  69. 恭喜“个人昵称”猜对了。奖励50学分!
  70. </view>
  71. </view> -->
  72. </view>
  73. <view class="challenage-info-num">
  74. <view class="title">从争霸赛开始到现在各自总学分</view>
  75. <view class="info-nums-box">
  76. <view class="num">{{ item.challenge_total }}</view>
  77. <view class="num accept">{{ item.accept_total }}</view>
  78. </view>
  79. <view class="info-nums-user">
  80. <view class="user">{{ item.challenge_nickname | getName }}</view>
  81. <view class="user">{{ item.accept_nickname | getName }}</view>
  82. </view>
  83. </view>
  84. <view class="challenage-info-result">
  85. <view class="result-title">
  86. <template v-if="n">
  87. <text class="text">距离竞猜结束还有:</text>
  88. <view class="count-time">{{ countDown }}</view>
  89. </template>
  90. <template v-else>
  91. <text class="text">竞猜已结束</text>
  92. </template>
  93. </view>
  94. <view class="support">
  95. <view class="red">
  96. 支持率 {{ item.challenge_num + item.accept_num ? Math.floor((item.challenge_num / (item.challenge_num + item.accept_num)) * 100) : 0 }}%
  97. </view>
  98. <view class="blue">
  99. {{ item.challenge_num + item.accept_num ? Math.ceil((item.accept_num / (item.challenge_num + item.accept_num)) * 100) : 0 }}% 支持率
  100. </view>
  101. </view>
  102. <view class="result-progress">
  103. <view
  104. class="progress-item challenge"
  105. :style="{ width:30+ (item.challenge_num + item.accept_num ? Math.floor((item.challenge_num / (item.challenge_num + item.accept_num)) * 100) : 50) + '%' }"
  106. >
  107. <view class="user-avatar" :style="{ backgroundImage: item.challenge_avatar ? `url(${item.challenge_avatar})` : '' }" />
  108. <view class="progress-value">
  109. <!-- {{ item.challenge_num + item.accept_num ? Math.floor((item.challenge_num / (item.challenge_num + item.accept_num)) * 100) : 0 }}% -->
  110. </view>
  111. <view class="progress-vs">vs</view>
  112. </view>
  113. <!-- selected -->
  114. <view
  115. class="progress-item accept"
  116. :style="{ width: 30+ (item.challenge_num + item.accept_num ? Math.floor((item.accept_num / (item.challenge_num + item.accept_num)) * 100) : 50) + '%' }"
  117. >
  118. <view class="progress-value">
  119. <!-- {{ item.challenge_num + item.accept_num ? Math.floor((item.accept_num / (item.challenge_num + item.accept_num)) * 100) : 0 }}% -->
  120. </view>
  121. <view class="user-avatar" :style="{ backgroundImage: item.accept_avatar ? `url(${item.accept_avatar})` : '' }" />
  122. </view>
  123. </view>
  124. <view class="result-btn">
  125. <view
  126. class="btn"
  127. :class="Date.now() > item.guessing_endtime || (item.guessing && item.support_id !== item.challenge_id) ? 'time-end' : ''"
  128. @click="action(item.challenge_nickname, item.challenge_id, 0)"
  129. >
  130. <template v-if="item.guessing">
  131. {{ item.support_id == item.challenge_id ? '已' : '' }} 预测ta赢
  132. </template>
  133. <template v-else>
  134. {{
  135. (Date.now() &lt; item.guessing_endtime) ? '预测ta赢' : '预测时间截止'
  136. }}
  137. </template>
  138. </view>
  139. <view
  140. class="btn accept"
  141. :class="Date.now() > item.guessing_endtime || (item.guessing && item.accept_id !== item.challenge_id) ? 'time-end' : ''"
  142. @click="action(item.accept_nickname, item.accept_id, 1)"
  143. >
  144. <template v-if="item.guessing">
  145. {{ item.support_id == item.accept_id ? '已' : '' }} 预测ta赢
  146. </template>
  147. <template v-else>
  148. {{
  149. (Date.now() &lt; item.guessing_endtime) ? '预测ta赢' : '预测时间截止'
  150. }}
  151. </template>
  152. </view>
  153. </view>
  154. </view>
  155. </view>
  156. </template>
  157. <script>
  158. import { api_challengeGuessing } from '@/api.js'
  159. export default {
  160. data() {
  161. return {
  162. pageTitle: '挑战详情',
  163. item: {},
  164. self: true,
  165. n: 0,
  166. active: '' //判断是从我的挑战,围观竞猜 挑战排行那个tab进来的
  167. }
  168. },
  169. computed: {
  170. countDown() {
  171. const add0 = num => (num < 10 ? '0' + num : num);
  172. const sec = Math.floor((this.item.guessing_endtime - this.n) / 1000);
  173. const day = Math.floor(sec / 86400);
  174. const hour = Math.floor((sec % 86400) / 3600);
  175. const minite = Math.floor((sec - 86400 * day - hour * 3600) / 60);
  176. const second = Math.floor(sec - 86400 * day - hour * 3600 - minite * 60);
  177. return `${add0(hour + +day * 24)}时${add0(minite)}分${add0(second)}秒`;
  178. }
  179. },
  180. filters: {
  181. getAction(item, self) {
  182. if (self) {
  183. if (item.status == 1) {
  184. return 'PK中';
  185. } else {
  186. return '已结束';
  187. }
  188. } else {
  189. if (item.guessing) {
  190. return '已竞猜';
  191. } else {
  192. if (Date.now() > item.guessing_endtime) {
  193. return '竞猜结束';
  194. } else {
  195. return '围观竞猜';
  196. }
  197. }
  198. }
  199. return '';
  200. },
  201. getLong(long, index) {
  202. return (Number(long) > 9 ? String(long) : '0' + long)[index];
  203. },
  204. getName(name, len) {
  205. if (name) {
  206. return name.length > 5 ? name.slice(0, 5) + '...' : name;
  207. }
  208. return '';
  209. }
  210. },
  211. beforeDestroy() {
  212. clearInterval(this.timer);
  213. },
  214. onLoad({ from, active }) {
  215. this.item = uni.temp1;
  216. this.active = active; //判断是从我的挑战,围观竞猜 挑战排行那个tab进来的
  217. console.log(this.item, 'item');
  218. if (Date.now() <= this.item.guessing_endtime) {
  219. this.n = Date.now();
  220. this.timer = setInterval(() => {
  221. if (this.n + 1000 > this.item.guessing_endtime) {
  222. clearInterval(this.timer);
  223. this.n = 0;
  224. return;
  225. }
  226. this.n = Date.now();
  227. }, 1000);
  228. }
  229. if (!from) {
  230. this.self = false;
  231. }
  232. },
  233. methods: {
  234. action(nickname, userid, type) {
  235. if (!this.item.guessing) {
  236. if (this.n != 0) {
  237. if (this.item.accept_id != this.$store.state.userServerInfo.id && this.item.challenge_id != this.$store.state.userServerInfo.id) {
  238. uni.showModal({ title: '提示', content: `确定要预测${nickname}赢?` }).then(([, { confirm }]) => {
  239. if (confirm) {
  240. uni.loading()
  241. this.$ajax.get(`${api_challengeGuessing}?challenge_id=${this.item.id}&user_id=${userid}&type=${type}`).then(([, { data: { code, msg } }]) => {
  242. uni.hideLoading()
  243. if (code == 200) {
  244. uni.fromUpload = true
  245. this.item.guessing = true
  246. this.item.support_id = userid
  247. uni.$emit('Guesst', this.item.id)
  248. } else {
  249. uni.showToast({
  250. title: msg,
  251. duration: 2000,
  252. icon:"none"
  253. })
  254. }
  255. })
  256. }
  257. });
  258. } else {
  259. uni.showToast({
  260. title: '当前竞猜不可参与',
  261. duration: 2000,
  262. icon:'none'
  263. })
  264. // this.$refs.toast.hover('当前竞猜不可参与', 2345, 'center');
  265. }
  266. } else {
  267. uni.showToast({
  268. title: '竞猜已结束',
  269. duration: 2000,
  270. icon:'none'
  271. })
  272. // this.$refs.toast.hover('竞猜已结束', 2345, 'center');
  273. }
  274. } else {
  275. uni.showToast({
  276. title: '您已参与此次竞猜',
  277. duration: 2000,
  278. icon:'none'
  279. })
  280. // this.$refs.toast.hover('您已参与此次竞猜', 2345, 'center')
  281. }
  282. }
  283. }
  284. };
  285. </script>
  286. <style lang="scss">
  287. page {
  288. display: flex;
  289. flex-direction: column;
  290. .winTip {
  291. font-size: 28rpx;
  292. font-weight: bold;
  293. text-align: center;
  294. &_red {
  295. color: #EA4A41;
  296. }
  297. &_gray {
  298. color: #999999;
  299. }
  300. }
  301. .support {
  302. display: flex;
  303. justify-content: space-between;
  304. align-items: center;
  305. font-size: 28rpx;
  306. font-weight: bold;
  307. line-height: 50rpx;
  308. .red {
  309. color: #EA4A41;
  310. }
  311. .blue {
  312. color: #1DB0FE;
  313. }
  314. }
  315. .challenge-detail-container {
  316. flex: 1;
  317. background-color: #f9f9fb;
  318. padding: 30rpx;
  319. box-sizing: border-box;
  320. .bgc {
  321. background-color: #ffffff;
  322. border-radius: 24rpx;
  323. margin-bottom: 30rpx;
  324. padding: 30rpx;
  325. position: relative;
  326. .bottom {
  327. margin-top: 20rpx;
  328. // .info-btn {
  329. // width: 630rpx;
  330. // height: 96rpx;
  331. // border-radius: 56rpx;
  332. // text-align: center;
  333. // line-height: 96rpx;
  334. // background-color: #f8f8f8;
  335. // color: #333333;
  336. // font-size: 32rpx;
  337. // font-weight: bold;
  338. // }
  339. }
  340. .tiaozhan {
  341. width: 630rpx;
  342. height: 96rpx;
  343. border-radius: 56rpx;
  344. text-align: center;
  345. line-height: 96rpx;
  346. background-color: #f8f8f8;
  347. color: #333333;
  348. font-size: 32rpx;
  349. font-weight: bold;
  350. }
  351. }
  352. .challenage-info-top {
  353. width: 100%;
  354. display: flex;
  355. align-items: center;
  356. justify-content: space-between;
  357. .challenage-status {
  358. position: absolute;
  359. top: 0;
  360. right: 0;
  361. height: 56rpx;
  362. padding: 0 30rpx;
  363. line-height: 56rpx;
  364. color: #999999;
  365. font-size: 28rpx;
  366. border-bottom-left-radius: 56rpx;
  367. background-color: #eeeeee;
  368. font-weight: bolder;
  369. &.ing {
  370. background: linear-gradient(113deg, #ffc401 0%, #fe0000 100%) !important;
  371. color: #ffffff !important;
  372. }
  373. &.no {
  374. background: linear-gradient(180deg, #13aefe 0%, #7bc9fb 100%) !important;
  375. color: #ffffff !important;
  376. }
  377. }
  378. .user-avatar {
  379. width: 140rpx;
  380. overflow: hidden;
  381. .avatar-bg {
  382. width: 140rpx;
  383. height: 124rpx;
  384. background: linear-gradient(180deg, #f97c55 0%, #f44545 100%);
  385. &.accept {
  386. background: linear-gradient(180deg, #13aefe 0%, #7bc9fb 100%);
  387. }
  388. clip-path: polygon(0 50%, 25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%);
  389. display: flex;
  390. align-items: center;
  391. justify-content: center;
  392. margin-bottom: 6rpx;
  393. .avatar-img {
  394. width: calc(100% - 20rpx);
  395. height: calc(100% - 12rpx);
  396. clip-path: polygon(0 50%, 25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%);
  397. background-position: center;
  398. background-repeat: no-repeat;
  399. background-size: 100%;
  400. background-color: transparent;
  401. }
  402. }
  403. .user-name {
  404. width: 140rpx;
  405. height: 40rpx;
  406. color: #333333;
  407. font-size: 28rpx;
  408. line-height: 40rpx;
  409. text-align: center;
  410. overflow: hidden;
  411. text-overflow: ellipsis;
  412. }
  413. }
  414. .challenage-info {
  415. flex: 1;
  416. overflow: hidden;
  417. display: flex;
  418. flex-direction: column;
  419. align-items: center;
  420. .info-title {
  421. width: 100%;
  422. text-align: center;
  423. margin-top: 40rpx;
  424. margin-bottom: 20rpx;
  425. .text {
  426. color: #333333;
  427. font-size: 28rpx;
  428. line-height: 40rpx;
  429. &.spec {
  430. color: #ea4a41 !important;
  431. }
  432. }
  433. }
  434. .info-num {
  435. display: flex;
  436. align-items: center;
  437. justify-content: center;
  438. margin-bottom: 10rpx;
  439. .num {
  440. height: 86rpx;
  441. padding: 0 14rpx;
  442. background: linear-gradient(180deg, #f97c55 0%, #f44545 100%);
  443. color: #ffffff;
  444. font-size: 48rpx;
  445. line-height: 86rpx;
  446. border-radius: 8rpx;
  447. &:nth-of-type(1) {
  448. margin-right: 10rpx;
  449. }
  450. }
  451. }
  452. .info-time {
  453. color: #333333;
  454. font-size: 28rpx;
  455. line-height: 40rpx;
  456. margin-bottom: 20rpx;
  457. text-align: center;
  458. }
  459. .info-btn {
  460. width: 192rpx;
  461. height: 68rpx;
  462. border-radius: 68rpx;
  463. text-align: center;
  464. line-height: 68rpx;
  465. background-color: #f8f8f8;
  466. color: #333333;
  467. font-size: 28rpx;
  468. }
  469. &.info2 {
  470. .challenage-vs {
  471. display: flex;
  472. align-items: center;
  473. justify-content: space-between;
  474. margin-bottom: 28rpx;
  475. .info-score {
  476. min-width: 104rpx;
  477. box-sizing: border-box;
  478. text-align: center;
  479. height: 62rpx;
  480. border-radius: 8rpx;
  481. line-height: 62rpx;
  482. padding: 0 8rpx;
  483. background: linear-gradient(92deg, #f97c55 0%, #f44545 100%);
  484. color: #ffffff;
  485. font-size: 36rpx;
  486. &.accept {
  487. background: linear-gradient(268deg, #13aefe 0%, #7bc9fb 100%) !important;
  488. }
  489. }
  490. .vs-img {
  491. width: 100rpx;
  492. height: 100rpx;
  493. background: url('https://api.jiuweiyun.cn/public/uploads/weapp/icon/vs.png') center no-repeat;
  494. background-size: 100%;
  495. margin: 0 10rpx;
  496. }
  497. }
  498. }
  499. }
  500. }
  501. }
  502. .challenage-info-num {
  503. width: 100%;
  504. padding: 30rpx;
  505. background-color: #ffffff;
  506. box-sizing: border-box;
  507. border-radius: 24rpx;
  508. margin-bottom: 30rpx;
  509. .title {
  510. color: #333333;
  511. font-size: 28rpx;
  512. line-height: 40rpx;
  513. margin-bottom: 30rpx;
  514. text-align: center;
  515. }
  516. .info-nums-box {
  517. width: 100%;
  518. display: flex;
  519. align-items: center;
  520. justify-content: space-between;
  521. margin-bottom: 14rpx;
  522. .num {
  523. flex: 1;
  524. margin-right: 15rpx;
  525. height: 88rpx;
  526. line-height: 88rpx;
  527. border-radius: 16rpx;
  528. text-align: center;
  529. color: #ea4a41;
  530. font-size: 48rpx;
  531. background-color: #fff4f3;
  532. &.accept {
  533. background: #f1f9ff !important;
  534. color: #1db0fe !important;
  535. margin-left: 15rpx;
  536. margin-right: 0 !important;
  537. }
  538. }
  539. }
  540. .info-nums-user {
  541. width: 100%;
  542. display: flex;
  543. align-items: center;
  544. justify-content: space-between;
  545. .user {
  546. flex: 1;
  547. margin-right: 15rpx;
  548. text-align: center;
  549. color: #333333;
  550. font-size: 28rpx;
  551. &.accept {
  552. margin-left: 15rpx;
  553. margin-right: 0 !important;
  554. }
  555. }
  556. }
  557. }
  558. .challenage-info-result {
  559. width: 100%;
  560. padding: 30rpx;
  561. box-sizing: border-box;
  562. background-color: #ffffff;
  563. .result-title {
  564. width: 100%;
  565. padding: 0 38rpx;
  566. box-sizing: border-box;
  567. display: flex;
  568. align-items: center;
  569. justify-content: flex-start;
  570. margin-bottom: 30rpx;
  571. .text {
  572. color: #333333;
  573. font-size: 28rpx;
  574. line-height: 40rpx;
  575. }
  576. .count-time {
  577. width: 204rpx;
  578. height: 64rpx;
  579. border-radius: 6rpx;
  580. background-color: #353235;
  581. color: #ffffff;
  582. font-size: 40rpx;
  583. line-height: 64rpx;
  584. text-align: center;
  585. }
  586. }
  587. .result-progress {
  588. width: 100%;
  589. margin-bottom: 30rpx;
  590. display: flex;
  591. align-items: stretch;
  592. justify-content: space-between;
  593. .progress-item {
  594. height: 88rpx;
  595. padding: 0 12rpx;
  596. box-sizing: border-box;
  597. display: flex;
  598. align-items: center;
  599. position: relative;
  600. &.challenge {
  601. background: linear-gradient(90deg, #f97c55 0%, #ff513d 54%, #f44545 100%);
  602. border-top-left-radius: 88rpx;
  603. border-bottom-left-radius: 88rpx;
  604. border-bottom-right-radius: 150rpx;
  605. border-top-right-radius: 20rpx;
  606. width: 70%;
  607. .user-avatar {
  608. margin-right: 38rpx !important;
  609. }
  610. .progress-vs {
  611. width: 60rpx;
  612. height: 60rpx;
  613. border-radius: 50%;
  614. background: linear-gradient(180deg, #ffe4ab 0%, #ffba40 100%);
  615. border: 4rpx solid #ffffff;
  616. box-sizing: border-box;
  617. display: flex;
  618. align-items: center;
  619. justify-content: center;
  620. color: #ffffff;
  621. font-size: 30rpx;
  622. font-weight: bold;
  623. text-align: center;
  624. line-height: 52rpx;
  625. position: absolute;
  626. top: 50%;
  627. right: -30rpx;
  628. transform: translateY(-50%);
  629. z-index: 99;
  630. }
  631. }
  632. &.accept {
  633. background: linear-gradient(77deg, #13aefe 0%, #1bb0fe 53%, #7bc9fb 100%);
  634. border-top-right-radius: 88rpx;
  635. border-bottom-right-radius: 88rpx;
  636. border-top-left-radius: 150rpx;
  637. border-bottom-left-radius: 20rpx;
  638. width: 30%;
  639. justify-content: flex-end;
  640. .user-avatar {
  641. margin-left: 10rpx !important;
  642. }
  643. }
  644. .user-avatar {
  645. width: 64rpx;
  646. height: 64rpx;
  647. border-radius: 50%;
  648. box-sizing: border-box;
  649. border: 1px solid #ffffff;
  650. background-position: center;
  651. background-repeat: no-repeat;
  652. background-size: 100%;
  653. }
  654. .progress-value {
  655. color: #ffffff;
  656. font-size: 36rpx;
  657. }
  658. &.selected {
  659. background: #f8f8f8 !important;
  660. .progress-value {
  661. color: #999999 !important;
  662. }
  663. }
  664. }
  665. }
  666. .result-btn {
  667. width: 100%;
  668. display: flex;
  669. align-items: center;
  670. justify-content: space-between;
  671. padding: 0 22rpx;
  672. box-sizing: border-box;
  673. .btn {
  674. width: 228rpx;
  675. height: 68rpx;
  676. line-height: 68rpx;
  677. border-radius: 68rpx;
  678. text-align: center;
  679. box-sizing: border-box;
  680. border: 1px solid #ea4a41;
  681. background-color: #ffffff;
  682. color: #ea4a41;
  683. font-size: 28rpx;
  684. &.accept {
  685. border-color: #1db0fe !important;
  686. color: #1db0fe !important;
  687. }
  688. &.time-end {
  689. border-color: #f8f8f8 !important;
  690. background-color: #f8f8f8 !important;
  691. color: #999999 !important;
  692. }
  693. }
  694. }
  695. }
  696. }
  697. </style>