productDetails.vue 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743
  1. <template>
  2. <view>
  3. <ujp-navbar title="自营站充电服务费6折卡"></ujp-navbar>
  4. <view class="header">
  5. <img src="../../assets/img/9-4/productDetails.png" alt="">
  6. </view>
  7. <view class="main">
  8. <view class="infos">
  9. <view class="title">
  10. {{detail.name}}
  11. </view>
  12. <view class="price" style="font-style: italic;" v-if="detail.id">
  13. ¥{{detail.price}}元
  14. </view>
  15. <view class="price" style=" color: #777777;" v-else>
  16. 请选择规格
  17. </view>
  18. <!-- 使用范围 -->
  19. <view class="usable-range">
  20. <view class="item">
  21. <u-icon name="checkmark-circle"></u-icon>
  22. 仅可优惠充电服务费
  23. </view>
  24. <view class="item">
  25. <u-icon name="checkmark-circle"></u-icon>
  26. 新能源车主可用
  27. </view>
  28. <view class="item">
  29. <u-icon name="checkmark-circle"></u-icon>
  30. 仅平台自营站可用
  31. </view>
  32. </view>
  33. </view>
  34. <!-- 规格 -->
  35. <view class="specification" v-if="isPayText==''">
  36. <view class="title">
  37. 规格
  38. </view>
  39. <view class="value" @click="show=true" v-if="detail.id">
  40. 可用{{detail.chargeDegreeLimit}}度(有效期{{setValidity(detail.periodOfValidity)}}) <u-icon name="arrow-right" color="#999" size="28"></u-icon>
  41. </view>
  42. <view class="value" v-else @click="show=true" style=" color: #777777;">
  43. 请选择规格 <u-icon name="arrow-right" color="#999" size="28"></u-icon>
  44. </view>
  45. </view>
  46. <view class="notice2">
  47. <view class="upupupView" v-show="flag==1">
  48. <view class="upupupImg">
  49. <img src="@/assets/img/upupup.svg">
  50. </view>
  51. <p>上划查看更多内容</p>
  52. </view>
  53. </view>
  54. <!-- 适用站点 -->
  55. <view class="applicable-site">
  56. <img src="@/assets/img/9-4/标题装饰左.svg">
  57. 适用站点:平台自营站
  58. <img src="@/assets/img/9-4/标题装饰右.svg">
  59. <view style="font-size: 24rpx;color: rgba(119, 119, 119, 1);font-weight: 400;text-align: start;">
  60. 暂不适用站点:恩施花硒谷华美达安可酒店充电站、恩施青花民族医院充电站
  61. </view>
  62. </view>
  63. <!-- 服务费 -->
  64. <view class="service-charge">
  65. <view class="box">
  66. <view class="discount">
  67. 自营站充电服务费6折
  68. </view>
  69. </view>
  70. <view class="priceMain" >
  71. <view class="price" v-for="(item,i) in cardList"
  72. @click="checkboxChange(item.monthlyRentCard)"
  73. :key="i" >
  74. <view class="item">
  75. <text>{{item.monthlyRentCard.price}}</text>元
  76. </view>
  77. <view class="hint1">
  78. <view class="item2" >
  79. <p>累计{{item.monthlyRentCard.chargeDegreeLimit}}度内可用</p>
  80. <p>有效期{{setValidity(item.monthlyRentCard.periodOfValidity)}}</p>
  81. </view>
  82. </view>
  83. </view>
  84. </view>
  85. </view>
  86. <!-- 价格对比 -->
  87. <view class="price-comparison">
  88. <view class="headline">
  89. <view class="station">
  90. 青少年宫充电站
  91. </view>
  92. <span class="price-comparison1">
  93. 服务费6折卡
  94. </span>
  95. </view>
  96. <!-- 折扣价 -->
  97. <view class="discount-price">
  98. <view class="tag">
  99. 折后服务费
  100. </view>
  101. <view class="price">
  102. <span class="priceNum">0.23</span>
  103. <text>元/度(不含电价)</text>
  104. </view>
  105. </view>
  106. <!-- 原价 -->
  107. <view class="original-cost">
  108. <view class="tag">
  109. 原价服务费
  110. </view>
  111. <view class="price">
  112. <span class="priceNum">0.38</span>元/度(不含电价)
  113. </view>
  114. </view>
  115. </view>
  116. <!-- 提示2 -->
  117. <view class="hint2" v-if="false">
  118. <!-- *预估省钱金额计算不含购卡金额,月充电超出度数上限,可续购本商品。 -->
  119. </view>
  120. <view class="example">
  121. <view class="exampleTitle">*省钱估算</view>
  122. 以青少年宫充电站低谷时段价格为例,服务费为:0.38元/度,使用6折卡后服务费为:0.23元/度,每度优惠0.15元,338度(12.9元6折卡)累计可优惠50.7元,1000度(29.9元6折卡)累计可优惠150元。
  123. <br/>上述估算价格为当时价格,仅供参考,实时价格请前往平台各站点查询。
  124. <br/>预估省钱金额计算不含购卡金额,月充电超出度数上限,可续购本商品。</view>
  125. <u-line color="#F2F2F2" margin="80rpx 0 0 0"></u-line>
  126. </view>
  127. <!-- 自营站 -->
  128. <view class="self-station" v-if="stationslist.length" >
  129. <view class="headline">
  130. <img src="@/assets/img/9-4/标题装饰左.svg">
  131. 查看你所在城市的自营站
  132. <img src="@/assets/img/9-4/标题装饰右.svg">
  133. </view>
  134. <view class="map">
  135. <img src="../../assets/img/map.png" alt="">
  136. <view class="station-detail">
  137. <view class="title">
  138. <view class="title-l">
  139. 你附近<text style="color:#FF6923;">{{' '}}5公里{{' '}} </text>内的充电站
  140. </view>
  141. <view class="title-r" @click="gotoUrl('pages/searchPile/searchPile')" >
  142. 更多<u-icon name="arrow-right" color="#999999"></u-icon>
  143. </view>
  144. </view>
  145. <view class="station-amount">
  146. <view class="item">
  147. <view class="number">
  148. {{stationslist.length}}
  149. </view>
  150. <view class="name">
  151. 平台自营站
  152. </view>
  153. </view>
  154. <view class="item" v-if="false">
  155. <view class="number">
  156. 2
  157. </view>
  158. <view class="name">
  159. 平台自营超充站
  160. </view>
  161. </view>
  162. </view>
  163. </view>
  164. </view>
  165. </view>
  166. <view class="main">
  167. <!-- 相关问题 -->
  168. <view class="related-issues">
  169. <view class="headline">
  170. <img src="@/assets/img/9-4/标题装饰左.svg">
  171. 关于自营站充电服务费6折卡
  172. <img src="@/assets/img/9-4/标题装饰右.svg">
  173. </view>
  174. <view class="item">
  175. <view class="question">
  176. Q:购买服务费6折卡可以在哪些充电站享受优惠?优惠范围是什么?
  177. </view>
  178. <view class="answer">
  179. A:平台自营站均(不适用站除外)可使用,其它充电站点暂不支持。服务费6折卡可享受额度范围内的充电服务费6折;但不包含电费、停车费、占位费等其他费用。
  180. </view>
  181. </view>
  182. <view class="item">
  183. <view class="question">
  184. Q:什么是额度上限和有效期内可用?
  185. </view>
  186. <view class="answer">
  187. A:在产品有效期内,使用服务费6折卡累计抵扣度数达到规定电量额度上限后,<span style="color: #00b962;font-weight: bold;">本单超出充电额度部分仍然以6折优惠计算</span>,后续订单将不再继续享受服务费6折优惠。产品有效期到期后,即使累计使用度数没有达到额度上限,后续订单也不再继续享受服务费6折优惠。
  188. </view>
  189. </view>
  190. <view class="item">
  191. <view class="question">
  192. Q:我有多张不同的充电卡和优惠券,可以和服务费6折卡同时使用吗?
  193. </view>
  194. <view class="answer">
  195. A:同一笔订单中,暂不支持服务费6折卡与其它充电卡(服务费包月会员或其它折扣卡)一起使用;6折卡可以与账户余额或优惠券一起使用。
  196. </view>
  197. </view>
  198. <view class="item">
  199. <view class="question">
  200. Q:服务费6折卡的度数上限和有效期可以累计吗?
  201. </view>
  202. <view class="answer">
  203. A:不可以。当现有服务费6折卡达抵扣上限或剩余有效期为0天时,用户可以续购服务费6折卡。
  204. </view>
  205. </view>
  206. <view class="item">
  207. <view class="question">
  208. Q:启动充电后或结束充电后购买的服务费6折卡,可以使用吗?
  209. </view>
  210. <view class="answer-form">
  211. <view class="title">
  212. 是否可以使用服务费6折卡
  213. </view>
  214. <view class="before">
  215. <view class="b-top">
  216. 启动充电前购买
  217. </view>
  218. <view class="b-bottom">
  219. 本单结算可以使用
  220. </view>
  221. </view>
  222. <view class="later">
  223. <view class="l-top">
  224. 启动充电后购买
  225. </view>
  226. <view class="l-bottom">
  227. 本单不可用,下一单结算可以使用
  228. </view>
  229. </view>
  230. </view>
  231. </view>
  232. </view>
  233. <!-- 产品细则 -->
  234. <view class="product-rules">
  235. <view class="headline">
  236. <img src="@/assets/img/9-4/标题装饰左.svg">
  237. 充电服务费6折卡产品细则
  238. <img src="@/assets/img/9-4/标题装饰右.svg">
  239. </view>
  240. <!-- 产品介绍 -->
  241. <view class="item">
  242. <view class="title">
  243. 产品介绍:
  244. </view>
  245. <view class="content">
  246. <p> - 购卡的用户在平台自营站(不适用站除外)享受有效期内充电服务费6折的权益,该产品不可转赠。
  247. </p>
  248. <p>- 该产品有两种不同规格,单一账户不可重复购买,度数及有效期不可累加。
  249. </p>
  250. <p>- 购买成功后,可在{{projectName}}公众号 - 汽车充电 - 我的中查看。</p>
  251. </view>
  252. </view>
  253. <!-- 服务说明 -->
  254. <view class="item">
  255. <view class="title">
  256. 服务说明:
  257. </view>
  258. <view class="content">
  259. <p>- 购买自营站充电服务费6折卡可享平台自营站(不适用站除外)服务费6折权益,该产品不可转赠。</p>
  260. <p>- 该产品针对充电服务费享受折扣,不包含电费、停车费、占位费等其他费用。</p>
  261. <p>- 自营站充电服务费6折卡购买后即刻生效,启动充电前购买成功支持本单可用,启动充电后完成购买仅下一单可用。</p>
  262. <p>- 338度自营站充电服务费6折卡(限338度,有效期30天)和1000度自营站充电服务费6折卡(限1000度,有效期90天)均为同一种产品,是充电服务费6折卡的两种不同规格。</p>
  263. </view>
  264. </view>
  265. <!-- 适用对象 -->
  266. <view class="item">
  267. <view class="title">
  268. 适用对象:
  269. </view>
  270. <view class="content">
  271. <p>- 新能源车主可购买,购买该卡的手机号所绑定的{{projectName}}为使用该卡的唯一账号。</p>
  272. <p>- 该产品建议符合以下场景购买:①未拥有“充电服务费折扣卡”的车主;②已购买“充电服务费折扣卡”且该卡已过期的车主。</p>
  273. </view>
  274. </view>
  275. <!-- 适用充电站 -->
  276. <view class="item">
  277. <view class="title">
  278. 适用充电站:
  279. </view>
  280. <view class="content">
  281. <p>- 自营站充电服务费6折卡,平台车主可在平台自营站(不适用站除外)使用,其他充电站点不支持使用。</p>
  282. </view>
  283. </view>
  284. <!-- 叠加规则 -->
  285. <view class="item">
  286. <view class="title">
  287. 叠加规则:
  288. </view>
  289. <view class="content">
  290. <p>- 该卡与其他折扣类电卡(如:服务费包月会员等)针对同一订单不可叠加使用。</p>
  291. <p>- 该卡与账户余额和优惠券可叠加使用</p>
  292. </view>
  293. </view>
  294. <!-- 开票说明 -->
  295. <view class="item">
  296. <view class="title">
  297. 开票说明:
  298. </view>
  299. <view class="content">
  300. <p>- 如需开具发票,请前往{{projectName}}公众号 - 汽车充电 - 我的 - 我的发票中申请。</p>
  301. </view>
  302. </view>
  303. </view>
  304. </view>
  305. <!-- 拒绝交易说明 -->
  306. <view class="explain">
  307. <view class="headline">
  308. 自营站充电服务费6折卡拒绝交易说明
  309. </view>
  310. <view class="title">
  311. 购卡人/持卡人存在以下情形的,{{projectName}}有权拒绝交易、暂停或终止对购卡人/持卡人的服务,所有损失应由购卡人/持卡人自行承担:
  312. </view>
  313. <view class="answer">
  314. <p> 1、发卡人、售卡企业根据国家适用法律、法规核实购卡人/持卡人身份及自营站充电服务费6折卡交易信息等情况,遭拒绝的;</p>
  315. <p> 2、冒用他人身份或使用伪造、变造身份证明文件购买或使用自营站充电服务费6折卡的;</p>
  316. <p>3、在发卡人公布的售卡或充值渠道之外购买自营站充电服务费6折卡的;</p>
  317. <p>4、在购买或使用自营站充电服务费6折卡时存在欺诈行为;</p>
  318. <p>5、违反本章程购买或使用自营站充电服务费6折卡;</p>
  319. <p>6、使用伪造、变造的自营站充电服务费6折卡;或有其他损害发卡人、售卡企业或其他购卡人/持卡人的合法权益的情形。</p>
  320. </view>
  321. </view>
  322. <!-- 政策变更说明 -->
  323. <view class="explain">
  324. <view class="headline">
  325. 自营站充电服务费6折卡政策变更说明
  326. </view>
  327. <view class="answer">
  328. 如本自营充电服务费6折卡方案发生任何变更、调整、终止的,{{projectName}}有权提前进行公示,届时请以{{projectName}}更新并发布的最新版本为准。
  329. </view>
  330. </view>
  331. <!-- 价格说明 -->
  332. <view class="price-explain">
  333. <view class="title">
  334. <view class="title-l">
  335. 价格说明
  336. </view>
  337. <view class="title-r" v-if="false">
  338. 收起<u-icon name="arrow-up" color="#999999"></u-icon>
  339. </view>
  340. </view>
  341. <view class="explain-item">
  342. <view class="item-title">
  343. 划线价格
  344. </view>
  345. <view class="item-value">
  346. 划线的价格是商品的专柜价、吊牌价、正品零售价、指导价.曾经展示过的销售价等,仅供你参考。
  347. </view>
  348. </view>
  349. <view class="explain-item">
  350. <view class="item-title">
  351. 未划线价格
  352. </view>
  353. <view class="item-value">
  354. 未划线的价格是商品的销售标价,具体的成交价格因使用优惠券、积分等发生变化,最终以订单结算价格为准。
  355. </view>
  356. </view>
  357. <p>此说明仅当出现价格比较时有效。若这件商品针对划线价格进行了特殊说明,以特殊说明为准。</p>
  358. </view>
  359. <!-- 底部 -->
  360. <view class="bottom">
  361. <view class="option" @click="openModal">
  362. <view class="icon">
  363. <u-icon name="server-fill" size="40"></u-icon>
  364. </view>
  365. <view class="text">
  366. 联系客服
  367. </view>
  368. </view>
  369. <view class="option" @click="gotoUrl('pages/discountCard/myOrder')">
  370. <view class="icon">
  371. <u-icon name="order" size="40"></u-icon>
  372. </view>
  373. <view class="text">
  374. 我的订单
  375. </view>
  376. </view>
  377. <view class="button" v-if="isPayText==''"
  378. @click="show = true" >
  379. 立即购买
  380. </view>
  381. <view class="button isPayText" v-else
  382. @click="isPayTextBtn" >
  383. {{isPayText}}
  384. </view>
  385. </view>
  386. <!-- 弹出层 -->
  387. <view >
  388. <u-popup v-model="show" mode="bottom" :closeable='true'>
  389. <view class="popup">
  390. <!-- 商品信息 -->
  391. <view class="class-infos">
  392. <view class="picture">
  393. <img :src="detail.image" alt="">
  394. </view>
  395. <view class="infos">
  396. <view class="class-name">
  397. {{detail.name}}
  398. </view>
  399. <view class="price">
  400. {{detail.price}}元
  401. </view>
  402. <view class="price-detail" v-if="detail.id" >
  403. <!-- 已选:可用338度(有效期30天) -->
  404. 已选:可用{{detail.chargeDegreeLimit}}度(有效期{{setValidity(detail.periodOfValidity)}})
  405. </view>
  406. <view class="price-detail" v-else style=" color: rgb(119, 119, 119);" >
  407. <!-- 已选:可用338度(有效期30天) -->
  408. 请选择规格
  409. </view>
  410. </view>
  411. </view>
  412. <!-- 规格 -->
  413. <view class="specification">
  414. <view class="title">
  415. 规格
  416. </view>
  417. <view class="specification-options">
  418. <view v-for="(item,i) in cardList" :key="i"
  419. @click="checkboxChange(item.monthlyRentCard)"
  420. :class="{
  421. 'item-checked':cardId==item.monthlyRentCard.id
  422. }"
  423. class="options-item ">
  424. 可用{{item.monthlyRentCard.chargeDegreeLimit}}度(有效期{{setValidity(item.monthlyRentCard.periodOfValidity)}})
  425. </view>
  426. </view>
  427. </view>
  428. <!-- 数量 -->
  429. <view class="amount" v-if="false">
  430. <view class="title">
  431. 数量(单笔订单限购1件)
  432. </view>
  433. <u-number-box v-model="value" max="1"></u-number-box>
  434. </view>
  435. </view>
  436. <view class="bottom" style="box-shadow: none;">
  437. <view class="option" @click="openModal">
  438. <view class="icon">
  439. <u-icon name="server-fill" size="40"></u-icon>
  440. </view>
  441. <view class="text">
  442. 联系客服
  443. </view>
  444. </view>
  445. <view class="option" @click="gotoUrl('pages/discountCard/myOrder')">
  446. <view class="icon">
  447. <u-icon name="order" size="40"></u-icon>
  448. </view>
  449. <view class="text">
  450. 我的订单
  451. </view>
  452. </view>
  453. <view class="button" @click="openPayModel">
  454. 立即购买
  455. </view>
  456. </view>
  457. </u-popup>
  458. </view>
  459. <u-action-sheet :list="list" @click="click" v-model="showPay"></u-action-sheet>
  460. <u-modal v-model="showModel" :show-cancel-button="true" @cancel="getUserInfo()" @confirm="confirm"
  461. confirm-text="支付成功?" title="扫码支付">
  462. <view style="
  463. text-align: center;
  464. ">
  465. <img id="qrcode2" :src="qrCodeImg">
  466. </view>
  467. <view style="
  468. text-align: center;
  469. ">请使用支付宝扫码</view>
  470. </u-modal>
  471. <u-modal v-model="show1" @confirm="gotoGz" cancel-text="暂不关注" confirm-text="前往关注" confirm-color="#53b56b"
  472. :show-cancel-button="true" ref="uModal2" :asyncClose="true">
  473. <view style="padding: 15px;">请先关注<span style=" color: #53b56b;">{{projectName}}</span>公众号,购买折扣卡</view>
  474. </u-modal>
  475. <u-modal v-model="show3" @confirm="confirmPhone" confirm-text="拨打电话" confirm-color="#606266"
  476. :show-cancel-button="true" ref="uModal" :asyncClose="true" title="客服电话" :content="consumerPhone"
  477. :content-style="{fontSize: '24px',color: '#101010'}"></u-modal>
  478. <u-modal v-model="infoSet1" @confirm="infoSet1=false,gotoUrl('pages/user/dataSet')" cancel-text="取消"
  479. confirm-text="完善个人信息" confirm-color="#53b56b" :show-cancel-button="true" ref="uModal2" :asyncClose="true">
  480. <view style="padding: 15px;">购买折扣卡需要完善以下2点<br />
  481. 1.填写真实姓名<br />
  482. 2.填写车牌号<br />
  483. </view>
  484. </u-modal>
  485. <img id="qrcode" style="display: none;">
  486. </view>
  487. </template>
  488. <script>
  489. import * as API_weixin from '@/apis/weixin.js'
  490. import * as Pay from '@/apis/weixin.js'
  491. import * as API from '@/apis/card.js'
  492. import * as loginApi from '@/apis/login.js'
  493. import * as api from '@/apis/site.js';
  494. import * as WxJsApi from '@/utils/wxJsApi.js'
  495. import QRCode from 'qrcodejs2'
  496. import {
  497. newDate,
  498. convertCanvasToImage,
  499. } from '@/utils'
  500. import {
  501. wxPayJs
  502. } from '@/utils/wxpay'
  503. export default {
  504. data() {
  505. return {
  506. stationslist:[],
  507. checked: "false",
  508. cardId: '',
  509. qrCodeImg: "",
  510. showModel: false,
  511. show:false,//选择规格
  512. showPay:false,//支付方式
  513. value: 1,
  514. cardList: [],
  515. projectName: "",
  516. list: [{
  517. text: '微信',
  518. }, {
  519. text: '支付宝'
  520. }],
  521. submitForm: {},
  522. ykgz: '',
  523. detail: {},
  524. ispay: false,
  525. show3: false,
  526. show2: true,
  527. show1: false,
  528. infoSet: true,
  529. infoSet1: false,
  530. userCard: null,
  531. isReady: false,
  532. userInfo: {},
  533. elderStatus: false,
  534. consumerPhone: "400-8899-619",
  535. longitude: '',
  536. latitude: '',
  537. scrollLeftSet: 0,
  538. scrollLeftOldSet: 0,
  539. scrollLeftSetBl: false,
  540. flag: 0, //0 初始化, 1 ,开始判断, 2已经滑动
  541. startTime:null,
  542. }
  543. },
  544. onReady() {
  545. var consumerPhone = "400-8899-619"
  546. // img="https://yktwechat.xiaoxinda.com/config/xxd2021.jpg"
  547. if (consumerPhone) {
  548. this.consumerPhone = consumerPhone
  549. }
  550. //this.ykgz = this.carhelp.getConfig().ykgz
  551. var userCard = this.carhelp.getPersonInfoPlus().userCard
  552. if(userCard&&userCard.classify==2){
  553. this.userCard=userCard
  554. this.ispay = this.userCardBool(this.userCard)
  555. }
  556. //this.checkSubscribe()
  557. this.getCardList();
  558. WxJsApi.getLocation().then((res) => {
  559. this.latitude = parseFloat(res.latitude);
  560. this.longitude = parseFloat(res.longitude);
  561. this.searchStationData();
  562. }).catch(error => {
  563. uni.showToast({
  564. title:JSON.stringify(error)
  565. })
  566. })
  567. },
  568. onShow() {
  569. //this.checkSubscribe();
  570. },
  571. computed: {
  572. isPayText(){
  573. var memberLevel=1
  574. if(this.userInfo.memberLevel){
  575. memberLevel=this.userInfo.memberLevel
  576. }
  577. var text=""
  578. if(this.cardList.length==0){
  579. text="未上架"
  580. }else if(this.ispay&&this.startTime&&this.startTime>0){
  581. text=this.detail.startBuyTime.substring(0,10)+"上架"
  582. }else if(this.ispay&&this.userCard.classify=="1"){
  583. text="已购买其他卡"
  584. }else if(this.userInfo.userType=='1'){
  585. text="游客无法购买"
  586. }else if(!this.isReady){
  587. text="加载中"
  588. }else if(this.ispay){
  589. text=this.userCard.endTime.substring(0,10)+"到期"
  590. }else if(!this.show2){
  591. text="关注公众号"
  592. }else if(!this.infoSet){
  593. text="完善个人信息"
  594. }
  595. return text
  596. },
  597. endCardBool() {
  598. if (!this.cardList.length) {
  599. return false;
  600. }
  601. var date = new Date().getTime()
  602. if (!this.detail.endTime) {
  603. return true;
  604. }
  605. var date2 = newDate(this.detail.endTime).getTime();
  606. if (date < date2) {
  607. return true;
  608. } else {
  609. return false;
  610. }
  611. }
  612. },
  613. onPageScroll(e) {
  614. if (this.flag == 1) {
  615. if (e.scrollTop >= 50) {
  616. this.flag = 2;
  617. } else {
  618. }
  619. }
  620. },
  621. methods: {
  622. openPayModel(){
  623. if (!this.cardId) {
  624. uni.showToast({
  625. title:"请选择产品规格"
  626. })
  627. return
  628. }
  629. this.showPay=true;
  630. },
  631. openModal() {
  632. //this.show3 = true;
  633. uni.navigateTo({
  634. url:"/pages/service/service"
  635. })
  636. },
  637. searchStationData(obj) {
  638. let data1 = {
  639. latitude: this.latitude,
  640. longitude: this.longitude,
  641. findType: "1",
  642. platformType:'1',
  643. radius: 5,
  644. pageIndex: 1,
  645. pageSize: 999
  646. };
  647. uni.showLoading({})
  648. if (this.carhelp.getPersonInfo()) {
  649. data1.openId = this.carhelp.getOpenId()
  650. }
  651. api.getChargingStationData(data1).then(res => {
  652. uni.hideLoading()
  653. var stationslist=res.data.data
  654. this.stationslist = stationslist;
  655. }).catch(error => {
  656. uni.showToast({
  657. title: error,
  658. icon: "none"
  659. })
  660. })
  661. },
  662. isPayTextBtn(){
  663. if(this.isPayText=='关注公众号'){
  664. this.gotoGz()
  665. }else if(this.isPayText=='完善个人信息'){
  666. uni.navigateTo({
  667. url:"/pages/user/dataSet"
  668. })
  669. }
  670. },
  671. confirmPhone() {
  672. this.show = false;
  673. uni.makePhoneCall({
  674. phoneNumber: this.consumerPhone //仅为示例
  675. });
  676. },
  677. checkboxChange(monthlyRentCard) {
  678. this.detail = monthlyRentCard;
  679. this.cardId = monthlyRentCard.id
  680. uni.showToast({
  681. title: "已选中 "+this.detail.price+"元,可用"+this.detail.chargeDegreeLimit+"度"
  682. })
  683. // monthlyRentCard.checked = true
  684. // for (var i in this.cardList) {
  685. // var obj = this.cardList[i].monthlyRentCard;
  686. // if (this.cardId == obj.id) {
  687. // } else {
  688. // obj.checked = false
  689. // }
  690. // }
  691. },
  692. gotoGz() {
  693. //this.carhelp.setGzDate()
  694. var url = process.car.gzUrl;
  695. window.location.href = url
  696. },
  697. checkSubscribe() {
  698. uni.showLoading({
  699. title: "加载中",
  700. mask: true,
  701. })
  702. API_weixin.checkSubscribe({
  703. openId: this.carhelp.getOpenId()
  704. }).then((res) => {
  705. uni.hideLoading()
  706. if (res.data == "0") {
  707. this.show1 = true
  708. } else {
  709. this.getUserInfo();
  710. //this.getCardList();
  711. this.show2 = true;
  712. //this.carhelp.setGzDate()
  713. }
  714. //setGzDate
  715. }).catch(error => {
  716. uni.showToast({
  717. title: error
  718. })
  719. })
  720. },
  721. userCardBool(userCard) {
  722. if(this.startTime&&this.startTime>0){
  723. console.log(this.startTime)
  724. return true
  725. }
  726. if (userCard) {
  727. var date = new Date().getTime()
  728. var date2 = newDate(userCard.endTime).getTime();
  729. if (date < date2) {
  730. return true;
  731. }
  732. }
  733. return false
  734. },
  735. getCardList() {
  736. uni.showLoading({
  737. title: "加载中",
  738. mask: true,
  739. })
  740. API.cardList({
  741. type:2
  742. }).then((response) => {
  743. uni.hideLoading()
  744. this.cardList = response.data.cardList;
  745. if (this.cardList.length) {
  746. this.detail = {
  747. ...this.cardList[0].monthlyRentCard
  748. }
  749. this.detail.id=null
  750. // this.cardId = this.detail.id;
  751. // this.cardList[0].monthlyRentCard.checked = true
  752. if(this.detail.startBuyTime){
  753. this.startTime=(newDate(this.detail.startBuyTime).getTime()-new Date().getTime())
  754. }
  755. }
  756. this.getUserInfo()
  757. this.isReady = true;
  758. //cardId: this.cardId
  759. }).catch(error => {
  760. uni.showToast({
  761. title: error
  762. })
  763. })
  764. },
  765. getUserInfo() {
  766. uni.showLoading({
  767. title: "加载中",
  768. mask: true,
  769. })
  770. loginApi.findByOpenId({
  771. openId: this.carhelp.getOpenId(),
  772. noerror: true
  773. }).then((res) => {
  774. if (res.code == 200 && res.result) {
  775. if (res.data.regUser) {
  776. var userInfo = res.data.regUser
  777. this.userInfo = userInfo;
  778. // if (userInfo.userType == "1") {
  779. // } else if (userInfo.carId && userInfo.realName) {
  780. // this.infoSet = true;
  781. // } else {
  782. // this.infoSet = false;
  783. // if (this.endCardBool) {
  784. // this.infoSet1 = true;
  785. // }
  786. // }
  787. var userCard = res.data.userCard;
  788. this.userCard = userCard
  789. this.ispay = this.userCardBool(userCard)
  790. } else {
  791. }
  792. if (this.flag == 0) {
  793. this.flag = 1;
  794. setTimeout(() => {
  795. this.flag = 2;
  796. }, 5000)
  797. }
  798. }
  799. uni.hideLoading();
  800. }).catch(error => {
  801. uni.showToast({
  802. title: error,
  803. icon: "none"
  804. })
  805. })
  806. },
  807. submit(type) {
  808. if (!this.endCardBool) {
  809. return
  810. }
  811. uni.showLoading({
  812. title: "加载中",
  813. mask: true,
  814. })
  815. API.openCard({
  816. cardId: this.cardId
  817. }).then((response) => {
  818. this.submitForm.id = response.data.orderInfoId
  819. if (type == 0) {
  820. this.wxpy()
  821. }
  822. if (type == 1) {
  823. this.alpy()
  824. }
  825. }).catch(error => {
  826. uni.showToast({
  827. title: error
  828. })
  829. })
  830. },
  831. alpy() {
  832. uni.showLoading({
  833. title: "加载中",
  834. mask: true,
  835. })
  836. var listcanvas = document.getElementsByTagName('canvas')
  837. if (listcanvas.length > 0) {
  838. document.getElementById("qrcode").removeChild(document.getElementsByTagName('canvas')[0]);
  839. }
  840. Pay.alpay(this.submitForm).then((response) => {
  841. let qrcode = new QRCode('qrcode', {
  842. width: 200,
  843. height: 200,
  844. text: response.data.qr_code,
  845. correctLevel: QRCode.CorrectLevel.M,
  846. })
  847. this.outOrderNo = response.data.outOrderNo;
  848. var canvas = document.getElementsByTagName('canvas')[0];
  849. this.qrCodeImg = convertCanvasToImage(canvas);
  850. uni.hideLoading()
  851. this.showModel = true
  852. }).catch(error => {
  853. uni.showToast({
  854. title: error
  855. })
  856. })
  857. },
  858. wxpy() {
  859. Pay.wxpay(this.submitForm).then((response) => {
  860. if (!response.result) {
  861. uni.showToast({
  862. title: response.message
  863. })
  864. return
  865. }
  866. var data = response.data
  867. uni.hideLoading()
  868. //("Pay+"+new Date().getTime())
  869. wxPayJs(data);
  870. }).catch(error => {
  871. uni.showToast({
  872. title: error
  873. })
  874. })
  875. },
  876. confirm() {
  877. this.getUserInfo();
  878. uni.redirectTo({
  879. url: "/pages/discountCard/paymentSuccess?id=" + this.outOrderNo
  880. })
  881. },
  882. click(index) {
  883. console.log(`点击了第${index + 1}项,内容为:${this.list[index].text}`)
  884. this.submit(index);
  885. }
  886. }
  887. }
  888. </script>
  889. <style>
  890. page {
  891. background-color: #fff;
  892. padding-bottom: 200px;
  893. }
  894. </style>
  895. <style>
  896. @keyframes movepoint {
  897. 25% {
  898. top: 10px;
  899. }
  900. 100% {
  901. top: 15px;
  902. }
  903. }
  904. .upupupImg {
  905. height: 80px;
  906. }
  907. .upupupView {
  908. text-align: center;
  909. font-size: 12px;
  910. padding: 30rpx;
  911. border-radius: 12px;
  912. position: absolute;
  913. background: rgb(0 0 0 / 70%);
  914. top: 50%;
  915. transform: translate(-50%);
  916. left: 50%;
  917. color: #fff;
  918. z-index: 999;
  919. }
  920. .upupupView img {
  921. top: 15px;
  922. position: relative;
  923. width: 60px;
  924. z-index: 999;
  925. animation: movepoint 2s infinite;
  926. -webkit-animation: movepoint 2s infinite;
  927. }
  928. </style>
  929. <style lang="scss" scoped>
  930. .header {
  931. width: 100%;
  932. height: 200px;
  933. img{
  934. width: 100%;
  935. height: 100%;
  936. }
  937. // background: linear-gradient(30deg, rgba(59, 182, 254, 1) 13.4%, rgba(0, 185, 98, 1) 85.87%);
  938. // position: relative;
  939. // padding: 48rpx;
  940. .cover {
  941. width: 160rpx;
  942. height: 330rpx;
  943. position: absolute;
  944. right: 32rpx;
  945. bottom: 0;
  946. img {
  947. width: 100%;
  948. height: 100%;
  949. }
  950. }
  951. .text1 {
  952. color: rgba(255, 255, 255, 1);
  953. font-size: 64rpx;
  954. font-family: 'YouSheBiaoTiHei';
  955. }
  956. .tag {
  957. display: flex;
  958. align-items: center;
  959. color: #fff;
  960. margin-bottom: 16rpx;
  961. .icon {
  962. margin-right: 8rpx;
  963. }
  964. }
  965. .usable-range {
  966. margin-top: 30rpx;
  967. color: rgba(49, 36, 102, 1);
  968. font-size: 24rpx;
  969. }
  970. }
  971. .main {
  972. padding: 24rpx 40rpx 0rpx 40rpx;
  973. .infos {
  974. color: rgba(51, 51, 51, 1);
  975. font-size: 40rpx;
  976. .title,
  977. .price {
  978. font-weight: bold;
  979. }
  980. .price {
  981. margin: 16rpx 0 32rpx;
  982. font-size: 40rpx;
  983. }
  984. }
  985. // 使用范围
  986. .usable-range {
  987. background-color: rgba(246, 246, 246, 1);
  988. padding: 16rpx 24rpx 24rpx;
  989. font-size: 24rpx;
  990. display: flex;
  991. flex-wrap: wrap;
  992. border-radius: 4px;
  993. .item {
  994. width: 50%;
  995. margin-top: 8rpx;
  996. color: rgba(51, 51, 51, 1);
  997. ::v-deep.u-icon--right {
  998. margin-right: 4rpx;
  999. }
  1000. }
  1001. }
  1002. // 规格
  1003. .specification {
  1004. display: flex;
  1005. justify-content: space-between;
  1006. align-items: center;
  1007. margin-top: 48rpx;
  1008. .title {
  1009. color: rgba(119, 119, 119, 1);
  1010. font-size: 32rpx;
  1011. }
  1012. .value {
  1013. color: rgba(16, 16, 16, 1);
  1014. font-size: 32rpx;
  1015. ::v-deep.uicon-arrow-right {
  1016. margin-left: 8rpx;
  1017. }
  1018. }
  1019. }
  1020. // 适用站点
  1021. .applicable-site {
  1022. text-align: center;
  1023. margin: 80rpx 0;
  1024. color: #333333 ;
  1025. font-weight: bold;
  1026. font-size: 36rpx;
  1027. img{
  1028. width: 48rpx;
  1029. height: 24rpx;
  1030. margin: 0 16rpx;
  1031. }
  1032. }
  1033. // 服务费
  1034. .service-charge {
  1035. border-radius: 12px;
  1036. border: 1px solid rgba(0, 185, 98, 1);
  1037. padding: 80rpx 40rpx 56rpx;
  1038. position: relative;
  1039. .box {
  1040. width: 400rpx;
  1041. // height: 64rpx;
  1042. position: absolute;
  1043. top: -32rpx;
  1044. right: 0;
  1045. left: 0;
  1046. margin: 0 auto;
  1047. .discount {
  1048. margin: 0 auto;
  1049. height: 32px;
  1050. line-height: 32px;
  1051. background-color: rgba(0, 185, 98, 1);
  1052. text-align: center;
  1053. box-shadow: 0px 0px 0px 16px rgba(255, 255, 255, 1);
  1054. color: #fff;
  1055. font-size: 32rpx;
  1056. font-weight: bold;
  1057. }
  1058. }
  1059. .priceMain{
  1060. display: flex;
  1061. flex-wrap: wrap;
  1062. justify-content: space-between;
  1063. }
  1064. .price {
  1065. display: flex;
  1066. justify-content: space-between;
  1067. flex-direction: column;
  1068. margin-top: 20rpx;
  1069. .item {
  1070. width: 272rpx;
  1071. height: 128rpx;
  1072. line-height: 128rpx;
  1073. border-radius: 8px;
  1074. background: linear-gradient(180deg, rgba(77, 196, 140, 1) 0%, rgba(122, 212, 170, 1) 24%, rgba(255, 255, 255, 1) 81%);
  1075. text-align: center;
  1076. border: 1px solid rgba(77, 196, 140, 1);
  1077. color: rgba(16, 16, 16, 1);
  1078. z-index: 699;
  1079. text {
  1080. font-size: 64rpx;
  1081. }
  1082. }
  1083. }
  1084. .hint1 {
  1085. display: flex;
  1086. justify-content: space-between;
  1087. text-align: center;
  1088. margin-top: 20rpx;
  1089. color: rgba(51, 51, 51, 1);
  1090. font-size: 24rpx;
  1091. justify-content: center;
  1092. .item {
  1093. width: 272rpx;
  1094. }
  1095. }
  1096. }
  1097. // 价格对比
  1098. .price-comparison {
  1099. padding: 24rpx;
  1100. box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
  1101. margin-top: 48rpx;
  1102. .price-comparison1{
  1103. border-radius: 0px 8px 0px 12px;
  1104. background-color: rgba(0, 185, 98, 1);
  1105. padding :8rpx 18rpx;
  1106. line-height: 40rpx;
  1107. font-size: 24rpx;
  1108. color:#fff;
  1109. position: relative;
  1110. top: -26rpx;
  1111. left: 24rpx;
  1112. }
  1113. .headline {
  1114. display: flex;
  1115. align-items: center;
  1116. font-weight: bold;
  1117. font-size: 36rpx;
  1118. justify-content: space-between;
  1119. .station {
  1120. color: rgba(16, 16, 16, 1);
  1121. }
  1122. .time {
  1123. color: #999999;
  1124. }
  1125. img{
  1126. width: 20px;
  1127. height: 10px;
  1128. margin: 0 6px;
  1129. }
  1130. }
  1131. // 折扣价
  1132. .discount-price {
  1133. display: flex;
  1134. align-items: center;
  1135. margin-top: 24rpx;
  1136. .tag {
  1137. width: 176rpx;
  1138. height: 48rpx;
  1139. line-height: 48rpx;
  1140. background-color: rgba(214, 251, 234, 1);
  1141. color: rgba(0, 185, 98, 1);
  1142. font-size: 24rpx;
  1143. text-align: center;
  1144. }
  1145. .price {
  1146. color: rgba(0, 0, 0, 1);
  1147. font-size: 44rpx;
  1148. margin-left: 16rpx;
  1149. .priceNum {
  1150. font-weight: bold;
  1151. }
  1152. text {
  1153. color: rgba(153, 153, 153, 1);
  1154. font-size: 28rpx;
  1155. margin-left: 8rpx;
  1156. }
  1157. }
  1158. }
  1159. // 原价
  1160. .original-cost {
  1161. display: flex;
  1162. align-items: center;
  1163. margin-top: 16rpx;
  1164. .tag {
  1165. width: 176rpx;
  1166. height: 48rpx;
  1167. line-height: 48rpx;
  1168. background-color: rgba(242, 242, 242, 1);
  1169. color: rgba(153, 153, 153, 1);
  1170. font-size: 24rpx;
  1171. text-align: center;
  1172. text-decoration: line-through;
  1173. }
  1174. .price {
  1175. color: rgba(153, 153, 153, 1);
  1176. font-size: 28rpx;
  1177. margin-left: 16rpx;
  1178. text-decoration: line-through;
  1179. .priceNum{
  1180. font-weight: bold;
  1181. margin-right: 4rpx;
  1182. }
  1183. }
  1184. }
  1185. }
  1186. .example {
  1187. margin-top: 20rpx;
  1188. .exampleTitle{
  1189. color: rgba(0, 185, 98, 1);
  1190. font-size: 24rpx;
  1191. font-weight: bold;
  1192. margin-bottom: 10rpx;
  1193. }
  1194. color: rgba(119, 119, 119, 1);
  1195. font-size: 24rpx;
  1196. }
  1197. .hint2 {
  1198. color: rgba(153, 153, 153, 1);
  1199. font-size: 24rpx;
  1200. line-height: 34rpx;
  1201. margin-top: 32rpx;
  1202. }
  1203. // 相关问题
  1204. .related-issues {
  1205. .headline {
  1206. color: rgba(16, 16, 16, 1);
  1207. font-size: 44rpx;
  1208. font-family: 'YouSheBiaoTiHei';
  1209. text-align: center;
  1210. img{
  1211. width: 20px;
  1212. height: 10px;
  1213. margin: 0 6px;
  1214. }
  1215. }
  1216. .question {
  1217. color: rgba(51, 51, 51, 1);
  1218. line-height: 40rpx;
  1219. font-weight: bold;
  1220. margin-top: 32rpx;
  1221. }
  1222. .answer {
  1223. color: #333333;
  1224. margin-top: 16rpx;
  1225. line-height: 40rpx;
  1226. }
  1227. .answer-form {
  1228. display: flex;
  1229. border: 1px solid #cccccc;
  1230. height: 150rpx;
  1231. font-size: 22rpx;
  1232. margin-top: 16rpx;
  1233. .title {
  1234. //padding: 0 16rpx;
  1235. text-align: center;
  1236. display: flex;
  1237. justify-content: center;
  1238. align-items: center;
  1239. color: #333333;
  1240. line-height: 40rpx;
  1241. }
  1242. .before,
  1243. .later {
  1244. min-width: 234rpx;
  1245. .b-top,
  1246. .l-top {
  1247. color: #333333;
  1248. height: 56rpx;
  1249. line-height: 56rpx;
  1250. text-align: center;
  1251. display: flex;
  1252. justify-content: center;
  1253. align-items: center;
  1254. padding: 0 16rpx;
  1255. }
  1256. .b-top {
  1257. border: 1px solid #cccccc;
  1258. border-top: none;
  1259. }
  1260. .l-top {
  1261. border-bottom: 1px solid #cccccc;
  1262. }
  1263. .b-bottom,
  1264. .l-bottom {
  1265. height: 94rpx;
  1266. color: #777777;
  1267. text-align: center;
  1268. display: flex;
  1269. justify-content: center;
  1270. align-items: center;
  1271. }
  1272. .b-bottom {
  1273. border-left: 1px solid #cccccc;
  1274. border-right: 1px solid #cccccc;
  1275. }
  1276. .l-bottom {
  1277. line-height: 44rpx;
  1278. }
  1279. }
  1280. }
  1281. }
  1282. // 产品细则
  1283. .product-rules {
  1284. margin-top: 80rpx;
  1285. .headline {
  1286. color: rgba(16, 16, 16, 1);
  1287. font-size: 44rpx;
  1288. font-family: 'YouSheBiaoTiHei';
  1289. text-align: center;
  1290. img{
  1291. width: 20px;
  1292. height: 10px;
  1293. margin: 0 6px;
  1294. }
  1295. }
  1296. .item {
  1297. .title {
  1298. color: #111111;
  1299. font-weight: bold;
  1300. margin-bottom: 16rpx;
  1301. margin-top: 32rpx;
  1302. }
  1303. .content {
  1304. color: #333333;
  1305. p {
  1306. margin-bottom: 24rpx;
  1307. line-height: 40rpx;
  1308. font-size: 24rpx
  1309. }
  1310. }
  1311. }
  1312. }
  1313. }
  1314. // 自营站
  1315. .self-station{
  1316. margin-top: 48rpx;
  1317. .headline{
  1318. color: rgba(16, 16, 16, 1);
  1319. font-size: 44rpx;
  1320. font-family: 'YouSheBiaoTiHei';
  1321. text-align: center;
  1322. img{
  1323. width: 20px;
  1324. height: 10px;
  1325. margin: 0 6px;
  1326. }
  1327. }
  1328. .map{
  1329. margin-top: 32rpx;
  1330. position: relative;
  1331. img{
  1332. width: 100%;
  1333. height: 100%;
  1334. }
  1335. .station-detail{
  1336. padding: 60rpx;
  1337. border-radius: 8px;
  1338. background-color: rgba(255, 255, 255, 1);
  1339. position: absolute;
  1340. bottom:40rpx;
  1341. left: 40rpx;
  1342. right: 40rpx;
  1343. .title{
  1344. display: flex;
  1345. align-items: center;
  1346. justify-content: space-between;
  1347. }
  1348. .station-amount{
  1349. display: flex;
  1350. justify-content: center;
  1351. align-items: center;
  1352. text-align: center;
  1353. margin-top: 40rpx;
  1354. .number{
  1355. color: rgba(16, 16, 16, 1);
  1356. font-size: 64rpx;
  1357. }
  1358. .name{
  1359. color: rgba(153, 153, 153, 1);
  1360. margin-top: 8rpx;
  1361. }
  1362. }
  1363. }
  1364. }
  1365. }
  1366. // 拒绝交易说明
  1367. .explain{
  1368. padding:0 30rpx;
  1369. margin-top: 80rpx;
  1370. line-height: 48rpx;
  1371. .headline{
  1372. color: rgba(16, 16, 16, 1);
  1373. font-size: 44rpx;
  1374. font-family: 'YouSheBiaoTiHei';
  1375. text-align: center;
  1376. margin-bottom: 32rpx;
  1377. img{
  1378. width: 20px;
  1379. height: 10px;
  1380. margin: 0 6px;
  1381. }
  1382. }
  1383. .title{
  1384. color: #111111;
  1385. font-weight: bold;
  1386. padding: 0 10rpx;
  1387. }
  1388. .answer{
  1389. color: #333333;
  1390. padding: 0 10rpx;
  1391. margin-top: 16rpx;
  1392. }
  1393. }
  1394. // 价格说明
  1395. .price-explain{
  1396. padding: 0 40rpx;
  1397. margin-top: 80rpx;
  1398. color: rgba(153, 153, 153, 1);
  1399. font-size: 24rpx;
  1400. line-height: 34rpx;
  1401. .title{
  1402. display: flex;
  1403. align-items: center;
  1404. justify-content: space-between;
  1405. margin-bottom: 32rpx;
  1406. ::v-deep.uicon-arrow-up{
  1407. margin-left: 8rpx;
  1408. }
  1409. .title-l{
  1410. color: rgba(51, 51, 51, 1);
  1411. }
  1412. .title-r{
  1413. color: rgba(119, 119, 119, 1);
  1414. }
  1415. }
  1416. .explain-item{
  1417. margin-bottom: 40rpx;
  1418. .item-title{
  1419. margin-bottom: 16rpx;
  1420. }
  1421. }
  1422. }
  1423. // 底部
  1424. .bottom{
  1425. padding: 30rpx 40rpx;
  1426. background-color: rgba(255, 255, 255, 1);
  1427. box-shadow: 0px -6px 6px 0px rgba(0, 0, 0, 0.05);
  1428. position: fixed;
  1429. bottom: 0;
  1430. left: 0;
  1431. right: 0;
  1432. display: flex;
  1433. align-items: center;
  1434. z-index: 999;
  1435. justify-content: space-between;
  1436. .option{
  1437. color:#101010;
  1438. // margin-right: 32rpx;
  1439. .icon{
  1440. text-align: center;
  1441. }
  1442. .text{
  1443. font-size: 24rpx;
  1444. margin-top: 8rpx;
  1445. }
  1446. }
  1447. .button{
  1448. width: 400rpx;
  1449. height: 96rpx;
  1450. line-height: 96rpx;
  1451. border-radius: 50px;
  1452. background: #00b962;
  1453. color: rgba(255, 255, 255, 1);
  1454. font-size: 36rpx;
  1455. text-align: center;
  1456. // margin-left: auto;
  1457. }
  1458. .isPayText{
  1459. background:#9E9E9E
  1460. }
  1461. }
  1462. .popup{
  1463. padding: 32rpx;
  1464. padding-top:80rpx;
  1465. height:850rpx;
  1466. padding-bottom:50rpx;
  1467. border-radius: 12px;
  1468. .class-infos{
  1469. display: flex;
  1470. align-items: center;
  1471. .picture{
  1472. width: 152rpx;
  1473. height: 152rpx;
  1474. border-radius: 4px;
  1475. overflow: hidden;
  1476. img{
  1477. width: 100%;
  1478. height: 100%;
  1479. }
  1480. }
  1481. .infos{
  1482. margin-left: 24rpx;
  1483. .class-name{
  1484. color: rgba(51, 51, 51, 1);
  1485. font-size: 40rpx;
  1486. font-weight: bold;
  1487. }
  1488. .price{
  1489. color: rgba(16, 16, 16, 1);
  1490. font-size: 32rpx;
  1491. margin-top: 12rpx;
  1492. }
  1493. .price-detail{
  1494. color: rgba(16, 16, 16, 1);
  1495. font-size: 28rpx;
  1496. margin-top: 12rpx;
  1497. }
  1498. }
  1499. }
  1500. // 规格
  1501. .specification{
  1502. margin-top: 80rpx;
  1503. .title{
  1504. color: rgba(119, 119, 119, 1);
  1505. }
  1506. .specification-options{
  1507. margin-top: 24rpx;
  1508. .options-item{
  1509. width: 442rpx;
  1510. height: 64rpx;
  1511. line-height: 64rpx;
  1512. border-radius: 50px;
  1513. background-color: rgba(239, 244, 242, 1);
  1514. color: rgba(51, 51, 51, 1);
  1515. font-size: 32rpx;
  1516. text-align: center;
  1517. margin-bottom: 24rpx;
  1518. }
  1519. .item-checked{
  1520. background-color: rgba(0, 185, 98, 1);
  1521. color: rgba(255, 255, 255, 1);
  1522. }
  1523. }
  1524. }
  1525. // 数量
  1526. .amount{
  1527. margin-top: 80rpx;
  1528. .title{
  1529. color: rgba(119, 119, 119, 1);
  1530. margin-bottom: 24rpx;
  1531. }
  1532. }
  1533. }
  1534. ::v-deep.u-drawer-content{
  1535. border-radius: 12px;
  1536. }
  1537. </style>