parkingFeeDetail.vue 26 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226
  1. <template>
  2. <div v-if="orderDetail && orderDetail.parkingRecord && orderDetail.parkingRecord.vehicleNo" :class="theme">
  3. <div class="scroll-Y">
  4. <div
  5. class="vehicleNo"
  6. >
  7. {{ orderDetail.parkingRecord.vehicleNo | formatCarno }}
  8. <!-- {{ $route.query.carno | formatCarno }} -->
  9. </div>
  10. <div class="info-box mb--20">
  11. <div class="info-item-box">
  12. <div class="label">停车场</div>
  13. <div class="value">{{ orderDetail.parkInfo.parkName }}</div>
  14. </div>
  15. <div class="info-item-box">
  16. <div class="label">入场时间</div>
  17. <div class="value">{{ orderDetail.parkingRecord.enterTime }}</div>
  18. </div>
  19. <div class="info-item-box">
  20. <div class="label">已停车时长</div>
  21. <div class="value">{{ orderDetail.parkingRecord.serviceMin | parkingTime }}</div>
  22. </div>
  23. <div class="van-hairline--bottom hr"></div>
  24. <div class="info-item-box npb">
  25. <div class="label pb--27">应缴</div>
  26. <div class="value bold-fz">
  27. {{ ( orderDetail.parkingRecord.totalFeeInYuan ) | currency }}
  28. </div>
  29. </div>
  30. </div>
  31. <div class="info-box mb--30">
  32. <div class="info-item-box" v-if="enableConsume || memberLevelDiscount">
  33. <div class="label">停车优惠</div>
  34. <div @click="discounts" :class="['value',discountDesc === '暂无可用优惠' ? '' : 'text-red']">{{ discountDesc }}
  35. <van-icon name="arrow"/>
  36. </div>
  37. </div>
  38. <div class="info-item-box" v-if="orderDetail && orderDetail.discountInfo">
  39. <div class="label">积分减免</div>
  40. <div :class="['value']" @click="showPointsMathPopup('bottom')">
  41. <span :class="[integralDesc === '今日已达上限' ? 'text-disable' : 'text-red']">{{ integralDesc }}</span>
  42. <van-icon name="arrow"/>
  43. </div>
  44. </div>
  45. <div class="info-item-box" v-if="orderDetail && orderDetail.discountInfo">
  46. <div class="label">优惠劵</div>
  47. <div :class="['value',]" @click="coupon">
  48. <span :class="[ coupons.length > 0 ? 'text-red': 'text-disable']">{{ couponDesc }}</span>
  49. <van-icon name="arrow"/>
  50. </div>
  51. </div>
  52. <div class="info-item-box" v-if="enablePaperCoupons">
  53. <div class="label">纸质优惠劵</div>
  54. <div :class="['value', 'text-red']" @click="paperCoupon">扫描纸质优惠劵二维码
  55. <van-icon name="arrow"/>
  56. </div>
  57. </div>
  58. <div class="info-item-box">
  59. <div class="label">优惠金额:</div>
  60. <div :class="['value']">-{{ usingTotalDiscount | currency }}</div>
  61. </div>
  62. <div class="van-hairline--bottom hr"></div>
  63. <div class="info-item-box npb">
  64. <div class="label pb--27">应付金额</div>
  65. <div :class="['value', 'bold-fz', usingTotalDiscount === 0 && 'text-red']">
  66. {{ actualPayFee | currency }}
  67. </div>
  68. </div>
  69. </div>
  70. <div class="description-box">
  71. <div class="title_box">
  72. <span class="title">缴费说明</span>
  73. </div>
  74. <div class="sub_title_box">
  75. <span class="title">计费基础规则:</span>
  76. </div>
  77. <div class="info" v-html="setDescription()"></div>
  78. </div>
  79. <!-- <div style="height: 50px;"></div>-->
  80. <!-- 开启底部安全区适配 -->
  81. <van-number-keyboard safe-area-inset-bottom />
  82. </div>
  83. <div class="flewx">
  84. <div class="control-box">
  85. <div class="flewx-content">
  86. <div class="fee-box">
  87. <div>合计:</div>
  88. <div class="actualPayFee">{{
  89. actualPayFee | currency
  90. }}
  91. </div>
  92. <div :class="['van-hairline--surround','usingTotalDiscount', usingTotalDiscount > 0 && 'usingTotalDiscount-red']"
  93. >已优惠{{ usingTotalDiscount | currency }}元
  94. </div
  95. >
  96. <!-- <van-count-down :time="3 * 60 * 1000" /> -->
  97. </div>
  98. <div class="count-down-box">
  99. <van-count-down
  100. v-if="orderDetail.parkingRecord.vehicleNo"
  101. format="mm:ss"
  102. :time="refreshTime * 1000"
  103. @finish="resetCountDown()"
  104. >
  105. <!-- -->
  106. </van-count-down>
  107. <span class="desc">后同步最新费用</span>
  108. </div>
  109. </div>
  110. <div class="btn-box">
  111. <k-button style="width: 100%;max-width: 240px" title="支付" disabledColor="#D1D2D9" @click="toPay"/>
  112. </div>
  113. </div>
  114. <!-- 开启底部安全区适配 -->
  115. <van-number-keyboard safe-area-inset-bottom />
  116. </div>
  117. <van-popup
  118. v-model="popup"
  119. position="bottom"
  120. :animation="false"
  121. :maskClick="false"
  122. :close-on-click-overlay="false"
  123. >
  124. <div class="popue_box" v-if="orderDetail && orderDetail.discountInfo">
  125. <div class="popue_box_index1">积分减免</div>
  126. <div class="popue_box_index">
  127. <div>减免规则</div>
  128. <div style="color: #989898">{{ pointsPerHour }}积分抵扣{{ orderDetail.parkInfo.parkMallCode === 5 ? unitAmount + '元' : '1小时' }}</div>
  129. </div>
  130. <div class="popue_box_index">
  131. <div>可用积分</div>
  132. <div style="color: #999999">{{ available }}分</div>
  133. </div>
  134. <div class="popue_box_index">
  135. <div>抵扣{{ orderDetail.parkInfo.parkMallCode === 5 ? '金额' : '时长' }}</div>
  136. <div class="popue_box_index" style="width: 335px">
  137. <div class="popue_box_index4_xs van-hairline--surround">
  138. <div class="popue_box_index4_xs_index1" @click="$store.dispatch('order/pointsMath',{type: 'minus', callback: pointsMathCallback})">
  139. -
  140. </div>
  141. <div class="popue_box_index4_xs_index2">{{ pointsTime }}</div>
  142. <div class="popue_box_index4_xs_index3" @click="$store.dispatch('order/pointsMath',{type: 'add', callback: pointsMathCallback})">
  143. +
  144. </div>
  145. </div>
  146. <div style="color: #808080">
  147. {{ orderDetail.parkInfo.parkMallCode === 5 ? '元' : '小时' }}
  148. </div>
  149. </div>
  150. </div>
  151. <div class="popue_box_index5">
  152. <div
  153. :class="{
  154. popue_box_index4_by: true,
  155. }"
  156. @click="cancelPointsMathPopup()"
  157. >
  158. 取消
  159. </div>
  160. <div
  161. :class="{
  162. popue_box_index4_by1: true,
  163. }"
  164. @click="savePointsMathPopup()"
  165. >
  166. 确定
  167. </div>
  168. </div>
  169. <van-number-keyboard safe-area-inset-bottom/>
  170. </div>
  171. </van-popup>
  172. </div>
  173. </template>
  174. <script>
  175. import parkingFeeDetailJs from './mixins/parkingFeeDetail'
  176. import baseMixins from './mixins/base'
  177. export default {
  178. mixins: [baseMixins, parkingFeeDetailJs]
  179. }
  180. </script>
  181. <style lang="less" scoped>
  182. .text-red {
  183. color: #F24439!important;
  184. }
  185. .scroll-Y {
  186. width: 100%;
  187. //display: flex;
  188. //flex-direction: column;
  189. background: #F5F7FE;
  190. padding-bottom: 250px;
  191. //padding-bottom: 20px;
  192. padding-top: 24px;
  193. }
  194. /*车牌号*/
  195. .vehicleNo {
  196. width: 666px;
  197. height: 109.5px;
  198. line-height: 109.5px;
  199. margin-left: 24px;
  200. background-color: #FAFBFF;
  201. border-radius: 4px;
  202. margin-bottom: 20px;
  203. font-style: normal;
  204. font-weight: 600;
  205. font-size: 36px;
  206. padding-left: 36px;
  207. color: #333333;
  208. }
  209. .pb--27 {
  210. padding-bottom: 27px;
  211. }
  212. .mb--20 {
  213. margin-bottom: 20px;
  214. }
  215. .mb--30 {
  216. margin-bottom: 30px;
  217. }
  218. .info-box {
  219. background: #FAFBFF;
  220. padding-top: 30px;
  221. width: 702px;
  222. margin-left: 24px;
  223. .info-item-box {
  224. display: flex;
  225. justify-content: space-between;
  226. padding-bottom: 30px;
  227. &.npb{
  228. padding-bottom: 0;
  229. }
  230. .label {
  231. padding-left: 36px;
  232. //padding-bottom: 39px;
  233. text-align: left;
  234. font-family: 'PingFang SC';
  235. font-style: normal;
  236. font-weight: 400;
  237. font-size: 30px;
  238. color: #999999;
  239. }
  240. .value {
  241. text-align: right;
  242. padding-right: 36px;
  243. font-family: 'PingFang SC';
  244. font-style: normal;
  245. font-weight: 400;
  246. font-size: 30px;
  247. color: #333333;
  248. .van-icon {
  249. color: #999999;
  250. }
  251. &.bold-fz {
  252. font-family: 'PingFang SC';
  253. font-style: normal;
  254. font-weight: 500;
  255. font-size: 34px;
  256. color: #333333;
  257. }
  258. }
  259. }
  260. .hr {
  261. margin-bottom: 23px;
  262. }
  263. }
  264. .description-box {
  265. padding-left: 30px;
  266. .title_box {
  267. padding-bottom: 10px;
  268. .title {
  269. font-family: 'PingFang SC';
  270. font-style: normal;
  271. font-weight: 500;
  272. font-size: 30px;
  273. color: #333333;
  274. }
  275. }
  276. .sub_title_box {
  277. padding-bottom: 5px;
  278. .title {
  279. font-family: 'PingFang SC';
  280. font-style: normal;
  281. font-weight: 400;
  282. font-size: 26px;
  283. color: #333333;
  284. }
  285. }
  286. .info {
  287. font-family: 'PingFang SC';
  288. font-style: normal;
  289. font-weight: 400;
  290. font-size: 26px;
  291. line-height: 40px;
  292. /* or 154% */
  293. color: #999999;
  294. }
  295. }
  296. /*积分*/
  297. .popue_box {
  298. height: 695px;
  299. background-color: #fff;
  300. position: fixed;
  301. bottom: 0;
  302. left: 0;
  303. right: 0;
  304. .popue_box_index {
  305. width: 92%;
  306. margin-left: 4%;
  307. height: 117px;
  308. border-bottom: 1px solid #f5f5f5;
  309. display: flex;
  310. align-items: center;
  311. justify-content: space-between;
  312. font-family: 'PingFang SC';
  313. font-style: normal;
  314. font-weight: 400;
  315. font-size: 34px;
  316. text-align: right;
  317. color: #333333;
  318. }
  319. .popue_box_index1 {
  320. width: 92%;
  321. font-size: 34px;
  322. margin-left: 4%;
  323. font-weight: 700;
  324. height: 117px;
  325. line-height: 117px;
  326. border-bottom: 1px solid #f5f5f5;
  327. text-align: center;
  328. }
  329. .popue_box_index4_xs {
  330. width: 260px;
  331. height: 72px;
  332. border: 2px solid #D8DAE0;
  333. display: flex;
  334. align-items: center;
  335. justify-content: space-between;
  336. border-radius: 10px;
  337. .popue_box_index4_xs_index1 {
  338. width: 72px;
  339. height: 72px;
  340. background-color: #FAFBFF;
  341. text-align: center;
  342. line-height: 72px;
  343. border-right: 1px solid #e5e6ec;
  344. }
  345. .popue_box_index4_xs_index2 {
  346. width: 116px;
  347. height: 72px;
  348. line-height: 72px;
  349. text-align: center;
  350. background-color: #FFFFFF;
  351. }
  352. .popue_box_index4_xs_index3 {
  353. width: 72px;
  354. height: 72px;
  355. background-color: #f5f8fb;
  356. text-align: center;
  357. line-height: 72px;
  358. border-left: 1px solid #e5e6ec;
  359. }
  360. }
  361. .popue_box_index5 {
  362. font-size: 30px;
  363. width: 92%;
  364. margin-left: 4%;
  365. font-weight: 700;
  366. height: 214px;
  367. line-height: 90px;
  368. display: flex;
  369. align-items: center;
  370. justify-content: space-between;
  371. }
  372. .popue_box_index4_by {
  373. width: 320px;
  374. height: 90px;
  375. line-height: 90px;
  376. color: #fff;
  377. border-radius: 60px;
  378. text-align: center;
  379. color: var(--k-color-primary-01, #064c8a);
  380. font-weight: 700;
  381. border: 1px solid var(--k-color-primary-01, #064c8a);
  382. }
  383. .blue_popue_box_index4_by {
  384. .color_popue_box_index4_by('blue');
  385. }
  386. .green_popue_box_index4_by {
  387. .color_popue_box_index4_by('green');
  388. }
  389. .color_popue_box_index4_by(@value) {
  390. @color: 'color-@{value}';
  391. color: @@color;
  392. border: 1px solid @@color;
  393. }
  394. .popue_box_index4_by1 {
  395. width: 320px;
  396. height: 90px;
  397. line-height: 90px;
  398. color: #fff;
  399. border-radius: 60px;
  400. text-align: center;
  401. // background-image: linear-gradient(to right, #7e4fa1, #433c7f);
  402. background-color: var(--k-color-primary-01, #064c8a);
  403. border: 1px solid var(--k-color-primary-01, #064c8a);
  404. }
  405. }
  406. /*页面底部操作区*/
  407. .flewx {
  408. position: fixed;
  409. bottom: 0;
  410. right: 0;
  411. left: 0;
  412. background-color: #fff;
  413. .control-box {
  414. width: 100%;
  415. box-sizing: border-box;
  416. display: flex;
  417. align-content: flex-start;
  418. align-items: center;
  419. //padding-bottom: constant(safe-area-inset-bottom);
  420. //padding-bottom: env(safe-area-inset-bottom);
  421. padding: 30px 24px 30px 30px;
  422. justify-content: space-between;
  423. .flewx-content {
  424. font-size: 28px;
  425. .fee-box {
  426. display: flex;
  427. align-items: center;
  428. justify-content: flex-start;
  429. }
  430. .actualPayFee {
  431. color: #333;
  432. font-size: 40px;
  433. }
  434. .usingTotalDiscount {
  435. font-family: 'PingFang SC';
  436. font-style: normal;
  437. font-weight: 400;
  438. font-size: 22px;
  439. //height: 22px;
  440. //line-height: 22px;
  441. margin-left: 7px;
  442. //border: 1px solid var(--k-color-red-01);
  443. background-color: #F4F7FF;
  444. border-radius: 2px;
  445. &::after {
  446. border-color: #999999;
  447. }
  448. color: #999999;
  449. padding: 1px 3px;
  450. &.usingTotalDiscount-red {
  451. color: var(--k-color-red-01);
  452. background-color: var(--k-color-red-06);
  453. &::after {
  454. border-color: var(--k-color-red-01);
  455. }
  456. }
  457. }
  458. .count-down-box {
  459. display: flex;
  460. font-weight: 400;
  461. align-items: center;
  462. color: var(--k-color-red-01);
  463. font-family: 'PingFang SC';
  464. font-style: normal;
  465. font-weight: 400;
  466. font-size: 26px;
  467. margin-top: 5px;
  468. .van-count-down {
  469. font-size: 30px;
  470. color: var(--k-color-red-01);
  471. }
  472. .desc {
  473. font-size: 30px;
  474. }
  475. }
  476. }
  477. .btn-box {
  478. display: flex;
  479. justify-content: flex-end;
  480. margin-left: 35px;
  481. flex: 1;
  482. max-width: 240px;
  483. }
  484. }
  485. .flewx_index3 {
  486. width: 150px;
  487. height: 70px;
  488. border-radius: 45px;
  489. text-align: center;
  490. font-size: 34px;
  491. line-height: 70px;
  492. color: #fff;
  493. // background-image: linear-gradient(to right, #7e4fa1, #433c7f);
  494. background: var(--k-color-primary-01, #064c8a);
  495. box-shadow: 2px 3px 5px #888888;
  496. //position: absolute;
  497. //right: 16px;
  498. }
  499. }
  500. .wrap {
  501. display: flex;
  502. flex-direction: column;
  503. width: 100%;
  504. .parkingFee {
  505. display: flex;
  506. flex-direction: column;
  507. .parkingFee-top {
  508. display: flex;
  509. flex-direction: column;
  510. background: #c69c6d;
  511. .top_content {
  512. padding: 30px 30px;
  513. margin-bottom: constant(safe-area-inset-bottom); // 兼容 IOS<11.2
  514. margin-bottom: env(safe-area-inset-bottom); // 兼容 IOS>=11.2
  515. box-sizing: border-box;
  516. display: flex;
  517. flex-direction: column;
  518. //width: 750px;
  519. //height: 280px;
  520. background: #fafbff;
  521. border: 1px solid #d8dae0;
  522. span {
  523. font-size: 24px;
  524. color: #898989;
  525. text-align: left;
  526. }
  527. .title_box {
  528. display: flex;
  529. align-items: center;
  530. justify-content: space-between;
  531. // margin-bottom: 20px;
  532. .title {
  533. // padding: 0px 14px;
  534. box-sizing: border-box;
  535. border-radius: 20px;
  536. font-size: 36px;
  537. color: #000;
  538. font-weight: 500;
  539. text-align: left;
  540. line-height: 50px;
  541. }
  542. }
  543. .info {
  544. // padding-left: 18px;
  545. font-size: 30px;
  546. width: 100%;
  547. color: #999999;
  548. line-height: 45px;
  549. }
  550. .info_show {
  551. word-break: break-all;
  552. text-overflow: ellipsis;
  553. overflow: hidden;
  554. display: -webkit-box;
  555. -webkit-line-clamp: 2;
  556. -webkit-box-orient: vertical;
  557. }
  558. .top_down {
  559. margin-top: 20px;
  560. width: 100%;
  561. // font-size: 20PX;
  562. line-height: 20px;
  563. text-align: center;
  564. color: #999999;
  565. }
  566. }
  567. .top_menu {
  568. background: #fff;
  569. padding: 30px 0;
  570. box-sizing: border-box;
  571. display: flex;
  572. justify-content: space-between;
  573. border-radius: 15px 15px 0 0;
  574. .menu_item {
  575. display: flex;
  576. flex-direction: column;
  577. align-items: center;
  578. width: 33.3%;
  579. img {
  580. width: 102px;
  581. height: 102px;
  582. }
  583. span {
  584. font-size: 24px;
  585. margin-top: 24px;
  586. }
  587. }
  588. }
  589. }
  590. .parkingFee-bottom {
  591. width: 100%;
  592. display: flex;
  593. flex-direction: column;
  594. padding: 14px 25px;
  595. box-sizing: border-box;
  596. // 车牌号查询
  597. .parkingFee-search {
  598. width: 100%;
  599. display: flex;
  600. flex-direction: column;
  601. background: #fff;
  602. border-radius: 24px;
  603. padding: 26px 25px 20px;
  604. box-sizing: border-box;
  605. .search_tip {
  606. color: #999;
  607. font-size: 24px;
  608. text-align: center;
  609. }
  610. .searchPrice {
  611. margin: 0 auto;
  612. width: 40%;
  613. height: 60px;
  614. line-height: 60px;
  615. border-radius: 20px;
  616. }
  617. }
  618. .search-list {
  619. display: flex;
  620. flex-direction: column;
  621. background: #fff;
  622. padding: 0 30px;
  623. box-sizing: border-box;
  624. margin-top: 20px;
  625. border-radius: 24px;
  626. width: 100%;
  627. .list_item {
  628. padding: 38px 0;
  629. box-sizing: border-box;
  630. display: flex;
  631. align-items: center;
  632. justify-content: space-between;
  633. border-bottom: 1px solid #f2f2f2;
  634. span {
  635. font-size: 28px;
  636. }
  637. button {
  638. height: 60px;
  639. line-height: 60px;
  640. margin: 0;
  641. }
  642. }
  643. }
  644. }
  645. }
  646. }
  647. // 缴费说明
  648. .payInstruct_wrap {
  649. width: 300px;
  650. margin: 0 auto;
  651. display: flex;
  652. flex-direction: column;
  653. background: #fff;
  654. border-radius: 20px;
  655. .scroll {
  656. height: 600px;
  657. display: flex;
  658. flex-direction: column;
  659. padding: 20px;
  660. box-sizing: border-box;
  661. .payInstruct_title {
  662. font-size: 30px;
  663. text-align: center;
  664. padding: 20px 0;
  665. box-sizing: border-box;
  666. border-bottom: 1px solid #f2f2f2;
  667. }
  668. .payInstruct_con {
  669. display: flex;
  670. width: 100%;
  671. padding: 20px 10px;
  672. box-sizing: border-box;
  673. span {
  674. font-size: 28px;
  675. color: #999;
  676. }
  677. }
  678. }
  679. }
  680. // 车牌号 & 虚拟键盘
  681. .input-box {
  682. width: 100%;
  683. height: 70px;
  684. margin: auto;
  685. background: rgba(255, 255, 255, 1);
  686. box-shadow: 0px 6px 8px 0px rgba(96, 100, 112, 0.1);
  687. border-radius: 0.4rem;
  688. margin: 1rem auto;
  689. display: flex;
  690. justify-content: center;
  691. .li {
  692. flex: 1;
  693. border: 1px solid rgba(206, 208, 210, 1);
  694. box-sizing: border-box;
  695. margin: 0 2px;
  696. font-size: 30px;
  697. display: flex;
  698. align-items: center;
  699. justify-content: center;
  700. color: #323233;
  701. img {
  702. width: 80%;
  703. height: 100%;
  704. }
  705. &.active {
  706. border-color: #3e67ff;
  707. }
  708. &:nth-child(2) {
  709. margin-right: 26px;
  710. }
  711. }
  712. }
  713. .class-van-button-small {
  714. min-width: 0;
  715. border-radius: 10px;
  716. margin: 10px 3px;
  717. box-shadow: 10px 10px 10px #aaa;
  718. }
  719. .class-plate-box {
  720. width: 100%;
  721. padding: 24px 0;
  722. box-sizing: border-box;
  723. position: relative;
  724. }
  725. .plate_number {
  726. width: 100%;
  727. display: flex;
  728. flex-direction: column;
  729. .plate_number_wrap {
  730. width: 100%;
  731. display: flex;
  732. flex-direction: column;
  733. background: #eaf1f9;
  734. padding: 0 0 10px;
  735. box-sizing: border-box;
  736. .close-box {
  737. width: 100%;
  738. font-size: 24px;
  739. color: #3e67ff;
  740. text-align: right;
  741. margin-right: 1.25rem;
  742. div {
  743. padding: 10px;
  744. }
  745. }
  746. .plate_chinese_box {
  747. width: 100%;
  748. display: flex;
  749. flex-wrap: wrap;
  750. justify-content: center;
  751. button {
  752. width: 9%;
  753. height: 2.5rem;
  754. line-height: 2.5rem;
  755. text-align: center;
  756. padding: 0;
  757. font-size: 28px;
  758. .class-van-button-small;
  759. }
  760. }
  761. }
  762. }
  763. .allBoard {
  764. width: 100%;
  765. display: flex;
  766. flex-direction: column;
  767. .allBoard_wrap {
  768. width: 100%;
  769. display: flex;
  770. flex-direction: column;
  771. background: #eaf1f9;
  772. padding: 0 0 10px;
  773. box-sizing: border-box;
  774. }
  775. .close-box {
  776. padding-top: 22px;
  777. box-sizing: border-box;
  778. font-size: 24px;
  779. color: #3e67ff;
  780. text-align: right;
  781. margin-right: 1.25rem;
  782. }
  783. .plate_number_box {
  784. width: 100%;
  785. display: flex;
  786. flex-wrap: wrap;
  787. justify-content: center;
  788. button {
  789. width: 9%;
  790. height: 2.5rem;
  791. line-height: 2.5rem;
  792. text-align: center;
  793. padding: 0;
  794. font-size: 28px;
  795. .class-van-button-small;
  796. }
  797. }
  798. }
  799. .vehicleMgt-list {
  800. display: flex;
  801. flex-direction: column;
  802. margin-bottom: 35px;
  803. .vehicleMgt-title {
  804. display: flex;
  805. padding: 30px;
  806. box-sizing: border-box;
  807. border-bottom: 1px solid #f2f2f2;
  808. span {
  809. font-size: 28px;
  810. }
  811. }
  812. .vehicleMgt-content {
  813. display: flex;
  814. flex-direction: column;
  815. background: #fff;
  816. .item {
  817. display: flex;
  818. align-items: center;
  819. justify-content: space-between;
  820. padding: 15px 36px;
  821. box-sizing: border-box;
  822. border-bottom: 1px solid #f2f2f2;
  823. span {
  824. font-size: 28px;
  825. }
  826. }
  827. }
  828. }
  829. .delBtn {
  830. color: #c69c6d;
  831. height: 38px;
  832. line-height: 38px;
  833. font-size: 20px;
  834. width: 124px;
  835. border: 1px solid #c69c6d;
  836. border-radius: 19px;
  837. text-align: center;
  838. }
  839. .payThe {
  840. width: 100%;
  841. .pay_index {
  842. text-align: center;
  843. padding: 20px 0;
  844. font-size: 20px;
  845. margin-bottom: 5px;
  846. background-color: #fff;
  847. font-weight: 600;
  848. }
  849. .pay_title {
  850. display: flex;
  851. justify-content: space-between;
  852. background-color: #fff;
  853. border-bottom: 1px solid #eee;
  854. padding: 15px 30px;
  855. .title {
  856. font-size: 16px;
  857. }
  858. .dk_desc {
  859. font-size: 12px;
  860. color: #999;
  861. margin-top: 3px;
  862. }
  863. .value {
  864. font-size: 14px;
  865. color: #999;
  866. }
  867. }
  868. .payjf {
  869. font-size: 12px;
  870. color: #999;
  871. margin-right: 18px;
  872. margin-top: 12px;
  873. }
  874. .paySelect {
  875. color: rgba(16, 16, 16, 100);
  876. font-size: 20px;
  877. font-family: Arial;
  878. border: 1px solid rgba(187, 187, 187, 100);
  879. border-radius: 10px;
  880. margin-left: 80px;
  881. width: 260px;
  882. height: 80px;
  883. }
  884. .paySelect1 {
  885. color: rgba(16, 16, 16, 100);
  886. font-size: 20px;
  887. font-family: Arial;
  888. border: 1px solid rgba(187, 187, 187, 100);
  889. width: 200px;
  890. height: 50px;
  891. display: flex;
  892. align-items: center;
  893. justify-content: space-between;
  894. background-color: #f2f2f2;
  895. margin-top: 5px;
  896. .pay-se-l {
  897. height: 50px;
  898. width: 50px;
  899. line-height: 50px;
  900. text-align: center;
  901. font-size: 50px;
  902. background-color: #fff;
  903. }
  904. }
  905. .payjfzk {
  906. font-size: 20px;
  907. color: #8b8c8b;
  908. margin-top: 10px;
  909. margin-left: 210px;
  910. }
  911. .pay_time {
  912. font-size: 28px;
  913. margin-left: 180px;
  914. padding-bottom: 40px;
  915. }
  916. .pay_time1 {
  917. margin-top: 26px;
  918. }
  919. }
  920. .pay_jiaof {
  921. width: 80%;
  922. height: 70px;
  923. line-height: 70px;
  924. background-color: #c69c6d;
  925. text-align: center;
  926. color: rgba(255, 255, 255, 100);
  927. font-size: 28px;
  928. font-family: Microsoft Yahei;
  929. border-radius: 10px;
  930. margin: 20px auto;
  931. }
  932. // 停车券弹窗
  933. .ticketPopup {
  934. display: flex;
  935. flex-direction: column;
  936. background: #fff;
  937. border-radius: 20px 20px 0 0;
  938. z-index: 999;
  939. .popup-title {
  940. display: flex;
  941. justify-content: center;
  942. align-items: center;
  943. padding: 30px 42px;
  944. box-sizing: border-box;
  945. border-bottom: 1px solid #f2f2f2;
  946. position: relative;
  947. span {
  948. color: #999;
  949. font-size: 28px;
  950. }
  951. .useRule-text {
  952. position: absolute;
  953. right: 42px;
  954. color: rgb(58, 130, 248);
  955. }
  956. }
  957. .popup_scroll {
  958. height: 70vh;
  959. background: #f2f2f2;
  960. }
  961. .popup_content {
  962. width: 100%;
  963. height: 100%;
  964. display: flex;
  965. flex-direction: column;
  966. padding: 10px 20px;
  967. box-sizing: border-box;
  968. .item {
  969. display: flex;
  970. margin-bottom: 16px;
  971. .item-image {
  972. border: 2px solid #f2f2f2;
  973. border-right: 2px dashed #f2f2f2;
  974. padding: 16px;
  975. border-radius: 16px 0 0 16px;
  976. box-sizing: border-box;
  977. display: flex;
  978. align-items: center;
  979. justify-content: center;
  980. background: #fff;
  981. &.cro {
  982. position: relative;
  983. }
  984. .img {
  985. width: 130px;
  986. height: 130px;
  987. border-radius: 8px;
  988. img {
  989. width: 100%;
  990. height: 100%;
  991. }
  992. }
  993. }
  994. .item-content {
  995. flex: 1;
  996. border: 2px solid #f2f2f2;
  997. border-radius: 0 8px 8px 0;
  998. padding: 16px;
  999. box-sizing: border-box;
  1000. background: #fff;
  1001. display: flex;
  1002. position: relative;
  1003. &.cro_ {
  1004. position: relative;
  1005. }
  1006. .content {
  1007. display: flex;
  1008. flex-direction: column;
  1009. justify-content: center;
  1010. flex: 1;
  1011. .h3 {
  1012. font-size: 28px;
  1013. line-height: 48px;
  1014. font-weight: 600;
  1015. }
  1016. .h3.color_disabled {
  1017. color: #838181;
  1018. font-weight: 400;
  1019. }
  1020. .span {
  1021. font-size: 24px;
  1022. color: #838181;
  1023. line-height: 40px;
  1024. }
  1025. }
  1026. .erwm_box {
  1027. display: flex;
  1028. flex-direction: column;
  1029. align-items: flex-end;
  1030. justify-content: space-between;
  1031. img {
  1032. width: 52px;
  1033. height: 52px;
  1034. }
  1035. .tag {
  1036. position: absolute;
  1037. bottom: 0;
  1038. right: 0;
  1039. border-radius: 16px;
  1040. padding: 5px 10px;
  1041. box-sizing: border-box;
  1042. background: #f7931e;
  1043. text-align: center;
  1044. color: #fff;
  1045. width: 122px;
  1046. font-size: 24px;
  1047. }
  1048. }
  1049. }
  1050. }
  1051. }
  1052. // 对勾
  1053. .dot {
  1054. position: absolute;
  1055. top: 0;
  1056. right: 0;
  1057. width: 2.25rem;
  1058. height: 2.375rem;
  1059. }
  1060. }
  1061. // 弹窗按钮
  1062. .popup_button {
  1063. width: 100%;
  1064. display: flex;
  1065. align-items: center;
  1066. justify-content: space-between;
  1067. padding: 10px 20px;
  1068. box-sizing: border-box;
  1069. .desc .num {
  1070. color: #c69c6d;
  1071. font-size: 18px;
  1072. }
  1073. .ok_btn {
  1074. height: 110px;
  1075. line-height: 110px;
  1076. text-align: center;
  1077. background: #c69c6d;
  1078. color: #fff !important;
  1079. width: 120px;
  1080. height: 40px;
  1081. line-height: 40px;
  1082. border-radius: 40px;
  1083. }
  1084. }
  1085. </style>