添加充值记录页面,完善首页用户会员卡绑定信息,添加用户水卡注销及删除
已修改21个文件
已删除5个文件
已添加5个文件
1446 ■■■■ 文件已修改
api/index.js 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
package-lock.json 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/addCard/index.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/balanceRecord/index.vue 136 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/functionList/balanceRecord/index.vue 191 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/functionList/paymentRecord/index.vue 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/functionList/rechargeRecord/index.vue 170 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/index.vue 138 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/recharge/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/station/index.vue 198 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/userInfo/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/images/index/card11.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/index/icon37.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/index/icon38.png 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/cache/.vite/deps/_metadata.json 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/api/index.js 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/app.js 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/app.json 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/common/assets.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/config/baseUrl.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/addCard/index.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.js 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.json 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxss 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/index/index.js 181 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/index/index.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/recharge/index.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/static/images/index/icon37.png 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/static/images/index/icon38.png 补丁 | 查看 | 原始文档 | blame | 历史
api/index.js
@@ -55,11 +55,23 @@
    return request('/pay/service/wxPay',data,'POST')
}
//余额记录
export function balanceChangeApi(data){
    return request('/userCapitalChange/search',data,'POST')
export function balanceChangeApi(date){
    return request(`/userCapitalChange/getListByUser?date=${date}`,{},'GET')
}
//消费记录
export function paymentChangeApi(date){
    return request(`/paymentRecords/getListByUser?date=${date}`,{},'GET')
}
//充值记录
export function rechargeChangeApi(date){
    return request(`/rechargeRecords/getListByUser?date=${date}`,{},'GET')
}
//会员卡挂失
export function reportLossApi(cardNumber){
    return request(`/waterCard/reportLoss?cardNumber=${cardNumber}`,{},'GET')
}
//会员卡删除
export function removeCardApi(cardNumber){
    return request(`/waterCard/remove?cardNumber=${cardNumber}`,{},'GET')
}
package-lock.json
@@ -1,21 +1,12 @@
{
  "name": "water-drinking-uniapp",
  "version": "1.0.0",
  "lockfileVersion": 3,
  "requires": true,
  "packages": {
    "": {
      "name": "water-drinking-uniapp",
      "version": "1.0.0",
      "license": "ISC",
      "dependencies": {
        "@dcloudio/uni-ui": "^1.4.28"
      }
    },
    "node_modules/@dcloudio/uni-ui": {
      "version": "1.5.6",
      "resolved": "https://registry.npmmirror.com/@dcloudio/uni-ui/-/uni-ui-1.5.6.tgz",
      "integrity": "sha512-jmb98PasFvZkrIDXGh94GbdWg2/jyhgs1HUG+bU8eyL7Ltias/5XBz4q8w9RXyWUfqepJRqapPA2IIQpLCuTIg=="
    "name": "da-tree 树组件(支持单选、多选、无限级、主题色,Vue3版) ",
    "version": "1.4.2",
    "lockfileVersion": 3,
    "requires": true,
    "packages": {
        "": {
            "name": "da-tree 树组件(支持单选、多选、无限级、主题色,Vue3版) ",
            "version": "1.4.2"
        }
    }
  }
}
pages.json
@@ -19,13 +19,19 @@
            }
        },
        {
            "path" : "pages/balanceRecord/index",
            "path" : "pages/functionList/balanceRecord/index",
            "style": {
                "navigationStyle":"custom"
            }
        },
        {
            "path" : "pages/paymentRecord/index",
            "path" : "pages/functionList/paymentRecord/index",
            "style": {
                "navigationStyle":"custom"
            }
        },
        {
            "path" : "pages/functionList/rechargeRecord/index",
            "style": {
                "navigationStyle":"custom"
            }
pages/addCard/index.vue
@@ -3,7 +3,8 @@
import{ creatUserArchive } from '../../api/index.js'
const form = ref({
    waterCardNumber:'',
    id:JSON.parse(uni.getStorageSync('userInfo')).id,
    waterCardNumber:'023B7C45',
    userName:'',
    userPhone:'',
    remark:'',
pages/balanceRecord/index.vue
文件已删除
pages/functionList/balanceRecord/index.vue
对比新文件
@@ -0,0 +1,191 @@
<script setup>
    import { computed, onMounted, ref } from 'vue'
    import { balanceChangeApi } from '../../../api/index.js'
    //返回
    function navBackTo(){
        uni.navigateBack()
    }
    //日期
    const endDate = ref()
    const startDate = ref()
    const datePay = ref()
    const dateNow = ref()
    //获取当前日期
    function getDate() {
        const date = new Date();
        let year = date.getFullYear();
        let month = date.getMonth() + 1;
        dateNow.value = year + '-' + month
        datePay.value = dateNow.value
    }
    //选中日期
    async function bindDateChange(e){
        datePay.value = e.detail.value
        await getBalanceList(datePay.value)
    }
    //获取余额变动列表
    const banlanceList = ref([])
    async function getBalanceList(val){
        await balanceChangeApi(val).then((res) =>{
            if(res.code == 200){
                banlanceList.value = res.data
            }
        })
    }
    //动态设置用户支出收入对应样式
    function setStyleMoney(val){
        if(val == 200){
            return { color:'#ebc117'}
        }else{
            return { color:'#00aa00'}
        }
    }
    onMounted(async() =>{
        getDate()
        await getBalanceList(datePay.value)
    })
</script>
<template>
    <view class="container">
        <navbar @navBackTo="navBackTo()" title="余额记录"></navbar>
        <view class="date">
            <view class="picker">
                <picker mode="date" :value="datePay" :fields="'month'" @change="bindDateChange">
                    <view class="date-text">
                        <text class="uni-input">{{datePay}}</text>
                        <image src="../../../static/images/other/more.png" alt=''></image>
                    </view>
                </picker>
            </view>
            <view class="date-money">
                <text>支出¥5341.05</text>
                <text>充值¥941.59</text>
            </view>
        </view>
        <view class="main">
            <block v-for="(item,index) in banlanceList">
                <view class="item">
                    <view class="item-left">
                        <text class="methods">{{item.businessName}}</text>
                        <text>{{item.createTimeView}}</text>
                    </view>
                    <view class="item-right">
                        <view>
                            <text v-if="item.business == 200" style="color:#ebc117">-</text>
                            <text class="money" :style="setStyleMoney(item.business)">{{item.changeMoney}}</text>
                            <text>元</text>
                        </view>
                        <text>{{item.beforeMoney}}</text>
                    </view>
                </view>
            </block>
        </view>
    </view>
</template>
<style lang="scss">
    .container{
        width: 100%;
        height: 100vh;
        background:linear-gradient(to top,#FFFFFF,#E8EFFF);
            .date{
              height: 84rpx;
              width:100%;
              display: flex;
              padding: 0 36rpx;
              box-sizing: border-box;
              justify-content:space-between;
              align-items: center;
             .picker{
                 .date-text{
                     height: 84rpx;
                     display: flex;
                     align-items: center;
                      text{
                          font-weight: 300;
                          font-size: 32rpx;
                          color: #000000;
                          margin-right:10rpx;
                      }
                     image{
                         width: 28rpx;
                         height:32rpx;
                         transform: rotate(90deg);
                         // margin-top:10rpx;
                     }
                 }
              }
              .date-money{
                  font-weight: 300;
                  font-size: 24rpx;
                  color: #7E7E7E;
                  text:first-child{
                      margin-right:30rpx;
                  }
              }
          }
          .main{
              width:99%;
              height: calc(100vh - 84rpx - 176rpx - 70rpx);
              background: #fff;
              border-radius:20rpx;
              margin: 0 auto;
              padding:28rpx 48rpx;
              box-sizing: border-box;
              overflow-y: scroll;
              // background: #7E7E7E;
              .item{
                  width:100%;
                  height:160rpx;
                  // background:rgba(170, 216, 255, 0.2);
                  border-bottom:1rpx solid #D8D8D8;
                  box-sizing:border-box;
                  // padding-bottom:38rpx;
                  justify-content:space-between;
                  align-items: flex-end;
                  display: flex;
                  .item-left{
                      height:100%;
                      display:flex;
                      flex-direction:column;
                      justify-content:space-around;
                      align-items: flex-start;
                      text:first-child{
                        font-weight: 300;
                        font-size: 32rpx;
                        color: #000000;
                      }
                      .methods{
                        font-weight: 300;
                        font-size: 32rpx;
                        color: #474646;
                      }
                      text:last-child{
                          font-weight: 300;
                          font-size: 24rpx;
                          color: #A7A7A7;
                      }
                  }
                  .item-right{
                      height:100%;
                      display:flex;
                      flex-direction:column;
                      justify-content:space-around;
                      align-items:flex-end;
                      text{
                        font-weight: 300;
                        font-size: 24rpx;
                        color: #474646;
                         margin-left:5rpx;
                      }
                      .money{
                            font-weight: 500;
                            font-size: 32rpx;
                            color: #0d83bb;
                      }
                  }
              }
          }
      }
</style>
pages/functionList/paymentRecord/index.vue
对比新文件
@@ -0,0 +1,170 @@
<script setup>
    import { onMounted, ref } from 'vue'
    import { paymentChangeApi } from '../../../api/index.js'
    //返回
    function navBackTo(){
        uni.navigateBack()
    }
    //日期
    const endDate = ref()
    const startDate = ref()
    const datePay = ref()
    const dateNow = ref()
    //获取当前日期
    function getDate() {
        const date = new Date();
        let year = date.getFullYear();
        let month = date.getMonth() + 1;
        dateNow.value = year + '-' + month
        datePay.value = dateNow.value
        console.log('datePay',datePay.value)
        // return `${year} + '-' + ${month}`
    }
    //选中日期
    async function bindDateChange(e){
        datePay.value = e.detail.value
        await getBalanceList(datePay.value)
        console.log('e',e)
    }
    //获取消费变动列表
    const banlanceList = ref([])
    async function getBalanceList(val){
        await paymentChangeApi(val).then((res) =>{
            if(res.code == 200){
                banlanceList.value = res.data
            }
        })
    }
    onMounted(async() =>{
        getDate()
        await getBalanceList(datePay.value)
    })
</script>
<template>
    <view class="container">
        <navbar @navBackTo="navBackTo()" title="消费记录"></navbar>
        <view class="date">
            <view class="picker">
                <picker mode="date" :value="datePay" :fields="'month'" @change="bindDateChange">
                    <view class="date-text">
                        <text class="uni-input">{{datePay}}</text>
                        <image src="../../../static/images/other/more.png" alt=''></image>
                    </view>
                </picker>
            </view>
        </view>
        <view class="main">
            <block v-for="(item,index) in banlanceList">
                <view class="item">
                    <view class="item-left">
                        <text>购水</text>
                        <text class="methods">消费方式:{{item.consumptionTypeView}}</text>
                        <text>{{item.payTime}}</text>
                    </view>
                    <view class="item-right">
                        <text class="money">{{item.paymentAmount}}</text>
                        <text>元</text>
                    </view>
                </view>
            </block>
        </view>
    </view>
</template>
<style lang="scss">
    .container{
        width: 100%;
        height: 100vh;
        background:linear-gradient(to top,#FFFFFF,#E8EFFF);
            .date{
              height: 84rpx;
              width:100%;
              display: flex;
              padding: 0 36rpx;
              box-sizing: border-box;
              justify-content:flex-start;
              align-items: center;
             .picker{
                 .date-text{
                     height: 84rpx;
                     display: flex;
                     align-items: center;
                      text{
                          font-weight: 300;
                          font-size: 32rpx;
                          color: #000000;
                          margin-right:10rpx;
                      }
                     image{
                         width: 28rpx;
                         height:32rpx;
                         transform: rotate(90deg);
                         // margin-top:10rpx;
                     }
                 }
              }
          }
          .main{
              width:99%;
              height: calc(100vh - 84rpx - 176rpx - 70rpx);
              background: #fff;
              border-radius:20rpx;
              margin: 0 auto;
              padding:28rpx 48rpx;
              box-sizing: border-box;
              overflow-y: scroll;
              // background: #7E7E7E;
              .item{
                  width:100%;
                  height:184rpx;
                  // background:rgba(170, 216, 255, 0.2);
                  border-bottom:1rpx solid #D8D8D8;
                  box-sizing:border-box;
                  padding-bottom:38rpx;
                  justify-content:space-between;
                  align-items: flex-end;
                  display: flex;
                  .item-left{
                      height:100%;
                      display:flex;
                      flex-direction:column;
                      justify-content:space-between;
                      align-items: flex-start;
                      text:first-child{
                        font-weight: 300;
                        font-size: 32rpx;
                        color: #000000;
                      }
                      .methods{
                        font-weight: 300;
                        font-size: 32rpx;
                        color: #474646;
                      }
                      text:last-child{
                          font-weight: 300;
                          font-size: 24rpx;
                          color: #A7A7A7;
                      }
                  }
                  .item-right{
                      height:100%;
                      display:flex;
                      justify-content:flex-end;
                      align-items:flex-end;
                      text{
                        font-weight: 300;
                        font-size: 24rpx;
                        color: #474646;
                         margin-left:5rpx;
                      }
                      .money{
                            font-weight: 500;
                            font-size: 32rpx;
                            color: #0d83bb;
                      }
                  }
              }
          }
      }
</style>
pages/functionList/rechargeRecord/index.vue
对比新文件
@@ -0,0 +1,170 @@
<script setup>
    import { onMounted, ref } from 'vue'
    import { rechargeChangeApi } from '../../../api/index.js'
    //返回
    function navBackTo(){
        uni.navigateBack()
    }
    //日期
    const endDate = ref()
    const startDate = ref()
    const datePay = ref()
    const dateNow = ref()
    //获取当前日期
    function getDate() {
        const date = new Date();
        let year = date.getFullYear();
        let month = date.getMonth() + 1;
        dateNow.value = year + '-' + month
        datePay.value = dateNow.value
        console.log('datePay',datePay.value)
        // return `${year} + '-' + ${month}`
    }
    //选中日期
    async function bindDateChange(e){
        datePay.value = e.detail.value
        await getBalanceList(datePay.value)
        console.log('e',e)
    }
    //获取消费变动列表
    const banlanceList = ref([])
    async function getBalanceList(val){
        await rechargeChangeApi(val).then((res) =>{
            if(res.code == 200){
                banlanceList.value = res.data
            }
        })
    }
    onMounted(async() =>{
        getDate()
        await getBalanceList(datePay.value)
    })
</script>
<template>
    <view class="container">
        <navbar @navBackTo="navBackTo()" title="充值记录"></navbar>
        <view class="date">
            <view class="picker">
                <picker mode="date" :value="datePay" :fields="'month'" @change="bindDateChange">
                    <view class="date-text">
                        <text class="uni-input">{{datePay}}</text>
                        <image src="../../../static/images/other/more.png" alt=''></image>
                    </view>
                </picker>
            </view>
        </view>
        <view class="main">
            <block v-for="(item,index) in banlanceList">
                <view class="item">
                    <view class="item-left">
                        <text>购水</text>
                        <text class="methods">消费方式:{{item.consumptionTypeView}}</text>
                        <text>{{item.payTime}}</text>
                    </view>
                    <view class="item-right">
                        <text class="money">{{item.paymentAmount}}</text>
                        <text>元</text>
                    </view>
                </view>
            </block>
        </view>
    </view>
</template>
<style lang="scss">
    .container{
        width: 100%;
        height: 100vh;
        background:linear-gradient(to top,#FFFFFF,#E8EFFF);
            .date{
              height: 84rpx;
              width:100%;
              display: flex;
              padding: 0 36rpx;
              box-sizing: border-box;
              justify-content:flex-start;
              align-items: center;
             .picker{
                 .date-text{
                     height: 84rpx;
                     display: flex;
                     align-items: center;
                      text{
                          font-weight: 300;
                          font-size: 32rpx;
                          color: #000000;
                          margin-right:10rpx;
                      }
                     image{
                         width: 28rpx;
                         height:32rpx;
                         transform: rotate(90deg);
                         // margin-top:10rpx;
                     }
                 }
              }
          }
          .main{
              width:99%;
              height: calc(100vh - 84rpx - 176rpx - 70rpx);
              background: #fff;
              border-radius:20rpx;
              margin: 0 auto;
              padding:28rpx 48rpx;
              box-sizing: border-box;
              overflow-y: scroll;
              // background: #7E7E7E;
              .item{
                  width:100%;
                  height:184rpx;
                  // background:rgba(170, 216, 255, 0.2);
                  border-bottom:1rpx solid #D8D8D8;
                  box-sizing:border-box;
                  padding-bottom:38rpx;
                  justify-content:space-between;
                  align-items: flex-end;
                  display: flex;
                  .item-left{
                      height:100%;
                      display:flex;
                      flex-direction:column;
                      justify-content:space-between;
                      align-items: flex-start;
                      text:first-child{
                        font-weight: 300;
                        font-size: 32rpx;
                        color: #000000;
                      }
                      .methods{
                        font-weight: 300;
                        font-size: 32rpx;
                        color: #474646;
                      }
                      text:last-child{
                          font-weight: 300;
                          font-size: 24rpx;
                          color: #A7A7A7;
                      }
                  }
                  .item-right{
                      height:100%;
                      display:flex;
                      justify-content:flex-end;
                      align-items:flex-end;
                      text{
                        font-weight: 300;
                        font-size: 24rpx;
                        color: #474646;
                         margin-left:5rpx;
                      }
                      .money{
                            font-weight: 500;
                            font-size: 32rpx;
                            color: #0d83bb;
                      }
                  }
              }
          }
      }
</style>
pages/index/index.vue
@@ -1,6 +1,6 @@
<script setup>
    import { onMounted, ref } from "vue";
    import { getVipInfoApi,getUserInfo } from '../../api/index.js'
    import { getVipInfoApi,getUserInfo,reportLossApi,removeCardApi } from '../../api/index.js'
    import { onShow } from '@dcloudio/uni-app'
    //状态栏高度
    const topHeight = ref(0)
@@ -15,38 +15,46 @@
     */
    const cardInfo = ref({
        id:'',
        userName:'',
        userName:'微信用户',
        headImg:'',
        userPhone:'',
        
        waterCardNumber:'',
        balance:'',
        count:'',
        userPhone:'',
    })
    const isVip = ref(false)
    //获取会员卡信息
    async function getInfo(){
        let res = await getUserInfo()
        if(res.code == 200){
            console.log('res',res.data)
            cardInfo.value.userName = res.data.userInfo.userName
            cardInfo.value.headImg = res.data.userInfo.headImg
            cardInfo.value.userPhone = res.data.userInfo.userPhone
            cardInfo.value.id = res.data.userInfo.id
            if(res.data.userInfo.waterCardNumber){
                let res1 = await getVipInfoApi()
                cardInfo.value.waterCardNumber = res1.data.cardNumber
                if(res1.data.cardType == 1){
                    cardInfo.value.balance = res1.data.balance
                }else if(res1.data.cardType == 2){
                    cardInfo.value.count = res1.data.count
    async function getVipInfo(){
        await getVipInfoApi().then((res) =>{
            if(res.code == 200){
                cardInfo.value.waterCardNumber = res.data.cardNumber
                if(res.data.cardType == 1){
                    cardInfo.value.balance = res.data.balance
                }else if(res.data.cardType == 2){
                    cardInfo.value.count = res.data.count
                }
                isVip.value = true
            }else{
                isVip.value = false
            }
            uni.setStorageSync('userInfo',JSON.stringify(cardInfo.value))
        }
        })
    }
    //获取用户信息
    async function getInfo(){
        await getUserInfo().then(async(res) =>{
            if(res.code == 200){
                cardInfo.value.userName = res.data.userInfo.userName ?  res.data.userInfo.userName : cardInfo.value.userName
                cardInfo.value.headImg = res.data.userInfo.headImg
                cardInfo.value.userPhone = res.data.userInfo.userPhone
                cardInfo.value.id = res.data.userInfo.id
                if(res.data.userInfo.waterCardNumber){
                    await getVipInfo()
                }else{
                    isVip.value = false
                }
                uni.setStorageSync('userInfo',JSON.stringify(cardInfo.value))
            }
        })
    }
    /**
     * 扫码取水相关
@@ -67,19 +75,74 @@
     * 功能列表相关
     */
    const functionList = ref([
        {text:'余额记录',icon:'../../static/images/index/icon31.png',url:'/pages/balanceRecord/index'},
        {text:'消费记录',icon:'../../static/images/index/icon32.png',url:'/pages/paymentRecord/index'},
        {text:'充值记录',icon:'../../static/images/index/icon33.png',url:''},
        {text:'账户共享',icon:'../../static/images/index/icon34.png',url:''},
        {text:'优惠卷',icon:'../../static/images/index/icon35.png',url:''},
        {text:'电子发票',icon:'../../static/images/index/icon36.png',url:''},
        {text:'联系客服',icon:'../../static/images/index/icon37.png',url:''},
        {text:'推广分佣',icon:'../../static/images/index/icon38.png',url:''},
        {text:'余额记录',icon:'../../static/images/index/icon31.png',url:'/pages/functionList/balanceRecord/index',isUrl:1},
        {text:'消费记录',icon:'../../static/images/index/icon32.png',url:'/pages/functionList/paymentRecord/index',isUrl:1},
        {text:'充值记录',icon:'../../static/images/index/icon33.png',url:'/pages/functionList/rechargeRecord/index',isUrl:1},
        {text:'账户共享',icon:'../../static/images/index/icon34.png',url:'',isUrl:1},
        {text:'优惠卷',icon:'../../static/images/index/icon35.png',url:'',isUrl:1},
        {text:'电子发票',icon:'../../static/images/index/icon36.png',url:'',isUrl:1},
        {text:'会员卡挂失',icon:'../../static/images/index/icon37.png',url:'',isUrl:2},
        {text:'会员卡注销',icon:'../../static/images/index/icon38.png',url:'',isUrl:3},
    ])
    function navTo(itemUrl){
        if(itemUrl){
            uni.navigateTo({
                url:itemUrl
            })
        }
    }
    //功能列表点击功能
    async function setEvent(isUrl,url){
        if(isUrl == 1){
            navTo(url)
        }else if(isUrl == 2){
            uni.showModal({
                    title: '会员卡挂失',
                    content: '确认挂失会员卡?',
                    success: async function(res) {
                    if (res.confirm) {
                        await reportLossApi(cardInfo.value.waterCardNumber).then((res) =>{
                            if(res.code == 200){
                                uni.showToast({
                                    title: '已挂失',
                                    duration: 2000,
                                });
                            }
                        })
                    }else{
                        console.log('点击了取消7')
                    }
                }
            })
        }else if(isUrl == 3){
            uni.showModal({
                    title: '会员卡注销',
                    content: '确认注销会员卡?',
                    success: async function(res) {
                    if (res.confirm) {
                        await removeCardApi(cardInfo.value.waterCardNumber).then(async(res) =>{
                            if(res.code == 200){
                                uni.showToast({
                                    title: '已注销',
                                    duration: 2000,
                                });
                                await getVipInfo().then((res) =>{
                                    if(res.code == 200){
                                        if(!res.data.id){
                                            isVip.value = false
                                            cardInfo.value.balance = ''
                                            cardInfo.value.count = ''
                                            cardInfo.value.waterCardNumber = ''
                                            uni.setStorageSync('userInfo',JSON.stringify(cardInfo.value))
                                        }
                                    }
                                })
                            }
                        })
                    }else{
                        console.log('点击了取消8')
                    }
                }
            })
        }
    }
@@ -110,12 +173,12 @@
                        <view class="card-left">
                            <view class="left-top">
                                <view>
                                    <image src="../../static/images/index/code1.png" alt=""></image>
                                    <image v-if="isVip" src="../../static/images/index/code1.png" alt=""></image>
                                    <text>会员卡</text>
                                </view>
                                <view>ID:{{cardInfo.waterCardNumber}}</view>
                                <view v-if="isVip">ID:{{cardInfo.waterCardNumber}}</view>
                            </view>
                            <view class="left-bottom">电话:{{cardInfo.userPhone}}</view>
                            <!-- <view v-if="cardInfo.userPhone" class="left-bottom">电话:{{cardInfo.userPhone}}</view> -->
                        </view>
                        <view class="card-right">
                            <view class="card-right-top">
@@ -123,10 +186,11 @@
                                    <image src='../../static/images/index/vip-add.png' alt=''></image>
                                    <text>添加会员卡</text>
                                </view> -->
                                <text>金额卡</text>
                                <text>{{cardInfo.balance}}元</text>
                                <text v-if="isVip">金额卡</text>
                                <text v-if="!isVip">未绑定会员卡</text>
                                <text v-if="isVip">{{cardInfo.balance}}元</text>
                            </view>
                            <view class="card-right-bottom" @click="navTo('/pages/recharge/index')">充值</view>
                            <view v-if="isVip" class="card-right-bottom" @click="navTo('/pages/recharge/index')">充值</view>
                        </view>
                    </view>
                </view>
@@ -157,7 +221,7 @@
                <view class="box2-title"><text>功能列表</text></view>
                <view class="box2-content">
                    <block v-for="(item,index) in functionList" :key="index">
                        <view class="box2-item"  @click="navTo(item.url)">
                        <view class="box2-item"  @click="setEvent(item.isUrl,item.url)">
                            <image :src= "item.icon" alt=""></image>
                            <view class="box2-item-text">{{item.text}}</view>
                        </view>
pages/recharge/index.vue
@@ -2,7 +2,7 @@
    import{ ref ,onMounted} from 'vue'
    import { wxPayApi } from '../../api/index.js'
    
    const choosedMoney = ref()
    const choosedMoney = ref(50)
    const disabled = ref(true)
    //选择金额
    const moneyList = ref([
@@ -56,7 +56,7 @@
        if(disabled.value){
            money = choosedMoney.value
        }else{
            money = otherMoney.value
            money = Number(otherMoney.value)
        }
        await wxPayApi({businessType:1,tradeAmount:money}).then((res) =>{
            console.log('reswxpay',res)
pages/station/index.vue
对比新文件
@@ -0,0 +1,198 @@
<template>
    <view class="container">
        <navbar title = '站点列表'></navbar>
        <view class="content">
            <view class="nav">
                    <view class="nav-title">
                        <view @click="switchTo(1)" class="title-text" :style="isNav === 1 ? isActive : {}">送水点</view>
                        <view @click="switchTo(2)" class="title-text" :style="isNav === 2 ? isActive : {}">设备点</view>
                    </view>
            </view>
            <view v-if="isNav === 1" class="main">
                <block v-for="(item,index) in sendWaterSiteList" :key='index'>
                    <view class="item">
                        <view class="item-img">
                            <image src="../../static/logo.png" alt=''></image>
                        </view>
                        <view class="item-info">
                            <view class="info-name">{{item.name}}</view>
                            <view class="info-addr" @click="openMap(item.latitude,item.longitude)">
                                <text class="addr-text">地址:{{item.address}}</text>
                                <view>
                                    <image src="../../static/images/index/icon22.png" alt=''></image>
                                    <text>{{item.distanceValue}}km</text>
                                </view>
                            </view>
                        </view>
                    </view>
                </block>
            </view>
            <view v-if="isNav === 2" class="main">
                <block v-for="(item,index) in facilitySiteList" :key='index'>
                    <view class="item">
                        <view class="item-img">
                            <image src="../../static/logo.png" alt=''></image>
                        </view>
                        <view class="item-info">
                            <view class="info-name">{{item.name}}</view>
                            <view class="info-addr">
                                <text class="addr-text">地址:{{item.address}}</text>
                                <view @click="openMap(item.latitude,item.longitude)">
                                    <image src="../../static/images/index/icon22.png" alt=''></image>
                                    <text>{{item.distanceValue}}km</text>
                                </view>
                            </view>
                        </view>
                    </view>
                </block>
            </view>
        </view>
    </view>
</template>
<script setup>
    import { onMounted, ref } from 'vue'
    import { siteApi } from '../../api/index.js'
    const isNav = ref(2)//1:送水点;2:设备点
    const isActive = ref({borderBottom:`3px solid #226AC9`})
    const userLocation = ref()
    const sendWaterSiteList = ref([])
    const facilitySiteList = ref([])
    //导航切换
    function switchTo(val){
        if((val === 1 && isNav.value === 1) || (val === 2 && isNav.value === 2)){
        }else{
            if(val === 1){
                isNav.value = 1
            }else if(val === 2){
                isNav.value = 2
            }
        }
    }
    //获取送水点及饮水设备点列表
    async function getSiteList(){
        let param1 = {
              type:1,
              latitude: userLocation.value.lat,
              longitude:userLocation.value.lon,
        }
        let param2 = {...param1}
        param2.type = 2
        await siteApi(param1).then((res) =>{
            sendWaterSiteList.value = res.data
        })
        await siteApi(param2).then((res1) =>{
            facilitySiteList.value = res1.data
        })
    }
    //打开地图导航
    function openMap(lat,lon){
        uni.openLocation({
            latitude: parseFloat(lat),
            longitude: parseFloat(lon),
            scale:18
        })
    }
    onMounted(async() =>{
        userLocation.value = JSON.parse(uni.getStorageSync('userLocation'))
        await getSiteList()
    })
</script>
<style lang="scss">
.container{
    width: 100%;
    height: 100vh;
    .content{
        width: 100%;
        height:calc(100vh - 176rpx);
        background:linear-gradient(to top,#FFFFFF,#E8EFFF);
        padding:32rpx 0 100rpx;
        box-sizing: border-box;
        .nav{
            height: 100rpx;
            width:100%;
            box-sizing: border-box;
            margin-bottom:32rpx;
            background-color: #FFF;
            .nav-title{
                width: 100%;
                box-sizing: border-box;
                padding: 0 160rpx;
                height: 100rpx;
                display: flex;
                justify-content: space-between;
                align-items: center;
                .title-text{
                    font-weight: 300;
                    font-size: 32rpx;
                    color: #000000;
                    width:120rpx;
                    height:65rpx;
                    text-align: center;
                    line-height:65rpx;
                }
            }
        }
           .main{
               height:calc(100vh - 176rpx - 350rpx);
               width:100%;
               // background-color: #e4f8ff;
               padding:0 32rpx;
               box-sizing: border-box;
               .item{
                   height:200rpx;
                   width:100%;
                   background-color: #FFFFFF;
                   border-radius: 24rpx;
                   padding:0 20rpx;
                   margin-bottom:20rpx;
                   box-sizing: border-box;
                   display: flex;
                   align-items:center;
                   .item-img{
                       image{
                           width:130rpx;
                           height: 130rpx;
                       }
                   }
                   .item-info{
                       display: flex;
                       flex-direction: column;
                       margin-left:20rpx;
                       justify-content: space-between;
                       .info-name{
                           color:#222c35;
                       }
                       .info-addr{
                           display: flex;
                           justify-content: space-between;
                           align-items:center;
                           .addr-text{
                               width:340rpx;
                               height:80rpx;
                               color: #6a6e75;
                               font-size:26rpx;
                           }
                           view{
                               display: flex;
                               justify-content: space-between;
                               align-items:center;
                               image{
                                   width:50rpx;
                                   height:50rpx;
                               }
                               text{
                                   color: #6a6e75;
                                   font-size:26rpx;
                               }
                           }
                       }
                   }
               }
           }
    }
}
</style>
pages/userInfo/index.vue
@@ -60,13 +60,15 @@
                <view class="info-list">
                    <view class="item">
                        <text>会员卡号</text>
                        <text>{{userInfo.waterCardNumber}}</text>
                        <text v-if="userInfo.waterCardNumber">{{userInfo.waterCardNumber}}</text>
                        <text v-else>未绑定会员卡</text>
                    </view>
                    <view class="item">
                        <text>联系方式</text>
                        <view>
                            <input v-if="isEdit" v-model="editForm.userPhone" placeholder="请输入新联系方式"/>
                            <text v-else>{{userInfo.userPhone}}</text>
                            <text v-if="userInfo.userPhone">{{userInfo.userPhone}}</text>
                            <text v-if="!userInfo.userPhone">未添加联系方式</text>
                            <!-- <image class="edit"src="../../static/images//other/more.png" alt=''></image> -->
                        </view>
                    </view>
static/images/index/card11.png
static/images/index/icon37.png

static/images/index/icon38.png

unpackage/dist/cache/.vite/deps/_metadata.json
@@ -1,8 +1,8 @@
{
  "hash": "01069312",
  "hash": "675162bf",
  "configHash": "14deb472",
  "lockfileHash": "8eeba737",
  "browserHash": "7ec93261",
  "lockfileHash": "8b439a23",
  "browserHash": "8f4b50d7",
  "optimized": {},
  "chunks": {}
}
unpackage/dist/dev/mp-weixin/api/index.js
@@ -42,9 +42,22 @@
function wxPayApi(data) {
  return util_request.request("/pay/service/wxPay", data, "POST");
}
function balanceChangeApi(date) {
  return util_request.request(`/userCapitalChange/getListByUser?date=${date}`, {}, "GET");
}
function paymentChangeApi(date) {
  return util_request.request(`/paymentRecords/getListByUser?date=${date}`, {}, "GET");
}
function rechargeChangeApi(date) {
  return util_request.request(`/rechargeRecords/getListByUser?date=${date}`, {}, "GET");
}
function reportLossApi(cardNumber) {
  return util_request.request(`/waterCard/reportLoss?cardNumber=${cardNumber}`, {}, "GET");
}
function removeCardApi(cardNumber) {
  return util_request.request(`/waterCard/remove?cardNumber=${cardNumber}`, {}, "GET");
}
exports.balanceChangeApi = balanceChangeApi;
exports.creatUserArchive = creatUserArchive;
exports.deleteAddressApi = deleteAddressApi;
exports.editAddressApi = editAddressApi;
@@ -54,6 +67,9 @@
exports.getUserInfo = getUserInfo;
exports.getVipInfoApi = getVipInfoApi;
exports.paymentChangeApi = paymentChangeApi;
exports.rechargeChangeApi = rechargeChangeApi;
exports.removeCardApi = removeCardApi;
exports.reportLossApi = reportLossApi;
exports.searchAddress = searchAddress;
exports.searchFacilityApi = searchFacilityApi;
exports.setAddressDefaultApi = setAddressDefaultApi;
unpackage/dist/dev/mp-weixin/app.js
@@ -6,8 +6,9 @@
  "./pages/index/index.js";
  "./pages/addCard/index.js";
  "./pages/userInfo/index.js";
  "./pages/balanceRecord/index.js";
  "./pages/paymentRecord/index.js";
  "./pages/functionList/balanceRecord/index.js";
  "./pages/functionList/paymentRecord/index.js";
  "./pages/functionList/rechargeRecord/index.js";
  "./pages/scanWater/index.js";
  "./pages/recharge/index.js";
  "./pages/sendWater/index.js";
unpackage/dist/dev/mp-weixin/app.json
@@ -3,8 +3,9 @@
    "pages/index/index",
    "pages/addCard/index",
    "pages/userInfo/index",
    "pages/balanceRecord/index",
    "pages/paymentRecord/index",
    "pages/functionList/balanceRecord/index",
    "pages/functionList/paymentRecord/index",
    "pages/functionList/rechargeRecord/index",
    "pages/scanWater/index",
    "pages/recharge/index",
    "pages/sendWater/index",
unpackage/dist/dev/mp-weixin/common/assets.js
@@ -27,8 +27,8 @@
exports._imports_0$5 = _imports_0$3;
exports._imports_0$6 = _imports_0$2;
exports._imports_0$7 = _imports_0$1;
exports._imports_1 = _imports_1$2;
exports._imports_1$1 = _imports_1$1;
exports._imports_1 = _imports_1$1;
exports._imports_1$1 = _imports_1$2;
exports._imports_1$2 = _imports_1;
exports._imports_10 = _imports_10;
exports._imports_11 = _imports_11;
unpackage/dist/dev/mp-weixin/config/baseUrl.js
@@ -1,3 +1,3 @@
"use strict";
const BASE_URL = "http://113.250.189.120:8031";
const BASE_URL = "http://192.168.0.105:8031";
exports.BASE_URL = BASE_URL;
unpackage/dist/dev/mp-weixin/pages/addCard/index.js
@@ -14,7 +14,8 @@
  __name: "index",
  setup(__props) {
    const form = common_vendor.ref({
      waterCardNumber: "",
      id: JSON.parse(common_vendor.index.getStorageSync("userInfo")).id,
      waterCardNumber: "023B7C45",
      userName: "",
      userPhone: "",
      remark: ""
unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.js
文件已删除
unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.json
文件已删除
unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxml
文件已删除
unpackage/dist/dev/mp-weixin/pages/balanceRecord/index.wxss
文件已删除
unpackage/dist/dev/mp-weixin/pages/index/index.js
@@ -13,36 +13,42 @@
    }
    const cardInfo = common_vendor.ref({
      id: "",
      userName: "",
      userName: "微信用户",
      headImg: "",
      userPhone: "",
      waterCardNumber: "",
      balance: "",
      count: "",
      userPhone: ""
      count: ""
    });
    const isVip = common_vendor.ref(false);
    async function getInfo() {
      let res = await api_index.getUserInfo();
      if (res.code == 200) {
        console.log("res", res.data);
        cardInfo.value.userName = res.data.userInfo.userName;
        cardInfo.value.headImg = res.data.userInfo.headImg;
        cardInfo.value.userPhone = res.data.userInfo.userPhone;
        cardInfo.value.id = res.data.userInfo.id;
        if (res.data.userInfo.waterCardNumber) {
          let res1 = await api_index.getVipInfoApi();
          cardInfo.value.waterCardNumber = res1.data.cardNumber;
          if (res1.data.cardType == 1) {
            cardInfo.value.balance = res1.data.balance;
          } else if (res1.data.cardType == 2) {
            cardInfo.value.count = res1.data.count;
    async function getVipInfo() {
      await api_index.getVipInfoApi().then((res) => {
        if (res.code == 200) {
          cardInfo.value.waterCardNumber = res.data.cardNumber;
          if (res.data.cardType == 1) {
            cardInfo.value.balance = res.data.balance;
          } else if (res.data.cardType == 2) {
            cardInfo.value.count = res.data.count;
          }
          isVip.value = true;
        } else {
          isVip.value = false;
        }
        common_vendor.index.setStorageSync("userInfo", JSON.stringify(cardInfo.value));
      }
      });
    }
    async function getInfo() {
      await api_index.getUserInfo().then(async (res) => {
        if (res.code == 200) {
          cardInfo.value.userName = res.data.userInfo.userName ? res.data.userInfo.userName : cardInfo.value.userName;
          cardInfo.value.headImg = res.data.userInfo.headImg;
          cardInfo.value.userPhone = res.data.userInfo.userPhone;
          cardInfo.value.id = res.data.userInfo.id;
          if (res.data.userInfo.waterCardNumber) {
            await getVipInfo();
          } else {
            isVip.value = false;
          }
          common_vendor.index.setStorageSync("userInfo", JSON.stringify(cardInfo.value));
        }
      });
    }
    function toScan() {
      common_vendor.index.scanCode({
@@ -56,19 +62,73 @@
      });
    }
    const functionList = common_vendor.ref([
      { text: "余额记录", icon: "../../static/images/index/icon31.png", url: "/pages/balanceRecord/index" },
      { text: "消费记录", icon: "../../static/images/index/icon32.png", url: "/pages/paymentRecord/index" },
      { text: "充值记录", icon: "../../static/images/index/icon33.png", url: "" },
      { text: "账户共享", icon: "../../static/images/index/icon34.png", url: "" },
      { text: "优惠卷", icon: "../../static/images/index/icon35.png", url: "" },
      { text: "电子发票", icon: "../../static/images/index/icon36.png", url: "" },
      { text: "联系客服", icon: "../../static/images/index/icon37.png", url: "" },
      { text: "推广分佣", icon: "../../static/images/index/icon38.png", url: "" }
      { text: "余额记录", icon: "../../static/images/index/icon31.png", url: "/pages/functionList/balanceRecord/index", isUrl: 1 },
      { text: "消费记录", icon: "../../static/images/index/icon32.png", url: "/pages/functionList/paymentRecord/index", isUrl: 1 },
      { text: "充值记录", icon: "../../static/images/index/icon33.png", url: "/pages/functionList/rechargeRecord/index", isUrl: 1 },
      { text: "账户共享", icon: "../../static/images/index/icon34.png", url: "", isUrl: 1 },
      { text: "优惠卷", icon: "../../static/images/index/icon35.png", url: "", isUrl: 1 },
      { text: "电子发票", icon: "../../static/images/index/icon36.png", url: "", isUrl: 1 },
      { text: "会员卡挂失", icon: "../../static/images/index/icon37.png", url: "", isUrl: 2 },
      { text: "会员卡注销", icon: "../../static/images/index/icon38.png", url: "", isUrl: 3 }
    ]);
    function navTo(itemUrl) {
      if (itemUrl) {
        common_vendor.index.navigateTo({
          url: itemUrl
        });
      }
    }
    async function setEvent(isUrl, url) {
      if (isUrl == 1) {
        navTo(url);
      } else if (isUrl == 2) {
        common_vendor.index.showModal({
          title: "会员卡挂失",
          content: "确认挂失会员卡?",
          success: async function(res) {
            if (res.confirm) {
              await api_index.reportLossApi(cardInfo.value.waterCardNumber).then((res2) => {
                if (res2.code == 200) {
                  common_vendor.index.showToast({
                    title: "已挂失",
                    duration: 2e3
                  });
                }
              });
            } else {
              console.log("点击了取消7");
            }
          }
        });
      } else if (isUrl == 3) {
        common_vendor.index.showModal({
          title: "会员卡注销",
          content: "确认注销会员卡?",
          success: async function(res) {
            if (res.confirm) {
              await api_index.removeCardApi(cardInfo.value.waterCardNumber).then(async (res2) => {
                if (res2.code == 200) {
                  common_vendor.index.showToast({
                    title: "已注销",
                    duration: 2e3
                  });
                  await getVipInfo().then((res3) => {
                    if (res3.code == 200) {
                      if (!res3.data.id) {
                        isVip.value = false;
                        cardInfo.value.balance = "";
                        cardInfo.value.count = "";
                        cardInfo.value.waterCardNumber = "";
                        common_vendor.index.setStorageSync("userInfo", JSON.stringify(cardInfo.value));
                      }
                    }
                  });
                }
              });
            } else {
              console.log("点击了取消8");
            }
          }
        });
      }
    }
@@ -79,41 +139,56 @@
      await getInfo();
    });
    return (_ctx, _cache) => {
      return {
      return common_vendor.e({
        a: common_assets._imports_0$1,
        b: common_vendor.t(cardInfo.value.userName),
        c: common_assets._imports_1,
        c: common_assets._imports_1$1,
        d: common_assets._imports_2,
        e: common_vendor.o(($event) => navTo("/pages/addCard/index")),
        f: common_vendor.o(($event) => navTo("/pages/userInfo/index")),
        g: common_assets._imports_3,
        h: common_assets._imports_4,
        i: common_vendor.t(cardInfo.value.waterCardNumber),
        j: common_vendor.t(cardInfo.value.userPhone),
        k: common_vendor.t(cardInfo.value.balance),
        l: common_vendor.o(($event) => navTo("/pages/recharge/index")),
        m: topHeight.value + "rpx",
        n: common_assets._imports_5,
        o: common_vendor.o(($event) => navTo("/pages/sendWater/index")),
        p: common_assets._imports_1$1,
        q: common_vendor.o(($event) => navTo("/pages/facilityList/index")),
        r: common_assets._imports_7,
        s: common_vendor.o(($event) => toScan()),
        t: common_vendor.f(functionList.value, (item, index, i0) => {
        h: isVip.value
      }, isVip.value ? {
        i: common_assets._imports_4
      } : {}, {
        j: isVip.value
      }, isVip.value ? {
        k: common_vendor.t(cardInfo.value.waterCardNumber)
      } : {}, {
        l: isVip.value
      }, isVip.value ? {} : {}, {
        m: !isVip.value
      }, !isVip.value ? {} : {}, {
        n: isVip.value
      }, isVip.value ? {
        o: common_vendor.t(cardInfo.value.balance)
      } : {}, {
        p: isVip.value
      }, isVip.value ? {
        q: common_vendor.o(($event) => navTo("/pages/recharge/index"))
      } : {}, {
        r: topHeight.value + "rpx",
        s: common_assets._imports_5,
        t: common_vendor.o(($event) => navTo("/pages/sendWater/index")),
        v: common_assets._imports_1,
        w: common_vendor.o(($event) => navTo("/pages/facilityList/index")),
        x: common_assets._imports_7,
        y: common_vendor.o(($event) => toScan()),
        z: common_vendor.f(functionList.value, (item, index, i0) => {
          return {
            a: item.icon,
            b: common_vendor.t(item.text),
            c: common_vendor.o(($event) => navTo(item.url), index),
            c: common_vendor.o(($event) => setEvent(item.isUrl, item.url), index),
            d: index
          };
        }),
        v: common_assets._imports_8,
        w: common_assets._imports_9,
        x: common_assets._imports_10,
        y: common_vendor.o(($event) => navTo("/pages/station/index")),
        z: common_assets._imports_11,
        A: common_assets._imports_10
      };
        A: common_assets._imports_8,
        B: common_assets._imports_9,
        C: common_assets._imports_10,
        D: common_vendor.o(($event) => navTo("/pages/station/index")),
        E: common_assets._imports_11,
        F: common_assets._imports_10
      });
    };
  }
};
unpackage/dist/dev/mp-weixin/pages/index/index.wxml
@@ -1 +1 @@
<view class="container data-v-1cf27b2a"><view class="content data-v-1cf27b2a"><view class="card-box data-v-1cf27b2a" style="{{'padding-top:' + m}}"><view class="user-info data-v-1cf27b2a" bindtap="{{f}}"><image class="user-img data-v-1cf27b2a" src="{{a}}" alt=""></image><text class="data-v-1cf27b2a">{{b}}</text><image class="user-more data-v-1cf27b2a" src="{{c}}"></image><view class="user-add-card data-v-1cf27b2a" bindtap="{{e}}"><image class="data-v-1cf27b2a" src="{{d}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view class="card data-v-1cf27b2a"><image class="card-bg data-v-1cf27b2a" src="{{g}}" alt=""></image><view class="card-content data-v-1cf27b2a"><view class="card-left data-v-1cf27b2a"><view class="left-top data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{h}}" alt=""></image><text class="data-v-1cf27b2a">会员卡</text></view><view class="data-v-1cf27b2a">ID:{{i}}</view></view><view class="left-bottom data-v-1cf27b2a">电话:{{j}}</view></view><view class="card-right data-v-1cf27b2a"><view class="card-right-top data-v-1cf27b2a"><text class="data-v-1cf27b2a">金额卡</text><text class="data-v-1cf27b2a">{{k}}元</text></view><view class="card-right-bottom data-v-1cf27b2a" bindtap="{{l}}">充值</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a" bindtap="{{o}}"><image class="data-v-1cf27b2a" src="{{n}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view bindtap="{{q}}" class="box1-bg box1-two data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{p}}" alt=""></image><view class="data-v-1cf27b2a">附近设备</view></view><view class="box1-bg box1-three data-v-1cf27b2a" bindtap="{{s}}"><image class="data-v-1cf27b2a" src="{{r}}" alt=""></image><view class="data-v-1cf27b2a">扫码取水</view></view></view><view class="function-box2 data-v-1cf27b2a"><view class="box2-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">功能列表</text></view><view class="box2-content data-v-1cf27b2a"><block wx:for="{{t}}" wx:for-item="item" wx:key="d"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.c}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image><view class="box2-item-text data-v-1cf27b2a">{{item.b}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{v}}" alt=""></image></view><view class="service-box data-v-1cf27b2a"><view class="service-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">服务指南</text></view><view class="service-content data-v-1cf27b2a"><view class="service-bg data-v-1cf27b2a" bindtap="{{y}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{w}}" alt=""></image><text class="data-v-1cf27b2a">附近站点</text></view><view class="service-info data-v-1cf27b2a">蔡家供水服务中心正在营业中……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{x}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{z}}" alt=""></image><text class="data-v-1cf27b2a">公示公告</text></view><view class="service-info data-v-1cf27b2a">停水公告的部分摘要的内容展示……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{A}}" alt=""></image></view></view></view></view></view></view>
<view class="container data-v-1cf27b2a"><view class="content data-v-1cf27b2a"><view class="card-box data-v-1cf27b2a" style="{{'padding-top:' + r}}"><view class="user-info data-v-1cf27b2a" bindtap="{{f}}"><image class="user-img data-v-1cf27b2a" src="{{a}}" alt=""></image><text class="data-v-1cf27b2a">{{b}}</text><image class="user-more data-v-1cf27b2a" src="{{c}}"></image><view class="user-add-card data-v-1cf27b2a" bindtap="{{e}}"><image class="data-v-1cf27b2a" src="{{d}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view class="card data-v-1cf27b2a"><image class="card-bg data-v-1cf27b2a" src="{{g}}" alt=""></image><view class="card-content data-v-1cf27b2a"><view class="card-left data-v-1cf27b2a"><view class="left-top data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image wx:if="{{h}}" class="data-v-1cf27b2a" src="{{i}}" alt=""></image><text class="data-v-1cf27b2a">会员卡</text></view><view wx:if="{{j}}" class="data-v-1cf27b2a">ID:{{k}}</view></view></view><view class="card-right data-v-1cf27b2a"><view class="card-right-top data-v-1cf27b2a"><text wx:if="{{l}}" class="data-v-1cf27b2a">金额卡</text><text wx:if="{{m}}" class="data-v-1cf27b2a">未绑定会员卡</text><text wx:if="{{n}}" class="data-v-1cf27b2a">{{o}}元</text></view><view wx:if="{{p}}" class="card-right-bottom data-v-1cf27b2a" bindtap="{{q}}">充值</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a" bindtap="{{t}}"><image class="data-v-1cf27b2a" src="{{s}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view bindtap="{{w}}" class="box1-bg box1-two data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{v}}" alt=""></image><view class="data-v-1cf27b2a">附近设备</view></view><view class="box1-bg box1-three data-v-1cf27b2a" bindtap="{{y}}"><image class="data-v-1cf27b2a" src="{{x}}" alt=""></image><view class="data-v-1cf27b2a">扫码取水</view></view></view><view class="function-box2 data-v-1cf27b2a"><view class="box2-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">功能列表</text></view><view class="box2-content data-v-1cf27b2a"><block wx:for="{{z}}" wx:for-item="item" wx:key="d"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.c}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image><view class="box2-item-text data-v-1cf27b2a">{{item.b}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{A}}" alt=""></image></view><view class="service-box data-v-1cf27b2a"><view class="service-title data-v-1cf27b2a"><text class="data-v-1cf27b2a">服务指南</text></view><view class="service-content data-v-1cf27b2a"><view class="service-bg data-v-1cf27b2a" bindtap="{{D}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{B}}" alt=""></image><text class="data-v-1cf27b2a">附近站点</text></view><view class="service-info data-v-1cf27b2a">蔡家供水服务中心正在营业中……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{C}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{E}}" alt=""></image><text class="data-v-1cf27b2a">公示公告</text></view><view class="service-info data-v-1cf27b2a">停水公告的部分摘要的内容展示……</view><view class="data-v-1cf27b2a"><text class="data-v-1cf27b2a">查看更多</text><image class="data-v-1cf27b2a" src="{{F}}" alt=""></image></view></view></view></view></view></view>
unpackage/dist/dev/mp-weixin/pages/recharge/index.js
@@ -12,7 +12,7 @@
const _sfc_main = {
  __name: "index",
  setup(__props) {
    const choosedMoney = common_vendor.ref();
    const choosedMoney = common_vendor.ref(50);
    const disabled = common_vendor.ref(true);
    const moneyList = common_vendor.ref([
      { value: 50, active: true },
@@ -54,7 +54,7 @@
      if (disabled.value) {
        money = choosedMoney.value;
      } else {
        money = otherMoney.value;
        money = Number(otherMoney.value);
      }
      await api_index.wxPayApi({ businessType: 1, tradeAmount: money }).then((res) => {
        console.log("reswxpay", res);
unpackage/dist/dev/mp-weixin/static/images/index/icon37.png

unpackage/dist/dev/mp-weixin/static/images/index/icon38.png