rent.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883
  1. <template>
  2. <view class="content">
  3. <view class="top-tit">
  4. <view class="tit">
  5. 为您展示【台州市】地区套餐,其他地域套餐待开放。
  6. </view>
  7. </view>
  8. <!-- 推荐渠道 -->
  9. <view class="yt-list">
  10. <view class="top-wrap flex">
  11. <view class="top-left">
  12. 推荐渠道
  13. </view>
  14. </view>
  15. <view class="contet-list flex" >
  16. <view class="tc " style="display: flex;text-align: center;" :class="{'action': is_tj}" @click="couldTj?istj==true:''">
  17. 推荐渠道
  18. </view>
  19. <view class="tc" style="display: flex;text-align: center;" :class="{'action': !is_tj}">
  20. {{isFj?'最近门店': '选择门店'}}
  21. </view>
  22. </view>
  23. </view>
  24. <!-- 门店选择 -->
  25. <view class="yt-list tc-wrap" @click="navTo('/pages/shop/shopTab?select=1')" v-if="!is_tj">
  26. <view class="top-wrap flex">
  27. <view class="top-left">
  28. {{isFj?'最近门店': '选择门店'}}
  29. </view>
  30. </view>
  31. <view class="store-wrap flex" v-if="selctStore && selctStore.id">
  32. <view class="imgBox">
  33. <image class="logo" :src="selctStore.image" mode="aspectFit"></image>
  34. </view>
  35. <view class="padding-l-20 flex-grow-true">
  36. <view class="title clamp flex">
  37. <view class="name">
  38. {{selctStore.name}}
  39. </view>
  40. <view class="km" v-if="selctStore.range">
  41. {{selctStore.range<1?selctStore.distance+'m':selctStore.range+'km'}}
  42. </view>
  43. </view>
  44. <view class="flex addressBox margin-t-20">
  45. <image class="iconA margin-r-10" src="../../static/icon/shop.png" mode="">
  46. </image>
  47. <text class="clamp">
  48. {{selctStore.detailed_address}}
  49. </text>
  50. </view>
  51. <view class="addressBox flex">
  52. <image class="iconA margin-r-10" src="../../static/icon/shopPhone.png" mode="">
  53. <text class="clamp">
  54. {{selctStore.phone}}
  55. </text>
  56. </view>
  57. <view class="yysj">
  58. 营业时间:{{selctStore.day_time}}
  59. </view>
  60. </view>
  61. </view>
  62. <view class="store-wrap-empty" v-else>
  63. 选择门店
  64. </view>
  65. </view>
  66. <!-- 套餐 -->
  67. <view class="tc-wrap">
  68. <view class="top-wrap flex">
  69. <view class="top-left">
  70. 选择套餐
  71. </view>
  72. </view>
  73. <view class="contet-list flex">
  74. <view class="tc flex" v-for="(item,index) in tcList" :class="{'action': selectTcIndex == index}"
  75. @click="choosTc(index,item)">
  76. <view class="tc-price">
  77. {{item.price}}
  78. <text class="tc-time-t">
  79. &nbsp;/&nbsp;{{item.day}}天
  80. </text>
  81. </view>
  82. <view class="tc-time-price">
  83. <text>{{(item.price*1/(item.day*1)).toFixed(2)}}</text>元/天
  84. </view>
  85. </view>
  86. </view>
  87. </view>
  88. <view class="dy-wrap" v-if="selectTc.id && userInfo.battery_deposit != 1">
  89. <view class="top-wrap flex">
  90. <view class="top-left">
  91. 押金服务
  92. </view>
  93. <!-- <view class="top-right">
  94. <text>押金规则</text>
  95. <image src="../../static/icon/next1.png" mode="heightFix"></image>
  96. </view> -->
  97. </view>
  98. <view class="contet-list flex">
  99. <!-- <view class="tc flex dy">
  100. <view class="tc-time">
  101. <image src="../../static/icon/orderWx.png" mode="heightFix"></image>微信信用免押金
  102. </view>
  103. <view class="tc-time-price">
  104. 微信信用≥550分
  105. </view>
  106. <view class="tc-price">
  107. 77<text>¥88</text>
  108. </view>
  109. </view> -->
  110. <view class="tc flex dy action">
  111. <view class="tc-time">
  112. 支付押金
  113. </view>
  114. <!-- <view class="tc-time-price">
  115. 元/天
  116. </view> -->
  117. <view class="tc-price">
  118. {{selectTc.deposit}}
  119. </view>
  120. </view>
  121. </view>
  122. </view>
  123. <view class="dy-wrap">
  124. <view class="top-wrap flex">
  125. <view class="top-left">
  126. 使用说明
  127. </view>
  128. </view>
  129. <view class="sysm" v-html="sm">
  130. </view>
  131. </view>
  132. <view class="yt-list">
  133. <view class="yt-list-cell b-b" @click="payType='weixin'">
  134. <view class="cell-tit flex">
  135. <image class="orderIcon" src="../../static/icon/orderWx.png" mode="widthFix"></image>
  136. <text class="margin-l-10">微信支付</text>
  137. </view>
  138. <image class="checked" v-if="payType=='weixin'" src="../../static/icon/addressIconXz.png"
  139. mode="widthFix"></image>
  140. <view v-else class="noChecked"></view>
  141. </view>
  142. <!-- #ifdef APP-PLUS -->
  143. <view class="yt-list-cell b-b" @click="payType='ali'">
  144. <view class="cell-tit flex">
  145. <image class="orderIcon" src="../../static/icon/orderAli.png" mode="widthFix"></image>
  146. <text class="margin-l-10">支付宝</text>
  147. </view>
  148. <image class="checked" v-if="payType=='ali'" src="../../static/icon/addressIconXz.png" mode="widthFix">
  149. </image>
  150. <view v-else class="noChecked"></view>
  151. </view>
  152. <!-- #endif -->
  153. <view class="yt-list-cell b-b" @click="payType='yue'">
  154. <view class="cell-tit flex">
  155. <image class="orderIcon" src="../../static/icon/ye.png" mode="widthFix"></image>
  156. <text class="margin-l-10">卡券({{now_money}})</text>
  157. </view>
  158. <image class="checked" v-if="payType=='yue'" src="../../static/icon/addressIconXz.png" mode="widthFix">
  159. </image>
  160. <view v-else class="noChecked"></view>
  161. </view>
  162. </view>
  163. <view class="ts">
  164. </view>
  165. <view class="btm-btn flex">
  166. <view class="pay-price" v-if="userInfo.battery_deposit == 1">
  167. 总计费用:<text>{{(selectTc.price*1) || ''}}</text>
  168. </view>
  169. <view class="pay-price" v-else>
  170. 总计费用:<text>{{(selectTc.price*1 + selectTc.deposit*1) || ''}}</text>
  171. </view>
  172. <view class="pay-btn" @click="toBuy" :class="{'zfz': loading}">
  173. {{loading?'支付中':'立即支付'}}
  174. </view>
  175. </view>
  176. </view>
  177. </template>
  178. <script>
  179. // #ifdef MP-WEIXIN
  180. import {
  181. openMap
  182. } from '@/utils/rocessor.js';
  183. // #endif
  184. // #ifdef H5
  185. import weixinObj from "@/plugin/jweixin-module/index.js";
  186. // #endif
  187. import {
  188. mapState,
  189. mapMutations
  190. } from 'vuex'
  191. import {
  192. storeList,
  193. } from '@/api/product.js';
  194. import {
  195. getUserInfo
  196. } from '@/api/user.js';
  197. import {
  198. orderPay
  199. } from '@/api/order.js'
  200. import {
  201. getRents,
  202. rentCreate,
  203. details
  204. } from '@/api/index.js'
  205. export default {
  206. data() {
  207. return {
  208. is_tj: false,//是否使用推荐渠道
  209. couldTj: false,//是否可用推荐渠道
  210. isFj: false,//是否为最近门店
  211. selctStore: {
  212. id: ''
  213. },
  214. now_money: '',
  215. tcList: [],
  216. selectTc: {},
  217. selectTcIndex: 0,
  218. payType: 'yue',
  219. sm: '', //使用说明
  220. loading: false, //是否支付中
  221. }
  222. },
  223. computed: {
  224. ...mapState('user', ['address', 'userInfo'])
  225. },
  226. onLoad() {
  227. this.getRents()
  228. this.getSm()
  229. },
  230. onShow() {
  231. this.userinfo()
  232. if( this.address.latitude == '') {
  233. this.getlocation()
  234. }
  235. },
  236. onReachBottom() {
  237. },
  238. onReady() {
  239. },
  240. methods: {
  241. ...mapMutations('user', ['setUserInfo','setAddress']),
  242. // 获取附近门店
  243. storeList(source) {
  244. let that = this
  245. storeList({
  246. page: 1,
  247. limit: 1,
  248. latitude: that.address.latitude,
  249. longitude: that.address.longitude,
  250. })
  251. .then(({
  252. data
  253. }) => {
  254. // console.log(data, '结果');
  255. if(data && data.list && data.list.length > 0) {
  256. that.selctStore = data.list[0]
  257. if(data.list[0].distance*1 <= 100 ) {
  258. that.isFj = true
  259. }
  260. }
  261. })
  262. .catch(e => {
  263. console.log(e);
  264. });
  265. },
  266. // 获取经纬度
  267. getlocation() {
  268. let obj = this;
  269. // #ifdef H5 || APP
  270. uni.getLocation({
  271. type: 'gcj02',
  272. success(e) {
  273. obj.getlocationSetInit(e)
  274. },
  275. fail(e) {
  276. if(e.errCode==22){
  277. uni.showModal({
  278. title: '定位开启错误',
  279. content: '请查看是否已经开启定位服务',
  280. showCancel: false,
  281. });
  282. }
  283. console.log(e, 'cw');
  284. }
  285. })
  286. // #endif
  287. // #ifdef MP-WEIXIN
  288. openMap().then((e) => {
  289. console.log("授权");
  290. wx.getLocation({
  291. type: 'gcj02',
  292. success: (e) => {
  293. console.log(e);
  294. // 调用鉴定位置变化事件
  295. this.getlocationSetInit(e)
  296. },
  297. fail() {
  298. }
  299. })
  300. })
  301. // #endif
  302. },
  303. // 获取经纬度完毕后回调处理
  304. getlocationSetInit(data) {
  305. const obj = this;
  306. try {
  307. console.log(data, '位置数据');
  308. // 保存当前经纬度
  309. obj.setAddress({
  310. latitude: data.latitude,
  311. longitude: data.longitude
  312. })
  313. this.storeList()
  314. } catch (e) {
  315. console.log(e, 'cww');
  316. this.storeList()
  317. }
  318. },
  319. // 获取使用说明
  320. getSm() {
  321. details({}, 1).then(res => {
  322. this.sm = res.data.content
  323. })
  324. },
  325. navTo(url) {
  326. uni.navigateTo({
  327. url,
  328. fail() {
  329. uni.switchTab({
  330. url
  331. })
  332. }
  333. })
  334. },
  335. userinfo() {
  336. getUserInfo({}).then(({
  337. data
  338. }) => {
  339. this.now_money = data.now_money;
  340. if(data.store_id > 0) {
  341. this.couldTj = true
  342. this.is_tj = true
  343. }
  344. this.setUserInfo(data)
  345. });
  346. },
  347. choosTc(index, item) {
  348. this.selectTcIndex = index
  349. this.selectTc = item
  350. },
  351. getRents() {
  352. getRents().then(res => {
  353. this.tcList = res.data.rent
  354. this.selectTc = this.tcList[0]
  355. })
  356. },
  357. paySuccessTo() {
  358. uni.hideLoading();
  359. this.loading = false
  360. // uni.redirectTo({
  361. // url: '/pages/user_home/money/paySuccess?orderid=' + this.orderId,
  362. // });
  363. uni.redirectTo({
  364. url: '/pages/user_home/myRent'
  365. })
  366. },
  367. toBuy() {
  368. let that = this
  369. if (!that.is_tj && that.selctStore.id == '') {
  370. return that.$api.msg('请选择门店')
  371. }
  372. that.loading = true
  373. rentCreate({
  374. store_id: that.is_tj?that.userinfo.store_id: that.selctStore.id,
  375. rent_id: that.selectTc.id,
  376. // #ifdef H5
  377. from: 'weixin', //来源
  378. // #endif
  379. // #ifdef MP-WEIXIN
  380. from: 'routine', //来源
  381. // #endif
  382. // #ifdef APP-PLUS
  383. from: 'app', //来源
  384. // #endif
  385. pay_type: that.payType //支付方式
  386. }).then(({
  387. data,
  388. status,
  389. msg
  390. }) => {
  391. if (data.status == 'ORDER_EXIST') {
  392. uni.showModal({
  393. title: '提示',
  394. content: msg,
  395. showCancel: false
  396. });
  397. uni.hideLoading();
  398. that.loading = false;
  399. return;
  400. }
  401. // 保存订单号
  402. that.orderId = data.result.orderId;
  403. // 判断是否为卡券支付
  404. if (that.payType == 'yue') {
  405. console.log('卡券支付', status == 200 && data.status == 'SUCCESS');
  406. that.loading = false
  407. if (status == 200 && data.status == 'SUCCESS') {
  408. that.paySuccessTo();
  409. } else {
  410. that.$api.msg(msg);
  411. }
  412. } else {
  413. // 立即支付
  414. // obj.orderMoneyPay();
  415. let da = data.result.jsConfig;
  416. let paydata = {
  417. nonceStr: da.nonceStr,
  418. package: da.package,
  419. signType: da.signType,
  420. paySign: da.paySign,
  421. success: function(res) {
  422. that.paySuccessTo();
  423. },
  424. fail: () => {
  425. that.loading = false;
  426. }
  427. };
  428. // #ifdef H5
  429. paydata.timestamp = da.timestamp;
  430. weixinObj.chooseWXPay(paydata);
  431. // #endif
  432. // #ifdef MP-WEIXIN
  433. paydata.timeStamp = da.timestamp;
  434. wx.requestPayment(paydata);
  435. // #endif
  436. }
  437. })
  438. },
  439. orderMoneyPay() {
  440. let obj = this;
  441. orderPay({
  442. uni: obj.orderId,
  443. // #ifdef H5
  444. from: 'weixin', //来源
  445. // #endif
  446. // #ifdef MP-WEIXIN
  447. from: 'routine', //来源
  448. // #endif
  449. // #ifdef APP-PLUS
  450. from: 'app', //来源
  451. // #endif
  452. paytype: obj.payType //支付类型 weixin-微信 yue-卡券
  453. })
  454. .then(e => {
  455. // 判断是否微信小程序支付
  456. if (obj.payType == 'weixin') {
  457. // #ifdef H5 || MP
  458. let da = e.data.result.jsConfig;
  459. let data = {
  460. nonceStr: da.nonceStr,
  461. package: da.package,
  462. signType: da.signType,
  463. paySign: da.paySign,
  464. success: function(res) {
  465. obj.paySuccessTo();
  466. },
  467. fail: () => {
  468. uni.navigateTo({
  469. url: '/pages/order/order?state=0'
  470. });
  471. }
  472. };
  473. // #endif
  474. // #ifdef H5
  475. data.timestamp = da.timestamp;
  476. weixinObj.chooseWXPay(data);
  477. // #endif
  478. // #ifdef MP-WEIXIN
  479. data.timeStamp = da.timestamp;
  480. wx.requestPayment(data);
  481. // #endif
  482. // #ifdef APP
  483. console.log(e.data.result.jsConfig, '返回数值');
  484. uni.requestPayment({
  485. provider: 'wxpay',
  486. orderInfo: e.data.result.jsConfig,
  487. success(e) {
  488. obj.paySuccessTo();
  489. },
  490. fail: (e) => {
  491. console.log(e, '支付失败');
  492. uni.navigateTo({
  493. url: '/pages/order/order?state=0'
  494. });
  495. }
  496. })
  497. // #endif
  498. }
  499. // #ifdef APP
  500. if (obj.payType == 'ali') {
  501. uni.requestPayment({
  502. provider: 'alipay',
  503. orderInfo: e.data.result.jsConfig,
  504. success(e) {
  505. obj.paySuccessTo();
  506. },
  507. fail: (e) => {
  508. console.log(e, '支付失败');
  509. uni.navigateTo({
  510. url: '/pages/order/order?state=0'
  511. });
  512. }
  513. })
  514. }
  515. // #endif
  516. uni.hideLoading();
  517. obj.payLoding = false;
  518. })
  519. .catch(e => {
  520. // 支付完成
  521. uni.hideLoading();
  522. obj.payLoding = false;
  523. console.log(e);
  524. });
  525. },
  526. }
  527. }
  528. </script>
  529. <style lang="scss" scoped>
  530. .content {
  531. padding-top: 1rpx;
  532. }
  533. .dy-wrap,
  534. .tc-wrap {
  535. width: 702rpx;
  536. background: #FFFFFF;
  537. border-radius: 15rpx;
  538. // padding: 25rpx 25rpx 45rpx;
  539. margin: 20rpx auto;
  540. }
  541. .contet-list {
  542. flex-wrap: wrap;
  543. justify-content: space-between;
  544. padding: 0 25rpx 45rpx;
  545. .tc {
  546. width: 315rpx;
  547. height: 212rpx;
  548. background: #FFFFFF;
  549. border: 2px solid #E9E9E9;
  550. border-radius: 10rpx;
  551. margin-bottom: 20rpx;
  552. flex-direction: column;
  553. justify-content: center;
  554. // align-items: center;
  555. .tc-time {
  556. font-size: 28rpx;
  557. font-weight: bold;
  558. color: #00001A;
  559. display: flex;
  560. align-items: center;
  561. image {
  562. height: 34rpx;
  563. margin-right: 10rpx;
  564. }
  565. }
  566. .tc-price {
  567. font-size: 55rpx;
  568. font-weight: bold;
  569. color: #52C696;
  570. padding: 4rpx 0;
  571. &::before {
  572. content: '¥';
  573. font-size: 20rpx;
  574. }
  575. text {
  576. font-size: 22rpx;
  577. font-weight: 500;
  578. text-decoration: line-through;
  579. color: #999999;
  580. }
  581. .tc-time-t {
  582. font-size: 28rpx;
  583. font-weight: bold;
  584. color: #00001A;
  585. text-decoration: none;
  586. }
  587. }
  588. .tc-time-price {
  589. font-size: 22rpx;
  590. font-weight: 500;
  591. color: #999999;
  592. text {
  593. font-weight: bold;
  594. }
  595. }
  596. }
  597. .dy {
  598. height: 187rpx;
  599. }
  600. .action {
  601. background: #F3FFFB;
  602. border: 2px solid #5FCCA7;
  603. }
  604. }
  605. .top-wrap {
  606. justify-content: space-between;
  607. padding: 0 25rpx;
  608. font-size: 32rpx;
  609. font-weight: bold;
  610. color: #00001A;
  611. height: 85rpx;
  612. .top-left {}
  613. .top-right {
  614. text {
  615. font-size: 25rpx;
  616. font-weight: 500;
  617. color: #999999;
  618. }
  619. image {
  620. height: 22rpx;
  621. margin-left: 10rpx;
  622. }
  623. }
  624. }
  625. .sysm {
  626. padding: 34rpx;
  627. font-size: 22rpx;
  628. font-weight: 500;
  629. color: #666666;
  630. }
  631. .ts {
  632. height: 200rpx;
  633. }
  634. .btm-btn {
  635. width: 750rpx;
  636. height: 100rpx;
  637. position: fixed;
  638. bottom: 0;
  639. background-color: #fff;
  640. z-index: 999;
  641. .pay-price {
  642. padding-left: 33rpx;
  643. flex-grow: 1;
  644. font-size: 32rpx;
  645. font-weight: 500;
  646. color: #333333;
  647. text {
  648. font-size: 48rpx;
  649. font-weight: 500;
  650. color: #FF6B2E;
  651. &::before {
  652. content: '¥';
  653. font-size: 28rpx;
  654. }
  655. }
  656. }
  657. .pay-btn {
  658. flex-shrink: 0;
  659. width: 287rpx;
  660. height: 98rpx;
  661. background: linear-gradient(-38deg, #6CDBC3, #6DD6B8);
  662. line-height: 100rpx;
  663. text-align: center;
  664. font-size: 34rpx;
  665. font-weight: 500;
  666. color: #FFFFFF;
  667. }
  668. }
  669. .yt-list {
  670. background: #fff;
  671. margin: 0 $page-row-spacing;
  672. margin-top: 30rpx;
  673. border-radius: 20rpx;
  674. }
  675. .yt-list-cell {
  676. display: flex;
  677. align-items: center;
  678. justify-content: space-between;
  679. padding: 10rpx 30rpx 10rpx 40rpx;
  680. line-height: 70rpx;
  681. position: relative;
  682. .checked,
  683. .noChecked {
  684. width: 36rpx;
  685. height: 36rpx;
  686. }
  687. .noChecked {
  688. border: 1px solid $font-color-light;
  689. border-radius: 100rpx;
  690. }
  691. &.cell-hover {
  692. background: #fafafa;
  693. }
  694. &.b-b:after {
  695. left: 30rpx;
  696. }
  697. .cell-icon {
  698. height: 32rpx;
  699. width: 32rpx;
  700. font-size: 22rpx;
  701. color: #fff;
  702. text-align: center;
  703. line-height: 32rpx;
  704. background: #f85e52;
  705. border-radius: 4rpx;
  706. margin-right: 12rpx;
  707. &.hb {
  708. background: #ffaa0e;
  709. }
  710. &.lpk {
  711. background: #3ab54a;
  712. }
  713. }
  714. .cell-more {
  715. align-self: center;
  716. font-size: 24rpx;
  717. color: $font-color-light;
  718. margin-left: 8rpx;
  719. margin-right: -10rpx;
  720. }
  721. .cell-tit {
  722. font-size: 26rpx;
  723. color: $font-color-light;
  724. margin-right: 10rpx;
  725. .orderIcon {
  726. width: 48rpx;
  727. }
  728. }
  729. .cell-tip {
  730. font-size: 26rpx;
  731. color: $font-color-dark;
  732. &.disabled {
  733. color: $font-color-light;
  734. }
  735. &.active {
  736. color: $base-color;
  737. }
  738. &.red {
  739. color: $base-color;
  740. }
  741. }
  742. &.desc-cell {
  743. .cell-tit {
  744. max-width: 90rpx;
  745. }
  746. }
  747. .desc {
  748. text-align: right;
  749. font-size: $font-base;
  750. color: $font-color-light;
  751. }
  752. }
  753. .store-wrap-empty {
  754. text-align: center;
  755. height: 100rpx;
  756. }
  757. .store-wrap {
  758. background-color: #FFFFFF;
  759. margin-bottom: 30rpx;
  760. padding: 30rpx;
  761. border-radius: 20rpx;
  762. .list,
  763. .km {
  764. color: $font-color-light;
  765. font-size: $font-sm;
  766. }
  767. .logo {
  768. height: 200rpx;
  769. width: 200rpx;
  770. border-radius: 20rpx;
  771. }
  772. .title {
  773. font-size: 36rpx;
  774. color: $font-color-dark;
  775. }
  776. .iconR {
  777. height: 24rpx;
  778. }
  779. .iconA {
  780. width: 24rpx;
  781. height: 24rpx;
  782. }
  783. .addressBox {
  784. font-size: 24rpx;
  785. color: $font-color-light;
  786. justify-content: flex-start;
  787. padding: 10rpx 0;
  788. }
  789. .yysj {
  790. display: inline-block;
  791. // width: 239rpx;
  792. padding: 0 10rpx;
  793. height: 32rpx;
  794. background: #ddf8f1;
  795. border-radius: 16rpx 16rpx 16rpx 0rpx;
  796. font-size: 20rpx;
  797. font-weight: bold;
  798. color: #5FCCA7;
  799. text-align: center;
  800. line-height: 32rpx;
  801. margin-top: 10rpx;
  802. }
  803. }
  804. .zfz {
  805. background: #999 !important;
  806. }
  807. .top-tit {
  808. width: 750rpx;
  809. background-color: #fff;
  810. padding: 10rpx;
  811. .tit {
  812. font-size: 28rpx;
  813. background-color:rgba(108, 217, 192, 0.4);
  814. border-radius: 5rpx;
  815. padding: 10rpx;
  816. }
  817. }
  818. </style>