rk
2026-06-26 3d46f89ff6c600f60d97f4541443540be20460c1
bicycle/pages/index/index.vue
@@ -38,7 +38,7 @@
               </image>
            </view>
            <view class="index_box_function">
               <view class="cXYC" v-for="(item, index) in functionList" :key="index" @click.stop="jump(item)">
               <view class="cXYC" :style="{ marginTop: item.id === 5 ? '30rpx' : '' }" v-for="(item, index) in functionList" :key="index" @click.stop="jump(item)">
                  <button open-type="getPhoneNumber" @getphonenumber="getPhone" v-if="!userInfo.mobile"></button>
                  <image class="img80" :src="item.icon" mode="widthFix"></image>
                  <text class="f26 c3 mt10">{{item.name}}</text>
@@ -99,12 +99,22 @@
            </view>
            <image src="@/static/images/ic_safe@2x.png" mode="widthFix"></image>
         </view>
         <view class="index_scancode_fl">
            <view class="index_scancode_fl_tips">福利</view>
            <view class="index_scancode_fl_text">仅需199元 可得“畅骑一夏”骑行卡</view>
            <view class="index_scancode_fl_btn">去看看</view>
         </view>
         <button class="index_scancode_bottom" open-type="getPhoneNumber" @getphonenumber="getPhone" v-if="!userInfo.mobile">扫码租车</button>
         <view class="index_scancode_bottom" @click="carRental" v-else>扫码租车</view>
         <view class="index_scancode_xieyi">
            <text>计费规则</text>
            |
            <text>租赁须知</text>
         </view>
         <view class="index_scancode_zw"></view>
      </view>
      <!-- 自行车-缴纳押金 --> 
      <u-popup :show="show1" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10"
      <u-popup :show="show1" :closeOnClickOverlay="true" mode="bottom" bgColor="#fff" :round="10"
         @close="show1 = false">
         <view class="deposit">
            <view class="deposit_text">
@@ -126,7 +136,7 @@
         </view>
      </u-popup>
      <!-- 自行车-开锁 -->
      <u-popup :show="show5" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10"
      <u-popup :show="show5" :overlay="false" :closeOnClickOverlay="true" mode="bottom" bgColor="#fff" :round="10"
         @close="show5 = false">
         <view class="loading">
            <view class="loading_box">
@@ -143,7 +153,7 @@
         </view>
      </u-popup>
      <!-- 自行车-骑行中 -->
      <u-popup :show="show2" :overlay="false" overlayOpacity="0" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10"
      <u-popup :show="show2" overlayOpacity="0" :closeOnClickOverlay="true" mode="bottom" bgColor="#fff" :round="10"
         @close="show2 = false">
         <view class="ride">
            <view class="ride_head">
@@ -188,7 +198,7 @@
         </view>
      </u-popup>
      <!-- 自行车-已还车 -->
      <u-popup :show="show6" :overlay="false" overlayOpacity="0" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10"
      <u-popup :show="show6" overlayOpacity="0" :closeOnClickOverlay="true" mode="bottom" bgColor="#fff" :round="10"
         @close="show6 = false">
         <view class="ride">
            <view class="ride_head">
@@ -231,7 +241,7 @@
         </view>
      </u-popup>
      <!-- 自行车-确认结算 -->
      <u-popup :show="show3" :overlay="false" :closeOnClickOverlay="false" mode="bottom" bgColor="#fff" :round="10" @close="show3 = false">
      <u-popup :show="show3" :closeOnClickOverlay="true" mode="bottom" bgColor="#fff" :round="10" @close="show3 = false">
         <template>
            <view class="deposit1">
               <view class="deposit_text">
@@ -251,7 +261,7 @@
      <!-- 自行车-确认结算弹框 -->
      <u-modal :show="show7" title="提示" content='确认结算吗?' :showCancelButton="true" cancelText="取消" @confirm="settlement1" @cancel="show7 = false"></u-modal>
      <!-- 广告 -->
      <u-popup :show="show" mode="center" :overlayStyle="{ zIndex: '99999' }" :closeOnClickOverlay="false" zIndex="99999" bgColor="transparent" :round="10" @close="show = false">
      <u-popup :show="show" mode="center" :overlayStyle="{ zIndex: '99999' }" :closeOnClickOverlay="true" zIndex="99999" bgColor="transparent" :round="10" @close="show = false">
         <view class="popupbox">
            <view class="advertisement">
               <image :src="info.adList[0].imgfullurl" mode="widthFix"></image>
@@ -307,14 +317,29 @@
               },
               {
                  id: 3,
                  name: '计价规则',
                  icon: require('@/static/images/home_ic_guize@2x.png')
                  name: '团购验券',
                  icon: require('@/static/images/home_ic_yajing@x.png')
               },
               {
                  id: 4,
                  name: '消费明细',
                  icon: require('@/static/images/home_ic_mingxi@2x.png')
                  name: '个人中心',
                  icon: require('@/static/images/home_ic_jiesuan@x.png')
               },
               // {
               //    id: 3,
               //    name: '计价规则',
               //    icon: require('@/static/images/home_ic_guize@2x.png')
               // },
               // {
               //    id: 4,
               //    name: '消费明细',
               //    icon: require('@/static/images/home_ic_mingxi@2x.png')
               // },
               // {
               //    id: 5,
               //    name: '运营中心',
               //    icon: require('@/static/icon/home_ic_mingxi.png')
               // },
            ],
            info: {},
@@ -360,6 +385,10 @@
            .then(async res => {
               if (res.code === 200) {
                  let code = decodeURIComponent(options.scene)
                  // 是否弹出广告图
                  if (res.data.adList.length > 0 && !res.data.memberRidesResponse) {
                     this.show = true
                  }
                  if (res.data.memberRidesResponse && res.data.memberRidesResponse.ridesType === 0 && code !== 'undefined' && res.data.rideStatus !== 2) {
                     let typeName = ''
                     if (code.substring(0, code.indexOf('-')) === 'ebike') {
@@ -708,13 +737,26 @@
         async jump(item) {
            await this.refresh()
            if (item.id === 3) {
               // uni.navigateTo({
               //    url: '/pages/pricingRules/pricingRules'
               // });
               uni.navigateTo({
                  url: '/pages/pricingRules/pricingRules'
                  url: '/pages/couponRedemption/couponRedemption'
               });
            } else if (item.id === 4) {
               uni.navigateTo({
                  url: '/pages/consumptionDetails/consumptionDetails'
                  url: '/pages/personalCenter/personalCenter'
               }); 
            } else if (item.id === 5) {
               if (!this.userInfo.sysuser) {
                  uni.navigateTo({
                     url: '/pages/operationLogin/operationLogin'
                  });
               } else {
                  uni.navigateTo({
                     url: '/pages/operationsCenter/operationsCenter'
                  });
               }
            } else if (item.id === 2) {
               if (!this.userInfo.mobile) return
               if (this.info.rideStatus === 1) {
@@ -1059,6 +1101,7 @@
               .then(async res => {
                  if (res.code === 200) {
                     this.info = res.data
                     console.log('是否弹出广告图', res.data.adList.length > 0 && !res.data.memberRidesResponse)
                     // 是否弹出广告图
                     if (res.data.adList.length > 0 && !res.data.memberRidesResponse) {
                        this.show = true
@@ -1419,12 +1462,14 @@
               display: flex;
               align-items: center;
               justify-content: space-between;
               flex-wrap: wrap;
               position: relative;
               top: -24rpx;
               text {
                  font-weight: 400;
               }
               .cXYC {
                  width: 23%;
                  position: relative;
                  button {
                     width: 100%;
@@ -1582,7 +1627,7 @@
            
            .index_zw1 {
               width: 100%;
               height: calc(env(safe-area-inset-bottom) + 310rpx);
               height: calc(env(safe-area-inset-bottom) + 360rpx);
            }
            .index_zw {
@@ -1595,14 +1640,14 @@
      .index_scancode {
         width: 100%;
         height: 306rpx;
         // height: 306rpx;
         background: linear-gradient(360deg, #FFFFFF 0%, #FFFFFF 58%, #D0FFFD 100%);
         box-shadow: 0rpx -6rpx 16rpx 0rpx rgba(0, 0, 0, 0.1);
         border-radius: 32rpx 32rpx 0rpx 0rpx;
         position: fixed;
         bottom: 0;
         left: 0;
         padding: 30rpx 20rpx;
         padding: 30rpx 20rpx 30rpx 20rpx;
         box-sizing: border-box;
         .index_scancode_top {
@@ -1639,6 +1684,42 @@
               flex-shrink: 0;
            }
         }
         .index_scancode_fl {
            width: 100%;
            display: flex;
            align-items: center;
            margin-top: 18rpx;
            .index_scancode_fl_tips {
               width: 64rpx;
               height: 36rpx;
               line-height: 36rpx;
               text-align: center;
               background: #FF5A31;
               border-radius: 2rpx 12rpx 2rpx 12rpx;
               margin-right: 16rpx;
               font-weight: 400;
               font-size: 24rpx;
               color: #FFFFFF;
            }
            .index_scancode_fl_text {
               font-weight: 400;
               font-size: 26rpx;
               color: #FF5A31;
            }
            .index_scancode_fl_btn {
               width: 88rpx;
               height: 36rpx;
               line-height: 36rpx;
               text-align: center;
               background: #EAF9F8;
               border-radius: 4rpx;
               font-weight: 400;
               font-size: 24rpx;
               color: #01B6AD;
               margin-left: 8rpx;
            }
         }
         .index_scancode_bottom {
            width: 100%;
@@ -1653,6 +1734,19 @@
            font-weight: 500;
            color: #FFFFFF;
            margin-top: 30rpx;
         }
         .index_scancode_xieyi {
            width: 100%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 30rpx;
            text {
               font-weight: 400;
               font-size: 26rpx;
               color: #999999;
            }
         }
      }
@@ -2127,4 +2221,4 @@
         }
      }
   }
</style>
</style>