index.vue 54 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434
  1. <template>
  2. <view>
  3. <ujp-navbar title="月卡购买" :show="false" ></ujp-navbar>
  4. <!-- 头部图片 -->
  5. <view class="background">
  6. <view class="banner">
  7. <ujp-swiper bg-color="#fff"
  8. :img-mode="'scaleToFill'" height="120"
  9. :list="bannerList" @click="clickBanner" :name="'picUrl'" >
  10. </ujp-swiper>
  11. </view>
  12. <!-- 选项列表 -->
  13. <view class="option-list">
  14. <view class="list-item" @click="getScanCode">
  15. <view class="icon iconfont" style="background: linear-gradient(45deg,#00B962,#5FE4A6);">
  16. &#xe61a;
  17. </view>
  18. <view class="text oldTextjp2" oldstyle="font-size: 18px;">
  19. 扫码充电
  20. </view>
  21. </view>
  22. <view class="list-item" @click="fastRecharge">
  23. <view class="icon iconfont" style="background: linear-gradient(45deg,#23AD9B,#4BD2C0);">
  24. &#xe629;
  25. </view>
  26. <view class="text oldTextjp2" oldstyle="font-size: 18px;">
  27. 快速充值
  28. </view>
  29. </view>
  30. <view class="list-item" @click="chargingRecord">
  31. <view class="icon iconfont" style="background: linear-gradient(45deg,#407DE4,#6FA5FF );">
  32. &#xe625;
  33. </view>
  34. <view class="text oldTextjp2" oldstyle="font-size: 18px;">
  35. 充电记录
  36. </view>
  37. </view>
  38. <view class="list-item" @click="toSearchPile">
  39. <view class="icon iconfont" style="background: linear-gradient(45deg,#6366FF,#9D9FFF);">
  40. &#xe622;
  41. </view>
  42. <view class="text oldTextjp2" oldstyle="font-size: 18px;">
  43. 附近站点
  44. </view>
  45. </view>
  46. </view>
  47. <!-- 充值活动 -->
  48. <view class=" top-up" v-if="activityList.length > 0 && !activityListShow">
  49. <view class="card-box">
  50. <view class="card" v-for="(item,index) in activityList" :key="item.id"
  51. @click="rechargeActivity(item)">
  52. <img :src="item.picUrl" alt="">
  53. </view>
  54. </view>
  55. </view>
  56. <u-modal v-model="showNt" class="showOss"
  57. :show-title="false" :show-confirm-button="false" >
  58. <view class="slot-content">
  59. <u-image width="600" style="margin: auto;min-height: 250px;"
  60. mode="widthFix"
  61. v-show="showNtStep==0"
  62. src="@/assets/img/nt/f5surprised-1.png">
  63. <view slot="loading" style="height: 200px;" >
  64. <u-loading mode="flower" size="186" >
  65. </u-loading>
  66. </view>
  67. </u-image>
  68. <view
  69. style="color: #ecc07d;
  70. font-size: 64rpx;
  71. position: relative;
  72. top: -220rpx;
  73. right: -100rpx; width: 400rpx;"
  74. @click="showNtStepClick"
  75. v-show="showNtStep==0" >
  76. <span >.</span>
  77. </view>
  78. <u-image width="600" style="margin: auto;margin-top: 40px;;min-height: 250px;"
  79. mode="widthFix"
  80. v-show="showNtStep==1"
  81. src="@/assets/img/nt/f5surprised-2.png">
  82. </u-image>
  83. <u-image width="600" style="margin: auto;margin-top: 40px;;min-height: 250px;"
  84. mode="widthFix"
  85. v-show="showNtStep==2"
  86. src="@/assets/img/nt/nt-activity-3.png">
  87. </u-image>
  88. <u-image width="500" style="color: #FFFFFF;
  89. font-size: 64rpx;
  90. position: relative;
  91. top: -540rpx;
  92. right: -60rpx;height: 0;
  93. "
  94. mode="widthFix"
  95. v-show="showNtStep==2"
  96. src="@/assets/img/nt/f5surprised-3.png">
  97. </u-image>
  98. <u-image width="36px"
  99. v-show="showNtStep==1||showNtStep==2"
  100. style="margin: auto; "
  101. mode="widthFix" @click="showNt=false"
  102. src="../../assets/img/if-close-line-circled.png"></u-image>
  103. <view
  104. style="color: #ecc07d;
  105. font-size: 72rpx;
  106. position: relative;
  107. top: -280rpx;
  108. right: -144rpx; width: 310rpx;"
  109. @click="showNtStepClick"
  110. v-show="showNtStep==2" >
  111. <span >.</span>
  112. </view>
  113. <view
  114. style="color: #FFFFFF;
  115. font-size: 64rpx;
  116. position: relative;
  117. top: -688rpx;
  118. right: -80rpx;"
  119. :style="{
  120. right:showNtValue>99?'-80rpx':(showNtValue>9?'-95rpx':'-110rpx')
  121. }"
  122. v-show="showNtStep==1" ><b>{{showNtValue}}</b>
  123. <span style="font-size: 28rpx;">元</span>
  124. </view>
  125. <view
  126. style="color: #ecc07d;
  127. font-size: 72rpx;
  128. position: relative;
  129. top: -390rpx;
  130. right: -144rpx; width: 310rpx;"
  131. @click="showNtStepClick"
  132. v-show="showNtStep==1" >
  133. <span >.</span>
  134. </view>
  135. <view
  136. v-show="showNtStep==1"
  137. style="color: #ecc07d;
  138. font-size: 32rpx;
  139. position: relative;
  140. top: -180rpx;
  141. right: -60rpx; width: 440rpx;">注:逢5红包用完后下次才可以领取新红包哦!</view>
  142. </view>
  143. </u-modal>
  144. <u-modal v-model="showOss" class="showOss"
  145. :show-title="false" :show-confirm-button="false" >
  146. <view class="slot-content">
  147. <u-image width="250px" style="margin: auto;min-height: 250px;"
  148. mode="widthFix" @click="clickBanner(showOssIndex,true)"
  149. :src="showOssImg">
  150. <view slot="loading" style="height: 200px;" >
  151. <u-loading mode="flower" size="186" >
  152. </u-loading>
  153. </view>
  154. </u-image>
  155. <u-image width="36px" style="margin: auto;"
  156. mode="widthFix" @click="showOss=false"
  157. src="../../assets/img/if-close-line-circled.png"></u-image>
  158. </view>
  159. </u-modal>
  160. <u-modal v-model="showTop" class="showOss"
  161. :show-title="false" :show-confirm-button="false" >
  162. <view class="slot-content" v-if="bannerListTop.length" >
  163. <view class="couponmain" v-if="bannerListTop[showTopIndex].topmodel=='coupon'">
  164. <view class="main" >
  165. <!-- 专享优惠券 -->
  166. <view class="exclusive">
  167. <p class="exclusive1">恭喜你</p>
  168. <p class="exclusive2">获得{{bannerListTop[showTopIndex].value}}元月卡卷</p>
  169. <view class="img" >
  170. <img src="../../assets/img/Frame915.png" alt="">
  171. <view class="num">
  172. {{bannerListTop[showTopIndex].value}}<span class="unit">元</span>
  173. </view>
  174. <view class="unit2">月卡优惠券</view>
  175. <view class="ticket-info">
  176. <view class="ticket-name" >
  177. {{bannerListTop[showTopIndex].text}}
  178. </view>
  179. </view>
  180. </view>
  181. <view class="exclusive-text"> 持月卡在指定站点充电,充电服务费全免</view>
  182. <button class="exclusive-btn"
  183. @click="clickBannerTop()"
  184. shape="circle">立即开通</button>
  185. </view>
  186. </view>
  187. </view>
  188. <u-image width="250px;" v-else
  189. bgColor="#ff000000"
  190. style="margin: auto;min-height: 250px;"
  191. mode="widthFix" @click="clickBannerTop()"
  192. :src="showTopImg"
  193. >
  194. <view slot="loading" style="height: 200px;" >
  195. <u-loading mode="flower" size="186" >
  196. </u-loading>
  197. </view>
  198. </u-image>
  199. <view
  200. @click="showTopIndex++"
  201. v-show="showTopIndex!=bannerListTop.length-1"
  202. >
  203. <u-button class="choice-btn"
  204. @click="nextTop(showTopIndex)"
  205. style="width: 80%;margin-top: 10px;" shape="circle">下一条({{showTopIndex+1}}/{{bannerListTop.length}})</u-button>
  206. </view>
  207. <u-image width="36px"
  208. v-show="showTopIndex==bannerListTop.length-1"
  209. style="margin: auto; margin-top: 10px;"
  210. mode="widthFix" @click="showTop=false"
  211. src="../../assets/img/if-close-line-circled.png"></u-image>
  212. </view>
  213. </u-modal>
  214. <!-- 模式选择 -->
  215. <u-mask :show="show">
  216. <view class="wrap">
  217. <view class="shema" @tap.stop>
  218. <view class="title">
  219. 设置浏览模式
  220. </view>
  221. <view class="">
  222. <u-radio-group v-model="value">
  223. <u-radio v-for="(item, index) in list" :key="index" :name="item.name" :disabled="item.disabled" active-color="#00B962">
  224. {{item.name}}
  225. <p v-if="item.name == '长辈模式'">字体更大 看的清楚</p>
  226. <p v-if="item.name == '标准模式'">信息丰富 功能全面</p>
  227. </u-radio>
  228. </u-radio-group>
  229. </view>
  230. <view class="hint">可在 {{""}}我的-设置 {{""}}页面中切换</view>
  231. <view class="btn-box">
  232. <u-button class="choice-btn" type="success" shape="circle" @click="elderClick">我选好了</u-button>
  233. </view>
  234. </view>
  235. </view>
  236. </u-mask>
  237. <!-- <view class="top-up-title oldTextjp" oldstyle="font-size:20px;"><text class="line"></text>最新活动</view>
  238. <view class="img-box">
  239. <view class="img-1" v-for="(item,index) in activityList" :key="item.id"
  240. @click="rechargeActivity(item)">
  241. <img :src="item.picUrl" alt="">
  242. </view>
  243. </view> -->
  244. </view>
  245. <!-- 最新活动 -->
  246. <view class=" top-up" v-if="activityList.length > 0 && activityListShow">
  247. <view class="top-up-title oldTextjp" oldstyle="font-size:20px;"><text class="line"></text>最新活动</view>
  248. <view class="img-box2">
  249. <view class="left-image" :style="{backgroundImage: 'url(' + activityDateList.picUrl + ')'}" @click="rechargeActivity(activityDateList)">
  250. <p>{{activityDateList.name}}</p>
  251. <view class="time-activities">
  252. 距活动结束仅剩 <text class="time">{{description}}</text>
  253. </view>
  254. </view>
  255. <view class="right-image">
  256. <img class="margin-bottom" v-for="(item,index) in activityList" :key="item.id"
  257. @click="rechargeActivity(item)" :src="item.narrowUrl" alt="">
  258. <!-- <img class="margin-bottom" src="../../assets/img/topup2.png" alt="" @click="rechargeActivity(0)">
  259. <img class="margin-bottom" src="../../assets/img/topup3.png" alt="" @click="rechargeActivity(1)"> -->
  260. </view>
  261. </view>
  262. </view>
  263. <template v-if="message == 'getLocation:ok' && stationList.length != 0 && chargeList.length == 0">
  264. <view class=" top-up" >
  265. <view class="top-up-title oldTextjp" oldstyle="font-size:20px;"><text class="line"></text>附近站点
  266. <view class="pack-up" v-show="!listShow" @click="listShow=true" >
  267. 收起<text class="iconfont">&#xe607;</text>
  268. </view>
  269. <view class="pack-up" v-if="listShow" @click="listShow=false" >
  270. 展开<text class="iconfont">&#xe62c;</text>
  271. </view>
  272. </view>
  273. </view>
  274. <!-- 附近站点 -->
  275. <view class="station" v-for="(stationData,i) in stationList" :key="i"
  276. v-show="!listShow||i==0"
  277. @click="gotoUrl('pages/searchPile/stationAndPile/stationDetails?id=' + stationData.id)">
  278. <view class="head">
  279. <view class="title oldTextjp" oldstyle="font-size: 20px;">
  280. {{stationData.name}}
  281. </view>
  282. <view class="distance " >
  283. <text class="iconfont" style="color:#666666">&#xe615;</text>{{stationData.distance!=null&&stationData.distance>0.1 ? stationData.distance.toFixed(1)+'公里':'小于100米'}}
  284. </view>
  285. </view>
  286. <view class="sign" v-if="stationData.stationType==50">
  287. {{stationData.address}}
  288. </view>
  289. <view class="sign" v-else>
  290. <template v-if="personInfo&&personInfo.userType!=1">
  291. <view class="sign-1" v-if="stationData.giveDiscount&&stationData.discountRatio">会员服务费{{stationData.discountRatio/10}}折</view>
  292. <view class="sign-3" v-if="stationData.category=='超充'">160kW超充站</view>
  293. <view class="sign-2" v-if="stationData.tagList.length != 0" v-for="(tagName,tagIndex) in stationData.tagList" :key="tagIndex">{{tagName}}</view>
  294. </template>
  295. </view>
  296. <view class="price-free oldTextClass">
  297. <view class="price">
  298. <view class="price-1">
  299. <text class="num">
  300. {{!stationData.giveDiscount ? (stationData.electricityPrice+stationData.servicePrice).toFixed(2)
  301. : (stationData.electricityPrice+stationData.discountServicePrice).toFixed(2)}}</text>
  302. <text class="unit " oldstyle="font-size: 48rpx;">元/度</text>
  303. </view>
  304. <view class="price-2 " oldstyle="font-size: 48rpx;" v-if="stationData.giveDiscount">
  305. <text class="num">{{(stationData.electricityPrice+stationData.servicePrice).toFixed(2)}}</text>
  306. <text class="unit ">元/度</text>
  307. </view>
  308. </view>
  309. <view class="free" >
  310. <view class="fast" v-if="stationData.fastNum">
  311. <view class="fast-font">
  312. </view>
  313. <view class="num">
  314. {{stationData.fastAvailableNum}}/{{stationData.fastNum}}
  315. </view>
  316. </view>
  317. <view class="slow oldTextjp2"
  318. oldstyle="margin-left: 1px;"
  319. v-if="stationData.slowNum">
  320. <view class="slow-font">
  321. </view>
  322. <view class="num">
  323. {{stationData.slowAvailableNum}}/{{stationData.slowNum}}
  324. </view>
  325. </view>
  326. </view>
  327. </view>
  328. </view>
  329. <view class="bottom" @click="searchStationData(true)" v-if="recordsTotal2!=stationList.length" >
  330. <view class="bot">
  331. <view class="bot-line"></view>
  332. <view class="bot-text " style="color: #00B962;" >点击查看更多站点</view>
  333. <view class="bot-line"></view>
  334. </view>
  335. </view>
  336. <view class="bottom" v-else >
  337. <view class="bot">
  338. <view class="bot-line"></view>
  339. <view class="bot-text " style="color: #00B962;" >已经到底了</view>
  340. <view class="bot-line"></view>
  341. </view>
  342. </view>
  343. </template>
  344. <!-- 定位 -->
  345. <view class="location-box" v-if="message != 'getLocation:ok' && stationList.length == 0 && chargeList.length == 0">
  346. <view class="location">
  347. <view class="location-text">
  348. <view class="text-1 oldTextjp" oldstyle="font-size: 20px;">
  349. 定位中...
  350. </view>
  351. <view class="text-2 oldTextjp2" oldstyle="font-size: 16px;">
  352. 授权定位后可查询附近充电站
  353. </view>
  354. <view class="text-3 oldTextjp2" oldstyle="font-size: 16px;" @click="getPoint()">
  355. 重新定位
  356. </view>
  357. </view>
  358. <view class="img-box">
  359. <img src="static/img/暂无网络信号-缺省页 1.png">
  360. </view>
  361. </view>
  362. </view>
  363. <!-- 新闻 -->
  364. <view class="news-title" v-if="chargeList.length > 0">
  365. <view class="news-title-left oldTextjp" oldstyle="font-size:20px;">
  366. <view class="line" style="margin-top:4px;"></view>充电车辆
  367. <view class="lineBox" v-if="chargeList.length > 1" >{{chargeList.length }}</view>
  368. </view>
  369. <view class="more oldTextjp2" oldstyle="font-size:16px;"
  370. v-if="chargeList.length > 3"
  371. @click="toAll">查看全部<view class="more-icon iconfont"> &#xe600;</view>
  372. </view>
  373. </view>
  374. <!-- 充电状态 -->
  375. <view class="state1 state" v-if="chargeList.length > 0"
  376. v-for="(item,index) in chargeList" v-show="index<3" :key="item.id"
  377. @click="gotoUrl('pages/searchPile/chargeProcess/dcCharging?id=' + item.id)">
  378. <view class="state-text">
  379. <view class="text-1 " oldstyle="font-size: 20px;">
  380. <span v-if="item.carNumber">{{item.carNumber}}</span>
  381. {{item.statusText}}...
  382. </view>
  383. <view v-if="item.status == '0'" class="text-2 " oldstyle="font-size: 16px;">
  384. 启动中
  385. </view>
  386. <view v-if="item.status == '1'" class="text-2 " oldstyle="font-size: 16px;">
  387. 已充
  388. <span class="text-21">{{item.electricQuantity?(item.electricQuantity/10000).toFixed(1):'0.0'}}度</span>
  389. 合计<span class="text-22">{{item.dueFee != null ? item.dueFee.toFixed(2) : '0.00'}}元</span>
  390. <view style="display: initial;" v-if="item.endSoc">电量<span class="text-21">{{item.endSoc}}%</span></view>
  391. </view>
  392. <!-- <view v-if="item.status == '2'" class="text-2" style="color: red;">
  393. 超出时间将收取占位费
  394. </view> -->
  395. <view v-if="item.status == '4'" class="text-2 oldTextjp2" oldstyle="font-size: 16px;">
  396. <span v-if="item.waitNum==1">请耐心等待</span>
  397. <span v-else >前方等待{{item.waitNum-1}}位</span>
  398. </view>
  399. <view class="text-3 " oldstyle="font-size: 16px;">
  400. <p style=" width: 160%;">{{item.deviceName}}枪{{item.channelNo}}/{{item.stationName}}<br/>当前电价{{item.chargingCostPrice.toFixed(2)}}元/度</p>
  401. </view>
  402. </view>
  403. <view class="img-box4" >
  404. <img v-if="item.status == '0'" src="static/img/等待中-缺省页.png">
  405. <img v-if="item.status == '1'" src="static/img/充电中-缺省页.png">
  406. <img v-if="item.status == '2'" src="static/img/已充满-缺省页.png">
  407. <img v-if="item.status == '4'" src="static/img/等待中-缺省页.png">
  408. <view class="img-view">
  409. <view class="more-icon iconfont">查看 &#xe600;</view>
  410. </view>
  411. </view>
  412. </view>
  413. <view class="bottom" v-if="chargeList.length > 3" @click="toAll()" >
  414. <view class="bot">
  415. <view class="bot-line"></view>
  416. <view class="bot-text " style="color: #00B962;" >点击查看全部充电车辆</view>
  417. <view class="bot-line"></view>
  418. </view>
  419. </view>
  420. <!-- 新闻 -->
  421. <view class="news-title" v-if="newsList.length > 0">
  422. <view class="news-title-left oldTextjp" oldstyle="font-size:20px;">
  423. <view class="line" style="margin-top:4px;"></view>新闻公告
  424. </view>
  425. <view class="more oldTextjp2" oldstyle="font-size:16px;" @click="toNewsNotice">更多<view class="more-icon iconfont"> &#xe600;</view>
  426. </view>
  427. </view>
  428. <view class="news">
  429. <view class="news-content" v-for="(item,index) in newsList" :key="index"
  430. @click="gotoUrl('pages/article/articleDetails?id=' + item.id)">
  431. <view class="content-text">
  432. <view class="content-title oldTextjp2" oldstyle="font-size: 18px;">{{item.title}}</view>
  433. <view class="news-time">{{item.createTime?item.createTime.slice(5,10):''}}</view>
  434. </view>
  435. <view class="content-img">
  436. <img :src="item.pic ? item.pic : 'static/img/image_default.png'" alt="">
  437. </view>
  438. </view>
  439. </view>
  440. <view class="bottom" >
  441. <view class="bot">
  442. <view class="bot-line"></view>
  443. <view class="bot-text oldTextjp2" oldstyle="font-size: 14px;">已经到底了</view>
  444. <view class="bot-line"></view>
  445. </view>
  446. </view>
  447. <!-- 导航栏 -->
  448. <view class="navigation">
  449. <view class="login-prompt" v-if="!userId">
  450. 登录显示更多会员服务
  451. <text class="button" @click="toLogin">登录/注册</text>
  452. </view>
  453. </view>
  454. <Tabbar :current="0" ref="tabbarMain" :elderStatus="elderStatus"></Tabbar>
  455. </view>
  456. </template>
  457. <script>
  458. import * as API from '@/apis/index.js'
  459. import * as newsApi from '@/apis/news.js'
  460. import * as WxJsApi from '@/utils/wxJsApi.js'
  461. import * as siteApi from '@/apis/site.js'
  462. import * as loginApi from '@/apis/login.js'
  463. import * as userApi from '@/apis/user.js'
  464. import MapLoader from '@/utils/AMap'
  465. import Tabbar from '@/components/Tabbar.vue'
  466. import {
  467. newDate,
  468. currentTimeStamp,
  469. parseUnixTime,
  470. secondsDistance,
  471. hourDistanceArr
  472. } from '@/utils'
  473. export default {
  474. components: {
  475. Tabbar
  476. },
  477. data() {
  478. return {
  479. listShow:false,
  480. stationList: [],
  481. bannerList:[],
  482. bannerListTop:[],
  483. timeOut: false,
  484. pointTimeOut: true,
  485. chargeList: [],
  486. activityList: [],
  487. userId: '',
  488. newsList: [],
  489. pageIndex: 1,
  490. recordsTotal: 0,
  491. longitude: '',
  492. latitude: '',
  493. message: '',
  494. indexLogo: '',
  495. showOss:false,
  496. showOssImg:'',
  497. showOssIndex:'',
  498. showTop:false,
  499. showTopImg:'',
  500. showTopIndex:0,
  501. show: false,
  502. list: [{
  503. name: '长辈模式',
  504. disabled: false
  505. },
  506. {
  507. name: '标准模式',
  508. disabled: false
  509. },
  510. ],
  511. // u-radio-group的v-model绑定的值如果设置为某个radio的name,就会被默认选中
  512. value: '长辈模式',
  513. elderStatus: false,
  514. fontMode: '',
  515. description: '00:00:00',
  516. activityDate: '',
  517. activityDateList: {},
  518. activityListShow: false,
  519. personInfo:{},
  520. showNt:false,
  521. showNtStep:0,
  522. showNtValue:30,
  523. couponList:[],
  524. couponSelect:{},
  525. pageIndex2:1,
  526. recordsTotal2:0,
  527. }
  528. },
  529. onLoad(op) {
  530. if (op.jpcode) {
  531. var k = API.codeOperation(op.jpcode)
  532. if (k) {
  533. uni.navigateTo({
  534. url: k
  535. })
  536. }
  537. }
  538. },
  539. onUnload() {
  540. this.timeOut = false;
  541. this.pointTimeOut = false;
  542. },
  543. onHide() {
  544. this.timeOut = false;
  545. this.pointTimeOut = false;
  546. },
  547. onReachBottom() {
  548. // if (this.newsList.length < this.recordsTotal) {
  549. // this.myLoadmore();
  550. // }
  551. },
  552. onShow() {
  553. if(this.$refs.tabbarMain){
  554. this.$refs.tabbarMain.setcount(0);
  555. }
  556. if( !this.pointTimeOut ){
  557. this.pointTimeOut=true
  558. this.getPointTimeOut();
  559. }
  560. this.getUserInfo();
  561. },
  562. onReady() {
  563. // if (this.carhelp.get("getElderModeClass")) {
  564. // if(this.carhelp.get("getElderModeClass") == "长辈模式") {
  565. // this.fontMode = '1';
  566. // } else {
  567. // this.fontMode = '0';
  568. // }
  569. // API.changeFont({fontMode: this.fontMode}).then((res) => {
  570. // }).catch(error => {
  571. // uni.showToast({
  572. // title: error,
  573. // icon: "none"
  574. // })
  575. // })
  576. // }
  577. //this.getUserInfo();
  578. WxJsApi.getWxConfig(['getLocation', 'addEventListener', 'scanQRCode']).then((res) => {
  579. // //(res)
  580. }).catch(error => {
  581. //(res)
  582. })
  583. this.getBannerInfo("homepage");
  584. var userInfo= this.carhelp.getPersonInfo();
  585. if(userInfo&&userInfo.id){
  586. this.getf5surprised()
  587. }else{
  588. this.getBannerInfoTop("home-top");
  589. }
  590. //this.getBannerInfoTop("home-top");
  591. this.getPointTimeOut();
  592. this.getNewsList();
  593. this.getActivityInfoList();
  594. },
  595. methods: {
  596. getf5surprised(){
  597. userApi.exchangeGroupDetail("逢5红包").then((res) => {
  598. var message=res.message;
  599. this.couponList=res.data;
  600. if(this.couponList.length){
  601. var list=res.data;
  602. var x=0;
  603. for(var i in list){
  604. var obj=list[i]
  605. if(!obj.probability){
  606. continue;
  607. }
  608. var end=x+obj.probability;
  609. obj.start=x;
  610. obj.end=end;
  611. x=end;
  612. }
  613. var code=parseInt(Math.random()*x)
  614. // console.log(code)
  615. // console.log(list)
  616. var selectObj=null;
  617. for(var i in list){
  618. var obj=list[i]
  619. if(!obj.probability){
  620. continue;
  621. }
  622. if(code>=obj.start&&code<obj.end){
  623. selectObj=obj;
  624. this.couponSelect=selectObj;
  625. break
  626. }
  627. }
  628. if(selectObj){
  629. this.showNt=true
  630. this.showNtStep=0;
  631. this.showNtValue=this.couponSelect.totalDiscount
  632. }else{
  633. this.getBannerInfoTop("home-top");
  634. }
  635. //console.log(selectObj)
  636. // this.exchangeDetailF5(selectObj.key);
  637. }else if(message=='1001'){//
  638. //周五,但是因为手里有卷, 所以不能抽
  639. var nowtime = parseUnixTime(currentTimeStamp(), '{y}-{m}-{d}')
  640. var time=this.carhelp.get("getf5surprised-time");
  641. if((time&&nowtime==time)){
  642. this.getBannerInfoTop("home-top");
  643. }else{
  644. this.carhelp.set("getf5surprised-time",nowtime);
  645. this.showNt=true
  646. this.showNtStep=2;
  647. }
  648. }else{
  649. this.getBannerInfoTop("home-top");
  650. }
  651. }).catch(error => {
  652. uni.showToast({
  653. title: error,
  654. icon: "none"
  655. })
  656. })
  657. },
  658. getNewYear(){
  659. //var obj=this.carhelp.get("newyear_activity2023-2-15")
  660. //
  661. var sz=["1615623336912621591","1615623336912621590"];
  662. var code=parseInt(Math.random()*2)
  663. this.carhelp.set("newyear_activity2023-2-15",{
  664. nt:sz[code],
  665. code:code,
  666. status:0
  667. })
  668. //先查询另一个领取过没
  669. userApi.exchangeDetail({
  670. key: sz[code==0?1:0]
  671. }).then((res) => {
  672. if(!res.data.enabled){
  673. if(res.data.code==2){
  674. //未开始
  675. }else{
  676. //已经结束
  677. }
  678. this.getBannerInfoTop("home-top");
  679. }else if(res.data.status==1){
  680. this.getBannerInfoTop("home-top");
  681. //已经兑换,或者不能兑换
  682. } else if(res.data.status==2){
  683. // this.showNtValue=res.data.totalDiscount
  684. this.exchangeDetail(sz[code]);
  685. }else{
  686. //res.data.status==0
  687. //this.showNtValue=res.data.totalDiscount
  688. this.exchangeDetail(sz[code],sz[code==0?1:0]);
  689. }
  690. }).catch(error => {
  691. this.showNt=false;
  692. uni.showToast({
  693. title: error,
  694. icon: "none"
  695. })
  696. })
  697. },
  698. exchangeDetail(exchangeCode,code2) {
  699. uni.showLoading({
  700. title: "加载中",
  701. mask: true,
  702. })
  703. userApi.exchangeDetail({
  704. key: exchangeCode
  705. }).then((res) => {
  706. uni.hideLoading();
  707. //
  708. if(!res.data.enabled){
  709. if(res.data.code==2){
  710. //未开始
  711. }else{
  712. //已经结束
  713. }
  714. this.getBannerInfoTop("home-top");
  715. }else if(res.data.status==1){
  716. this.getBannerInfoTop("home-top");
  717. //已经兑换,
  718. }else if(res.data.status==2){
  719. if(code2){
  720. //试试另一张卷
  721. var c=this.carhelp.get("newyear_activity2023-2-15")
  722. if(c){
  723. this.carhelp.set("newyear_activity2023-2-15",{
  724. nt:code2,
  725. code:c.code==0?1:0,
  726. status:0
  727. })
  728. }
  729. this.exchangeDetail(code2)
  730. }else{
  731. this.getBannerInfoTop("home-top");
  732. }
  733. //不能兑换
  734. }else{
  735. this.showNt=true
  736. this.showNtStep=0;
  737. this.showNtValue=res.data.totalDiscount
  738. }
  739. }).catch(error => {
  740. this.showNt=false;
  741. uni.showToast({
  742. title: error,
  743. icon: "none"
  744. })
  745. })
  746. },
  747. redeemF5(exchangeCode) {
  748. uni.showLoading({
  749. title: "加载中",
  750. mask: true,
  751. })
  752. userApi.exchangeByGroupFive({
  753. key: exchangeCode
  754. }).then((res) => {
  755. uni.hideLoading();
  756. this.showNtStep=1
  757. var nowtime = parseUnixTime(currentTimeStamp(), '{y}-{m}-{d}')
  758. this.carhelp.set("getf5surprised-time",nowtime);
  759. }).catch(error => {
  760. this.showNt=false;
  761. uni.showToast({
  762. title: error,
  763. icon: "none"
  764. })
  765. })
  766. },
  767. redeemNow(exchangeCode) {
  768. uni.showLoading({
  769. title: "加载中",
  770. mask: true,
  771. })
  772. userApi.exchange({
  773. key: exchangeCode
  774. }).then((res) => {
  775. uni.hideLoading();
  776. this.showNtStep=1
  777. this.carhelp.set("newyear_activity2023-2-15",{
  778. nt:exchangeCode,
  779. status:1
  780. })
  781. }).catch(error => {
  782. this.showNt=false;
  783. uni.showToast({
  784. title: error,
  785. icon: "none"
  786. })
  787. })
  788. },
  789. showNtStepClick(){
  790. if(this.showNtStep==0){
  791. if(this.personInfo.userType!=1){
  792. this.redeemF5(this.couponSelect.key);
  793. }else{
  794. this.showNt=false;
  795. uni.showModal({
  796. title:"提示",
  797. content:"游客无法兑换,请先注册为会员后再兑换",
  798. confirmText:"前往注册",
  799. success: res1 => {
  800. if (res1.confirm) {
  801. uni.navigateTo({
  802. url: '/pages/login/login'
  803. })
  804. } else if (res1.cancel) {
  805. //('用户点击取消');
  806. }
  807. }
  808. })
  809. }
  810. }else if(this.showNtStep==1||this.showNtStep==2||this.showNtStep==3||this.showNtStep==4){
  811. this.showNt=false;
  812. uni.navigateTo({
  813. url:"/pages/user/coupon/myCoupon"
  814. })
  815. }
  816. },
  817. test(){
  818. if(process.env.NODE_ENV === "development"){
  819. }
  820. },
  821. goSearch() {
  822. this.$refs.tabbarMain.beforeSwitch(1)
  823. },
  824. nextTop(index){
  825. this.showTopImg=this.bannerListTop[index+1].picUrl;
  826. this.showTopIndex=index+1;
  827. },
  828. getDescriptionTime() {
  829. var date = this.activityDate;
  830. var dateMonth1 = new Date().getMonth()+1;
  831. var dateDay1 = new Date().getDate();
  832. var dateMonth2 = parseInt(date.slice(5,7));
  833. var dateDay2 = parseInt(date.slice(8,10));
  834. if(dateMonth1 < dateMonth2) {
  835. var days = new Date(new Date().getFullYear(), dateMonth1, 0).getDate();
  836. dateDay2 = dateDay2 + days;
  837. console.log(dateDay2)
  838. }
  839. if(dateDay1 < dateDay2-2) {
  840. this.description = dateDay2 - dateDay1 + '天'
  841. } else {
  842. var dateTime2=new Date(date).getTime()
  843. var c=hourDistanceArr(new Date(),new Date(dateTime2))
  844. if(c[0] < 10) {
  845. c[0] = '0'+c[0];
  846. }
  847. if(c[1] < 10) {
  848. c[1] = '0'+c[1];
  849. }
  850. if(c[2] < 10) {
  851. c[2] = '0'+c[2];
  852. }
  853. this.description = c[0]+':'+c[1]+':'+c[2];
  854. if(this.description == '00:00:00') {
  855. this.activityListShow = false;
  856. }
  857. setTimeout(()=>{
  858. this.getDescriptionTime();
  859. },1000)
  860. }
  861. },
  862. getUserInfo() {
  863. uni.showLoading({
  864. title: "加载中",
  865. mask: true,
  866. })
  867. loginApi.findByOpenId({
  868. openId: this.carhelp.getOpenId(),
  869. noerror:true,
  870. }).then((res) => {
  871. uni.hideLoading();
  872. if (res.code == 200&&res.result) {
  873. this.personInfo=res.data.regUser;
  874. var token = res ? res.data.token : '';
  875. this.carhelp.setPersonInfo(res.data.regUser );
  876. this.carhelp.setToken(token);
  877. this.carhelp.setPersonInfoPlus(res.data);
  878. }
  879. console.log("--------------")
  880. if (res.data&&res.data.regUser) {
  881. if(res.data.regUser.fontMode == null) {
  882. this.show = true;
  883. } else {
  884. this.show = false;
  885. this.fontMode = res.data.regUser.fontMode;
  886. if(this.fontMode == '1') {
  887. this.carhelp.set("getElderModeClass", "长辈模式");
  888. } else {
  889. this.carhelp.set("getElderModeClass", "标准模式");
  890. }
  891. }
  892. this.userId = res.data.regUser.id;
  893. this.getFindChargeData();
  894. if (this.carhelp.get("getElderModeClass")) {
  895. if(this.carhelp.get("getElderModeClass") == "长辈模式") {
  896. this.elderStatus = true;
  897. } else {
  898. this.elderStatus = false;
  899. }
  900. }
  901. }else{
  902. this.carhelp.set("getElderModeClass", "长辈模式");
  903. this.elderStatus = true;
  904. var obj=this.carhelp.get("friends_invitation")
  905. // this.carhelp.set("friends_invitation",{
  906. // op:op,
  907. // date:new Date().getTime()
  908. // })
  909. if(obj&&false){
  910. if(obj.date+1000*60*60*24 > new Date().getTime() ){
  911. this.friendsInvitation(obj)
  912. }
  913. }
  914. }
  915. }).catch(error => {
  916. uni.showToast({
  917. title: error,
  918. icon: "none"
  919. })
  920. })
  921. },
  922. friendsInvitation(obj){
  923. uni.showLoading({
  924. title: "加载中",
  925. mask: true,
  926. })
  927. API.findActivity({
  928. id:obj.op.id,
  929. code:obj.op.icode
  930. }).then((res) => {
  931. uni.hideLoading()
  932. obj.activityInfo=res.data.activityInfo;
  933. var name=res.data.activityInfo.name;
  934. var title="参与活动"
  935. var okbtn="前往注册"
  936. var endTime=res.data.activityInfo.endTime;
  937. if(endTime&&secondsDistance(newDate(endTime))>0){
  938. name="活动已结束"
  939. okbtn="继续注册"
  940. title="提示"
  941. obj=null
  942. }
  943. this.carhelp.set("friends_invitation",obj)
  944. uni.showModal({
  945. title:title,
  946. content:name,
  947. confirmText:okbtn,
  948. success: res1 => {
  949. if (res1.confirm) {
  950. uni.navigateTo({
  951. url: '/pages/login/login'
  952. })
  953. } else if (res1.cancel) {
  954. //('用户点击取消');
  955. }
  956. }
  957. })
  958. }).catch(error => {
  959. uni.showToast({
  960. title: error,icon: "none"
  961. })
  962. })
  963. },
  964. clickBannerTop(){
  965. var mod = this.bannerListTop[this.showTopIndex];
  966. this.showTop=false;
  967. this.clickBanner(0,true,mod)
  968. },
  969. clickBanner(index,bl,modout){
  970. var uurl="";
  971. var mod = this.bannerList[index]
  972. if(modout){
  973. mod=modout;
  974. }
  975. mod.clickUrl=mod.linkUrl
  976. if (mod.linkPicUrl&&!bl) {
  977. this.showOss=true;
  978. this.showOssImg=mod.linkPicUrl;
  979. this.showOssIndex=index;
  980. }else if (mod.clickUrl == null) {
  981. } else if (mod.clickUrl.indexOf('http') == 0) {
  982. window.location = mod.clickUrl+uurl;
  983. }
  984. else if (mod.clickUrl.slice(-5) == 'login' && this.userId) {
  985. } else if (mod.clickUrl.indexOf('#/') == 0) {
  986. if (mod.clickUrl.indexOf("?") == -1) {
  987. mod.clickUrl += '?';
  988. }
  989. var url=mod.clickUrl.split("#")[1]
  990. //window.location = mod.clickUrl;
  991. uni.navigateTo({
  992. url: url+uurl
  993. })
  994. } else if (mod.clickUrl == '#' || mod.clickUrl == '') {
  995. } else {
  996. uni.navigateTo({
  997. url: mod.clickUrl+uurl
  998. })
  999. }
  1000. },
  1001. getBannerInfoTop(code){
  1002. var nowtime = parseUnixTime(currentTimeStamp(), '{y}-{m}-{d}')
  1003. var time=this.carhelp.get("bannerListTop");
  1004. if((time&&nowtime==time)){
  1005. return;
  1006. }
  1007. uni.showLoading({
  1008. title: "加载中",
  1009. mask: true,
  1010. })
  1011. newsApi.getBannerInfo(code).then((res) => {
  1012. this.bannerListTop =res.data;
  1013. if(this.bannerListTop.length){
  1014. this.showTop=true;
  1015. this.showTopImg=this.bannerListTop[0].picUrl;
  1016. this.showTopIndex=0;
  1017. this.carhelp.set("bannerListTop",nowtime);
  1018. }
  1019. //this.test()
  1020. if (this.userId&&false) {
  1021. API.readCoupon().then((res2) => {
  1022. var mod=res2.data.userCoupon;
  1023. console.log(mod)
  1024. if(mod){
  1025. var obj={
  1026. topmodel:"coupon",
  1027. value:mod.value,
  1028. text:mod.describe,
  1029. linkUrl:"#/pages/user/coupon/myCoupon",
  1030. }
  1031. this.bannerListTop =[
  1032. obj,...res.data
  1033. ]
  1034. if(!(time&&nowtime==time)){
  1035. this.showTop=true;
  1036. this.showTopImg=this.bannerListTop[0].picUrl;
  1037. this.showTopIndex=0;
  1038. this.carhelp.set("bannerListTop",nowtime);
  1039. }
  1040. }
  1041. }).catch(error2 => {
  1042. uni.showToast({
  1043. title: error2,icon: "none"
  1044. })
  1045. })
  1046. }
  1047. uni.hideLoading()
  1048. //document.getElementsByClassName("uni-swiper-wrapper")[0].parentNode.style="background-color: rgb(255, 255, 255); height: 120px;"
  1049. }).catch(error => {
  1050. uni.showToast({
  1051. title: error,icon: "none"
  1052. })
  1053. })
  1054. },
  1055. getBannerInfo(code){
  1056. uni.showLoading({
  1057. title: "加载中",
  1058. mask: true,
  1059. })
  1060. newsApi.getBannerInfo(code).then((res) => {
  1061. this.bannerList =res.data;
  1062. uni.hideLoading()
  1063. //document.getElementsByClassName("uni-swiper-wrapper")[0].parentNode.style="background-color: rgb(255, 255, 255); height: 120px;"
  1064. }).catch(error => {
  1065. uni.showToast({
  1066. title: error,icon: "none"
  1067. })
  1068. })
  1069. },
  1070. elderClick() {
  1071. if(this.value == "长辈模式") {
  1072. this.elderStatus = true;
  1073. this.carhelp.set("getElderModeClass", "长辈模式");
  1074. this.fontMode = '1';
  1075. } else {
  1076. this.elderStatus = false;
  1077. this.carhelp.set("getElderModeClass", "标准模式");
  1078. this.fontMode = '0';
  1079. }
  1080. API.changeFont({fontMode: this.fontMode}).then((res) => {
  1081. this.show = false;
  1082. }).catch(error => {
  1083. uni.showToast({
  1084. title: error,
  1085. icon: "none"
  1086. })
  1087. })
  1088. },
  1089. getPointTimeOut() {
  1090. setTimeout(() => {
  1091. if (this.pointTimeOut) {
  1092. this.getPoint();
  1093. }
  1094. }, 1000)
  1095. },
  1096. getFindChargeData() {
  1097. API.findChargeData().then((res) => {
  1098. this.chargeList = res.data.chargingRecordList;
  1099. var list = res.data.chargingRecordList;
  1100. for (var i = 0; i < list.length; i++) {
  1101. if (list[i].status == '1' || list[i].status == '4') {
  1102. this.timeOut = true;
  1103. }
  1104. }
  1105. if (this.timeOut&&this.pointTimeOut) {
  1106. setTimeout(() => {
  1107. this.getFindChargeData();
  1108. }, 5000)
  1109. }
  1110. }).catch(error => {
  1111. uni.showToast({
  1112. title: error,
  1113. icon: "none"
  1114. })
  1115. })
  1116. },
  1117. toAll() {
  1118. uni.navigateTo({
  1119. url: '/pages/index/all'
  1120. })
  1121. },
  1122. toSearchPile() {
  1123. uni.navigateTo({
  1124. url: '/pages/searchPile/searchPile'
  1125. })
  1126. },
  1127. toLogin() {
  1128. uni.navigateTo({
  1129. url: '/pages/login/login'
  1130. })
  1131. },
  1132. toNewsNotice() {
  1133. uni.navigateTo({
  1134. url: '/pages/article/newsNotice'
  1135. })
  1136. },
  1137. //微信扫二维码
  1138. getScanCode() {
  1139. if (this.userId) {
  1140. WxJsApi.scanQRCode(1).then(res => {
  1141. //("scanQRCode------" + res)
  1142. if (res) {
  1143. API.scanCode(res).then((response) => {
  1144. }).catch(error => {
  1145. uni.showToast({
  1146. title: error,
  1147. icon: "none"
  1148. })
  1149. })
  1150. }
  1151. }).catch(error => {
  1152. })
  1153. } else {
  1154. uni.navigateTo({
  1155. url: '/pages/login/login'
  1156. })
  1157. }
  1158. },
  1159. fastRecharge() {
  1160. if (this.userId) {
  1161. uni.navigateTo({
  1162. url: '/pages/user/finance/recharge'
  1163. })
  1164. } else {
  1165. uni.navigateTo({
  1166. url: '/pages/login/login'
  1167. })
  1168. }
  1169. },
  1170. chargingRecord() {
  1171. if (this.userId) {
  1172. uni.navigateTo({
  1173. url: '/pages/record/index'
  1174. })
  1175. } else {
  1176. uni.navigateTo({
  1177. url: '/pages/login/login'
  1178. })
  1179. }
  1180. },
  1181. rechargeActivity(item) {
  1182. if (this.userId) {
  1183. var uurl="&uid="+this.userId;
  1184. var mod = item
  1185. if (mod.clickUrl == null) {
  1186. } else if (mod.clickUrl.indexOf('http') == 0) {
  1187. window.location = mod.clickUrl+uurl;
  1188. } else if (mod.clickUrl.indexOf('#/') == 0) {
  1189. if (mod.clickUrl.indexOf("?") == -1) {
  1190. mod.clickUrl += '?';
  1191. }
  1192. var url=mod.clickUrl.split("#")[1]
  1193. //window.location = mod.clickUrl;
  1194. uni.navigateTo({
  1195. url: url+uurl
  1196. })
  1197. } else if (mod.clickUrl == '#' || mod.clickUrl == '') {
  1198. } else {
  1199. uni.navigateTo({
  1200. url: mod.clickUrl+uurl
  1201. })
  1202. }
  1203. } else {
  1204. uni.navigateTo({
  1205. url: '/pages/login/login'
  1206. })
  1207. }
  1208. },
  1209. getActivityInfoList() {
  1210. uni.showLoading({
  1211. title: "加载中",
  1212. mask: true,
  1213. })
  1214. API.activityInfoList({
  1215. pageIndex: 1,
  1216. pageSize: 10
  1217. }).then((res) => {
  1218. uni.hideLoading()
  1219. var list = res.data.data;
  1220. for (let i = 0; i < list.length; i++) {
  1221. if(list[i].type==2&&list[i].endTime != null) {
  1222. this.activityListShow = true;
  1223. var reg=new RegExp('-','gi');
  1224. this.activityDate = list[i].endTime.replace(reg,'/');
  1225. console.log(this.activityDate)
  1226. this.activityDateList = list[i];
  1227. list.splice(i, 1);
  1228. this.getDescriptionTime();
  1229. }
  1230. }
  1231. this.activityList = list;
  1232. }).catch(error => {
  1233. uni.showToast({
  1234. title: error,
  1235. icon: "none"
  1236. })
  1237. })
  1238. },
  1239. searchStationData(bl){
  1240. if(bl){
  1241. this.pageIndex2++;
  1242. }
  1243. var data={
  1244. longitude: this.longitude,
  1245. latitude: this.latitude,
  1246. pageIndex:this.pageIndex2,
  1247. pageSize:6
  1248. }
  1249. if (this.carhelp.getPersonInfo()) {
  1250. data.openId=this.carhelp.getOpenId()
  1251. }
  1252. siteApi.searchStationData(data).then((response) => {
  1253. if (this.pageIndex2 == 1) {
  1254. this.stationList = response.data.data;
  1255. this.listForm.totalPage = response.totalPage;
  1256. } else {
  1257. this.stationList = [
  1258. ...this.stationList,
  1259. ...response.data.data
  1260. ];
  1261. }
  1262. this.recordsTotal2=response.data.recordsTotal;
  1263. if(response.data.data.length){
  1264. var stationDataList = response.data.data;
  1265. MapLoader().then(AMap1 => {
  1266. for(var i in stationDataList){
  1267. var item=stationDataList[i]
  1268. var lnglat = new AMap.LngLat(this.longitude,this.latitude);
  1269. var myDistance = lnglat.distance([item.longitude,item.latitude]);
  1270. item.distance = myDistance/1000;
  1271. console.log(item.distance)
  1272. }
  1273. })
  1274. //this.stationData = stationDataList;
  1275. }
  1276. }).catch(error => {
  1277. uni.showToast({
  1278. title: error,
  1279. icon: "none"
  1280. })
  1281. })
  1282. },
  1283. getPoint() {
  1284. WxJsApi.getLocation().then((res) => {
  1285. this.latitude = parseFloat(res.latitude);
  1286. this.longitude = parseFloat(res.longitude);
  1287. this.message = res.errMsg;
  1288. if (res.errMsg != 'getLocation:ok') {
  1289. uni.showToast({
  1290. title: res
  1291. })
  1292. } else {
  1293. this.searchStationData()
  1294. }
  1295. }).catch(error => {
  1296. uni.showToast({
  1297. title: error,
  1298. icon: "none"
  1299. })
  1300. })
  1301. },
  1302. getNewsList(bl) {
  1303. uni.showLoading({
  1304. title: "加载中",
  1305. mask: true,
  1306. })
  1307. if (bl) {
  1308. this.newsList = [];
  1309. this.pageIndex = 1;
  1310. }
  1311. newsApi.newsInfoList({
  1312. pageIndex: this.pageIndex,
  1313. pageSize:3,
  1314. }).then((res) => {
  1315. uni.hideLoading()
  1316. this.newsList = [
  1317. ...this.newsList,
  1318. ...res.data.data
  1319. ];
  1320. this.recordsTotal = res.data.recordsTotal
  1321. }).catch(error => {
  1322. uni.showToast({
  1323. title: error,
  1324. icon: "none"
  1325. })
  1326. })
  1327. },
  1328. myLoadmore() {
  1329. //this.pageIndex += 1;
  1330. //this.getNewsList()
  1331. },
  1332. }
  1333. }
  1334. </script>
  1335. <style lang="scss" scoped>
  1336. .couponmain{
  1337. .main{
  1338. margin: 100px auto 0;
  1339. position: relative;
  1340. .content{
  1341. padding: 24px;
  1342. padding-top: 50px;
  1343. background-color: #fff;
  1344. box-shadow: 0px 0px 0px 1px rgba(254, 229, 147, 100);
  1345. border: 2px solid rgba(253, 217, 141, 100);
  1346. border-radius: 8px;
  1347. .img{
  1348. width: 44vw;
  1349. height: 134px;
  1350. position: absolute;
  1351. top: -88px;
  1352. right: 0px;
  1353. img{
  1354. width: 100%;
  1355. height: 100%;
  1356. }
  1357. }
  1358. .title{
  1359. font-size: 16px;
  1360. color: rgba(84, 45, 45, 100);
  1361. margin-bottom: 13px;
  1362. }
  1363. .text{
  1364. line-height: 24px;
  1365. color: rgba(84, 45, 45, 100);
  1366. font-size: 16px;
  1367. text-align: justify;
  1368. text-decoration:underline;
  1369. text-decoration-color:#ECE3BA;
  1370. text-indent: 32px;
  1371. }
  1372. .sign{
  1373. text-align: right;
  1374. margin-top: 8px;
  1375. font-size: 16px;
  1376. }
  1377. }
  1378. // 专享优惠券
  1379. .exclusive{
  1380. background-color: #F5E4C8;
  1381. margin-top: 20px;
  1382. padding: 32rpx 32rpx 32rpx 32rpx ;
  1383. box-shadow: 0px 0px 0px 1px rgba(254, 229, 147, 100);
  1384. border: 2px solid rgba(253, 217, 141, 100);
  1385. border-radius: 8px;
  1386. .exclusive1{
  1387. font-size: 48rpx;
  1388. color: rgba(51, 51, 51, 1);
  1389. font-family: SourceHanSerif-bold;
  1390. }
  1391. .exclusive2{
  1392. font-family: PingFangSC-regular;
  1393. color: rgba(51, 51, 51, 1);
  1394. font-size: 36rpx;
  1395. }
  1396. p{
  1397. width: 100%;
  1398. text-align: center;
  1399. //color: rgba(255, 73, 75, 100);
  1400. //font-size: 20px;
  1401. }
  1402. .img{
  1403. // width: 74.4vw;
  1404. // height: 84px;
  1405. margin-top: 16px;
  1406. position: relative;
  1407. img{
  1408. width: 100%;
  1409. height: 100%;
  1410. }
  1411. }
  1412. .num{
  1413. font-size:54rpx;
  1414. color: rgba(252, 237, 179, 100);
  1415. position: absolute;
  1416. top:10px;
  1417. left: 8vw;
  1418. font-weight: 600;
  1419. .unit{
  1420. font-size: 24rpx;
  1421. color: rgba(252, 237, 179, 100);
  1422. }
  1423. }
  1424. .unit2{
  1425. font-size: 12px;
  1426. color: #FFF;
  1427. position: absolute;
  1428. top: 90rpx;
  1429. left: 24rpx;
  1430. }
  1431. .exclusive-text{
  1432. color: #333333;
  1433. font-size: 16rpx;
  1434. }
  1435. .exclusive-btn{
  1436. width: 80%;
  1437. margin-top: 48rpx;
  1438. border-radius: 50px;
  1439. background: linear-gradient(90.58deg, rgba(225,208,165,1) 0.05%,rgba(228,190,132,1) 98.67%);
  1440. color: rgba(51, 51, 51, 1);
  1441. font-size: 36rpx;
  1442. text-align: center;
  1443. box-shadow: 0px 8rpx 20rpx 0px rgba(184, 155, 103, 40);
  1444. font-family: -apple-system;
  1445. // width: 87.4%;
  1446. // margin-top: 20px;
  1447. // background-image: linear-gradient(#ffff00, #ff9600);
  1448. // color: #521e00;
  1449. // font-size: 20px;
  1450. // border-radius: 50px;
  1451. }
  1452. .ticket-info{
  1453. width: 40vw;
  1454. text-align: center;
  1455. position: absolute;
  1456. top: 18px;
  1457. right: 16rpx;
  1458. .ticket-name{
  1459. line-height: 40rpx;
  1460. color: rgba(16, 16, 16, 100);
  1461. font-size: 16rpx;
  1462. }
  1463. .condition{
  1464. line-height: 22px;
  1465. color: #8a6f6f;
  1466. font-size: 12px;
  1467. }
  1468. }
  1469. }
  1470. }
  1471. }
  1472. .oldTextClassF{
  1473. .text-2{
  1474. font-size: 36rpx !important;
  1475. }
  1476. .text-3{
  1477. font-size: 34rpx !important;
  1478. }
  1479. .station .price-free .price-1 .num{
  1480. font-size: 48rpx !important;
  1481. line-height: 40rpx;
  1482. font-weight: bold;
  1483. }
  1484. }
  1485. /deep/.u-image__loading{
  1486. background:#ff000000;
  1487. }
  1488. // 头部图片
  1489. img {
  1490. width: 100%;
  1491. // height: 100%;
  1492. }
  1493. .background{
  1494. background: linear-gradient(#D6EEDC,#FFFFFF );
  1495. padding-top: 16px;
  1496. }
  1497. .banner {
  1498. width: 91.4%;
  1499. margin: 0 auto ;
  1500. border-radius: 12px;
  1501. height: 120px;
  1502. overflow: hidden;
  1503. }
  1504. // 选项列表
  1505. .option-list {
  1506. padding-top: 15px;
  1507. line-height: 20px;
  1508. border-radius: 8px;
  1509. text-align: center;
  1510. margin: auto;
  1511. display: flex;
  1512. justify-content: space-around;
  1513. .list-item {
  1514. // 图标
  1515. .icon {
  1516. width: 40px;
  1517. height: 40px;
  1518. border-radius: 99px;
  1519. line-height: 40px;
  1520. font-size: 24px;
  1521. text-align: center;
  1522. margin: auto;
  1523. color: #ffffff;
  1524. }
  1525. .text{
  1526. margin-top: 4px;
  1527. }
  1528. }
  1529. }
  1530. .flex{
  1531. display: flex;
  1532. }
  1533. // 站点
  1534. .pack-up{
  1535. float: right;
  1536. font-size: 16px;
  1537. color: rgba(119, 119, 119, 100);
  1538. }
  1539. .station,.location,.state1{
  1540. box-shadow: 0px 4rpx 12rpx 0px #008c4a33;
  1541. }
  1542. // 附近站点改版
  1543. .station{
  1544. width: 91.4%;
  1545. border-radius: 8px;
  1546. padding: 12px 12px 12px 11px;
  1547. background-color: #fff;
  1548. margin: 8px auto 0;
  1549. .head{
  1550. display: flex;
  1551. justify-content: space-between;
  1552. align-items: center;
  1553. .title{
  1554. color: rgba(16, 16, 16, 100);
  1555. font-size: 32rpx;
  1556. font-weight: 550;
  1557. width: 440rpx;
  1558. text-overflow:ellipsis;
  1559. overflow:hidden;
  1560. white-space:nowrap;
  1561. }
  1562. .distance{
  1563. width: 180rpx;
  1564. color: rgba(102, 102, 102, 100);
  1565. font-size: 32rpx;
  1566. text-align: end;
  1567. .iconfont{
  1568. font-size: 24rpx;
  1569. margin-right: 4rpx;
  1570. }
  1571. }
  1572. }
  1573. .sign{
  1574. display: flex;
  1575. flex-wrap: wrap;
  1576. margin-top: 16rpx;
  1577. .sign-1{
  1578. line-height: 40rpx;
  1579. border-radius: 8rpx;
  1580. background-color: rgba(255, 255, 255, 100);
  1581. color: rgba(255, 139, 0, 100);
  1582. font-size: 24rpx;
  1583. text-align: center;
  1584. border: 1px solid rgba(255, 139, 0, 100);
  1585. padding: 0 8rpx;
  1586. margin-right:16rpx;
  1587. margin-bottom: 8rpx;
  1588. }
  1589. .sign-2{
  1590. line-height: 40rpx;
  1591. border-radius: 8rpx;
  1592. background-color: rgba(255, 255, 255, 100);
  1593. color: rgba(153, 153, 153, 100);
  1594. font-size: 24rpx;
  1595. text-align: center;
  1596. border: 1px solid rgba(204, 204, 204, 100);
  1597. padding: 0 8rpx;
  1598. margin-right: 16rpx;
  1599. margin-bottom: 8rpx;
  1600. }
  1601. .sign-3{
  1602. line-height: 40rpx;
  1603. border-radius: 8rpx;
  1604. background-color: rgba(255, 255, 255, 100);
  1605. color: #8161FF ;
  1606. font-size: 24rpx;
  1607. text-align: center;
  1608. border: 1px solid #8161FF;
  1609. padding: 0 8rpx;
  1610. margin-right: 16rpx;
  1611. margin-bottom: 8rpx;
  1612. }
  1613. }
  1614. .price-free{
  1615. display: flex;
  1616. justify-content: space-between;
  1617. margin-top: 8rpx;
  1618. .price{
  1619. display: flex;
  1620. align-items: baseline;
  1621. }
  1622. .price-1{
  1623. .num{
  1624. color: rgba(255, 98, 0, 100);
  1625. font-size: 44rpx;
  1626. }
  1627. .unit{
  1628. font-size: 12px;
  1629. color: rgba(153, 153, 153, 100);
  1630. }
  1631. }
  1632. .price-2{
  1633. font-size: 24rpx;
  1634. color: rgba(153, 153, 153, 100);
  1635. margin-left: 8rpx;
  1636. text-decoration: line-through;
  1637. }
  1638. }
  1639. .free{
  1640. display: flex;
  1641. align-items: center;
  1642. .slow,.fast{
  1643. display: flex;
  1644. .sp-font{
  1645. width: 40rpx;
  1646. height: 40rpx;
  1647. line-height: 40rpx;
  1648. border-radius: 4px;
  1649. background-color: #7a68f6;
  1650. color: #fff;
  1651. font-size: 28rpx;
  1652. text-align: center;
  1653. margin-right: 2rpx;
  1654. }
  1655. .fast-font{
  1656. width: 40rpx;
  1657. height: 40rpx;
  1658. line-height: 40rpx;
  1659. border-radius: 8rpx;
  1660. background-color: rgba(186, 240, 215, 100);
  1661. color: rgba(0, 130, 69, 100);
  1662. font-size: 28rpx;
  1663. text-align: center;
  1664. margin-right: 8rpx;
  1665. }
  1666. .slow-font{
  1667. width: 40rpx;
  1668. height: 40rpx;
  1669. line-height: 40rpx;
  1670. border-radius: 8rpx;
  1671. background-color: rgba(226, 226, 226, 100);
  1672. color: rgba(128, 128, 128, 100);
  1673. font-size: 28rpx;
  1674. text-align: center;
  1675. margin-right: 8rpx;
  1676. }
  1677. .num{
  1678. font-size: 32rpx;color: rgba(0, 145, 67, 100);
  1679. line-height: 40rpx;
  1680. }
  1681. }
  1682. .slow{
  1683. margin-left: 24rpx;
  1684. }
  1685. }
  1686. }
  1687. //定位
  1688. .location {
  1689. width: 91.4%;
  1690. background-color: #ffffff;
  1691. height: 120px;
  1692. display: flex;
  1693. justify-content: space-between;
  1694. margin: 20px auto 0;
  1695. border-radius: 8px;
  1696. border: #F2F4F4 1px;
  1697. .location-text {
  1698. padding: 24px 0 0 28px;
  1699. .text-1 {
  1700. height: 16px;
  1701. line-height: 16px;
  1702. color: rgba(16, 16, 16, 100);
  1703. font-size: 16px;
  1704. text-align: left;
  1705. }
  1706. .text-2 {
  1707. height: 17px;
  1708. line-height: 17px;
  1709. color: rgba(102, 102, 102, 100);
  1710. font-size: 12px;
  1711. text-align: left;
  1712. margin-top: 4px;
  1713. white-space: nowrap; //强制不换行
  1714. text-overflow: ellipsis; //文本超出出现省略号
  1715. overflow: hidden;
  1716. }
  1717. .text-3 {
  1718. width: 80px;
  1719. height: 24px;
  1720. line-height: 22px;
  1721. border-radius: 50px;
  1722. color: rgba(0, 185, 98, 100);
  1723. font-size: 12px;
  1724. text-align: center;
  1725. border: 1px solid rgba(0, 185, 98, 100);
  1726. margin-top: 11px;
  1727. }
  1728. }
  1729. .img-box {
  1730. width: 120px;
  1731. height: 120px;
  1732. margin-right: 20px;
  1733. }
  1734. }
  1735. .img-box4{
  1736. padding-top: 5px;
  1737. height: 260rpx;
  1738. img{
  1739. max-width: 100px;
  1740. }
  1741. .img-view{
  1742. color: #0293f0;
  1743. float: right;
  1744. font-size: 10px;
  1745. margin-top: 3px;
  1746. position: relative;
  1747. bottom: 30rpx;
  1748. left: -15px;
  1749. .iconfont{
  1750. font-size: 14px;
  1751. }
  1752. }
  1753. }
  1754. .state {
  1755. width: 91.4%;
  1756. background-color: #ffffff;
  1757. height: 260rpx;
  1758. min-height:120px;
  1759. max-height:130px;
  1760. display: flex;
  1761. margin: 20rpx auto 0;
  1762. border-radius: 8px;
  1763. border: #F2F4F4 1px;
  1764. .state-text {
  1765. min-width: 70%;
  1766. padding: 48rpx 0 0 24rpx;
  1767. Z-INDEX: 99;
  1768. .text-1 {
  1769. height: 16px;
  1770. line-height: 16px;
  1771. color: rgba(0, 185, 98, 1);
  1772. font-size: 16px;
  1773. text-align: left;
  1774. font-weight: bold;
  1775. span{
  1776. color:rgba(16, 16, 16, 1);
  1777. margin-right: 12rpx;
  1778. }
  1779. }
  1780. .text-2 {
  1781. width: 160%;
  1782. height: 17px;
  1783. line-height: 17px;
  1784. color: #101010;
  1785. text-align: left;
  1786. margin-top: 12px;
  1787. span{
  1788. font-weight: bold;
  1789. margin-right: 6rpx;
  1790. margin-left: 6rpx;
  1791. }
  1792. .text-21{
  1793. color: rgba(0, 185, 98, 1);
  1794. }
  1795. .text-22{
  1796. color: #ed7847;
  1797. }
  1798. }
  1799. .text-3 {
  1800. font-size: 14px;
  1801. line-height: 20px;
  1802. margin-top: 6px;
  1803. color: #999999;
  1804. }
  1805. }
  1806. .img-box {
  1807. width: 120px;
  1808. height: 120px;
  1809. margin-right: 20px;
  1810. }
  1811. }
  1812. //充值
  1813. .top-up {
  1814. width: 91.4%;
  1815. margin: 12px auto 0 ;
  1816. .top-up-title {
  1817. color: rgba(16, 16, 16, 100);
  1818. font-size: 16px;
  1819. }
  1820. .card-box{
  1821. display: flex;
  1822. justify-content: space-between;
  1823. padding: 0 0 16px 0;
  1824. .card{
  1825. width: 48.3%;
  1826. height: 65px;
  1827. img{
  1828. width: 100%;
  1829. height: 100%;
  1830. }
  1831. }
  1832. }
  1833. .img-box2{
  1834. margin-top: 12px;
  1835. display: flex;
  1836. justify-content: space-between;
  1837. img{
  1838. width: 100%;
  1839. height: 100%;
  1840. }
  1841. .left-image{
  1842. width: 48.3%;
  1843. height: 166px;
  1844. padding: 8px 0 0 12px;
  1845. // background: url(@/assets/img/topup1.png);
  1846. background-repeat: no-repeat;
  1847. background-position: 30% 10%;
  1848. background-size: cover;
  1849. p{
  1850. color: rgba(56, 47, 33, 100);
  1851. font-size: 24px;
  1852. line-height: 28px;
  1853. font-weight: 600;
  1854. }
  1855. .time-activities{
  1856. color: rgba(56, 39, 14, 100);
  1857. font-size: 16px;
  1858. line-height: 22px;
  1859. margin-top: 4px;
  1860. .time{
  1861. margin-left: 4px;
  1862. color: #fa3534;
  1863. font-weight: bold;
  1864. }
  1865. }
  1866. }
  1867. .right-image{
  1868. width: 48.3%;
  1869. display: flex;
  1870. flex-direction: column;
  1871. justify-content: space-between;
  1872. .margin-top{
  1873. margin-top: 12px;
  1874. }
  1875. img{
  1876. height: 77px;
  1877. }
  1878. };
  1879. }
  1880. }
  1881. .lineBox{
  1882. background-color: rgba(0, 145, 67, 100);
  1883. padding: 0px 3px;
  1884. background-color: rgba(0, 185, 98, 1);
  1885. color: rgba(255, 255, 255, 1);
  1886. margin-left: 6px;
  1887. border-radius: 3px;
  1888. }
  1889. // 小竖线
  1890. .line {
  1891. display: inline-block;
  1892. width: 3px;
  1893. height: 12px;
  1894. margin-right: 7px;
  1895. background-color: rgba(0, 145, 67, 100);
  1896. }
  1897. // 新闻公告
  1898. .news-title {
  1899. padding: 0 16px;
  1900. margin-top: 12px;
  1901. color: rgba(16, 16, 16, 100);
  1902. font-size: 16px;
  1903. display: flex;
  1904. justify-content: space-between;
  1905. background-color: #F2F4F4;
  1906. .news-title-left {
  1907. display: flex;
  1908. }
  1909. .more {
  1910. font-size: 14px;
  1911. color: #777777;
  1912. display: flex;
  1913. line-height: 20px;
  1914. .more-icon {
  1915. font-size: 24px
  1916. }
  1917. }
  1918. }
  1919. .news {
  1920. background-color: #fff;
  1921. width: 91.4%;
  1922. margin: 12px auto 0;
  1923. border-radius: 8px;
  1924. .news-content {
  1925. display: flex;
  1926. justify-content: space-between;
  1927. padding: 12px;
  1928. .content-text {
  1929. width: 56.2%;
  1930. height: 100%;
  1931. line-height: 21px;
  1932. color: #101010;
  1933. text-align: left;
  1934. font-size: 14px;
  1935. }
  1936. .content-title {
  1937. width: 100%;
  1938. overflow: hidden;
  1939. text-overflow: ellipsis;
  1940. display: -webkit-box;
  1941. -webkit-box-orient: vertical;
  1942. -webkit-line-clamp: 3;
  1943. }
  1944. .content-img {
  1945. width: 40.57%;
  1946. height: 100%;
  1947. border-radius: 4px;
  1948. overflow: hidden;
  1949. img {
  1950. width: 100%;
  1951. height: 80%;
  1952. }
  1953. }
  1954. .news-time {
  1955. margin-top: 5%;
  1956. color: #999999;
  1957. width: 80px;
  1958. height: 20px;
  1959. font-size: 14px;
  1960. }
  1961. }
  1962. }
  1963. .bottom {
  1964. width: 100%;
  1965. height: 60px;
  1966. .bot {
  1967. width: 100%;
  1968. margin: 0 auto;
  1969. padding: 0 17.3%;
  1970. justify-content: space-between;
  1971. display: flex;
  1972. .bot-line {
  1973. margin-top: 20px;
  1974. width: 21.3%;
  1975. height: 0px;
  1976. border: 1px solid rgba(207, 210, 213, 100);
  1977. }
  1978. .bot-text {
  1979. white-space: nowrap;
  1980. height: 17px;
  1981. margin-top: 13px;
  1982. margin-left: 12px;
  1983. margin-right: 12px;
  1984. font-size: 12px;
  1985. text-align: center;
  1986. color: rgba(182, 189, 195, 100);
  1987. }
  1988. }
  1989. }
  1990. // 导航栏
  1991. .navigation {
  1992. width: 100%;
  1993. // height: 40px;
  1994. padding: 10px 0;
  1995. background-color: #fff;
  1996. position: fixed;
  1997. bottom: 0;
  1998. left: 0;
  1999. display: flex;
  2000. justify-content: space-around;
  2001. text-align: center;
  2002. color: #999999;
  2003. .nav-icon {
  2004. width: 54px;
  2005. font-size: 24px
  2006. }
  2007. .nav-text {
  2008. font-size: 14px;
  2009. }
  2010. }
  2011. .shema {
  2012. width: 70%;
  2013. padding-bottom: 20px;
  2014. border-radius: 16px;
  2015. background-color: #fff;
  2016. position: fixed;
  2017. top: 100px;
  2018. left: 0;
  2019. right: 0;
  2020. margin: 0 auto;
  2021. z-index: 9999;
  2022. .title {
  2023. height: 33px;
  2024. color: rgba(16, 16, 16, 100);
  2025. font-size: 24px;
  2026. text-align: center;
  2027. padding: 16px 0;
  2028. }
  2029. .u-radio-group {
  2030. margin: 16px 5vw;
  2031. }
  2032. /deep/.u-radio {
  2033. width: 60vw !important;
  2034. padding: 24px 24px 40px;
  2035. line-height: 20px;
  2036. border-radius: 16px;
  2037. text-align: center;
  2038. border: #101010 1px solid;
  2039. margin-top: 12px;
  2040. }
  2041. /deep/ .u-radio__label {
  2042. text-align: left;
  2043. height: 24px;
  2044. // color: rgba(0, 185, 98, 100);
  2045. font-size: 24px;
  2046. }
  2047. p {
  2048. height: 22px;
  2049. color: rgba(102, 102, 102, 100);
  2050. font-size: 14px;
  2051. margin-top: 12px;
  2052. white-space: nowrap
  2053. }
  2054. .hint {
  2055. text-align: center;
  2056. }
  2057. .btn-box {
  2058. margin-top: 20px;
  2059. .choice-btn {
  2060. width: 80%;
  2061. }
  2062. }
  2063. }
  2064. .wrap {
  2065. display: flex;
  2066. align-items: center;
  2067. justify-content: center;
  2068. height: 100%;
  2069. }
  2070. // 登录提示
  2071. .login-prompt {
  2072. width: 91.4%;
  2073. height: 40px;
  2074. line-height: 40px;
  2075. border-radius: 50px;
  2076. text-align: left;
  2077. padding-left: 16px;
  2078. padding-right: 4px;
  2079. background-color: rgba(0, 0, 0, 0.6);
  2080. position: fixed;
  2081. bottom: 75px;
  2082. color: #ffffff;
  2083. .button {
  2084. width: 88px;
  2085. height: 32px;
  2086. line-height: 32px;
  2087. border-radius: 50px;
  2088. background-color: rgba(0, 185, 98, 100);
  2089. text-align: center;
  2090. float: right;
  2091. margin-top: 4px;
  2092. }
  2093. }
  2094. .showOss{
  2095. /deep/.u-model,/deep/.u-mode-center-box{
  2096. background-color: transparent;
  2097. }
  2098. }
  2099. </style>