batteryPackage.vue 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <template>
  2. <view class="battery-package-main">
  3. <view class="package-icon-view flex-row">
  4. <img src="https://qiniu.bms16.com/FqF7erLOB8OutmFnre7-mbTkwpZr" alt="">
  5. <view class="package-icon-text flex-row">5秒换电,瞬间满电,畅享骑行新体验!</view>
  6. </view>
  7. <view v-for="(item,index) of list" @click="selectItem(item)" :key="index" class="package-list-view" :class="{'active' : item.package_code == form.package_code }">
  8. <view class="package-num-view flex-row"><text class="package-num">{{item.total_day || 0}}</text> 天 <text
  9. class="package-num">{{item.total_num || 0}}</text> 次</view>
  10. <view class="flex-row flex-between align-baseline">
  11. <view v-if="item.tag.child_tag_name" class="apply-battery">适用电池:<text class="apply-battery-num">{{ !!Number(item.tag.main_tag_name) ? item.tag.main_tag_name + "V" : item.tag.main_tag_name}}{{!!Number(item.tag.child_tag_name) ? item.tag.child_tag_name + "Ah" : item.tag.child_tag_name }}</text></view>
  12. <view v-else class="apply-battery">适用电池:<text class="apply-battery-num">{{ item.tag.main_tag_name }}</text></view>
  13. <view class="flex-row align-baseline">
  14. <text class="package-price">${{item.viewShowMoney || '0.00'}}</text>
  15. <text class="symbol-style">
  16. <text>$</text>
  17. <text style="font-size: 48rpx;">{{item.viewMoney || '0.00'}}</text>
  18. <!-- <text style="font-size: ;">.{{Math.floor((item.viewMoney - Math.floor(item.viewMoney))) || 0}}</text> -->
  19. </text>
  20. </view>
  21. </view>
  22. </view>
  23. <!-- <view class="package-list-view">
  24. <view class="package-num-view flex-row"><text class="package-num">10</text> 天 <text
  25. class="package-num">10</text> 次</view>
  26. <view class="flex-row flex-between align-baseline">
  27. <view class="apply-battery">适用电池:<text class="apply-battery-num">48v20Ah</text></view>
  28. <view class="flex-row align-baseline">
  29. <text class="package-price">$35.9</text>
  30. <text class="symbol-style">
  31. <text>$</text>
  32. <text style="font-size: 64rpx;">23</text>
  33. <text style="font-size: ;">.0</text>
  34. </text>
  35. </view>
  36. </view>
  37. </view> -->
  38. <view class="flex-row package-tip" style="flex-direction: column;">
  39. <view class="flex-row" style="margin-bottom: 16rpx;">当前购买为虚拟IC卡</view>
  40. <view class="flex-row">如想要体验实体IC卡功能,前往最近的门店领取IC卡</view>
  41. </view>
  42. <view style="height: 200rpx;">
  43. </view>
  44. <view @click="isShowToBuy = true" class="pay-btn">立即购买</view>
  45. <payTypeModel @closeShow='isShowToBuy = false' :free_price='form.price' :isShowToBuy='isShowToBuy' @payToOrder='submit'></payTypeModel>
  46. </view>
  47. </template>
  48. <script>
  49. import { fenToYuan, msg } from '../../utils/util.js';
  50. const http = require('../../common/request.js');
  51. const config = require('../../common/config_gyq.js');
  52. import payTypeModel from '@/component/payTypeModel/payTypeModel';
  53. export default {
  54. components:{payTypeModel},
  55. data() {
  56. return {
  57. isShowToBuy:false,
  58. list:[],
  59. form:{
  60. pay_type:0,
  61. car_sn:"",
  62. package_code:"",
  63. price:""
  64. },
  65. };
  66. }
  67. /**
  68. * 生命周期函数--监听页面加载
  69. */
  70. ,
  71. onLoad: function(options) {
  72. this.listFn()
  73. },
  74. methods: {
  75. async submit(payType){
  76. this.form.pay_type = payType
  77. if(!this.form.car_sn){
  78. msg('请先绑定车辆!')
  79. return
  80. }
  81. uni.showLoading({
  82. mask:true,
  83. title:'提交中...'
  84. })
  85. let {
  86. data
  87. } = await http.postApi(config.API_FLK_EXCHANGE_PACKAGE_PAY, this.form)
  88. uni.hideLoading()
  89. console.log(data)
  90. if(data.code == 200){
  91. uni.navigateTo({
  92. url:`/pages/order/order`
  93. })
  94. }else{
  95. msg(res.data.msg)
  96. }
  97. },
  98. selectItem(item){
  99. this.form.package_code = item.package_code
  100. this.form.price = item.money
  101. },
  102. async listFn() {
  103. let car_sn = uni.getStorageSync('car_info').car_sn || ''
  104. this.form.car_sn = car_sn
  105. let {
  106. data
  107. } = await http.postApi(config.API_FLK_EXCHANGE_PACKAGE_PACKAGE_LIST, {
  108. car_sn
  109. })
  110. if(data.code == 200){
  111. data.data.list.map(item=>{
  112. item.viewShowMoney = (item.show_money / 100).toFixed(2)
  113. item.viewMoney = (item.money / 100).toFixed(2)
  114. })
  115. this.list = data.data.list
  116. }
  117. },
  118. }
  119. };
  120. </script>
  121. <style>
  122. @import './batteryPackage.css';
  123. </style>