web
10 小时以前 49fa0d82a40345342966e810b44429aec0480ef3
pages/scanWater/index.vue
@@ -28,7 +28,7 @@
   const payMethod = ref(2)
   const payList = ref([
      // {text:"支付宝支付",value:1,checked:true,img:'../../static/images/recharge/pay.png'},
      {text:"微信支付",value:2,checked:true,img:'../../static/images/recharge/wx.png'},
      {text:"微信",value:2,checked:true,img:'../../static/images/recharge/wx.png'},
      {text:"余额",value:1,checked:false,img:'../../static/images/recharge/balance.png'},
   ])
   function choosePay(index1){
@@ -41,36 +41,56 @@
      payMethod.value = payList.value[index1].value
      console.log('index',index1,payMethod.value)
   }
   //确认支付
   let timerId
   let payState = ref(true)
   async function submit(){
      if(payState.value){
         payState.value = false
         timerId = setTimeout(() =>{
            payState.value = true
         },20000)
      //余额支付
      if(payMethod.value == 1){
         let data = {
            payType:payMethod.value,
            card:JSON.parse(uni.getStorageSync('userInfo')).waterCardNumber,
            amount:choosedMoney.value,
            sn:facilityCode.value
            }
            //余额支付回
         await buyWaterApi(data).then((res) =>{
            console.log('余额支付回调',res,'传参',data)
            if(res.code == 200){
                  uni.navigateTo({
                     url:'/pages/scanSuccess/index'
                  })
               }else{
                  uni.showToast({
                     title:'支付失败!',
                     icon:'none'
                  })
         if(choosedMoney.value > Number(userBalance.value)){
            uni.showToast({
               title:'水卡余额不足',
               icon:'none'
            })
         }else{
            let data = {
               payType:payMethod.value,
               card:JSON.parse(uni.getStorageSync('userInfo')).waterCardNumber,
               amount:choosedMoney.value,
               sn:facilityCode.value
               }
         })
               //余额支付回
            await buyWaterApi(data).then((res) =>{
               console.log('余额支付回调',res,'传参',data)
               if(res.code == 200){
                     uni.navigateTo({
                        url:'/pages/scanSuccess/index'
                     })
                  }else if(res.code == 300){
                     uni.showToast({
                        title:res.msg,
                        icon:'none'
                     })
                  }else{
                     uni.showToast({
                        title:'支付失败,联系管理员',
                        icon:'none'
                     })
                  }
            })
         }
         //微信支付
      }else if(payMethod.value == 2){
         let data = {
            businessType:3,
            tradeAmount:choosedMoney.value,
            facilityCode:facilityCode.value,
            }
            console.log('data',data)
         }
         await wxPayApi(data).then((res) =>{
            console.log('微信支付回调',res,'传参',data)
            if(res.code == 200){
@@ -86,16 +106,12 @@
                success (res) {
                  if (res.errMsg == "requestPayment:ok"){
                    console.log('支付成功', res)
                    uni.showToast({
                     title: '支付成功',
                     duration: 2000,
                    });
                   uni.navigateTo({
                      url:'/pages/scanSuccess/index'
                   })
                  }else{
                    uni.showToast({
                     title: '支付失败',
                     title: '微信支付失败',
                     duration: 2000,
                     icon:'none'
                    });
@@ -109,15 +125,34 @@
                  });
                }
               })
            }else if(res.code == 300){
               uni.showToast({
                  title:res.msg,
                  duration: 2000,
                  icon:'none'
               });
            }else{
               uni.showToast({
                  title:'微信支付失败',
                  duration: 2000,
                  icon:'none'
               });
            }
         })
      }
      }else{
         uni.showToast({
            title:'支付间隔20秒,请稍后!',
            icon:'none'
         })
      }
   }
   const facilityCode = ref()
   onLoad((option) =>{
      facilityCode.value = option.facilityCode
      console.log('小程序扫码取水','option.facilityCode',option.facilityCode,'传参SN',facilityCode.value)
   })
   //设置水价及支付方式
   //设置水价,设置支付方式,用户未绑定会员卡不显示余额支付选项
   async function getWaterPrice(){
      await getPriceBySnApi(facilityCode.value).then((res) =>{
         moneyList.value.forEach((item,index) =>{
@@ -125,9 +160,10 @@
            item.volume = ((index + 1) * res.data.yield).toFixed(1)
         })
         choosedMoney.value = res.data.price
         console.log('水价设置回调',res,'传参',facilityCode.value)
         console.log('水价设置回调',res,'传参',facilityCode.value,'水价列表',choosedMoney.value)
      })
      let waterCardNumber = JSON.parse(uni.getStorageSync('userInfo')).waterCardNumber
      let waterCardNumber = (uni.getStorageSync('userInfo') && JSON.parse(uni.getStorageSync('userInfo')).waterCardNumber )
      console.log('用户水卡信息',uni.getStorageSync('userInfo'))
      if(!waterCardNumber){
         payList.value.splice(1,1)
      }
@@ -175,7 +211,7 @@
               </view>
            </view>
         </view>
         <view class="submit-btn" @click="submit()">确认支付</view>
         <view :style="{opacity:payState ? 1 : 0.7}" class="submit-btn" @click="submit()">确认支付</view>
      </view>
   </view>
</template>