Liuyi
2024-11-16 ec17a3732f0f80f4a8d7f7867249f2581b221a27
pages/scanWater/index.vue
@@ -1,6 +1,6 @@
<script setup>
   import{ ref ,onMounted} from 'vue'
   import { wxPayApi,buyWaterApi } from '../../api/index.js'
   import { wxPayApi,buyWaterApi,getPriceBySnApi } from '../../api/index.js'
   import { onLoad } from "@dcloudio/uni-app"
   
   const choosedMoney = ref(1)
@@ -22,17 +22,7 @@
      })
      moneyList.value[index1].active = true
      choosedMoney.value = moneyList.value[index1].value
      // if(index1 == 5){
      //    disabled.value = false
      //    choosedMoney.value = ''
      // }else{
      //    choosedMoney.value = moneyList.value[index1].value
      //    otherMoney.value = ''
      //    disabled.value = true
      // }
   }
   //输入金额
   // const otherMoney = ref()
   //支付方式
   const userBalance = ref(JSON.parse(uni.getStorageSync('userInfo')).balance)
   const payMethod = ref(2)
@@ -52,22 +42,16 @@
      console.log('index',index1,payMethod.value)
   }
   async function submit(){
      // let money = ''
      // if(disabled.value){
         // money = choosedMoney.value
      // }else{
      //    money = Number(otherMoney.value)
      // }
      if(payMethod.value == 1){
         let data = {
            payType:payMethod.value,
            card:JSON.parse(uni.getStorageSync('userInfo')).waterCardNumber,
            amount:choosedMoney.value,
            // sn:1060003979
            sn:facilityCode.value
            }
            //余额支付回
         await buyWaterApi(data).then((res) =>{
            console.log('余额',res,data)
            console.log('余额支付回调',res,'传参',data)
            if(res.code == 200){
                  uni.navigateTo({
                     url:'/pages/scanSuccess/index'
@@ -83,13 +67,12 @@
         let data = {
            businessType:3,
            tradeAmount:choosedMoney.value,
            // facilityCode:'1066012684',
            facilityCode:facilityCode.value,
            }
            
            console.log('data',data)
         await wxPayApi(data).then((res) =>{
            console.log('微信',res,'data',data)
            console.log('微信支付回调',res,'传参',data)
            if(res.code == 200){
               //调用微信官方支付接口弹出付款界面,输入密码扣款
               wx.requestPayment({
@@ -117,7 +100,6 @@
                     icon:'none'
                    });
                  }
                },
                fail (res) { 
                  uni.showToast({
@@ -135,6 +117,25 @@
   onLoad((option) =>{
      facilityCode.value = option.facilityCode
   })
   //设置水价及支付方式
   async function getWaterPrice(){
      await getPriceBySnApi(facilityCode.value).then((res) =>{
         moneyList.value.forEach((item,index) =>{
            item.value = ((index + 1) * res.data.price).toFixed(1)
            item.volume = ((index + 1) * res.data.yield).toFixed(1)
         })
         choosedMoney.value = res.data.price
         console.log('水价设置回调',res,'传参',facilityCode.value)
      })
      let waterCardNumber = JSON.parse(uni.getStorageSync('userInfo')).waterCardNumber
      if(!waterCardNumber){
         payList.value.splice(1,1)
      }
   }
   onMounted(async() =>{
      await getWaterPrice()
   })
</script>
<template>
   <view class="container">
@@ -155,15 +156,6 @@
                  </block>
               </view>
            </view>
            <!-- <view class="other-money">
               <view class="money-title">
                  <view class="title-icon"></view>
                  <view class="title-text">其他金额</view>
               </view>
               <view class="money-input">
                  <input :disabled = 'disabled' :focus = '!disabled'  placeholder="请输入其他金额" v-model="otherMoney"/>
               </view>
            </view> -->
            <view class="pay-methods">
               <view class="money-title">
                  <view class="title-icon"></view>
@@ -242,24 +234,6 @@
                  }
               }
            }
            // .other-money{
            //    width: 100%;
            //    height:164rpx;
            //    margin-top:58rpx;
            //    .money-input{
            //       margin:40rpx auto 0;
            //       width:calc(100% - 40rpx);
            //       height: 80rpx;
            //       box-sizing: border-box;
            //       border-radius:8rpx;
            //       border: 2rpx solid #75C8EB;
            //       input{
            //          width:94%;
            //          height: 80rpx;
            //          margin-left:6%;
            //       }
            //    }
            // }
            .pay-methods{
               width: 100%;
               margin-top:58rpx;