index.vue 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474
  1. <template>
  2. <!-- 充值套餐 -->
  3. <view class="mall-recharge">
  4. <view class="white-box">
  5. <view class="account-text">充值账号</view>
  6. <u-input class="account-name" v-model="phone" type="text" maxlength="11" placeholder="请输入手机号" placeholder-style="font-size:32rpx;font-weight:400" fontSize="56rpx" :customStyle="{ padding: '0'}" clearable></u-input>
  7. </view>
  8. <view v-if="phone" class="tip flex aic">
  9. <re-image imgSrc="/retail/mall/ic_tip.png" width="28" height="28"></re-image>
  10. <text>请确认账户是否正确无误</text>
  11. </view>
  12. <view class="list-title flex aic">
  13. <span class="title-line"></span>
  14. 您选择的游戏币套餐
  15. </view>
  16. <view class="order-info">
  17. <view class="info-top">
  18. <view class="top-nums flex jcsb aic">
  19. <view>
  20. <span class="yxb-num">888</span>
  21. <span class="yxb-text">游戏币</span>
  22. </view>
  23. <view>
  24. <span class="price-text">¥</span>
  25. <span class="price-num">23</span>
  26. </view>
  27. </view>
  28. <view class="info-msg flex jcsb aic">
  29. <view class="msg-left">
  30. <span class="zeng ${additionalGameCurrency || grabTimes || trafficSize ? 'show' : 'hide'}">赠</span>
  31. <span class="${additionalGameCurrency ? 'show' : 'hide'}">
  32. <span class="game-num">1000</span>游戏币
  33. </span>
  34. <!-- <span class="og">
  35. <span class="${additionalGameCurrency && trafficSize ? 'show' : 'hide'}">+</span>
  36. <span class="bold ${trafficSize ? 'show' : 'hide'}">2M</span>
  37. </span> -->
  38. <span class="og red ${grabTimes? '' : 'hide'}">
  39. <span class="${additionalGameCurrency && grabTimes? 'show' : 'hide'}"
  40. style="margin-left:2px">+</span>
  41. <view class="red-box">
  42. <!-- <image class="red_img"/> -->
  43. <span>红包机会x2</span>
  44. </view>
  45. </span>
  46. </view>
  47. <span class="time-text">30天有效</span>
  48. </view>
  49. </view>
  50. <view class="info-btm">
  51. <view class="date-wrapper flex jcsb aic">
  52. <view>立即生效</view>
  53. <view class="date-box">2023年10月23</view>
  54. </view>
  55. <!-- <view class="jubaopen-ctrl margin-top-20 flex jcsb aic jbp">
  56. <view class="jubaop">
  57. <view class="juntop">
  58. <image class="img-4" src="" alt="" />
  59. <span>聚宝盆余额抵扣</span>
  60. <i class="fx-icon icon-wenhao-xianxingyuankuang"></i>
  61. </view>
  62. <view class="dikou">
  63. <span class="gongyou dikoujine"></span>
  64. <span class="kedi kedikoujine"></span>
  65. </view>
  66. <view class="desc">聚宝盆余额整数部分可参与抵扣</view>
  67. </view>
  68. <image class="img-2 check-icon3-i" src="" alt="" />
  69. <span class="check-icon check-icon3"></span>
  70. </view> -->
  71. <!-- <view class="margin-top-30 flex jcsb aic" id="zfbCtrl">
  72. <view class="flex aic">
  73. <image class="img-3" src="" alt="" />
  74. <span>支付宝支付</span>
  75. </view>
  76. <image class="img-2 check-icon2-i" src="" alt="" />
  77. <span class="check-icon check-icon2"></span>
  78. </view> -->
  79. <view class="wx-ctrl flex jcsb aic">
  80. <view class="flex aic">
  81. <re-image width="48" height="48" imgSrc="/retail/mall/weixin-icon.png" alt="" />
  82. <span style="margin-left:16rpx">微信支付</span>
  83. </view>
  84. <re-image width="48" height="48" imgSrc="/retail/mall/yigou.png" alt="" />
  85. <!-- <span class="check-icon check-icon1"></span> -->
  86. </view>
  87. </view>
  88. </view>
  89. <!-- 支付按钮 -->
  90. <view class="btn-wrapper">
  91. <view id="checkBox" class="margin-bottom-17">
  92. <view class="check-text text-center">点击“确认支付”,即代表您已阅读并同意<span id="agreeEl" class="red">《用户购买协议》</span></view>
  93. </view>
  94. <view class="btns flex jcsb aic safe-area-inset-bottom">
  95. <view>
  96. <span class="btn-price-text1">应付款:</span>
  97. <span class="btn-price-text2">¥</span>
  98. <span class="price-num btn-price-num"></span>
  99. </view>
  100. <u-button class="primary-btn" id="buyBtn">确认支付</u-button>
  101. </view>
  102. </view>
  103. </view>
  104. </template>
  105. <script>
  106. export default{
  107. // components:{
  108. // 'u-input': () => import('@/plugins/uview-ui/components/u-input')
  109. // }
  110. data(){
  111. return{
  112. phone:''
  113. }
  114. }
  115. }
  116. // const data = reactive({
  117. // })
  118. </script>
  119. <style lang="scss">
  120. .mall-recharge {
  121. padding: 32rpx;
  122. .white-box {
  123. padding: 48rpx 48rpx 56rpx;
  124. background-color: #fff;
  125. border-radius: 32rpx;
  126. .account-text {
  127. font-size: 32rpx;
  128. font-weight: 500;
  129. color: #2C2B28;
  130. line-height: 14rpx;
  131. margin-bottom: 40rpx;
  132. }
  133. .account-name {
  134. color: #2C2B28;
  135. font-weight: bold;
  136. font-size: 56rpx;
  137. line-height: 32rpx;
  138. }
  139. }
  140. .tip{
  141. font-size: 24rpx;
  142. color: #8B8B8B;
  143. margin-top: 16rpx;
  144. margin-left: 46rpx;
  145. text{
  146. margin-left: 6rpx;
  147. }
  148. }
  149. .list-title {
  150. color: #363531;
  151. font-weight: bold;
  152. font-size: 36rpx;
  153. line-height: 36rpx;
  154. margin: 48rpx 0 32rpx;
  155. .title-line {
  156. width: 8rpx;
  157. height: 32rpx;
  158. background-color: #FF8800;
  159. margin-right: 10rpx;
  160. }
  161. }
  162. .order-info {
  163. background-color: #fff;
  164. border-radius: 32rpx;
  165. .info-top {
  166. padding: 40rpx;
  167. border-bottom: 1rpx solid #E8E8E8;
  168. }
  169. .top-nums {
  170. font-weight: bold;
  171. color: #2C2B28;
  172. .yxb-num {
  173. font-size: 48rpx;
  174. margin-right: 8rpx;
  175. }
  176. .yxb-text {
  177. font-size: 24rpx;
  178. color: #564C47;
  179. }
  180. .price-num {
  181. font-size: 48rpx;
  182. }
  183. .price-text {
  184. font-size: 28rpx;
  185. }
  186. }
  187. .info-msg {
  188. margin-top: 32rpx;
  189. font-size: 32rpx;
  190. color: #2C2B28;
  191. font-weight: bold;
  192. white-space: nowrap;
  193. .msg-left {
  194. width: calc(100% - 142rpx);
  195. display: flex;
  196. align-items: center;
  197. font-weight: normal;
  198. font-size: 32rpx;
  199. .game-num{
  200. font-weight: bold;
  201. }
  202. }
  203. .red {
  204. display: flex;
  205. align-items: center;
  206. .red-box {
  207. display: flex;
  208. align-items: center;
  209. }
  210. }
  211. .og {
  212. color: #FF7C00;
  213. }
  214. .time-text {
  215. font-size: 24rpx;
  216. color: #564C47;
  217. font-weight: normal;
  218. }
  219. .zeng {
  220. flex-shrink: 0;
  221. display: inline-block;
  222. background-color: #5CB020;
  223. width: 40rpx;
  224. height: 32rpx;
  225. line-height: 32rpx;
  226. color: #fff;
  227. font-size: 24rpx;
  228. border-radius: 8rpx;
  229. text-align: center;
  230. font-weight: normal;
  231. margin-right: 6rpx;
  232. }
  233. .show {
  234. display: inline-block;
  235. vertical-align: middle;
  236. }
  237. .hide {
  238. display: none;
  239. }
  240. }
  241. }
  242. // .info-msg {
  243. // margin-top: 16rpx;
  244. // font-size: 16rpx;
  245. // color: #2C2B28;
  246. // font-weight: bold;
  247. // .msg-left {
  248. // width: calc(100% - 150rpx);
  249. // display: flex;
  250. // align-items: center;
  251. // font-weight: normal;
  252. // font-size: 12rpx;
  253. // }
  254. // .red {
  255. // display: flex;
  256. // align-items: center;
  257. // .red-box {
  258. // display: flex;
  259. // align-items: center;
  260. // }
  261. // }
  262. // .og {
  263. // color: #FF7C00;
  264. // }
  265. // .time-text {
  266. // font-size: 12rpx;
  267. // color: #564C47;
  268. // font-weight: normal;
  269. // }
  270. // .zeng {
  271. // display: inline-block;
  272. // background-color: #5CB020;
  273. // width: 20rpx;
  274. // height: 16rpx;
  275. // line-height: 16rpx;
  276. // color: #fff;
  277. // font-size: 12rpx;
  278. // border-radius: 4rpx;
  279. // text-align: center;
  280. // font-weight: normal;
  281. // margin-right: 3rpx;
  282. // }
  283. // .show {
  284. // display: inline-block;
  285. // vertical-align: middle;
  286. // }
  287. // .hide {
  288. // display: none;
  289. // }
  290. // }
  291. .info-btm {
  292. padding: 40rpx;
  293. font-size: 32rpx;
  294. color: #2C2B28;
  295. font-weight: 500;
  296. .date-wrapper{
  297. }
  298. .wx-ctrl{
  299. margin-top: 78rpx;
  300. .check-icon1-i{
  301. width: 48rpx;
  302. height: 48rpx;
  303. }
  304. }
  305. .margin-top-40 {
  306. margin-top: 40rpx;
  307. }
  308. .margin-top-30 {
  309. margin-top: 30rpx;
  310. }
  311. .margin-top-20 {
  312. margin-top: 20rpx;
  313. }
  314. img {
  315. width: 24rpx;
  316. height: 24rpx;
  317. }
  318. .img-1 {
  319. margin-right: 16rpx;
  320. }
  321. .img-4 {
  322. margin-right: 16rpx;
  323. }
  324. .img-3 {
  325. margin-right: 16rpx;
  326. transform: scale(0.9);
  327. }
  328. .check-icon {
  329. width: 40rpx;
  330. height: 40rpx;
  331. border: 1rpx solid #bbb;
  332. border-radius: 100%;
  333. margin-right: 2rpx;
  334. }
  335. .jbp {
  336. padding: 10rpx 0rpx 10rpx 0rpx;
  337. border-bottom: 1rpx solid #E8E8E8;
  338. }
  339. .dikou {
  340. // height: 42rpx;
  341. // float:left;
  342. // position:absolute;
  343. // margin-top: 70rpx;
  344. margin-left: 30rpx;
  345. .gongyou {
  346. font-weight: normal;
  347. font-size: 28px;
  348. color: #8B8B8B;
  349. }
  350. .kedi {
  351. font-weight: normal;
  352. font-size: 28px;
  353. color: #FF7C00;
  354. }
  355. }
  356. }
  357. .btn-wrapper {
  358. position: fixed;
  359. left: 0;
  360. bottom: 0;
  361. right: 0;
  362. padding: 24rpx 32rpx 0;
  363. z-index: 200;
  364. background-color: rgb(252, 252, 252);
  365. border-top: 1rpx solid #eee;
  366. box-shadow: 0rpx -4rpx 8rpx 0rpx rgba(109,84,52,0.19);
  367. .btn-price-text1 {
  368. color: #2C2B28;
  369. font-size: 32rpx;
  370. font-weight: bold;
  371. }
  372. .btn-price-text2 {
  373. color: #FF6400;
  374. font-size: 32rpx;
  375. font-weight: bold;
  376. }
  377. .btn-price-num {
  378. font-size: 48rpx;
  379. color: #FF6400;
  380. font-weight: bold;
  381. }
  382. .fx-icon {
  383. font-size: 32rpx;
  384. margin-right: 12rpx;
  385. &.check-icon1 {
  386. color: #281A13;
  387. }
  388. &.check-icon2 {
  389. color: #0087fb;
  390. }
  391. &.check-icon3 {
  392. color: #0087fb;
  393. }
  394. }
  395. .check-text {
  396. color: #281A13;
  397. font-size: 24rpx;
  398. .red {
  399. color: #FF6400;
  400. }
  401. }
  402. .btns{
  403. margin: 24rpx 0 8rpx;
  404. }
  405. .primary-btn {
  406. width: 296rpx;
  407. height: 96rpx;
  408. font-size: 36rpx;
  409. color: #FFFFFF;
  410. background: linear-gradient(140deg, #FF8500 0%, #FFA600 100%);
  411. border-radius: 48rpx;
  412. font-weight: bold;
  413. margin: 0;
  414. }
  415. }
  416. }
  417. </style>