index.vue 22 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015
  1. <template>
  2. <view>
  3. <view class="header">
  4. <!-- 用户信息 -->
  5. <view class="userinfo">
  6. <view class="infos" @click="toData" >
  7. <view class="head-portrait" >
  8. <u-avatar :src="userId ? headImg : '../../assets/img/head.png'" size="96"></u-avatar>
  9. </view>
  10. <view class="username" v-if="personInfo&&personInfo.userType==1" >
  11. <view class="name" style="font-size: 56rpx; width: 360rpx;line-height: 100rpx;">
  12. 游客模式
  13. </view>
  14. </view>
  15. <view class="" v-if="personInfo&&personInfo.userType==1" >
  16. </view>
  17. <view class="username" v-else >
  18. <view class="name" :style="elderStatus ? 'font-size: 28px;' : ''">
  19. {{userId ? nickName : '登录 / 注册'}}
  20. </view>
  21. <view class="change" :style="elderStatus ? 'font-size: 16px;' : ''">
  22. {{userId ? '点击修改个人信息' : '登录后享受更多优惠及服务'}}
  23. </view>
  24. </view>
  25. </view>
  26. <view class="right" v-if="false">
  27. <!-- <i class="ri-notification-2-line">
  28. <text class="unread">20</text>
  29. </i> -->
  30. <i class="ri-settings-line" @click="setUp"></i>
  31. </view>
  32. </view>
  33. <!-- 卡片 -->
  34. <view v-for="(item,i) in businessVipList" :key="i" v-if="!(personInfo&&personInfo.userType==1)"
  35. @click="gotoUrl('pages/user/company-vip?id='+item.platform)"
  36. class="card" >
  37. <view class="card2">
  38. <view class="title">
  39. <text class="img">
  40. <img src="../../assets/img/riFill-building-fill@4x.png" alt="">
  41. </text>
  42. {{item.platformN}}
  43. </view>
  44. <view class="view" >
  45. 查看<text class="iconfont">&#xe600;</text>
  46. </view>
  47. </view>
  48. <view class="cardspan" v-if="item.entAccountEnabled&&item.enterpriseAccount!=null">
  49. 企业余额:{{item.enterpriseAccount.totalAmount?item.enterpriseAccount.totalAmount.toFixed(2):'0.00'}}元
  50. </view>
  51. </view>
  52. <view v-if="personInfo&&personInfo.userType==1" >
  53. </view>
  54. <!-- 立即开通 -->
  55. <view class="open" v-else-if="userId&&!userCardBool">
  56. <view class="title">
  57. <text class="img">
  58. <img src="../../assets/img/antFill-crown@3x.png" alt="">
  59. </text>充电月卡
  60. </view>
  61. <view class="open-btn" @click="gotoUrl('pages/monthlyCardActivity/monthlyCardBuy')">
  62. 立即开通
  63. <text class="iconfont">&#xe632;</text>
  64. </view>
  65. </view>
  66. <!-- 开通后 -->
  67. <view class="opened" v-if="userId&&userCardBool" @click="gotoUrl('pages/monthlyCardActivity/monthlyCardBuy')">
  68. <view class="title">
  69. <text class="img">
  70. <img src="../../assets/img/antFill-crown@3x.png" alt="">
  71. </text>充电月卡
  72. </view>
  73. <view class="date">
  74. {{userCard.endTime?userCard.endTime.slice(0,10):''}}到期
  75. <text class="iconfont">&#xe600;</text>
  76. </view>
  77. </view>
  78. <!-- 可用余额 -->
  79. <view class="balance" v-if="(personInfo&&personInfo.userType==2)" >
  80. <view class="item" @click="toBalance">
  81. <view class="num oldTextjp" oldstyle="font-size: 28px;">
  82. {{personAccount.availableAmount != null ? personAccount.availableAmount.toFixed(2) : '0.00'}}<span style="font-size: 16px;">元</span>
  83. </view>
  84. <view class="name" :style="elderStatus ? 'font-size: 16px;' : ''">
  85. 可用余额{{" "}}
  86. <span class="userData-foot-look">查看</span>
  87. </view>
  88. </view>
  89. <view class="item" @click="toMyCoupon">
  90. <view class="num oldTextjp" oldstyle="font-size: 28px;">
  91. {{personAccount.couponNum}}<span style="font-size: 16px; margin-right: 4px;">张</span>
  92. <!-- <text class="new">新券</text> -->
  93. <span style="font-size: 16px;">共</span>{{personAccount.couponAmount}}<span style="font-size: 16px;">元</span>
  94. </view>
  95. <view class="name" :style="elderStatus ? 'font-size: 16px;' : ''">
  96. 优惠券{{" "}}
  97. <span class="userData-foot-look">查看</span>
  98. </view>
  99. </view>
  100. <!-- <view class="item">
  101. <view class="num oldTextjp" oldstyle="font-size: 28px;">
  102. 0
  103. </view>
  104. <view class="name" :style="elderStatus ? 'font-size: 16px;' : ''">
  105. 积分{{" "}}
  106. <span class="userData-foot-look">查看</span>
  107. </view>
  108. </view> -->
  109. </view>
  110. </view>
  111. <view class="carImg" v-if="!personInfo||personInfo&&personInfo.userType!=2" >
  112. <img @click="toData" src="@/assets/img/gologin/img.png">
  113. </view>
  114. <!-- 优惠 -->
  115. <view class="discounts" v-else >
  116. <u-swiper bg-color="#fff" :img-mode="'scaleToFill'" height="160" :list="bannerList" @click="clickBanner"
  117. :name="'picUrl'">
  118. </u-swiper>
  119. </view>
  120. <!-- 菜单 -->
  121. <view class="menu">
  122. <view class="item" @click="chargingRecord">
  123. <view class="item-icon">
  124. <img src="@/assets/img/gologin/img3.svg">
  125. </view>
  126. <view class="item-name oldTextjp" oldstyle="font-size: 16px;">
  127. 充电记录
  128. </view>
  129. </view>
  130. <view class="item" @click="myAppointment">
  131. <view class="item-icon">
  132. <img src="@/assets/img/gologin/img4.svg">
  133. </view>
  134. <view class="item-name oldTextjp" oldstyle="font-size: 16px;">
  135. 我的预约
  136. </view>
  137. </view>
  138. <view class="item" @click="toInvoice">
  139. <view class="item-icon">
  140. <img src="@/assets/img/gologin/img1.svg">
  141. </view>
  142. <view class="item-name oldTextjp" oldstyle="font-size: 16px;">
  143. 我的发票
  144. </view>
  145. </view>
  146. <view class="item" @click="toRecharge">
  147. <view class="item-icon">
  148. <img src="@/assets/img/gologin/img2.svg">
  149. </view>
  150. <view class="item-name oldTextjp" oldstyle="font-size: 16px;">
  151. 我要充值
  152. </view>
  153. </view>
  154. </view>
  155. <!-- 菜单 -->
  156. <view class="menu" style="margin-bottom:60px ;">
  157. <view class="item" @click="gotoUrl('pages/user/contactService')">
  158. <view class="item-icon">
  159. <i class="ri-customer-service-2-line"></i>
  160. </view>
  161. <view class="item-name oldTextjp" oldstyle="font-size: 16px;">
  162. 联系客服
  163. </view>
  164. </view>
  165. <view class="item" @click="feedback">
  166. <view class="item-icon">
  167. <i class="ri-feedback-line"></i>
  168. </view>
  169. <view class="item-name oldTextjp" oldstyle="font-size: 16px;">
  170. 意见反馈
  171. </view>
  172. </view>
  173. <view class="item" @click="gotoUrl('pages/user/help')">
  174. <view class="item-icon">
  175. <i class="ri-compass-3-line"></i>
  176. </view>
  177. <view class="item-name oldTextjp" oldstyle="font-size: 16px;">
  178. 操作指南
  179. </view>
  180. </view>
  181. <view class="item" @click="gotoUrl('pages/user/about')">
  182. <view class="item-icon">
  183. <i class="ri-account-pin-box-line"></i>
  184. </view>
  185. <view class="item-name oldTextjp" oldstyle="font-size: 16px;">
  186. 关于我们
  187. </view>
  188. </view>
  189. <!-- <view class="item">
  190. <view class="item-icon">
  191. <i class="ri-tools-line"></i>
  192. </view>
  193. <view class="item-name oldTextjp" oldstyle="font-size: 16px;">
  194. 我要报修
  195. </view>
  196. </view> -->
  197. <view class="item" @click="toFreeInstallation">
  198. <view class="item-icon">
  199. <i class="ri-file-add-line"></i>
  200. </view>
  201. <view class="item-name oldTextjp" oldstyle="font-size: 16px;">
  202. 免费安桩
  203. </view>
  204. </view>
  205. <view class="item" @click="toJoin">
  206. <view class="item-icon">
  207. <i class="ri-service-line"></i>
  208. </view>
  209. <view class="item-name oldTextjp" oldstyle="font-size: 16px;">
  210. 我要加盟
  211. </view>
  212. </view>
  213. <view class="item" @click="setUp">
  214. <view class="item-icon" style="line-height: 52rpx;">
  215. <u-icon name="setting" size="24px" ></u-icon>
  216. </view>
  217. <view class="item-name oldTextjp" oldstyle="font-size: 16px;">
  218. 设置
  219. </view>
  220. </view>
  221. <!-- <view class="item">
  222. <view class="item-icon">
  223. <i class="ri-shield-user-line"></i>
  224. </view>
  225. <view class="item-name oldTextjp" oldstyle="font-size: 16px;">
  226. 实名认证
  227. </view>
  228. </view> -->
  229. </view>
  230. <Tabbar :current="3" ref="tabbarMain" :elderStatus="elderStatus"></Tabbar>
  231. </view>
  232. </template>
  233. <script>
  234. import * as API from '@/apis/index.js'
  235. import * as userApi from '@/apis/user.js'
  236. import * as loginApi from '@/apis/login.js'
  237. import * as WxJsApi from '@/utils/wxJsApi.js'
  238. import Tabbar from '@/components/Tabbar.vue'
  239. import * as newsApi from '@/apis/news.js'
  240. import {
  241. newDate
  242. } from '@/utils'
  243. export default {
  244. components: {
  245. Tabbar
  246. },
  247. data() {
  248. return {
  249. userCard:null,
  250. recordsTotal: 0,
  251. myCouponList: [],
  252. elderStatus: false,
  253. personAccount: {},
  254. userId: '',
  255. headImg: '',
  256. nickName: '',
  257. userPhone: '',
  258. personInfo:{},
  259. show: false,
  260. title: '联系客服',
  261. content: '400-8899-619',
  262. confirmText: '拨打电话',
  263. bannerList:[],
  264. businessVipList:[],
  265. background:{
  266. background: 'none'
  267. },
  268. }
  269. },
  270. onShow() {
  271. this.personInfo=this.carhelp.getPersonInfo()
  272. if(this.carhelp.getPersonInfo()) {
  273. this.userId = this.carhelp.getPersonInfo().id;
  274. this.getCarPersonAccount();
  275. this.getUserInfo();
  276. //this.getCouponList();
  277. }
  278. if(this.$refs.tabbarMain){
  279. this.$refs.tabbarMain.setcount(3);
  280. }
  281. if(this.carhelp.get("getElderModeClass") == "长辈模式") {
  282. this.elderStatus = true;
  283. } else {
  284. this.elderStatus = false;
  285. }
  286. },
  287. computed:{
  288. userCardBool(){
  289. if(this.userCard){
  290. var date=new Date().getTime()
  291. var reg=new RegExp('-','gi')
  292. var str=this.userCard.endTime;
  293. //console.log(str.replace(reg,'/'))
  294. var date2=newDate(str).getTime();
  295. if(date<date2){
  296. return true;
  297. }
  298. }
  299. return false
  300. }
  301. },
  302. onReady() {
  303. WxJsApi.getWxConfig(['getLocation', 'addEventListener', 'scanQRCode']).then((res) => {
  304. // //(res)
  305. }).catch(error => {
  306. //(error)
  307. })
  308. var consumerPhone=this.carhelp.getConfig().consumerPhone
  309. // img="https://yktwechat.xiaoxinda.com/config/xxd2021.jpg"
  310. if(consumerPhone){
  311. this.content=consumerPhone
  312. }
  313. this.getBannerInfo("userinfo")
  314. },
  315. methods: {
  316. personalCenter(){
  317. API.personalCenter().then((res2) => {
  318. var entRegList=res2.data.entRegList;
  319. for(var i in this.businessVipList){
  320. var item1=this.businessVipList[i]
  321. for(var j in entRegList){
  322. var item2=entRegList[j].vipUser;
  323. if(item1.id==item2.id){
  324. item1.enterpriseAccount=entRegList[j].enterpriseAccount
  325. }
  326. }
  327. }
  328. this.$forceUpdate()
  329. }).catch(error => {
  330. uni.showToast({
  331. title: error
  332. })
  333. })
  334. },
  335. clickBanner(index){
  336. var mod= this.bannerList[index]
  337. if(mod.linkUrl.indexOf('http')==0){
  338. window.location=mod.linkUrl;
  339. }
  340. else if(mod.linkUrl.indexOf('#/')==0){
  341. if(mod.linkUrl.indexOf("?")==-1){
  342. mod.linkUrl+='?';
  343. }
  344. //window.location=mod.linkUrl;
  345. var url=mod.linkUrl.split("#")[1]
  346. //window.location = mod.clickUrl;
  347. uni.navigateTo({
  348. url: url
  349. })
  350. }
  351. else if(mod.linkUrl=='#'||mod.linkUrl==''){
  352. }
  353. else{
  354. uni.navigateTo({
  355. url:mod.linkUrl
  356. })
  357. }
  358. },
  359. getBannerInfo(code){
  360. uni.showLoading({
  361. title: "加载中",
  362. mask: true,
  363. })
  364. newsApi.getBannerInfo(code).then((res) => {
  365. uni.hideLoading();
  366. this.bannerList =res.data;
  367. // document.getElementsByClassName("uni-swiper-wrapper")[0].parentNode.style="background-color: rgb(255, 255, 255); height: 300px;"
  368. }).catch(error => {
  369. uni.showToast({
  370. title: error,icon: "none"
  371. })
  372. })
  373. },
  374. getCouponList() {
  375. uni.showLoading({
  376. title: "加载中",
  377. mask: true,
  378. })
  379. userApi.couponList({
  380. status: '0'
  381. }).then((res) => {
  382. uni.hideLoading();
  383. this.myCouponList = res.data.data;
  384. this.recordsTotal = res.data.recordsTotal;
  385. }).catch(error => {
  386. uni.showToast({
  387. title: error,
  388. icon: "none"
  389. })
  390. })
  391. },
  392. //微信扫二维码
  393. getScanCode() {
  394. if (this.userId) {
  395. WxJsApi.scanQRCode(1).then(res => {
  396. if(res) {
  397. API.scanCode(res).then((response) => {
  398. }).catch(error => {
  399. uni.showToast({
  400. title: error,
  401. icon: "none"
  402. })
  403. })
  404. }
  405. }).catch(error => {
  406. })
  407. } else {
  408. uni.navigateTo({
  409. url: '/pages/login/login'
  410. })
  411. }
  412. },
  413. toInvoice(){
  414. if (this.userId) {
  415. uni.navigateTo({
  416. url: '/pages/MyInvoice/invoiceManagement'
  417. })
  418. } else {
  419. uni.navigateTo({
  420. url: '/pages/login/login'
  421. })
  422. }
  423. },
  424. chargingRecord() {
  425. if (this.userId) {
  426. uni.navigateTo({
  427. url: '/pages/record/index'
  428. })
  429. } else {
  430. uni.navigateTo({
  431. url: '/pages/login/login'
  432. })
  433. }
  434. },
  435. toSearchPile() {
  436. uni.navigateTo({
  437. url: '/pages/searchPile/searchPile'
  438. })
  439. },
  440. getUserInfo() {
  441. uni.showLoading({
  442. title: "加载中",
  443. mask: true,
  444. })
  445. loginApi.findByOpenId({
  446. openId: this.carhelp.getOpenId()
  447. }).then((res) => {
  448. uni.hideLoading();
  449. this.businessVipList=res.data.businessVipList;
  450. if(this.businessVipList.length){
  451. var b=false;
  452. for(var i in this.businessVipList){
  453. var item=this.businessVipList[i];
  454. if(item.entAccountEnabled){
  455. b=true
  456. }
  457. }
  458. if(b){
  459. this.personalCenter()
  460. }
  461. }
  462. this.headImg = res.data.regUser.headImg;
  463. this.nickName = res.data.regUser.nickName;
  464. this.userCard=res.data.userCard;
  465. var phone = res.data.regUser.phone;
  466. var phone1 = phone.slice(0,3);
  467. var phone2 = phone.slice(-4);
  468. this.userPhone = phone1 + '****' + phone2;
  469. if (res.code == 200&&res.result) {
  470. var token = res ? res.data.token : '';
  471. this.personInfo=res.data.regUser
  472. this.carhelp.setPersonInfo(res.data.regUser );
  473. this.carhelp.setToken(token);
  474. this.carhelp.setPersonInfoPlus(res.data);
  475. console.log("setPersonInfoPlus")
  476. }
  477. }).catch(error => {
  478. this.carhelp.logoff()
  479. uni.showToast({
  480. title: error,
  481. icon: "none"
  482. })
  483. })
  484. },
  485. toData() {
  486. if(this.personInfo&&this.personInfo.userType==1){
  487. uni.navigateTo({
  488. url: '/pages/login/login'
  489. })
  490. }else if(this.userId) {
  491. uni.navigateTo({
  492. url: '/pages/user/dataSet'
  493. })
  494. } else {
  495. uni.navigateTo({
  496. url: '/pages/login/login'
  497. })
  498. }
  499. },
  500. toBalance() {
  501. if(this.userId) {
  502. uni.navigateTo({
  503. url: '/pages/user/finance/balance'
  504. })
  505. } else {
  506. uni.navigateTo({
  507. url: '/pages/login/login'
  508. })
  509. }
  510. },
  511. toMyCoupon() {
  512. if(this.userId) {
  513. uni.navigateTo({
  514. url: '/pages/user/coupon/myCoupon'
  515. })
  516. } else {
  517. uni.navigateTo({
  518. url: '/pages/login/login'
  519. })
  520. }
  521. },
  522. toRecharge() {
  523. if(this.userId) {
  524. if(this.personInfo.userType==1){
  525. uni.showToast({
  526. title:"游客模式只支持“先付后退”"
  527. })
  528. }else{
  529. uni.navigateTo({
  530. url: '/pages/user/finance/recharge'
  531. })
  532. }
  533. } else {
  534. uni.navigateTo({
  535. url: '/pages/login/login'
  536. })
  537. }
  538. },
  539. carManage() {
  540. if(this.userId) {
  541. } else {
  542. uni.navigateTo({
  543. url: '/pages/login/login'
  544. })
  545. }
  546. },
  547. myAppointment() {
  548. if(this.userId) {
  549. uni.navigateTo({
  550. url: '/pages/user/myReservation/myReservation'
  551. })
  552. } else {
  553. uni.navigateTo({
  554. url: '/pages/login/login'
  555. })
  556. }
  557. },
  558. toFreeInstallation() {
  559. if(this.userId) {
  560. uni.navigateTo({
  561. url: '/pages/user/freeInstallment?isback=1'
  562. })
  563. } else {
  564. uni.navigateTo({
  565. url: '/pages/login/login'
  566. })
  567. }
  568. },
  569. toJoin() {
  570. if(this.userId) {
  571. uni.navigateTo({
  572. url: '/pages/user/toJoin?isback=1'
  573. })
  574. } else {
  575. uni.navigateTo({
  576. url: '/pages/login/login'
  577. })
  578. }
  579. },
  580. feedback() {
  581. if(this.userId) {
  582. uni.navigateTo({
  583. url: '/pages/user/message'
  584. })
  585. } else {
  586. uni.navigateTo({
  587. url: '/pages/login/login'
  588. })
  589. }
  590. },
  591. setUp() {
  592. if(this.userId) {
  593. uni.navigateTo({
  594. url: '/pages/user/setting'
  595. })
  596. } else {
  597. uni.navigateTo({
  598. url: '/pages/login/login'
  599. })
  600. }
  601. },
  602. openModal() {
  603. this.show = true;
  604. },
  605. confirmPhone(){
  606. this.show = false;
  607. uni.makePhoneCall({
  608. phoneNumber:this.content //仅为示例
  609. });
  610. },
  611. getCarPersonAccount() {
  612. uni.showLoading({
  613. title: "加载中",
  614. mask: true,
  615. })
  616. userApi.carPersonAccount().then((res) => {
  617. uni.hideLoading();
  618. this.personAccount = res.data;
  619. }).catch(error => {
  620. uni.showToast({
  621. title: error,
  622. icon: "none"
  623. })
  624. })
  625. }
  626. }
  627. }
  628. </script>
  629. <style>
  630. page{
  631. background-size: 100%;
  632. }
  633. </style>
  634. <style lang="scss" scoped>
  635. .carImg{
  636. margin: 0 40rpx;
  637. img{
  638. width: 100%;
  639. }
  640. }
  641. .btnuserType1{
  642. width: 160rpx;
  643. height: 64rpx;
  644. line-height: 60rpx;
  645. border-radius: 50px;
  646. background-color: rgba(0, 185, 98, 1);
  647. color: #fff;
  648. font-size: 28rpx;
  649. text-align: center;
  650. font-family: -apple-system;
  651. margin-top: 20rpx;
  652. }
  653. .header {
  654. background: linear-gradient(#D6EEDC, #F6F8F8);
  655. .userinfo {
  656. display: flex;
  657. justify-content: space-between;
  658. padding: 40rpx 32rpx 32rpx 32rpx;
  659. .infos {
  660. display: flex;
  661. }
  662. .head-portrait {
  663. width: 48px;
  664. height: 48px;
  665. img {
  666. width: 100%;
  667. height: 100%;
  668. }
  669. }
  670. .username {
  671. margin-left: 8px;
  672. .name {
  673. color: rgba(51, 51, 51, 100);
  674. font-size: 20px;
  675. line-height: 24px;
  676. }
  677. .change {
  678. color: rgba(166, 180, 173, 100);
  679. line-height: 14px;
  680. margin-top: 8px;
  681. }
  682. }
  683. .right {
  684. font-size: 24px;
  685. .ri-notification-2-line {
  686. position: relative;
  687. .unread {
  688. width: 20px;
  689. line-height: 14px;
  690. border-radius: 24px;
  691. background-color: rgba(255, 94, 0, 100);
  692. color: rgba(255, 255, 255, 100);
  693. font-size: 9px;
  694. text-align: center;
  695. position: absolute;
  696. bottom: 14px;
  697. left: 14px;
  698. }
  699. }
  700. .ri-settings-line {
  701. margin-left: 16px;
  702. }
  703. }
  704. }
  705. // 卡片
  706. .card {
  707. background: linear-gradient(#405473, #536D96);
  708. border-radius: 8px;
  709. width: 91.4%;
  710. margin: 8rpx auto 0;
  711. padding: 24rpx 24rpx;
  712. .cardspan{
  713. margin-left: 48rpx;
  714. font-size: 24rpx;
  715. line-height:40rpx;
  716. color: rgba(255, 255, 255, 100);
  717. }
  718. .card2 {
  719. display: flex;
  720. justify-content: space-between;
  721. .title {
  722. line-height: 72rpx;
  723. color: rgba(255, 255, 255, 100);
  724. font-size: 36rpx;
  725. .img {
  726. display: inline-block;
  727. // width: 48rpx;
  728. // height: 48rpx;
  729. vertical-align: middle;
  730. margin-right: 8rpx;
  731. img {
  732. width: 40rpx;
  733. height: 40rpx;
  734. }
  735. }
  736. }
  737. .view {
  738. line-height: 72rpx;
  739. color: rgba(208, 214, 226, 100);
  740. font-size: 36rpx;
  741. }
  742. .view2 {
  743. line-height: 144rpx !important;
  744. }
  745. }
  746. }
  747. // 立即开通
  748. .openlogin {
  749. border: 1px solid rgba(187, 226, 189, 1);
  750. background: #F4FFF3 ;
  751. width: 91.4%;
  752. padding: 30rpx 24rpx 24rpx 24rpx;
  753. margin: 8rpx auto 0;
  754. margin-bottom: 10px;
  755. display: flex;
  756. justify-content: space-between;
  757. border-radius: 8px;
  758. .title {
  759. line-height: 72rpx;
  760. color: #101010;
  761. font-size: 36rpx;
  762. .img {
  763. display: inline-block;
  764. // width: 48rpx;
  765. // height: 48rpx;
  766. vertical-align: middle;
  767. margin-right: 8rpx;
  768. img {
  769. width: 40rpx;
  770. height: 40rpx;
  771. }
  772. }
  773. }
  774. .open-btn {
  775. margin: auto;
  776. padding-left: 12px;
  777. padding-right: 4px;
  778. line-height: 28px;
  779. height: 32px;
  780. // text-align: center;
  781. color: #ffffff;
  782. border-radius: 10px;
  783. background: linear-gradient(to right,#34BC58 , #00A39A );
  784. .iconfont {
  785. margin-left: 0px;
  786. }
  787. }
  788. }
  789. // 立即开通
  790. .open,.opened {
  791. background: linear-gradient(#4A4C62, #2C3145);
  792. width: 91.4%;
  793. padding: 30rpx 24rpx 24rpx 24rpx;
  794. margin: 8rpx auto 0;
  795. display: flex;
  796. justify-content: space-between;
  797. border-radius: 8px;
  798. .title {
  799. line-height: 72rpx;
  800. color: #E1C082;
  801. font-size: 36rpx;
  802. .img {
  803. display: inline-block;
  804. vertical-align: middle;
  805. margin-right: 8rpx;
  806. img {
  807. width: 40rpx;
  808. height: 40rpx;
  809. }
  810. }
  811. }
  812. .open-btn {
  813. padding-left: 28rpx;
  814. padding-right: 8rpx;
  815. line-height: 76rpx;
  816. // text-align: center;
  817. font-size: 32rpx;
  818. border-radius: 100rpx;
  819. background: linear-gradient(to right,#F0E1C6, #ECC194);
  820. .iconfont {
  821. margin-left: 0px;
  822. }
  823. }
  824. .date{
  825. color: #d1b37a;
  826. line-height: 24px;
  827. font-size: 32rpx;
  828. .iconfont{
  829. color: #867668
  830. }
  831. }
  832. }
  833. // 余额
  834. .balance {
  835. background-color: #fff;
  836. width: 91.4%;
  837. margin: 12px auto;
  838. padding: 16px ;
  839. display: flex;
  840. // justify-content: space-between;
  841. justify-content: space-around;
  842. border-radius: 8px;
  843. .item {
  844. text-align: center;
  845. .num {
  846. line-height: 28px;
  847. color: rgba(51, 51, 51, 100);
  848. font-size: 24px;
  849. position: relative;
  850. .new {
  851. width: 40px;
  852. line-height: 20px;
  853. border-radius: 24px 24px 24px 0px;
  854. background-color: rgba(255, 94, 0, 100);
  855. color: rgba(255, 255, 255, 100);
  856. font-size: 12px;
  857. text-align: center;
  858. position: absolute;
  859. bottom: 20px;
  860. left: 36px;
  861. }
  862. }
  863. .name {
  864. height: 16px;
  865. color: rgba(134, 134, 134, 100);
  866. font-size: 14px;
  867. margin-top: 4px;
  868. .userData-foot-look {
  869. color: #00B962;
  870. }
  871. }
  872. }
  873. }
  874. }
  875. // 优惠
  876. .discounts {
  877. width: 91.4%;
  878. height: 80px;
  879. margin: 0 auto;
  880. border-radius: 8px;
  881. overflow: hidden;
  882. img {
  883. width: 100%;
  884. height: 80px;
  885. }
  886. }
  887. // 菜单
  888. .menu {
  889. background-color: #fff;
  890. width: 91.4%;
  891. margin: 12px auto 0;
  892. padding: 0 12px 9px 12px;
  893. border-radius: 8px;
  894. display: flex;
  895. flex-wrap: wrap;
  896. .item {
  897. width: 25%;
  898. margin-top: 20px;
  899. margin-bottom: 11px;
  900. display: flex;
  901. flex-direction: column;
  902. align-items: center;
  903. color: rgba(119, 119, 119, 100);
  904. i {
  905. font-size: 24px
  906. }
  907. .item-name {
  908. font-size: 14px;
  909. margin-top: 8px;
  910. }
  911. }
  912. }
  913. </style>