Liuyi
2024-12-20 d470e67ac1997882502b75cbfdaf359626cfaaa8
测试修复小程序问题,添加水控机设备
已修改31个文件
已删除10个文件
已添加9个文件
1925 ■■■■■ 文件已修改
api/index.js 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages.json 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/addCard/index.vue 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/facilityList/index.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/functionList/share/shareConfirm/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/index/index.vue 646 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/infoBreakdown/index.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/recharge/index.vue 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/scanWater/index.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/station/index.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/wxScanWater/index.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pagesAdmin/adminPlatform/facilityDetail.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pagesAdmin/adminPlatform/home.vue 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pagesAdmin/adminPlatform/maintain.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pagesAdmin/adminPlatform/params.vue 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pagesAdmin/adminPlatform/params1.vue 278 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pagesPoints/pointsMall/pointsGoodsDetail/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/images/addCard/code.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/addCard/code.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/images/index/card11.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/index/home21.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/index/home21.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/images/index/icon22.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/index/icon22.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/images/index/icon51.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/index/icon51.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/images/index/notice5.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/index/notice5.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/images/index/point-banner.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/index/scan.png 补丁 | 查看 | 原始文档 | blame | 历史
static/images/station/facilityImg.svg 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/api/index.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/app.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/app.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/common/assets.js 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/common/vendor.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/addCard/index.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/index/index.js 128 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/index/index.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/index/index.wxss 316 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/recharge/index.js 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/pages/recharge/index.wxml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/project.config.json 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/project.private.config.json 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/static/images/addCard/code.png 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/static/images/index/home21.png 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/static/images/index/icon22.png 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/static/images/index/icon51.png 补丁 | 查看 | 原始文档 | blame | 历史
unpackage/dist/dev/mp-weixin/static/images/index/notice5.png 补丁 | 查看 | 原始文档 | blame | 历史
api/index.js
@@ -184,13 +184,21 @@
export function closeFacilityApi(data){
    return request('/api/facility/close',data,'POST')
}
//获取设备参数
//获取售水机设备参数
export function getParameterApi(sn){
    return request(`/waterFacility/getParameter?sn=${sn}`,{},'GET')
}
//修改设备参数
//获取水控机设备参数
export function getParameter1Api(sn){
    return request(`/waterFacility/getWaterControlParameter?sn=${sn}`,{},'GET')
}
//修改售水机设备参数
export function editParameterApi(data){
    return request('/waterFacility/editParameter',data,'POST')
}
//修改水控机设备参数
export function editParameter1Api(data){
    return request('/waterFacility/editWaterControlParameter',data,'POST')
}
//查询设备故障上报
@@ -209,6 +217,11 @@
export function editExamineApi(data){
    return request('/waterFacilityMalfunction/modify',data,'POST')
}
//修改密码
export function changePasswordApi(data){
    return request('/admin/user/changePassword',data,'POST')
}
pages.json
@@ -222,6 +222,12 @@
                    }
                },
                {
                    "path" : "adminPlatform/params1",
                    "style": {
                        "navigationStyle":"custom"
                    }
                },
                {
                    "path" : "adminPlatform/breakdown",
                    "style": {
                        "navigationStyle":"custom"
pages/addCard/index.vue
@@ -81,42 +81,23 @@
                    <uni-forms ref="formRef" :model="form" :rules="rules" label-width = 100>
                        <uni-forms-item class="form-item" label="卡号:" name="waterCardNumber">
                            <view class="card-item">
                                <input v-model="form.waterCardNumber" placeholder="请输入卡号或扫描二维码" />
                                <image @click="toScan()" src="../../static/images/addCard/code.png" alt=""></image>
                                <input class="scan-input" v-model="form.waterCardNumber" placeholder="请输入卡号或扫描二维码" />
                                <image class="scan-img" @click="toScan()" src="../../static/images/addCard/code.svg" alt=""></image>
                            </view>
                        </uni-forms-item>
                        <uni-forms-item label="姓名:" name="userName">
                            <input v-model="form.userName" placeholder="请输入姓名" />
                            <input class="input-item" v-model="form.userName" placeholder="请输入姓名" />
                        </uni-forms-item>
                        <uni-forms-item label="联系方式:" name="userPhone">
                            <input type="textarea" v-model="form.userPhone" placeholder="请输入手机号" />
                            <input class="input-item" type="textarea" v-model="form.userPhone" placeholder="请输入手机号" />
                        </uni-forms-item>
                        <uni-forms-item label="备注:" name="remark">
                            <input type="textarea" v-model="form.remark" placeholder="请输入内容" />
                            <input class="input-item" type="textarea" v-model="form.remark" placeholder="请输入内容" />
                        </uni-forms-item>
                    </uni-forms>
                </view>
                <!-- <view class="form">
                    <view class="form-item card-item">
                        <text>卡号:</text>
                        <input v-model="form.waterCardNumber" placeholder="请输入卡号"/>
                        <image @click="toScan()" src="../../static/images/addCard/code.png" alt=""></image>
                    </view>
                    <view class="form-item">
                        <text>姓名:</text>
                        <input v-model="form.userName" placeholder="请输入姓名"/>
                    </view>
                    <view class="form-item">
                        <text>联系方式:</text>
                        <input v-model="form.userPhone" placeholder="请输入手机号"/>
                    </view>
                    <view class="form-item">
                        <text>备注:</text>
                        <input v-model="form.remark" placeholder="请输入内容"/>
                    </view>
                </view> -->
                <view class="tips">
                    <text>1、完成实名认证,方便遗失挂失及补卡等。</text>
                    <text class="tips-text">1、完成实名认证,方便遗失挂失及补卡等。</text>
                    <text>2、绑卡后,运营商可以看到您实名时填写的姓名和电话。</text>
                </view>
                <view class="subBtn" @click="submit()">提交信息</view>
@@ -152,7 +133,7 @@
                   border-radius: 24rpx;
                   padding:30rpx 50rpx 0;
                   box-sizing: border-box;
                   input{
                   .input-item{
                       line-height:100%;
                       height:100%;
                   }
@@ -161,15 +142,15 @@
                       justify-content: space-around;
                       height:100%;
                       align-items: center;
                       input{
                       .scan-input{
                         width:375rpx;
                         margin-right:20rpx;
                         line-height:100%;
                         height:100%;
                         }
                         image{
                             width:44rpx;
                             height:44rpx;
                         .scan-img{
                             width:56rpx;
                             height:56rpx;
                         }
                   }
               }
@@ -185,7 +166,7 @@
                   font-weight: 300;
                   font-size:28rpx;
                   color: #484848;
                   text:first-child{
                   .tips-text{
                       margin-bottom:28rpx;
                   }
               }
pages/facilityList/index.vue
@@ -6,14 +6,15 @@
                <block v-for="(item,index) in deviceList" :key="index">
                    <view class="item">
                        <view class="item-img">
                            <image src="../../static/logo.png" alt=''></image>
                            <image v-if="item.url" :src="baseUrl + '/upload' + item.url" alt='' mode="aspectFit"></image>
                            <image v-else src="../../static/images/station/facilityImg.svg" alt='' mode="aspectFit"></image>
                        </view>
                        <view class="item-info">
                            <view class="info-name">{{item.facilityName}}</view>
                            <view class="info-addr" @click="openMap(item.lat,item.lon)">
                                <text class="addr-text">地址:{{item.address}}</text>
                                <view>
                                    <image src="../../static/images/index/icon22.png" alt=''></image>
                                    <image src="../../static/images/index/icon22.svg" alt=''></image>
                                    <text>{{item.distance}}km</text>
                                </view>
                            </view>
@@ -28,6 +29,9 @@
<script setup>
    import { onMounted, ref } from 'vue'
    import { searchFacilityApi } from '../../api/index.js'
    import { BASE_URL } from '../../config/baseUrl.js'
    const baseUrl = ref(BASE_URL)
    const deviceList = ref([])
    const userLocation = ref()
    //获取设备信息
@@ -44,6 +48,7 @@
                        distance:preDistance.km,
                        lat:item.latitude,
                        lon:item.longitude,
                        url:item.facilityUrl
                    })
                })
                console.log('deviceList.value',deviceList.value)
@@ -64,6 +69,7 @@
    }
    //打开地图导航
    function openMap(lat,lon){
        console.log('lat:',parseFloat(lat),'lon:',parseFloat(lon))
        uni.openLocation({
            latitude: parseFloat(lat),
            longitude: parseFloat(lon),
pages/functionList/share/shareConfirm/index.vue
@@ -42,7 +42,7 @@
            console.log('请求响应',res)
            if(res.code == 200){
                uni.showToast({
                    title:'共享成功',
                    title:'已发起,待确认',
                    duration:1500,
                })
                setTimeout(() =>{
pages/index/index.vue
@@ -15,6 +15,7 @@
     * 会员卡相关
     */
    const cardInfo = ref({
        //用户档案信息
        id:'',
        userName:'微信用户',
        headImg:'',
@@ -35,38 +36,40 @@
    //获取会员卡信息
     async function getVipInfo(){
        await getVipInfoApi().then((res) =>{
            console.log('会员卡信息响应',res)
            if(res.code == 200 && res.data.id){
                console.log('获取会员卡返回响应-首页',res)
                //用户信息处理存储
                cardInfo.value.waterCardNumber = res.data.cardNumber
                cardInfo.value.cardType = res.data.cardType
                //用户信息处理存储
                cardInfo.value.state = res.data.state == 2 ? true : false//state:2:挂失,1:正常 是否挂失
                cardInfo.value.state = res.data.state == 2 ? true : false//state:2:挂失,1:正常
                cardInfo.value.userCardType = res.data.userCardType == 2 ? true : false //userCardType:2:共享卡,1:正常卡
                
                //数据使用
                isLoss.value = cardInfo.value.state 
                isShareCard.value = cardInfo.value.userCardType
                isShareCard.value = cardInfo.value.userCardType
                 //判断费用卡还是计次卡
                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
                console.log('cardInfo',cardInfo.value,'isShareCard.value',isShareCard.value)
                console.log('会员卡及用户信息',cardInfo.value)
            }
        })
    }
    //获取用户信息
    async function getInfo(){
         await getUserInfo().then(async(res) =>{
             console.log('用户信息响应',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.integral = res.data.userInfo.integral
                // showHeadImg.value = BASE_URL + '/upload' + cardInfo.value.headImg
                cardInfo.value.userPhone = res.data.userInfo.userPhone
                cardInfo.value.id = res.data.userInfo.id
                await getVipInfo()
                console.log('用户信息响应',res)
                console.log('用户信息',cardInfo.value)
                uni.setStorageSync('userInfo',JSON.stringify(cardInfo.value))
            }
@@ -80,9 +83,10 @@
        uni.scanCode({
            scanType: ['qrCode'],
            success: async function (res) {
                console.log('条码内容:' + res.result);
                let code = res.result.split('=')[1]
                console.log('条码内容:' + res.result,'code',code);
                uni.navigateTo({
                            url:`/pages/scanWater/index?facilityCode=${res.result}`
                            url:`/pages/scanWater/index?facilityCode=${code}`
                        })
            }
        });
@@ -92,14 +96,14 @@
     */
    const functionList = ref([
        //isUrl:1:页面跳转,2:弹窗功能,3:弹窗功能,4:未开发
        {text:'余额记录',icon:'../../static/images/index/icon31.png',bgColor:'#16b387',url:'/pages/functionList/balanceRecord/index',isUrl:1},
        {text:'消费记录',icon:'../../static/images/index/icon32.png',bgColor:'#329ae8',url:'/pages/functionList/paymentRecord/index',isUrl:1},
        {text:'充值记录',icon:'../../static/images/index/icon33.png',bgColor:'#f0a50e',url:'/pages/functionList/rechargeRecord/index',isUrl:1},
        {text:'水卡共享',icon:'../../static/images/index/icon34.png',bgColor:'#55ca8c',url:'/pages/functionList/share/cardShare/index',isUrl:1},
        {text:'故障上报',icon:'../../static/images/index/icon35.png',bgColor:'#a88ff1',url:'/pages/infoBreakdown/index',isUrl:1},
        {text:'优惠卷',icon:'../../static/images/index/icon36.png',bgColor:'#18bfc4',url:'',isUrl:4},
        {text:'会员卡挂失',icon:'../../static/images/index/icon37.png',bgColor:'#4875f0',url:'',isUrl:2},
        {text:'会员卡解绑',icon:'../../static/images/index/icon38.png',bgColor:'#f45088',url:'',isUrl:3},
        {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:'/pages/functionList/share/cardShare/index',isUrl:1},
        {text:'故障上报',icon:'../../static/images/index/icon35.png',url:'/pages/infoBreakdown/index',isUrl:1},
        {text:'优惠卷',icon:'../../static/images/index/icon36.png',url:'',isUrl:4},
        {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){
@@ -163,7 +167,7 @@
                    uni.showModal({
                            title: '会员卡注销',
                            content: '确认注销会员卡?',
                            success: async function(res) {
                            success: async function(res){
                            if (res.confirm) {
                                await removeBindingApi(cardInfo.value.waterCardNumber).then(async(res) =>{
                                    if(res.code == 200){
@@ -278,23 +282,26 @@
        }
    }
    onMounted( async() =>{
        console.log('空用户信息',cardInfo.value)
        uni.setStorageSync('userInfo',JSON.stringify(cardInfo.value))
        getTopHeight()
        await getInfo()
        await getUserLocation()
        console.log('进入首页了')
        console.log('onMounted','用户存储本地数据',JSON.parse(uni.getStorageSync('userInfo')))
    })
    onShow(async() =>{
        getTopHeight()
        await getInfo()
        console.log('onShow','用户存储本地数据',JSON.parse(uni.getStorageSync('userInfo')))
    })
    uni.showShareMenu({
      withShareTicket: true,
      menus: ['shareAppMessage', 'shareTimeline'],
      success: function () {
        console.log('分享菜单显示成功');
        // console.log('分享菜单显示成功');
      },
      fail: function (err) {
        console.error('分享菜单显示失败', err);
        // console.error('分享菜单显示失败', err);
      }
    });
</script>
@@ -308,52 +315,55 @@
                    <image v-else class="user-img" src='../../static/images/index/head.png' alt=''></image>
                    <text @click="navTo('/pages/userInfo/index')">{{cardInfo.userName}}</text>
                    <image @click="navTo('/pages/userInfo/index')" class="user-more"src="../../static/images/index/back.png"></image>
                    <!-- <view class="user-add-card" @click="navTo('/pages/addCard/index')">
                        <image src='../../static/images/index/vip-add.png' alt=''></image>
                        <text>添加会员卡</text>
                    </view> -->
                </view>
                <view class="card">
                    <image class="card-bg" src="../../static/images/index/card11.png" alt=""></image>
                    <view v-if="isShareCard" class="share-card">共享卡号:{{cardInfo.waterCardNumber}}</view>
                    <view v-if="!isShareCard" class="card-content">
                        <view class="card-left">
                            <view class="left-top">
                                <view>
                                    <image v-if="isVip"  src="../../static/images/index/code1.png" alt=""></image>
                                    <text v-if="isVip">会员卡&nbsp;</text>
                                    <text v-if="!isVip">未绑定&nbsp;</text>
                                    <text class="lossed" v-if="isLoss && isVip">&nbsp;[已挂失]</text>
                    <view v-if="isVip" class="card-detail">
                        <view class="card-top">
                            <view class="vip">VIP</view>
                            <view class="top-right">
                                <view v-if="isShareCard" class="card-name">
                                    <text>共享卡</text>
                                    <text v-if="isLoss">[已挂失]</text>
                                </view>
                                <view v-if="isVip">ID:{{cardInfo.waterCardNumber}}</view>
                            </view>
                        </view>
                        <view class="card-right">
                            <view class="card-right-top">
                                <text v-if="isVip">金额卡</text>
                                <text v-if="isVip">{{cardInfo.balance}}元</text>
                                <view v-if="!isVip" class="user-add-card" @click="navTo('/pages/addCard/index')">
                                    <image src='../../static/images/index/vip-add.png' alt=''></image>
                                    <text>添加会员卡</text>
                                <view v-if="!isShareCard" class="card-name">
                                    <text>会员卡</text>
                                    <text v-if="isLoss" class="card-loss">[已挂失]</text>
                                </view>
                                <view class="card-num">
                                    卡号:{{cardInfo.waterCardNumber}}
                                </view>
                            </view>
                            <view v-if="isVip" class="card-right-bottom" @click="navTo('/pages/recharge/index')">充值</view>
                        </view>
                        <view class="card-bottom">
                            <view class="bottom-left">
                                <text class="bottom-left-text">余额:</text>
                                <text class="bottom-left-money">{{cardInfo.balance}}</text>
                            </view>
                            <view v-if="!isShareCard" @click="navTo('/pages/recharge/index')" class="card-btn">充值</view>
                        </view>
                    </view>
                    <view v-if="!isVip" class="card-none">
                        <view class="card-none-top"><text>未绑定会员卡</text></view>
                        <view class="card-none-bottom"><view @click="navTo('/pages/addCard/index')" class="card-btn">去绑定</view></view>
                    </view>
                </view>
            </view>
            <!-- 功能区 -->
            <view class="function-box1">
                <view class="box1-bg box1-one" @click="upGrade">
                <!-- <view class="box1-bg box1-one" @click="navTo('/pages/preSendWater/index')"> -->
                    <image src="../../static/images/index/home21.png" alt=""></image>
                    <image class="box-one-image1" src="../../static/images/index/home21.svg" alt=""></image>
                    <view>送水到家</view>
                </view>
                <view @click="navTo('/pages/facilityList/index')" class="box1-bg box1-two">
                    <image src="../../static/images/index/icon22.png" alt=""></image>
                    <image class="box-one-image2" src="../../static/images/index/icon22.svg" alt=""></image>
                    <view>附近设备</view>
                </view>
                <view class="box1-bg box1-three" @click="toScan()">
                    <image src="../../static/images/index/icon23.png" alt=""></image>
            </view>
            <!-- 扫码取水 -->
            <view class="scan-box">
                <view class="scan" @click="toScan()">
                    <image class="scan-img" src="../../static/images/index/scan.png"></image>
                    <view>扫码取水</view>
                </view>
            </view>
@@ -362,34 +372,22 @@
                <view class="box2-content">
                    <block v-for="(item,index) in functionList" :key="index">
                        <view class="box2-item"  @click="setEvent(item.isUrl,item.url)">
                            <view class="box2-item-img" :style="{background:item.bgColor}"><image :src= "item.icon" alt=""></image></view>
                            <view class="box2-item-img"><image class="box2-image" :src= "item.icon" alt=""></image></view>
                            <view class="box2-item-text">{{item.text}}</view>
                        </view>
                    </block>
                </view>
            </view>
            <!-- <view @click="navTo('/pages/wxScanWater/index')">测试扫码取水</view> -->
            <!-- 积分商城 -->
            <view class="advertisement-box" @click="navTo('/pagesPoints/pointsMall/index')">
                <view class="point-advert">
                    <view class="advert-image">
                        <image  class="image-icon3" src="../../static/images/index/advert-icon3.svg"></image>
                        <image class="image-icon1" src="../../static/images/index/advert-icon1.svg"></image>
                        <image  class="image-icon2" src="../../static/images/index/advert-icon2.svg"></image>
                        <image  class="image-icon4" src="../../static/images/index/advert-icon4.svg"></image>
                    </view>
                    <view class="advert-title">
                        <view class="advert-title1">积分商城</view>
                        <view class="advert-title2"><text>点击进入</text></view>
                    </view>
                </view>
                <image class="banner-img" src="../../static/images/index/point-banner.png"></image>
            </view>
            <view class="service-box">
                <view class="service-title"><text>服务指南</text></view>
                <view class="service-content">
                    <view class="service-bg" @click="navTo('/pages/station/index')">
                        <view>
                            <image src="../../static/images/index/icon51.png" alt=""></image>
                            <image src="../../static/images/index/icon51.svg" alt=""></image>
                            <text>附近站点</text>
                        </view>
                        <view class="service-info">服务中心正在营业中……</view>
@@ -401,7 +399,7 @@
                    <view class="service-bg" @click="upGrade">
                    <!-- <view class="service-bg" @click="navTo('/pages/counterRecharge/index')"> -->
                            <view>
                                <image src="../../static/images/index/notice5.png" alt=""></image>
                                <image src="../../static/images/index/notice5.svg" alt=""></image>
                                <text>公示公告</text>
                            </view>
                            <view class="service-info">停水公告的部分摘要的内容展示……</view>
@@ -418,12 +416,13 @@
<style lang="scss" scoped>
    .container{
        width:100%;
        height:100vh;
        overflow:scroll;
        // height:100vh;
        // overflow-y:scroll;
        .content{
            width:100%;
            height:100vh;
            // height:100vh;
            background:#F6F6F6;
            overflow:scroll;
            .card-box{
                width: 100%;
                height: auto;
@@ -455,157 +454,258 @@
                }
                .card{
                    width: 100%;
                    height: 290rpx;
                    height: 256rpx;
                    position:relative;
                    .card-bg{
                        height:290rpx;
                        height:256rpx;
                        width:100%;
                        top:0;
                        position: absolute;
                        z-index:1;
                    }
                    .share-card{
                        position:absolute;
                        top:16rpx;
                        left:28rpx;
                        z-index:100;
                        font-weight:400;
                        font-size: 36rpx;
                        color: #FFFFFF;
                    }
                    .card-content{
                    .card-none{
                        width: 100%;
                        height: 100%;
                        height:100%;
                        padding:38rpx;
                        box-sizing: border-box;
                        padding:20rpx 15rpx;
                        display: flex;
                        justify-content:space-between;
                        font-weight: 300;
                        font-size: 30rpx;
                        color: #FFFFFF;
                        z-index:100;
                        .card-left{
                            height:100%;
                            display: flex;
                            justify-content:space-between;
                            flex-direction:column;
                            align-items:flex-start;
                            z-index:100;
                            .left-top{
                                display: flex;
                                flex-direction: column;
                                view:first-child{
                                    display: flex;
                                    align-items: center;
                                    image{
                                        width:48rpx;
                                        height:48rpx;
                                    }
                                    text{
                                        font-weight:400;
                                        font-size: 36rpx;
                                        color: #FFFFFF;
                                    }
                                    .lossed{
                                        color:#fff;
                                    }
                                }
                                view:last-child{
                                    margin-left:10rpx;
                                    font-size: 26rpx;
                                    font-weight:500;
                                }
                            }
                        flex-direction: column;
                        justify-content:space-around;
                        color:#fff;
                        z-index:2;
                        .card-none-top{
                            font-size:40rpx;
                            font-weight:600;
                            z-index:2;
                            letter-spacing:2rpx;
                        }
                        .card-right{
                        .card-none-bottom{
                            display: flex;
                            justify-content: space-between;
                            align-items:flex-end;
                            flex-direction: column;
                            height:100%;
                            z-index:100;
                            .card-right-top{
                                align-items:flex-end;
                                display: flex;
                                justify-content: space-between;
                                flex-direction: column;
                                font-size:34rpx;
                                .user-add-card{
                                    display:flex;
                                    align-items:center;
                                    height:52rpx;
                                    font-size:28rpx;
                                    background:linear-gradient(to right,#B1D9FD 0%,#65A7FD 70%,#65A7FD 100%);
                                    border-radius:50rpx;
                                    padding: 0 20rpx;
                                    image{
                                        width:36rpx;
                                        height:36rpx;
                                        margin-right:6rpx;
                                        opacity:0.8;
                                    }
                                    text{
                                        color:#FFF;
                                    }
                                }
                                text:last-child{
                                    font-weight:500;
                                }
                            }
                            .card-right-bottom{
                                width:137rpx;
                                height:56rpx;
                                background:linear-gradient(to right,#65A7FD ,#B1D9FD);
                                border-radius:50rpx;
                            justify-content: flex-end;
                            z-index:2;
                            .card-btn{
                                width: 196rpx;
                                height: 80rpx;
                                background: linear-gradient( to right,#338AFD 0%, #65A7FD 100%);
                                border-radius: 40rpx;
                                text-align: center;
                                line-height: 56rpx;
                                color:#212DDE;
                                font-weight: 400;
                                line-height: 80rpx;
                                font-size:44rpx;
                                letter-spacing:3rpx;
                                font-weight:500;
                            }
                        }
                    }
                    .card-detail{
                        width: 100%;
                        height:100%;
                        padding:38rpx;
                        box-sizing: border-box;
                        display: flex;
                        flex-direction: column;
                        justify-content: center;
                        color:#fff;
                        z-index:2;
                        .card-top{
                            width:100%;
                            display: flex;
                            align-items: center;
                            z-index:2;
                            .vip{
                                font-size:114rpx;
                                font-weight: 600;
                            }
                            .top-right{
                                display: flex;
                                flex-direction: column;
                                justify-content: center;
                                margin-left:20rpx;
                                .card-name{
                                    font-size:40rpx;
                                    font-weight:400;
                                    .card-loss{
                                        font-size:34rpx;
                                        font-weight:600;
                                        margin-left:10rpx;
                                        letter-spacing:2rpx;
                                        color: #333434;
                                    }
                                }
                                .card-num{
                                    font-size:34rpx;
                                    font-weight:400;
                                }
                            }
                        }
                        .card-bottom{
                            width:100%;
                            display: flex;
                            align-items: center;
                            justify-content: space-between;
                            z-index: 2;
                            .bottom-left{
                                display: flex;
                                align-items:center;
                                .bottom-left-text{
                                    font-size:40rpx;
                                    font-weight:400;
                                    letter-spacing:2rpx;
                                }
                                .bottom-left-money{
                                    font-size:60rpx;
                                    font-weight:600;
                                }
                            }
                            .card-btn{
                                width: 196rpx;
                                height: 80rpx;
                                background: linear-gradient( 270deg, #65B5FD 0%, #338AFD 100%, #65A7FD 100%);
                                border-radius: 40rpx;
                                text-align: center;
                                line-height: 80rpx;
                                font-size:48rpx;
                                letter-spacing:6rpx;
                            }
                        }
                    }
                    // .share-card{
                    //     position:absolute;
                    //     top:16rpx;
                    //     left:28rpx;
                    //     z-index:100;
                    //     font-weight:400;
                    //     font-size: 36rpx;
                    //     color: #FFFFFF;
                    // }
                    // .card-content{
                    //     width: 100%;
                    //     height: 100%;
                    //     box-sizing: border-box;
                    //     padding:20rpx 15rpx;
                    //     display: flex;
                    //     justify-content:space-between;
                    //     font-weight: 300;
                    //     font-size: 30rpx;
                    //     color: #FFFFFF;
                    //     z-index:100;
                    //     .card-left{
                    //         height:100%;
                    //         display: flex;
                    //         justify-content:space-between;
                    //         flex-direction:column;
                    //         align-items:flex-start;
                    //         z-index:100;
                    //         .left-top{
                    //             display: flex;
                    //             flex-direction: column;
                    //             view:first-child{
                    //                 display: flex;
                    //                 align-items: center;
                    //                 image{
                    //                     width:48rpx;
                    //                     height:48rpx;
                    //                 }
                    //                 text{
                    //                     font-weight:400;
                    //                     font-size: 36rpx;
                    //                     color: #FFFFFF;
                    //                 }
                    //                 .lossed{
                    //                     color:#fff;
                    //                 }
                    //             }
                    //             view:last-child{
                    //                 margin-left:10rpx;
                    //                 font-size: 26rpx;
                    //                 font-weight:500;
                    //             }
                    //         }
                    //     }
                    //     .card-right{
                    //         display: flex;
                    //         justify-content: space-between;
                    //         align-items:flex-end;
                    //         flex-direction: column;
                    //         height:100%;
                    //         z-index:100;
                    //         .card-right-top{
                    //             align-items:flex-end;
                    //             display: flex;
                    //             justify-content: space-between;
                    //             flex-direction: column;
                    //             font-size:34rpx;
                    //             .user-add-card{
                    //                 display:flex;
                    //                 align-items:center;
                    //                 height:52rpx;
                    //                 font-size:28rpx;
                    //                 background:linear-gradient(to right,#B1D9FD 0%,#65A7FD 70%,#65A7FD 100%);
                    //                 border-radius:50rpx;
                    //                 padding: 0 20rpx;
                    //                 image{
                    //                     width:36rpx;
                    //                     height:36rpx;
                    //                     margin-right:6rpx;
                    //                     opacity:0.8;
                    //                 }
                    //                 text{
                    //                     color:#FFF;
                    //                 }
                    //             }
                    //             text:last-child{
                    //                 font-weight:500;
                    //             }
                    //         }
                    //         .card-right-bottom{
                    //             width:137rpx;
                    //             height:56rpx;
                    //             background:linear-gradient(to right,#65A7FD ,#B1D9FD);
                    //             border-radius:50rpx;
                    //             text-align: center;
                    //             line-height: 56rpx;
                    //             color:#212DDE;
                    //             font-weight: 400;
                    //         }
                    //     }
                    // }
                }
            }
            .function-box1{
                width:100%;
                box-sizing:border-box;
                height: 215rpx;
                padding: 20rpx 32rpx 15rpx;
                height: 172rpx;
                padding: 20rpx 32rpx 22rpx;
                // background: rgba(85, 170, 0, 0.1);
                display:flex;
                justify-content: space-between;
                align-items:center;
                font-size:36rpx;
                font-weight:500;
                color: #4d4d4d;
                letter-spacing:2rpx;
                .box1-bg{
                    width:212rpx;
                    height:180rpx;
                    width:326rpx;
                    height:130rpx;
                    border-radius:24rpx;
                    background: #fff;
                    box-shadow:0 0 12rpx 2rpx rgba(13,118,255,0.16);
                    box-shadow:0 0 12rpx 3rpx rgba(13,118,255,0.16);
                }
                .box1-one{
                    font-weight: 300;
                    font-size: 32rpx;
                    color: #000000;
                    text-align: center;
                    display: flex;
                    flex-direction:column;
                    align-items: center;
                    justify-content: center;
                    image{
                    justify-content:space-evenly;
                    .box-one-image1{
                        width: 86rpx;
                        height: 78rpx;
                        margin-bottom:20rpx;
                        height: 86rpx;
                    }
                }
                .box1-two{
                    font-weight: 300;
                    font-size: 32rpx;
                    color: #000000;
                    display: flex;
                    flex-direction:column;
                    align-items:center;
                    justify-content:space-evenly;
                    image{
                    .box-one-image2{
                        width:96rpx;
                        height: 96rpx;
                        // margin-bottom:20rpx;
@@ -660,11 +760,35 @@
                    }
                }
            }
            .scan-box{
                width:100%;
                height:116rpx;
                padding:0 42rpx 16rpx;
                box-sizing: border-box;
                .scan{
                    width:100%;
                    height:100rpx;
                    background: #1678FF;
                    border-radius:178rpx;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    color: #fff;
                    font-size:44rpx;
                    font-weight:500;
                    letter-spacing:1rpx;
                    .scan-img{
                        width:44rpx;
                        height:44rpx;
                        margin-right:20rpx;
                    }
                }
            }
            .function-box2{
                width:100%;
                box-sizing:border-box;
                height: 429rpx;//374 + 44 + 距离 + 底部padding32
                padding:0 32rpx 15rpx;
                height: 420rpx;//374 + 44 + 距离 + 底部padding32
                padding:0 32rpx 0;
                // background: rgba(46, 121, 170, 0.5);
                .box2-title{
                    width: 100%;
@@ -695,14 +819,15 @@
                        justify-content:space-between;
                        align-items: center;
                        .box2-item-img{
                            width: 90rpx;
                            height:90rpx;
                            width: 100rpx;
                            height:100rpx;
                            display: flex;
                            justify-content: center;
                            align-items: center;
                            // background: #65A7FD;
                            // background:linear-gradient(to right,#18acff,#639fff);
                            background: #5EA1FA;
                            border-radius:50%;
                            image{
                            .box2-image{
                                width: 48rpx;
                                height:48rpx;
                            }
@@ -711,90 +836,95 @@
                            width:100%;
                            height: 40rpx;
                            font-weight: 300;
                            font-size: 28rpx;
                            color: #000000;
                            font-size:30rpx;
                            color: #3e3e3e;
                            text-align: center;
                            font-weight:600;
                        }
                    }
                }
            }
            .advertisement-box{
                width:100%;
                height: 160rpx;
                height:188rpx;
                padding:0 32rpx 10rpx; 
                box-sizing: border-box;
                display: flex;
                justify-content: space-around;
                .point-advert{
                    width:640rpx;
                    height:136rpx;
                    border-radius:10rpx;
                    background:linear-gradient(140deg,#5c9dff 0%,#b5dcff 30%,#52aafc 70%,#b5dcff 90%,#5daffc 100%);
                    display: flex;
                    justify-content: space-around;
                    align-items: center;
                    box-shadow: 0 0 4rpx 2rpx #4978de;
                    .advert-title{
                        display: flex;
                        flex-direction: column;
                        align-items: center;
                        color: #fff;
                        font-size:46rpx;
                        font-weight:800;
                        text-shadow:4rpx 2rpx #5EA1FA;
                        .advert-title2{
                            margin-top:10rpx;
                            font-size:28rpx;
                            font-weight:500;
                            width:180rpx;
                            height:40rpx;
                            background: #5c9dff;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            border-radius:30rpx;
                            letter-spacing:2rpx;
                        }
                    }
                    .advert-image{
                        width:200rpx;
                        height:100%;
                        // background: #76bfa1;
                        position: relative;
                        .image-icon1{
                            position:absolute;
                            left: calc(50% - 65rpx);
                            top: calc(50% - 65rpx);
                            width:130rpx;
                            height:130rpx;
                            transform: rotate(20deg);
                        }
                        .image-icon2{
                            position:absolute;
                            left:60%;
                            top: calc(50% - 30rpx);
                            width:90rpx;
                            height:90rpx;
                            transform: rotate(-10deg);
                        }
                        .image-icon3{
                            position:absolute;
                            left: calc(50% - 100rpx);
                            top: 30%;
                            width:80rpx;
                            height:80rpx;
                            transform: rotate(-10deg);
                        }
                        .image-icon4{
                            position:absolute;
                            left:140%;
                            top: 60%;
                            width:50rpx;
                            height:50rpx;
                            transform: rotate(5deg);
                        }
                    }
                justify-content:center;
                .banner-img{
                    width:686rpx;
                    height:178rpx;
                }
                // .point-advert{
                //     width:640rpx;
                //     height:136rpx;
                //     border-radius:10rpx;
                //     background:linear-gradient(140deg,#5c9dff 0%,#b5dcff 30%,#52aafc 70%,#b5dcff 90%,#5daffc 100%);
                //     display: flex;
                //     justify-content: space-around;
                //     align-items: center;
                //     box-shadow: 0 0 4rpx 2rpx #4978de;
                //     .advert-title{
                //         display: flex;
                //         flex-direction: column;
                //         align-items: center;
                //         color: #fff;
                //         font-size:46rpx;
                //         font-weight:800;
                //         text-shadow:4rpx 2rpx #5EA1FA;
                //         .advert-title2{
                //             margin-top:10rpx;
                //             font-size:28rpx;
                //             font-weight:500;
                //             width:180rpx;
                //             height:40rpx;
                //             background: #5c9dff;
                //             display: flex;
                //             align-items: center;
                //             justify-content: center;
                //             border-radius:30rpx;
                //             letter-spacing:2rpx;
                //         }
                //     }
                //     .advert-image{
                //         width:200rpx;
                //         height:100%;
                //         // background: #76bfa1;
                //         position: relative;
                //         .image-icon1{
                //             position:absolute;
                //             left: calc(50% - 65rpx);
                //             top: calc(50% - 65rpx);
                //             width:130rpx;
                //             height:130rpx;
                //             transform: rotate(20deg);
                //         }
                //         .image-icon2{
                //             position:absolute;
                //             left:60%;
                //             top: calc(50% - 30rpx);
                //             width:90rpx;
                //             height:90rpx;
                //             transform: rotate(-10deg);
                //         }
                //         .image-icon3{
                //             position:absolute;
                //             left: calc(50% - 100rpx);
                //             top: 30%;
                //             width:80rpx;
                //             height:80rpx;
                //             transform: rotate(-10deg);
                //         }
                //         .image-icon4{
                //             position:absolute;
                //             left:140%;
                //             top: 60%;
                //             width:50rpx;
                //             height:50rpx;
                //             transform: rotate(5deg);
                //         }
                //     }
                // }
                // image{
                //     width:320rpx;
                //     height:136rpx;
pages/infoBreakdown/index.vue
@@ -81,8 +81,9 @@
        uni.scanCode({
            scanType: ['qrCode'],
            success: function (res) {
                console.log('条码内容:' + res.result);
                form.value.facilityCode = res.result
                let code = res.result.split('=')[1]
                form.value.facilityCode = code
                console.log('条码内容:' + res.result,'code',code);
            }
        });
    }
@@ -124,7 +125,7 @@
                            <uni-forms-item label="设备号:" name="facilityCode">
                                <view class="form-item">
                                    <input v-model="form.facilityCode" placeholder="请扫描设备二维码获取" />
                                    <image class="scan-img" @click="toScan()" src="../../static/images/addCard/code.png" alt=""></image>
                                    <image class="scan-img" @click="toScan()" src="../../static/images/addCard/code.svg" alt=""></image>
                                </view>
                            </uni-forms-item>
                            <uni-forms-item label="联系方式:" name="userPhone">
pages/recharge/index.vue
@@ -1,5 +1,5 @@
<script setup>
    import{ ref ,onMounted} from 'vue'
    import{ ref ,onMounted,onUnmounted} from 'vue'
    import { wxPayApi,rechargeApi } from '../../api/index.js'
    
    const choosedMoney = ref(50)
@@ -52,29 +52,44 @@
    //     payList.value[index1].checked = true
    //     payMethod.value = payList.value[index1].value
    // }
    let timerId
    let payStatus = ref(true)
    async function submit(){
        let money = ''
        if(disabled.value){
            money = choosedMoney.value
        }else{
            money = Number(otherMoney.value)
        }
        let data = {
                cardNumber:userInfo.waterCardNumber,
                paymentMethod:1,
                rechargeAmount:money
            }
        //生成订单
        await rechargeApi(data).then(async(res) =>{
            if(res.code == 200){
                let data = {
                    businessType:1,
                    businessNo:res.data
                    }
                //发起支付
                await wxPay(data)
        if(payStatus.value){
            payStatus.value = false
            timerId = setTimeout(()=>{
                payStatus.value = true
            },20000)
            let money = ''
            if(disabled.value){
                money = choosedMoney.value
            }else{
                money = Number(otherMoney.value)
            }
        })
            let data = {
                    cardNumber:userInfo.waterCardNumber,
                    paymentMethod:1,
                    rechargeAmount:money
                }
            //生成订单
            await rechargeApi(data).then(async(res) =>{
                if(res.code == 200){
                    let data = {
                        businessType:1,
                        businessNo:res.data
                        }
                    //发起支付
                    await wxPay(data)
                    otherMoney.value = ''
                }
            })
        }else{
            uni.showToast({
                title:'充值间隔20秒,请稍后!',
                icon:'none'
            })
        }
    }
    //微信支付
    async function wxPay(data){
@@ -118,6 +133,9 @@
            }
        })
    }
    onUnmounted(() =>{
        clearTimeout(timerId)
    })
</script>
<template>
    <view class="container">
@@ -162,7 +180,7 @@
                    </view>
                </view>
            </view>
            <view class="submit-btn" @click="submit()">立即充值</view>
            <view :style="{opacity:payStatus ? 1 : 0.7}" class="submit-btn" @click="submit()">立即充值</view>
        </view>
    </view>
</template>
pages/scanWater/index.vue
@@ -41,7 +41,15 @@
        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){
            if(choosedMoney.value > Number(userBalance.value)){
@@ -132,11 +140,17 @@
                }
            })
        }
        }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)
        console.log('小程序扫码取水','option.facilityCode',option.facilityCode,'传参SN',facilityCode.value)
    })
    //设置水价,设置支付方式,用户未绑定会员卡不显示余额支付选项
    async function getWaterPrice(){
@@ -197,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>
pages/station/index.vue
@@ -12,14 +12,15 @@
                <block v-for="(item,index) in sendWaterSiteList" :key='index'>
                    <view class="item">
                        <view class="item-img">
                            <image src="../../static/logo.png" alt=''></image>
                            <image v-if="item.image" :src="baseUrl + '/upload' + item.image" alt='' mode="aspectFit"></image>
                            <image v-else src="../../static/images/station/facilityImg.svg" alt='' mode="aspectFit"></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>
                                    <image src="../../static/images/index/icon22.svg" alt=''></image>
                                    <text>{{item.distanceValue}}km</text>
                                </view>
                            </view>
@@ -33,14 +34,15 @@
                <block v-for="(item,index) in facilitySiteList" :key='index'>
                    <view class="item">
                        <view class="item-img">
                            <image src="../../static/logo.png" alt=''></image>
                            <image v-if="item.image" :src="baseUrl + '/upload' + item.image" alt='' mode="aspectFit"></image>
                            <image v-else src="../../static/images/station/facilityImg.svg" alt='' mode="aspectFit"></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>
                                    <image src="../../static/images/index/icon22.svg" alt=''></image>
                                    <text>{{item.distanceValue}}km</text>
                                </view>
                            </view>
@@ -56,6 +58,9 @@
<script setup>
    import { onMounted, ref } from 'vue'
    import { siteApi } from '../../api/index.js'
    import { BASE_URL } from '../../config/baseUrl.js';
    const baseUrl = ref(BASE_URL)
    const isNav = ref(2)//1:送水点;2:设备点
    const isActive = ref({borderBottom:`3px solid #226AC9`})
    const userLocation = ref()
pages/wxScanWater/index.vue
@@ -61,7 +61,14 @@
        payMethod.value = payList.value[index1].value
        console.log('index',index1,payMethod.value)
    }
        let payState = ref(true)
        let timerId
    async function submit(){
        if(payState.value){
            payState.value = false
            timerId = setTimeout(() =>{
                payState.value = true
            },20000)
        if(payMethod.value == 1){
            //余额支付,比较金额大小
            if(choosedMoney.value > Number(cardInfo.value.cardBalance)){
@@ -155,6 +162,12 @@
                        icon:'none'
                    });
                }
            })
        }
        }else{
            uni.showToast({
                title:'支付间隔20秒,请稍后!',
                icon:'none'
            })
        }
    }
@@ -273,7 +286,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>
pagesAdmin/adminPlatform/facilityDetail.vue
@@ -11,11 +11,13 @@
    })
    let facilityCode
    let facilityOnLine
    let facilityType //facilityType:1:售水机,facilityType:2:水控机
    async function getFalicityDetail(){
        await getFacilityApi(facilityId).then((res) =>{
            if(res.code == 200){
                facilityCode = res.data.facilityCode
                facilityOnLine = res.data.onLineState
                facilityType = res.data.facilityType
                facilityList.value = []
                facilityList.value.push({name:'设备编号:',value:res.data.facilityCode})
                facilityList.value.push({name:'设备名称:',value:res.data.facilityName})
@@ -30,9 +32,15 @@
        })
    }
    function navTo(){
        uni.navigateTo({
            url:`/pagesAdmin/adminPlatform/params?id=${facilityId}`
        })
        if(facilityType === 1){
            uni.navigateTo({
                url:`/pagesAdmin/adminPlatform/params?id=${facilityId}`
            })
        }else if(facilityType === 2){
            uni.navigateTo({
                url:`/pagesAdmin/adminPlatform/params1?id=${facilityId}`
            })
        }
    }
    //设备开关操作相关
    //操作类型(售水开关:01开 02关,制水开关:03开 04关,温控开关:05开 06关,设备开关机:07开 08关-设备开关机代表设备完全开关机,相当于售水、制水、温控全开或全关)
pagesAdmin/adminPlatform/home.vue
@@ -1,5 +1,5 @@
<script setup>
    import { adminDetailApi,getRunStateApi,getTotalRevenueApi,getWaterConsumptionApi} from '../../api/index.js'
    import { adminDetailApi,getRunStateApi,getTotalRevenueApi,getWaterConsumptionApi,changePasswordApi} from '../../api/index.js'
    import { onMounted,ref } from 'vue'
    import { onShow } from '@dcloudio/uni-app'
    const echarts = require('../../static/echarts.min.js')
@@ -337,6 +337,46 @@
            chart.setOption(flowOption)
        })
    }
    //修改密码
    const popup = ref()
    const rules = ref({
        newPassword: {
            rules:[{required: true, errorMessage:'请输入', trigger: "blur"}],
        },
        oldPassword: {
            rules:[{required: true, errorMessage:'请输入', trigger: "blur"}],
        },
    })
    const pwdFormRef =ref()
    const pwdForm = ref({
        oldPassword:'',
        newPassword:'',
    })
    function editPwd(){
        popup.value.open()
    }
    function concel(){
        pwdForm.value = {}
        pwdFormRef.value.clearValidate()
        popup.value.close()
    }
    async function confirmEdit(){
        pwdFormRef.value.validate().then(async(validate)=>{
            let res = await changePasswordApi(pwdForm.value)
            if(res.code === 200){
                uni.showToast({
                    title:'修改成功'
                })
                concel()
            }else{
                uni.showToast({
                    title:'修改失败'
                })
                concel()
            }
        }).catch((err)=>{})
    }
    //退登
    function loginOut(){
        wx.showModal({
          title: '提示',
@@ -383,7 +423,7 @@
                    </view>
                </view>
                <view class="edit">
                    <view class="edit-text1">修改密码</view>
                    <view class="edit-text1" @click="editPwd">修改密码</view>
                    <view class="edit-text2" @click="loginOut">退出登录</view>
                </view>
            </view>
@@ -436,8 +476,26 @@
                <view class="charts3">
                    <l-echart ref="flowEcharts"></l-echart>
                </view>
            </view>
            </view>
        </view>
        <uni-popup ref="popup" :is-mask-click ='false' type="center" border-radius="20px">
            <view class="dialog-box">
                <view>
                    <uni-forms ref="pwdFormRef" :model="pwdForm" :rules="rules">
                        <uni-forms-item label="旧密码:" name='oldPassword'>
                            <uni-easyinput class="input" v-model="pwdForm.oldPassword" placeholder="请输入旧密码">></uni-easyinput>
                        </uni-forms-item>
                        <uni-forms-item label="新密码:" name="newPassword">
                            <uni-easyinput class="input" v-model="pwdForm.newPassword" placeholder="请输入新密码">></uni-easyinput>
                        </uni-forms-item>
                    </uni-forms>
                </view>
                <view class="button-box">
                    <button class="btn1" @click="concel">取消</button>
                    <button class="btn2" @click="confirmEdit">确认</button>
                </view>
            </view>
        </uni-popup>
    </view>
</template>
@@ -618,5 +676,39 @@
                    }
                }
        }
        .dialog-box{
            width:600rpx;
            height:500rpx;
            background: #fafbfc;
            padding:40rpx;
            box-sizing: border-box;
            display: flex;
            justify-content:center;
            flex-direction: column;
            border-radius:20rpx;
            .input{
                align-items: center;
            }
            .button-box{
                width:100%;
                display: flex;
                justify-content: center;
                align-items: center;
                .btn1{
                    line-height:60rpx;
                    width:180rpx;
                    height:60rpx;
                    background: #fcfcfc;
                    color: #505354;
                }
                .btn2{
                    line-height:60rpx;
                    width:180rpx;
                    height:60rpx;
                    background: #b7cafc;
                    color: #484b4c;
                }
            }
        }
    }       
</style>
pagesAdmin/adminPlatform/maintain.vue
@@ -38,12 +38,12 @@
                        <text class="value">{{item.resultTypeView}}</text>
                    </view>
                    <view class="item-child">
                        <text>维修时间:</text>
                        <text class="value">{{item.createTimeView}}</text>
                    </view>
                    <view class="item-child">
                        <text>备注:</text>
                        <text class="value remark">{{item.remark}}</text>
                    </view>
                    <view class="item-child">
                        <text>维修时间:</text>
                        <text class="value-time">{{item.createTimeView}}</text>
                    </view>
                    <view class="item-child-area">
                        <text>上传图片:</text>
@@ -56,6 +56,7 @@
            <view class="nodata" v-else>
                <image class="nodata-img" src="../../static/images/other/nodata.png" mode="widthFix"></image>
            </view>
            <view class="add-record">添加记录</view>
        </view>
    </view>
</template>
@@ -71,7 +72,7 @@
            box-sizing: border-box;
            .main{
                width:100%;
                height:100%;
                height:calc(100% - 120rpx);
                padding:20rpx;
                box-sizing: border-box;
                background:rgba(255, 255, 255, 0.6);
@@ -93,6 +94,10 @@
                    box-shadow: 0 3rpx 5rpx 1rpx rgba(197, 199, 203, 0.6);
                    .value{
                        color: rgba(86, 86, 90, 1.0);
                    }
                    .value-time{
                        color: rgba(86, 86, 90,0.8);
                        font-size:26rpx;
                    }
                    .item-child{
                        width:100%;
@@ -136,7 +141,7 @@
            }
            .nodata{
                width:100%;
                height:100%;
                height:calc(100% - 120rpx);
                display: flex;
                justify-content: center;
                background: rgba(255,255,255,0.6);
@@ -147,6 +152,19 @@
                    width: 520rpx;
                }
            }
            .add-record{
                margin: 40rpx auto 0;
                background-color: #5b93dc;
                width:500rpx;
                height:85rpx;
                line-height:85rpx;
                text-align: center;
                border-radius: 50rpx;
                color: #fff;
                letter-spacing:2rpx;
                font-size:38rpx;
                font-weight:500;
            }
        }
    }
           
pagesAdmin/adminPlatform/params.vue
@@ -16,6 +16,7 @@
    })
    async function getFacilityById(){
        await getFacilityApi(facilityId).then((res) =>{
            console.log('设备详情响应',res)
            onLineState = res.data.onLineState
            facilityCode = res.data.facilityCode
        })
@@ -103,7 +104,7 @@
            recycleAmountTime: {
                rules:[
                    {required: true,errorMessage: '请输入参数'},
                    {pattern:/^([1-9\d|1\d{2}|2[0-3]\d|240)$/,errorMessage: '超出范围,请输入范围内参数'},10-240,10-99,100-199,200-239,240
                    {pattern:/^([1-9\d|1\d{2}|2[0-3]\d|240)$/,errorMessage: '超出范围,请输入范围内参数'},
                    ],
            },
            lightFetchWaterTime: {
@@ -207,13 +208,13 @@
            wxFetchWaterTime: {
                rules:[
                    {required: true,errorMessage: '请输入参数'},
                    {pattern:/^([1-9]\d{0,3}|10000)$/,errorMessage: '超出范围,请输入范围内参数'},
                    {pattern:/^([1-9]\d{0,2}|1000)$/,errorMessage: '超出范围,请输入范围内参数'},
                    ],
            },
            wxFetchWaterCount:{
                rules:[
                    {required: true,errorMessage: '请输入参数'},
                    {pattern:/^(1|([1-9]\d{0,4}|[1-5]\d{4}|6[0-4]\d{3}|65000))$/,errorMessage: '超出范围,请输入范围内参数'},
                    {pattern:/^(1|([1-9]\d{0,3}|[1-5]\d{4}|6[0-4]\d{3}|65000))$/,errorMessage: '超出范围,请输入范围内参数'},
                    ],
            },
            coinsFetchWater:{
@@ -227,6 +228,7 @@
    //参数设置按钮,请求设备参数
    async function handleSetting(){
        await getParameterApi(facilityCode).then((res) =>{
            console.log('设备参数查询',res)
            //参数不为空
            if(res.data != null){
                formData.value = res.data
@@ -274,6 +276,7 @@
    
    async function setParams(formParams){
        await editParameterApi(formParams).then((res) =>{
            console.log('设备参数编辑响应',res,'传参',formParams)
            if(res.code == 200){
                uni.showToast({
                    title:'成功!三秒刷新'
@@ -305,39 +308,39 @@
                            <uni-group>
                                <uni-forms-item class="form-item" name="swipingCardAmount">
                                    <text style="color:#4784c7">刷卡扣费金额:(范围:10-6000分)</text>
                                    <uni-easyinput type="text" v-model="formData.swipingCardAmount" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.swipingCardAmount" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="swipingCardTime">
                                    <text style="color:#4784c7">刷卡打水时间:(范围:1-1000秒)</text>
                                    <uni-easyinput type="text" v-model="formData.swipingCardTime" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.swipingCardTime" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="swipingCardCount">
                                    <text style="color:#4784c7">刷卡打水水量:(范围:1-65000毫升)</text>
                                    <uni-easyinput type="text" v-model="formData.swipingCardCount" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.swipingCardCount" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="insertCoinsCount">
                                    <text style="color:#4784c7">投币数量设置:(范围:1-10个)</text>
                                    <uni-easyinput type="text" v-model="formData.insertCoinsCount" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.insertCoinsCount" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="insertCoinsTime">
                                    <text style="color:#4784c7">5角投币打水时间:(范围:1-1000秒)</text>
                                    <uni-easyinput type="text" v-model="formData.insertCoinsTime" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.insertCoinsTime" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="coinsFetchWater">
                                    <text style="color:#4784c7">5角投币打水水量:(范围:1-65000毫升)</text>
                                    <uni-easyinput type="text" v-model="formData.coinsFetchWater" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.coinsFetchWater" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="wxFetchWaterAmount">
                                    <text style="color:#4784c7">微信打水金额:(范围:1-6000分)</text>
                                    <uni-easyinput type="text" v-model="formData.wxFetchWaterAmount" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.wxFetchWaterAmount" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="wxFetchWaterTime">
                                    <text style="color:#4784c7">微信打水时间:(范围:1-1000秒)</text>
                                    <uni-easyinput type="text" v-model="formData.wxFetchWaterTime" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.wxFetchWaterTime" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="wxFetchWaterCount">
                                    <text style="color:#4784c7">微信打水量:(范围:1-65000毫升)</text>
                                    <uni-easyinput type="text" v-model="formData.wxFetchWaterCount" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.wxFetchWaterCount" placeholder="请输入参数" />
                                </uni-forms-item>
                            </uni-group>
                            
@@ -345,27 +348,27 @@
                            <uni-group>
                                <uni-forms-item class="form-item" name="runningMode">
                                    <text style="color:#4784c7">计费模式:(范围:1时间,2流量)</text>
                                    <uni-easyinput type="text" v-model="formData.runningMode" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.runningMode" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="pulse">
                                    <text style="color:#4784c7">流量计脉冲数:(范围:1-2000个)</text>
                                    <uni-easyinput type="text" v-model="formData.pulse" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.pulse" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="recycleAmountTime">
                                    <text style="color:#4784c7">钱数回收时间:(范围:10-240秒)</text>
                                    <uni-easyinput type="text" v-model="formData.recycleAmountTime" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.recycleAmountTime" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="lightFetchWaterTime">
                                    <text style="color:#4784c7">打水灯延时:(范围:5-240秒)</text>
                                    <uni-easyinput type="text" v-model="formData.lightFetchWaterTime" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.lightFetchWaterTime" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="lockFetchWaterTime">
                                    <text style="color:#4784c7">打水锁延时:(范围:5-240秒)</text>
                                    <uni-easyinput type="text" v-model="formData.lockFetchWaterTime" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.lockFetchWaterTime" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="isReport">
                                    <text style="color:#4784c7">是否语音播报金额:(范围:1开启,2关闭)</text>
                                    <uni-easyinput type="text" v-model="formData.isReport" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.isReport" placeholder="请输入参数" />
                                </uni-forms-item>
                            </uni-group>
                            
@@ -373,47 +376,47 @@
                            <uni-group>
                                <uni-forms-item class="form-item" name="produceWaterTime">
                                    <text style="color:#4784c7">制水延时:(范围:1-60分)</text>
                                    <uni-easyinput type="text" v-model="formData.produceWaterTime" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.produceWaterTime" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="wasteWaterTime">
                                    <text style="color:#4784c7">废水重洗时间:(范围:10-240秒)</text>
                                    <uni-easyinput type="text" v-model="formData.wasteWaterTime" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.wasteWaterTime" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="wasteWaterIntervalTime">
                                    <text style="color:#4784c7">废水重洗时间间隔:(范围:5-240秒)</text>
                                    <uni-easyinput type="text" v-model="formData.wasteWaterIntervalTime" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.wasteWaterIntervalTime" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="ozoneTime">
                                    <text style="color:#4784c7">臭氧杀菌时间:(范围:5-240秒)</text>
                                    <uni-easyinput type="text" v-model="formData.ozoneTime" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.ozoneTime" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="ozoneIntervalTime">
                                    <text style="color:#4784c7">臭氧杀菌时间间隔:(范围:30-240秒)</text>
                                    <uni-easyinput type="text" v-model="formData.ozoneIntervalTime" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.ozoneIntervalTime" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="temperatureLower">
                                    <text style="color:#4784c7">加热温度下限:(范围:1-35℃)</text>
                                    <uni-easyinput type="text" v-model="formData.temperatureLower" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.temperatureLower" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="temperatureUpper">
                                    <text style="color:#4784c7">加热温度上限:(范围:3-50℃)</text>
                                    <uni-easyinput type="text" v-model="formData.temperatureUpper" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.temperatureUpper" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="openAdvertTime">
                                    <text style="color:#4784c7;font-size: 26rpx">广告灯开启时间:(范围:00:00~23:59时分)</text>
                                    <uni-easyinput type="text" v-model="formData.openAdvertTime" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.openAdvertTime" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="closeAdvertTime">
                                    <text style="color:#4784c7;font-size: 26rpx">广告灯关闭时间:(范围:00:00~23:59时分)</text>
                                    <uni-easyinput type="text" v-model="formData.closeAdvertTime" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.closeAdvertTime" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="recycleWashing">
                                    <text style="color:#4784c7">循环重洗时间:(范围:0-99秒)</text>
                                    <uni-easyinput type="text" v-model="formData.recycleWashing" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.recycleWashing" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="recycleWashingInterval">
                                    <text style="color:#4784c7">循环重洗间隔:(范围:1-10小时)</text>
                                    <uni-easyinput type="text" v-model="formData.recycleWashingInterval" placeholder="请输入姓名" />
                                    <uni-easyinput type="text" v-model="formData.recycleWashingInterval" placeholder="请输入参数" />
                                </uni-forms-item>
                            </uni-group>
                        </uni-forms>
pagesAdmin/adminPlatform/params1.vue
对比新文件
@@ -0,0 +1,278 @@
<script setup>
    import { onLoad } from '@dcloudio/uni-app'
    import { getFacilityApi,getParameter1Api,editParameter1Api } from '../../api/index.js'
    import { ref,onMounted } from 'vue';
    let facilityId
    let onLineState
    let facilityCode
    onLoad(async(option) =>{
        console.log(14,option)
        facilityId = option.id
        await getFacilityById()
    })
    onMounted(async() =>{
        await handleSetting()
    })
    //获取水控机设备详情
    async function getFacilityById(){
        await getFacilityApi(facilityId).then((res) =>{
            onLineState = res.data.onLineState
            facilityCode = res.data.facilityCode
        })
    }
    //表单相关
    const formRef = ref()
    const formData = ref({})
    function initData(){
        formData.value = {
            sn: '',
            type:'',
            rateAmount: 100,
            waterYield: 100,
            pulse: 450,
            fetchWaterTime: 45,
            billingModel: 1,
            isStartKey: 1,
        }
    }
    //表单校验
    const rulesData = ref({
            rateAmount: {
                rules:[
                    {required: true, errorMessage:'请输入参数值', trigger: "blur"},
                    {pattern:/^([1-9]\d{1,2}|[1-5]\d{3}|6000)$/, errorMessage:'超出范围,请重新输入', trigger: "blur"},
                    ],
            },
            waterYield: {
                rules:[
                    {required: true, errorMessage:'请输入参数值', trigger: "blur"},
                    {pattern:/^([1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{3}|65000)$/, errorMessage:'超出范围,请重新输入', trigger: "blur"},
                    ],
            },
            pulse: {
                rules:[
                    {required: true, errorMessage:'请输入参数值', trigger: "blur"},
                    {pattern:/^([1-9]\d{0,2})$/, errorMessage:'超出范围,请重新输入', trigger: "blur"},
                    ],
            },
            fetchWaterTime: {
                rules:[
                    {required: true, errorMessage:'请输入参数值', trigger: "blur"},
                    {pattern:/^([1-9]\d{0,2}|1000)$/, errorMessage:'超出范围,请重新输入', trigger: "blur"},
                    ],
            },
            billingModel: {
                rules:[
                    {required: true, errorMessage:'请输入参数值', trigger: "blur"},
                    {pattern:/^(1|2)$/, errorMessage:'超出范围,请重新输入', trigger: "blur"},
                    ],
            },
            isStartKey: {
                rules:[
                    {required: true, errorMessage:'请输入参数值', trigger: "blur"},
                    {pattern:/^(1|2)$/, errorMessage:'超出范围,请重新输入', trigger: "blur"},
                    ],
            },
    });
    //参数设置按钮,请求设备参数
    async function handleSetting(){
        await getParameter1Api(facilityCode).then((res) =>{
            //参数不为空
            if(res.data != null){
                formData.value = res.data
            }else{
                //参数为空置为默认
                initData()
                formData.value.sn = facilityCode
            }
        })
    }
    //type:1:修改参数,0:恢复出厂设置
    //恢复出厂设置
    async function restore(){
        if(onLineState == 1){
            let sn = formData.value.sn
            initData()
            formData.value.type = 0
            formData.value.sn = sn
            await setParams(formData.value)
        }else{
            uni.showToast({
                title:'离线,无法操作',
                icon:'none'
            })
        }
    }
    //修改参数
    function save(){
        if(onLineState.value == 1){
            formData.value.type = 1
           formRef.value.validate().then(async() =>{
               await setParams(formData.value)
           }).catch((e) =>{
                   console.log('e',e)
           })
        }else{
           uni.showToast({
               title:'离线,无法操作',
               icon:'none'
           })
        }
    }
    async function setParams(formParams){
        await editParameter1Api(formParams).then((res) =>{
            if(res.code == 200){
                uni.showToast({
                    title:'成功!三秒刷新'
                })
                setTimeout(async() =>{
                    await handleSetting()
                },4000)
            }else{
                uni.showToast({
                    title:'网络错误',
                    icon:'none'
                })
            }
        })
    }
</script>
<template>
    <view>
        <view class="container">
            <navbar title = '参数设置'></navbar>
            <view class="content">
                <view class="head">
                    <text>设备参数设置</text>
                </view>
                <view class="main">
                    <view class="form-box">
                        <uni-forms ref="formRef" :modelValue="formData" :rules="rulesData">
                            <view class="devide-name">水价设置:</view>
                            <uni-group>
                                <uni-forms-item class="form-item" name="rateAmount">
                                    <text style="color:#4784c7">费率:(范围:10-6000分)</text>
                                    <uni-easyinput type="text" v-model="formData.rateAmount" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="waterYield">
                                    <text style="color:#4784c7">水量:(范围:10-65000)</text>
                                    <uni-easyinput type="text" v-model="formData.waterYield" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="pulse">
                                    <text style="color:#4784c7">脉冲:(范围:1-999分)</text>
                                    <uni-easyinput type="text" v-model="formData.pulse" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="fetchWaterTime">
                                    <text style="color:#4784c7">打水时间:(范围:1-1000分)</text>
                                    <uni-easyinput type="text" v-model="formData.fetchWaterTime" placeholder="请输入参数" />
                                </uni-forms-item>
                            </uni-group>
                            <view class="devide-name">系统参数:</view>
                            <uni-group>
                                <uni-forms-item class="form-item" name="billingModel">
                                    <text style="color:#4784c7">计费模式:(范围:1时间,2流量)</text>
                                    <uni-easyinput type="text" v-model="formData.billingModel" placeholder="请输入参数" />
                                </uni-forms-item>
                                <uni-forms-item class="form-item" name="isStartKey">
                                    <text style="color:#4784c7">是否启用按键:(范围:1启用,2禁用)</text>
                                    <uni-easyinput type="text" v-model="formData.isStartKey" placeholder="请输入参数" />
                                </uni-forms-item>
                            </uni-group>
                        </uni-forms>
                    </view>
                    <view class="handle-btn">
                        <view class="left" @click="restore">恢复出厂设置</view>
                        <view class="right" @click="save">保存设置</view>
                    </view>
                </view>
            </view>
        </view>
    </view>
</template>
<style lang="scss" scoped>
    .container{
        width:100%;
        box-sizing: border-box;
        .content{
            height:calc(100vh - 176rpx);
            background: linear-gradient(to bottom,#8BC1FC 0%,#D2F2FE 30%,#D2F2FE 100%);
            padding:30rpx 40rpx 100rpx;
            box-sizing: border-box;
            .head{
                width:100%;
                height: 100rpx;
                background-color: rgba(255,255,255,0.6);
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 38rpx;
                color: #4784c7;
                letter-spacing: 2rpx;
                box-shadow: 0 4rpx 4rpx 1rpx rgba(71,132,199,0.6);
            }
            .main{
                width:100%;
                height:calc(100% - 100rpx);
                background-color: rgba(255,255,255,0.6);
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                margin-top:30rpx;
                padding:30rpx 40rpx;
                box-sizing:border-box;
                .handle-btn{
                    height:60rpx;
                    width:100%;
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    text-align: center;
                    margin-top:50rpx;
                    .left{
                        border: 1rpx solid #99b7f0;
                        color: #409EFF;
                        background-color:#fff;
                        border-radius:15rpx;
                        line-height:60rpx;
                        margin-right:60rpx;
                        width: 215rpx;
                        font-size: 30rpx;
                    }
                    .left:hover{
                        opacity: 0.8;
                    }
                    .right{
                        background-color:#409EFF;
                        color: #fff;
                        border-radius:15rpx;
                        line-height:60rpx;
                        width: 215rpx;
                        font-size: 30rpx;
                    }
                    .right:hover{
                        opacity:0.8;
                    }
                }
                .form-box{
                    width: 580rpx;
                    height:90%;
                    overflow: scroll;
                    .devide-name{
                        width:100%;
                        color: #30b351;
                        margin:20rpx 0;
                    }
                    .form-item{
                        width:100%;
                    }
                }
            }
        }
    }
</style>
pagesPoints/pointsMall/pointsGoodsDetail/index.vue
@@ -1,7 +1,7 @@
<script setup>
    import {ref,onMounted} from 'vue'
    import { goodsGetByIdApi,integralConvertApi } from '../../../api/index.js' 
    import { onLoad } from '@dcloudio/uni-app'
    import { onLoad,onShow } from '@dcloudio/uni-app'
    import { BASE_URL } from '../../../config/baseUrl.js';
    
    const userInfo = ref(JSON.parse(uni.getStorageSync('userInfo')))
@@ -24,7 +24,7 @@
                })
                setTimeout(() =>{
                    uni.navigateTo({
                        url:'/pages/pointsMall/pointsExchangeRecord/index'
                        url:'/pagesPoints/pointsMall/pointsExchangeRecord/index'
                    })
                },1000)
                await getGoodsDetail(goodsId)
@@ -54,7 +54,7 @@
        <point-navbar title='商品详情'></point-navbar>
        <view class="content">
            <view class="image-box">
                <image class="image" :src="baseUrl + '/upload'+ detailInfo.detailsUrl" mode="aspectFit"></image>
                <image v-if="detailInfo.detailsUrl" class="image" :src="baseUrl + '/upload'+ detailInfo.detailsUrl" mode="aspectFit"></image>
            </view>
            <view class="detail">
                <view class="detail-info">
static/images/addCard/code.png
Binary files differ
static/images/addCard/code.svg
对比新文件
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1734660770756" class="icon" viewBox="0 0 1039 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1763" width="28.41015625" height="28" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M808.015066 923.721281H694.237288c-21.212806 0-38.568738-17.355932-38.568738-38.568739s17.355932-38.568738 38.568738-38.568738h111.849341c42.425612 0 77.137476-34.711864 77.137476-77.137476V655.66855c0-21.212806 17.355932-38.568738 38.568739-38.568738s38.568738 17.355932 38.568738 38.568738v113.777778c1.928437 84.851224-67.495292 154.274953-152.346516 154.274953z m-422.327684 0h-117.634651c-84.851224 0-154.274953-69.423729-154.274953-154.274953v-111.849341c0-21.212806 17.355932-38.568738 38.568738-38.568738s38.568738 17.355932 38.568738 38.568738v111.849341c0 42.425612 34.711864 77.137476 77.137477 77.137476H385.687382c21.212806 0 38.568738 17.355932 38.568739 38.568738s-17.355932 38.568738-38.568739 38.568739z m538.033899-539.962336c-21.212806 0-38.568738-17.355932-38.568739-38.568738V231.412429c0-42.425612-34.711864-77.137476-77.137476-77.137476H694.237288c-21.212806 0-38.568738-17.355932-38.568738-38.568738s17.355932-38.568738 38.568738-38.568739h113.777778c84.851224 0 154.274953 69.423729 154.274953 154.274953v113.777778c0 21.212806-17.355932 38.568738-38.568738 38.568738z m-771.374765 0c-21.212806 0-38.568738-17.355932-38.568738-38.568738V231.412429c0-84.851224 69.423729-154.274953 154.274953-154.274953h115.706214c21.212806 0 38.568738 17.355932 38.568739 38.568739s-17.355932 38.568738-38.568739 38.568738h-115.706214c-42.425612 0-77.137476 34.711864-77.137477 77.137476v113.777778c0 21.212806-17.355932 38.568738-38.568738 38.568738z" fill="#4282C4" p-id="1764"></path><path d="M885.152542 499.46516h-694.237288c-21.212806 0-38.568738-17.355932-38.568738-38.568738s17.355932-38.568738 38.568738-38.568738h694.237288c21.212806 0 38.568738 17.355932 38.568739 38.568738s-17.355932 38.568738-38.568739 38.568738z" fill="#DE8B12" p-id="1765"></path></svg>
static/images/index/card11.png

static/images/index/home21.png
Binary files differ
static/images/index/home21.svg
对比新文件
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1734588678504" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="31866" width="43" height="43" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M754.5 300h0.2v340.9h-0.2z" fill="#4D4D4D" p-id="31867"></path><path d="M754.5 300h0.2v340.9h-0.2z" fill="#FFFFFF" p-id="31868"></path><path d="M1017.5 595.1h-163v-97.6H974c-8.8-12.2-18.5-23.6-29-34.1-42.4-42.7-99-71.1-162.1-77.4v254.9h-28.4V300.1h0.3V186.9c0-55.2-44.7-99.8-99.6-99.8H99.6C44.7 87 0 131.7 0 186.9v556.7c0 54.9 44.7 99.6 99.6 99.6H148c0-67.1 54.3-121.7 121.5-121.7 67.4 0 121.7 54.6 121.7 121.7h242.1c0-67.1 54-121.7 121.5-121.7 67.1 0 121.7 54.6 121.7 121.7h101.3c25.9 0 46.4-20.8 46.4-46.6V654.2c-0.2-20.5-2.2-40.4-6.7-59.1z m-442.6-43.8c0 15.6-12.8 28.2-28.4 28.2H205.7c-15.6 0-28.4-12.5-28.4-28.2v-0.3c0-15.6 12.8-28.4 28.4-28.4h340.8c15.6 0 28.4 12.8 28.4 28.4v0.3zM546.4 409H205.7c-15.6 0-28.4-12.8-28.4-28.4 0-15.6 12.8-28.4 28.4-28.4h340.8c15.6 0 28.4 12.8 28.4 28.4 0 15.6-12.8 28.4-28.5 28.4z" fill="#5BA4F9" p-id="31869"></path><path d="M754.6 749.2c-51.8 0-93.6 42.1-93.6 93.9 0 51.8 41.8 93.9 93.6 93.9 51.5 0 93.9-42.1 93.9-93.9 0-51.8-42.4-93.9-93.9-93.9z m0 140.8c-25.9 0-46.6-21-46.6-46.9s20.8-46.9 46.6-46.9c25.9 0 46.9 21 46.9 46.9 0.1 25.9-21 46.9-46.9 46.9zM269.4 749.2c-51.8 0-93.6 42.1-93.6 93.9 0 51.8 41.8 93.9 93.6 93.9s93.9-42.1 93.9-93.9c-0.1-51.8-42.2-93.9-93.9-93.9z m0 140.8c-25.9 0-46.6-21-46.6-46.9s20.8-46.9 46.6-46.9c25.9 0 46.9 21 46.9 46.9s-21 46.9-46.9 46.9zM1018 594.9H854.1v-97.4H975c20.4 28.8 35.2 61.6 43 97.4z" fill="#99CEFC" p-id="31870"></path><path d="M754.3 299.5h0.3v0.6h-0.3z" fill="#5BA4F9" p-id="31871"></path></svg>
static/images/index/icon22.png
Binary files differ
static/images/index/icon22.svg
对比新文件
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1734588187711" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1709" width="43" height="43" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M890.4 959.6H132.9l102.6-185.7h552.3z" fill="#E5ECFF" p-id="1710"></path><path d="M787.5 599.9c42.2-56 67.2-125.7 67.2-201.3 0-185-150-335-335-335s-335 150-335 335c0 75.6 25 145.3 67.2 201.3l-0.5 0.5 4.2 4.2c16.9 21.6 36.4 41.1 58 58L501 870.8l18.7-2.1 206-206c21.6-16.9 41.1-36.4 58-58l4.2-4.2-0.4-0.6z" fill="#A4BEFF" p-id="1711"></path><path d="M763.3 599.9c42.2-56 67.2-125.7 67.2-201.3 0-185-150-335-335-335s-335 150-335 335c0 75.6 25 145.3 67.2 201.3l-0.5 0.5 4.2 4.2c16.9 21.6 36.4 41.1 58 58l206 206 206-206c21.6-16.9 41.1-36.4 58-58l4.2-4.2-0.3-0.5z" fill="#5B79FB" p-id="1712"></path><path d="M503.6 366.3m-92.8 0a92.8 92.8 0 1 0 185.6 0 92.8 92.8 0 1 0-185.6 0Z" fill="#FFFFFF" p-id="1713"></path><path d="M778.1 928.3H245.3l16.1-34.3h500.5z" fill="#FF7E71" p-id="1714"></path></svg>
static/images/index/icon51.png
Binary files differ
static/images/index/icon51.svg
对比新文件
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1734660398768" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6049" width="24" height="24" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M640 474.7V108.1c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v807.7c0 6.6 5.4 12 12 12h872c6.6 0 12-5.4 12-12V492.7c0-6.6-5.4-12-12-12H646c-3.3 0-6-2.7-6-6zM448.1 857.8V806c0-3.3 2.7-6 6-6h52c3.3 0 6-2.7 6-6v-52c0-3.3-2.7-6-6-6H198c-3.3 0-6 2.7-6 6v52c0 3.3 2.7 6 6 6h52c3.3 0 6 2.7 6 6v51.8c0 3.3-2.7 6-6 6H134c-3.3 0-6-2.7-6-6V166.1c0-3.3 2.7-6 6-6h436c3.3 0 6 2.7 6 6v691.6c0 3.3-2.7 6-6 6H454c-3.2 0.1-5.9-2.5-5.9-5.9z m442 6H646.2c-3.3 0-6-2.7-6-6V806c0-3.3 2.7-6 6-6H826c3.3 0 6-2.7 6-6v-52c0-3.3-2.7-6-6-6H646.2c-3.3 0-6-2.7-6-6v-51.8c0-3.3 2.7-6 6-6H826c3.3 0 6-2.7 6-6v-52c0-3.3-2.7-6-6-6H646.2c-3.3 0-6-2.7-6-6v-51.5c0-3.3 2.7-6 6-6H890c3.3 0 6 2.7 6 6v307.1c0.1 3.4-2.6 6-5.9 6z m0 0" fill="#3377ff" p-id="6050"></path><path d="M539 224H423c-3.3 0-6 2.7-6 6v52c0 3.3 2.7 6 6 6h116c3.3 0 6-2.7 6-6v-52c0-3.3-2.7-6-6-6z m0 128.2H423c-3.3 0-6 2.7-6 6v52c0 3.3 2.7 6 6 6h116c3.3 0 6-2.7 6-6v-52c0-3.3-2.7-6-6-6z m0 128.2H423c-3.3 0-6 2.7-6 6v52c0 3.3 2.7 6 6 6h116c3.3 0 6-2.7 6-6v-52c0-3.3-2.7-6-6-6zM423.1 672.2h116c3.3 0 6-2.7 6-6v-52c0-3.3-2.7-6-6-6h-116c-3.3 0-6 2.7-6 6v52c0 3.4 2.7 6 6 6zM347 224h-52c-3.3 0-6 2.7-6 6v52c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6v-52c0-3.3-2.6-6-6-6z m0 128.2h-52c-3.3 0-6 2.7-6 6v52c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6v-52c0-3.3-2.6-6-6-6z m0 128.2h-52c-3.3 0-6 2.7-6 6v52c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6v-52c0-3.3-2.6-6-6-6z m-51.9 191.8h52c3.3 0 6-2.7 6-6v-52c0-3.3-2.7-6-6-6h-52c-3.3 0-6 2.7-6 6v52c0 3.4 2.7 6 6 6zM219 224h-52c-3.3 0-6 2.7-6 6v52c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6v-52c0-3.3-2.7-6-6-6z m0 128.2h-52c-3.3 0-6 2.7-6 6v52c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6v-52c0-3.3-2.7-6-6-6z m0 128.2h-52c-3.3 0-6 2.7-6 6v52c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6v-52c0-3.3-2.7-6-6-6z m-52 191.8h52c3.3 0 6-2.7 6-6v-52c0-3.3-2.7-6-6-6h-52c-3.3 0-6 2.7-6 6v52c0 3.4 2.7 6 6 6z m0 0" fill="#3377ff" p-id="6051"></path></svg>
static/images/index/notice5.png
Binary files differ
static/images/index/notice5.svg
对比新文件
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1734660639365" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13625" width="24" height="24" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M921.9 468.6H749.6c-9.4 0-18.4 3.8-25 10.5-6.6 6.7-10.3 15.7-10.3 25.1v11.1c0 19.6 15.9 35.5 35.4 35.5h172.2c19.5 0 35.3-15.9 35.3-35.5v-11.1c0-9.4-3.7-18.4-10.3-25.1-6.6-6.7-15.6-10.5-25-10.5zM522.4 163.9c-53.6 42.6-165.7 102.3-246.3 159.8h-0.1c-0.9 0.6-1.8 3.8-2.8 4.3-9.5 5.4-13.8 20.1-65.6 20.1h-101c-26 0-42 12.2-42 39.6V631c0 27.4 14.7 40.9 42 40.9H208c51.5 0.1 55.7 14.8 65.2 20.1 0.9 0.5 1.8 3.7 2.7 4.3h0.1c78.2 57.5 191 121.8 246.4 162.7 16.7 12.3 72.1 33.9 72.1-42.1v-614c0-76.1-55.9-51.8-72.1-39z m159 167.8c9.2 16.1 27.3 20.2 40.5 9l141.5-119.3c13.3-11.1 16.5-33.2 7.4-49.4l-5.2-9.1c-9.1-16.1-27.3-20.1-40.5-9L683.6 273.2c-13.2 11.2-16.5 33.2-7.4 49.4l5.2 9.1z m40.4 347.4c-13.2-11.1-31.3-7-40.4 9l-5.2 9.1c-9.1 16.1-5.8 38.2 7.4 49.4L825.1 866c13.2 11.1 31.3 7.1 40.4-9l5.2-9.1c9.1-16.1 5.8-38.2-7.4-49.4L721.8 679.1z m0 0" fill="#f67933" p-id="13626"></path></svg>
static/images/index/point-banner.png
static/images/index/scan.png
static/images/station/facilityImg.svg
对比新文件
@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1734678578243" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="22526" width="65" height="65" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M82.697658 0m93.090909 0l605.090909 0q93.090909 0 93.090909 93.090909l0 837.818182q0 93.090909-93.090909 93.090909l-605.090909 0q-93.090909 0-93.090909-93.090909l0-837.818182q0-93.090909 93.090909-93.090909Z" fill="#3d9bfc" p-id="22527" data-spm-anchor-id="a313x.search_index.0.i1.6e3b3a81RusiQL" class="selected"></path><path d="M222.334022 46.545455h512a93.090909 93.090909 0 0 1 93.090909 93.090909v325.818181a46.545455 46.545455 0 0 1-46.545455 46.545455H175.788567a46.545455 46.545455 0 0 1-46.545454-46.545455V139.636364a93.090909 93.090909 0 0 1 93.090909-93.090909z" fill="#FFFFFF" p-id="22528"></path><path d="M681.504931 93.090909h-127.069091c-3.374545 0-6.283636-1.536-6.283636-3.653818v-15.965091c0-1.978182 2.653091-3.653818 6.283636-3.653818h127.069091c3.374545 0 6.283636 1.536 6.283636 3.653818v15.965091c-0.232727 2.094545-2.909091 3.653818-6.283636 3.653818z m-5.352727 23.272727h-116.363637c-6.283636 0-11.636364 3.723636-11.636363 8.564364v85.597091c0 4.654545 5.096727 8.564364 11.636363 8.564364h4.608S601.958749 256 608.265658 256h19.409455c6.283636 0 42.170182-36.910545 42.170182-36.910545h6.306909c6.283636 0 11.636364-3.746909 11.636363-8.564364V124.928C687.788567 120.087273 682.69184 116.363636 676.152204 116.363636zM402.232204 93.090909H275.163113C271.788567 93.090909 268.879476 91.554909 268.879476 89.437091v-15.965091C268.879476 71.493818 271.532567 69.818182 275.163113 69.818182h127.069091c3.374545 0 6.283636 1.536 6.283636 3.653818v15.965091c-0.232727 2.094545-2.909091 3.653818-6.283636 3.653818z m-5.352728 23.272727h-116.363636c-6.283636 0-11.636364 3.723636-11.636364 8.564364v85.597091c0 4.654545 5.096727 8.564364 11.636364 8.564364h4.608S322.686022 256 328.992931 256h19.409454c6.283636 0 42.170182-36.910545 42.170182-36.910545h6.306909c6.283636 0 11.636364-3.746909 11.636364-8.564364V124.928C408.51584 120.087273 403.419113 116.363636 396.879476 116.363636z" fill="#1A87FF" p-id="22529"></path><path d="M617.970385 418.909091a46.545455 46.545455 0 0 0 46.545455-46.545455c0-17.128727-15.522909-43.659636-46.545455-79.592727-31.022545 35.933091-46.545455 62.464-46.545454 79.592727a46.545455 46.545455 0 0 0 46.545454 46.545455z" fill="#1A87FF" p-id="22530"></path></svg>
unpackage/dist/dev/mp-weixin/api/index.js
@@ -135,8 +135,14 @@
function getParameterApi(sn) {
  return util_request.request(`/waterFacility/getParameter?sn=${sn}`, {}, "GET");
}
function getParameter1Api(sn) {
  return util_request.request(`/waterFacility/getWaterControlParameter?sn=${sn}`, {}, "GET");
}
function editParameterApi(data) {
  return util_request.request("/waterFacility/editParameter", data, "POST");
}
function editParameter1Api(data) {
  return util_request.request("/waterFacility/editWaterControlParameter", data, "POST");
}
function searchBreakdownApi(data) {
  return util_request.request("/waterFacilityMalfunction/search", data, "POST");
@@ -150,6 +156,9 @@
function editExamineApi(data) {
  return util_request.request("/waterFacilityMalfunction/modify", data, "POST");
}
function changePasswordApi(data) {
  return util_request.request("/admin/user/changePassword", data, "POST");
}
exports.adminDetailApi = adminDetailApi;
exports.adminLoginApi = adminLoginApi;
exports.askShareApi = askShareApi;
@@ -157,16 +166,19 @@
exports.balanceChangeApi = balanceChangeApi;
exports.balanceStatisticsApi = balanceStatisticsApi;
exports.buyWaterApi = buyWaterApi;
exports.changePasswordApi = changePasswordApi;
exports.closeFacilityApi = closeFacilityApi;
exports.creatUserArchive = creatUserArchive;
exports.deleteAddressApi = deleteAddressApi;
exports.editAddressApi = editAddressApi;
exports.editExamineApi = editExamineApi;
exports.editParameter1Api = editParameter1Api;
exports.editParameterApi = editParameterApi;
exports.editShareTypeApi = editShareTypeApi;
exports.editUserInfoApi = editUserInfoApi;
exports.getAddressApi = getAddressApi;
exports.getFacilityApi = getFacilityApi;
exports.getParameter1Api = getParameter1Api;
exports.getParameterApi = getParameterApi;
exports.getParentAreaApi = getParentAreaApi;
exports.getPriceBySnApi = getPriceBySnApi;
unpackage/dist/dev/mp-weixin/app.js
@@ -32,6 +32,7 @@
  "./pagesAdmin/adminPlatform/facilityDetail.js";
  "./pagesAdmin/adminPlatform/inspect.js";
  "./pagesAdmin/adminPlatform/params.js";
  "./pagesAdmin/adminPlatform/params1.js";
  "./pagesAdmin/adminPlatform/breakdown.js";
  "./pagesAdmin/adminPlatform/maintain.js";
  "./pagesPoints/pointsMall/index.js";
unpackage/dist/dev/mp-weixin/app.json
@@ -35,6 +35,7 @@
        "adminPlatform/facilityDetail",
        "adminPlatform/inspect",
        "adminPlatform/params",
        "adminPlatform/params1",
        "adminPlatform/breakdown",
        "adminPlatform/maintain"
      ]
unpackage/dist/dev/mp-weixin/common/assets.js
@@ -3,23 +3,18 @@
const _imports_1$9 = "/static/images/login/wx.png";
const _imports_2$2 = "/static/images/login/close_pwd.png";
const _imports_3$3 = "/static/images/login/open_pwd.png";
const _imports_4$3 = "/static/images/login/switchto.svg";
const _imports_4$2 = "/static/images/login/switchto.svg";
const _imports_0$g = "/static/images/index/head.png";
const _imports_1$8 = "/static/images/index/back.png";
const _imports_0$f = "/static/images/index/card11.png";
const _imports_3$2 = "/static/images/index/code1.png";
const _imports_4$2 = "/static/images/index/vip-add.png";
const _imports_5$1 = "/static/images/index/home21.png";
const _imports_1$7 = "/static/images/index/icon22.png";
const _imports_7 = "/static/images/index/icon23.png";
const _imports_8$1 = "/static/images/index/advert-icon3.svg";
const _imports_9$1 = "/static/images/index/advert-icon1.svg";
const _imports_10 = "/static/images/index/advert-icon2.svg";
const _imports_11 = "/static/images/index/advert-icon4.svg";
const _imports_12 = "/static/images/index/icon51.png";
const _imports_13 = "/static/images/index/more-info5.png";
const _imports_14 = "/static/images/index/notice5.png";
const _imports_0$e = "/static/images/addCard/code.png";
const _imports_3$2 = "/static/images/index/home21.svg";
const _imports_1$7 = "/static/images/index/icon22.svg";
const _imports_5$1 = "/static/images/index/scan.png";
const _imports_6$1 = "/static/images/index/point-banner.png";
const _imports_7 = "/static/images/index/icon51.svg";
const _imports_8$1 = "/static/images/index/more-info5.png";
const _imports_9$1 = "/static/images/index/notice5.svg";
const _imports_0$e = "/static/images/addCard/code.svg";
const _imports_1$6 = "/static/images/other/more.png";
const _imports_0$d = "/static/images/other/expand.png";
const _imports_0$c = "/static/images/other/nodata.png";
@@ -28,7 +23,7 @@
const _imports_1$5 = "/static/images/address/delete.png";
const _imports_0$9 = "/static/images/address/expand.png";
const _imports_0$8 = "/static/images/other/success.png";
const _imports_0$7 = "/static/logo.png";
const _imports_0$7 = "/static/images/station/facilityImg.svg";
const _imports_1$4 = "/static/images/other/img-add.png";
const _imports_0$6 = "/static/images/other/home.svg";
const _imports_0$5 = "/static/images/maintain/maintenance-head.svg";
@@ -79,11 +74,6 @@
exports._imports_1$7 = _imports_1$2;
exports._imports_1$8 = _imports_1$1;
exports._imports_1$9 = _imports_1;
exports._imports_10 = _imports_10;
exports._imports_11 = _imports_11;
exports._imports_12 = _imports_12;
exports._imports_13 = _imports_13;
exports._imports_14 = _imports_14;
exports._imports_2 = _imports_2$2;
exports._imports_2$1 = _imports_2$1;
exports._imports_2$2 = _imports_2;
@@ -91,13 +81,13 @@
exports._imports_3$1 = _imports_3$2;
exports._imports_3$2 = _imports_3$1;
exports._imports_3$3 = _imports_3;
exports._imports_4 = _imports_4$3;
exports._imports_4$1 = _imports_4$2;
exports._imports_4$2 = _imports_4$1;
exports._imports_4$3 = _imports_4;
exports._imports_4 = _imports_4$2;
exports._imports_4$1 = _imports_4$1;
exports._imports_4$2 = _imports_4;
exports._imports_5 = _imports_5$1;
exports._imports_5$1 = _imports_5;
exports._imports_6 = _imports_6;
exports._imports_6 = _imports_6$1;
exports._imports_6$1 = _imports_6;
exports._imports_7 = _imports_7;
exports._imports_8 = _imports_8$1;
exports._imports_8$1 = _imports_8;
unpackage/dist/dev/mp-weixin/common/vendor.js
@@ -8097,6 +8097,12 @@
        }
      },
      {
        path: "adminPlatform/params1",
        style: {
          navigationStyle: "custom"
        }
      },
      {
        path: "adminPlatform/breakdown",
        style: {
          navigationStyle: "custom"
unpackage/dist/dev/mp-weixin/pages/addCard/index.wxml
@@ -1 +1 @@
<view class="container data-v-4c5e7c86"><view class="content data-v-4c5e7c86"><navbar wx:if="{{a}}" class="data-v-4c5e7c86" u-i="4c5e7c86-0" bind:__l="__l" u-p="{{a}}"></navbar><view class="main data-v-4c5e7c86"><view class="title data-v-4c5e7c86">请填写卡及个人信息</view><view class="form data-v-4c5e7c86"><uni-forms wx:if="{{q}}" class="r data-v-4c5e7c86" u-s="{{['d']}}" u-r="formRef" u-i="4c5e7c86-1" bind:__l="__l" u-p="{{q}}"><uni-forms-item wx:if="{{f}}" u-s="{{['d']}}" class="form-item data-v-4c5e7c86" u-i="4c5e7c86-2,4c5e7c86-1" bind:__l="__l" u-p="{{f}}"><view class="card-item data-v-4c5e7c86"><input class="data-v-4c5e7c86" placeholder="请输入卡号或扫描二维码" value="{{b}}" bindinput="{{c}}"/><image class="data-v-4c5e7c86" bindtap="{{d}}" src="{{e}}" alt=""></image></view></uni-forms-item><uni-forms-item wx:if="{{i}}" class="data-v-4c5e7c86" u-s="{{['d']}}" u-i="4c5e7c86-3,4c5e7c86-1" bind:__l="__l" u-p="{{i}}"><input class="data-v-4c5e7c86" placeholder="请输入姓名" value="{{g}}" bindinput="{{h}}"/></uni-forms-item><uni-forms-item wx:if="{{l}}" class="data-v-4c5e7c86" u-s="{{['d']}}" u-i="4c5e7c86-4,4c5e7c86-1" bind:__l="__l" u-p="{{l}}"><input class="data-v-4c5e7c86" type="textarea" placeholder="请输入手机号" value="{{j}}" bindinput="{{k}}"/></uni-forms-item><uni-forms-item wx:if="{{o}}" class="data-v-4c5e7c86" u-s="{{['d']}}" u-i="4c5e7c86-5,4c5e7c86-1" bind:__l="__l" u-p="{{o}}"><input class="data-v-4c5e7c86" type="textarea" placeholder="请输入内容" value="{{m}}" bindinput="{{n}}"/></uni-forms-item></uni-forms></view><view class="tips data-v-4c5e7c86"><text class="data-v-4c5e7c86">1、完成实名认证,方便遗失挂失及补卡等。</text><text class="data-v-4c5e7c86">2、绑卡后,运营商可以看到您实名时填写的姓名和电话。</text></view><view class="subBtn data-v-4c5e7c86" bindtap="{{r}}">提交信息</view></view></view></view>
<view class="container data-v-4c5e7c86"><view class="content data-v-4c5e7c86"><navbar wx:if="{{a}}" class="data-v-4c5e7c86" u-i="4c5e7c86-0" bind:__l="__l" u-p="{{a}}"></navbar><view class="main data-v-4c5e7c86"><view class="title data-v-4c5e7c86">请填写卡及个人信息</view><view class="form data-v-4c5e7c86"><uni-forms wx:if="{{q}}" class="r data-v-4c5e7c86" u-s="{{['d']}}" u-r="formRef" u-i="4c5e7c86-1" bind:__l="__l" u-p="{{q}}"><uni-forms-item wx:if="{{f}}" u-s="{{['d']}}" class="form-item data-v-4c5e7c86" u-i="4c5e7c86-2,4c5e7c86-1" bind:__l="__l" u-p="{{f}}"><view class="card-item data-v-4c5e7c86"><input class="scan-input data-v-4c5e7c86" placeholder="请输入卡号或扫描二维码" value="{{b}}" bindinput="{{c}}"/><image class="scan-img data-v-4c5e7c86" bindtap="{{d}}" src="{{e}}" alt=""></image></view></uni-forms-item><uni-forms-item wx:if="{{i}}" class="data-v-4c5e7c86" u-s="{{['d']}}" u-i="4c5e7c86-3,4c5e7c86-1" bind:__l="__l" u-p="{{i}}"><input class="input-item data-v-4c5e7c86" placeholder="请输入姓名" value="{{g}}" bindinput="{{h}}"/></uni-forms-item><uni-forms-item wx:if="{{l}}" class="data-v-4c5e7c86" u-s="{{['d']}}" u-i="4c5e7c86-4,4c5e7c86-1" bind:__l="__l" u-p="{{l}}"><input class="input-item data-v-4c5e7c86" type="textarea" placeholder="请输入手机号" value="{{j}}" bindinput="{{k}}"/></uni-forms-item><uni-forms-item wx:if="{{o}}" class="data-v-4c5e7c86" u-s="{{['d']}}" u-i="4c5e7c86-5,4c5e7c86-1" bind:__l="__l" u-p="{{o}}"><input class="input-item data-v-4c5e7c86" type="textarea" placeholder="请输入内容" value="{{m}}" bindinput="{{n}}"/></uni-forms-item></uni-forms></view><view class="tips data-v-4c5e7c86"><text class="tips-text data-v-4c5e7c86">1、完成实名认证,方便遗失挂失及补卡等。</text><text class="data-v-4c5e7c86">2、绑卡后,运营商可以看到您实名时填写的姓名和电话。</text></view><view class="subBtn data-v-4c5e7c86" bindtap="{{r}}">提交信息</view></view></view></view>
unpackage/dist/dev/mp-weixin/pages/addCard/index.wxss
@@ -52,7 +52,7 @@
  padding: 30rpx 50rpx 0;
  box-sizing: border-box;
}
.container .content .main .form input.data-v-4c5e7c86 {
.container .content .main .form .input-item.data-v-4c5e7c86 {
  line-height: 100%;
  height: 100%;
}
@@ -62,15 +62,15 @@
  height: 100%;
  align-items: center;
}
.container .content .main .form .card-item input.data-v-4c5e7c86 {
.container .content .main .form .card-item .scan-input.data-v-4c5e7c86 {
  width: 375rpx;
  margin-right: 20rpx;
  line-height: 100%;
  height: 100%;
}
.container .content .main .form .card-item image.data-v-4c5e7c86 {
  width: 44rpx;
  height: 44rpx;
.container .content .main .form .card-item .scan-img.data-v-4c5e7c86 {
  width: 56rpx;
  height: 56rpx;
}
.container .content .main .tips.data-v-4c5e7c86 {
  width: 100%;
@@ -85,7 +85,7 @@
  font-size: 28rpx;
  color: #484848;
}
.container .content .main .tips text.data-v-4c5e7c86:first-child {
.container .content .main .tips .tips-text.data-v-4c5e7c86 {
  margin-bottom: 28rpx;
}
.container .content .main .subBtn.data-v-4c5e7c86 {
unpackage/dist/dev/mp-weixin/pages/index/index.js
@@ -13,6 +13,7 @@
      }
    }
    const cardInfo = common_vendor.ref({
      //用户档案信息
      id: "",
      userName: "微信用户",
      headImg: "",
@@ -33,8 +34,8 @@
    const isShareCard = common_vendor.ref(false);
    async function getVipInfo() {
      await api_index.getVipInfoApi().then((res) => {
        console.log("会员卡信息响应", res);
        if (res.code == 200 && res.data.id) {
          console.log("获取会员卡返回响应-首页", res);
          cardInfo.value.waterCardNumber = res.data.cardNumber;
          cardInfo.value.cardType = res.data.cardType;
          cardInfo.value.state = res.data.state == 2 ? true : false;
@@ -47,12 +48,13 @@
            cardInfo.value.count = res.data.count;
          }
          isVip.value = true;
          console.log("cardInfo", cardInfo.value, "isShareCard.value", isShareCard.value);
          console.log("会员卡及用户信息", cardInfo.value);
        }
      });
    }
    async function getInfo() {
      await api_index.getUserInfo().then(async (res) => {
        console.log("用户信息响应", 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;
@@ -60,7 +62,6 @@
          cardInfo.value.userPhone = res.data.userInfo.userPhone;
          cardInfo.value.id = res.data.userInfo.id;
          await getVipInfo();
          console.log("用户信息响应", res);
          console.log("用户信息", cardInfo.value);
          common_vendor.index.setStorageSync("userInfo", JSON.stringify(cardInfo.value));
        }
@@ -70,23 +71,24 @@
      common_vendor.index.scanCode({
        scanType: ["qrCode"],
        success: async function(res) {
          console.log("条码内容:" + res.result);
          let code = res.result.split("=")[1];
          console.log("条码内容:" + res.result, "code", code);
          common_vendor.index.navigateTo({
            url: `/pages/scanWater/index?facilityCode=${res.result}`
            url: `/pages/scanWater/index?facilityCode=${code}`
          });
        }
      });
    }
    const functionList = common_vendor.ref([
      //isUrl:1:页面跳转,2:弹窗功能,3:弹窗功能,4:未开发
      { text: "余额记录", icon: "../../static/images/index/icon31.png", bgColor: "#16b387", url: "/pages/functionList/balanceRecord/index", isUrl: 1 },
      { text: "消费记录", icon: "../../static/images/index/icon32.png", bgColor: "#329ae8", url: "/pages/functionList/paymentRecord/index", isUrl: 1 },
      { text: "充值记录", icon: "../../static/images/index/icon33.png", bgColor: "#f0a50e", url: "/pages/functionList/rechargeRecord/index", isUrl: 1 },
      { text: "水卡共享", icon: "../../static/images/index/icon34.png", bgColor: "#55ca8c", url: "/pages/functionList/share/cardShare/index", isUrl: 1 },
      { text: "故障上报", icon: "../../static/images/index/icon35.png", bgColor: "#a88ff1", url: "/pages/infoBreakdown/index", isUrl: 1 },
      { text: "优惠卷", icon: "../../static/images/index/icon36.png", bgColor: "#18bfc4", url: "", isUrl: 4 },
      { text: "会员卡挂失", icon: "../../static/images/index/icon37.png", bgColor: "#4875f0", url: "", isUrl: 2 },
      { text: "会员卡解绑", icon: "../../static/images/index/icon38.png", bgColor: "#f45088", url: "", isUrl: 3 }
      { 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: "/pages/functionList/share/cardShare/index", isUrl: 1 },
      { text: "故障上报", icon: "../../static/images/index/icon35.png", url: "/pages/infoBreakdown/index", isUrl: 1 },
      { text: "优惠卷", icon: "../../static/images/index/icon36.png", url: "", isUrl: 4 },
      { 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) {
@@ -258,23 +260,24 @@
      }
    }
    common_vendor.onMounted(async () => {
      console.log("空用户信息", cardInfo.value);
      common_vendor.index.setStorageSync("userInfo", JSON.stringify(cardInfo.value));
      getTopHeight();
      await getInfo();
      await getUserLocation();
      console.log("进入首页了");
      console.log("onMounted", "用户存储本地数据", JSON.parse(common_vendor.index.getStorageSync("userInfo")));
    });
    common_vendor.onShow(async () => {
      getTopHeight();
      await getInfo();
      console.log("onShow", "用户存储本地数据", JSON.parse(common_vendor.index.getStorageSync("userInfo")));
    });
    common_vendor.index.showShareMenu({
      withShareTicket: true,
      menus: ["shareAppMessage", "shareTimeline"],
      success: function() {
        console.log("分享菜单显示成功");
      },
      fail: function(err) {
        console.error("分享菜单显示失败", err);
      }
    });
    return (_ctx, _cache) => {
@@ -290,68 +293,49 @@
        f: common_vendor.o(($event) => navTo("/pages/userInfo/index")),
        g: common_assets._imports_1$2,
        h: common_assets._imports_0$3,
        i: isShareCard.value
      }, isShareCard.value ? {
        j: common_vendor.t(cardInfo.value.waterCardNumber)
      } : {}, {
        k: !isShareCard.value
        i: isVip.value
      }, isVip.value ? common_vendor.e({
        j: isShareCard.value
      }, isShareCard.value ? common_vendor.e({
        k: isLoss.value
      }, isLoss.value ? {} : {}) : {}, {
        l: !isShareCard.value
      }, !isShareCard.value ? common_vendor.e({
        l: isVip.value
      }, isVip.value ? {
        m: common_assets._imports_3$1
      } : {}, {
        n: isVip.value
      }, isVip.value ? {} : {}, {
        o: !isVip.value
      }, !isVip.value ? {} : {}, {
        p: isLoss.value && isVip.value
      }, isLoss.value && isVip.value ? {} : {}, {
        q: isVip.value
      }, isVip.value ? {
        r: common_vendor.t(cardInfo.value.waterCardNumber)
      } : {}, {
        s: isVip.value
      }, isVip.value ? {} : {}, {
        t: isVip.value
      }, isVip.value ? {
        v: common_vendor.t(cardInfo.value.balance)
      } : {}, {
        w: !isVip.value
      }, !isVip.value ? {
        x: common_assets._imports_4$1,
        y: common_vendor.o(($event) => navTo("/pages/addCard/index"))
      } : {}, {
        z: isVip.value
      }, isVip.value ? {
        A: common_vendor.o(($event) => navTo("/pages/recharge/index"))
        m: isLoss.value
      }, isLoss.value ? {} : {}) : {}, {
        n: common_vendor.t(cardInfo.value.waterCardNumber),
        o: common_vendor.t(cardInfo.value.balance),
        p: !isShareCard.value
      }, !isShareCard.value ? {
        q: common_vendor.o(($event) => navTo("/pages/recharge/index"))
      } : {}) : {}, {
        B: topHeight.value + "rpx",
        C: common_assets._imports_5,
        D: common_vendor.o(upGrade),
        E: common_assets._imports_1$1,
        F: common_vendor.o(($event) => navTo("/pages/facilityList/index")),
        G: common_assets._imports_7,
        H: common_vendor.o(($event) => toScan()),
        I: common_vendor.f(functionList.value, (item, index, i0) => {
        r: !isVip.value
      }, !isVip.value ? {
        s: common_vendor.o(($event) => navTo("/pages/addCard/index"))
      } : {}, {
        t: topHeight.value + "rpx",
        v: common_assets._imports_3$1,
        w: common_vendor.o(upGrade),
        x: common_assets._imports_1$1,
        y: common_vendor.o(($event) => navTo("/pages/facilityList/index")),
        z: common_assets._imports_5,
        A: common_vendor.o(($event) => toScan()),
        B: common_vendor.f(functionList.value, (item, index, i0) => {
          return {
            a: item.icon,
            b: item.bgColor,
            c: common_vendor.t(item.text),
            d: common_vendor.o(($event) => setEvent(item.isUrl, item.url), index),
            e: index
            b: common_vendor.t(item.text),
            c: common_vendor.o(($event) => setEvent(item.isUrl, item.url), index),
            d: index
          };
        }),
        J: common_assets._imports_8,
        K: common_assets._imports_9,
        L: common_assets._imports_10,
        M: common_assets._imports_11,
        N: common_vendor.o(($event) => navTo("/pagesPoints/pointsMall/index")),
        O: common_assets._imports_12,
        P: common_assets._imports_13,
        Q: common_vendor.o(($event) => navTo("/pages/station/index")),
        R: common_assets._imports_14,
        S: common_assets._imports_13,
        T: common_vendor.o(upGrade)
        C: common_assets._imports_6,
        D: common_vendor.o(($event) => navTo("/pagesPoints/pointsMall/index")),
        E: common_assets._imports_7,
        F: common_assets._imports_8,
        G: common_vendor.o(($event) => navTo("/pages/station/index")),
        H: common_assets._imports_9,
        I: common_assets._imports_8,
        J: common_vendor.o(upGrade)
      });
    };
  }
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:' + B}}"><view class="user-info data-v-1cf27b2a"><image wx:if="{{a}}" class="user-img data-v-1cf27b2a" src="{{b}}" alt=""></image><image wx:else class="user-img data-v-1cf27b2a" src="{{c}}" alt=""></image><text class="data-v-1cf27b2a" bindtap="{{e}}">{{d}}</text><image bindtap="{{f}}" class="user-more data-v-1cf27b2a" src="{{g}}"></image></view><view class="card data-v-1cf27b2a"><image class="card-bg data-v-1cf27b2a" src="{{h}}" alt=""></image><view wx:if="{{i}}" class="share-card data-v-1cf27b2a">共享卡号:{{j}}</view><view wx:if="{{k}}" 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="{{l}}" class="data-v-1cf27b2a" src="{{m}}" alt=""></image><text wx:if="{{n}}" class="data-v-1cf27b2a">会员卡 </text><text wx:if="{{o}}" class="data-v-1cf27b2a">未绑定 </text><text wx:if="{{p}}" class="lossed data-v-1cf27b2a"> [已挂失]</text></view><view wx:if="{{q}}" class="data-v-1cf27b2a">ID:{{r}}</view></view></view><view class="card-right data-v-1cf27b2a"><view class="card-right-top data-v-1cf27b2a"><text wx:if="{{s}}" class="data-v-1cf27b2a">金额卡</text><text wx:if="{{t}}" class="data-v-1cf27b2a">{{v}}元</text><view wx:if="{{w}}" class="user-add-card data-v-1cf27b2a" bindtap="{{y}}"><image class="data-v-1cf27b2a" src="{{x}}" alt=""></image><text class="data-v-1cf27b2a">添加会员卡</text></view></view><view wx:if="{{z}}" class="card-right-bottom data-v-1cf27b2a" bindtap="{{A}}">充值</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a" bindtap="{{D}}"><image class="data-v-1cf27b2a" src="{{C}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view bindtap="{{F}}" class="box1-bg box1-two data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{E}}" alt=""></image><view class="data-v-1cf27b2a">附近设备</view></view><view class="box1-bg box1-three data-v-1cf27b2a" bindtap="{{H}}"><image class="data-v-1cf27b2a" src="{{G}}" 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="{{I}}" wx:for-item="item" wx:key="e"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.d}}"><view class="box2-item-img data-v-1cf27b2a" style="{{'background:' + item.b}}"><image class="data-v-1cf27b2a" src="{{item.a}}" alt=""></image></view><view class="box2-item-text data-v-1cf27b2a">{{item.c}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a" bindtap="{{N}}"><view class="point-advert data-v-1cf27b2a"><view class="advert-image data-v-1cf27b2a"><image class="image-icon3 data-v-1cf27b2a" src="{{J}}"></image><image class="image-icon1 data-v-1cf27b2a" src="{{K}}"></image><image class="image-icon2 data-v-1cf27b2a" src="{{L}}"></image><image class="image-icon4 data-v-1cf27b2a" src="{{M}}"></image></view><view class="advert-title data-v-1cf27b2a"><view class="advert-title1 data-v-1cf27b2a">积分商城</view><view class="advert-title2 data-v-1cf27b2a"><text class="data-v-1cf27b2a">点击进入</text></view></view></view></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="{{Q}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{O}}" 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="{{P}}" alt=""></image></view></view><view class="service-bg data-v-1cf27b2a" bindtap="{{T}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{R}}" 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="{{S}}" 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:' + t}}"><view class="user-info data-v-1cf27b2a"><image wx:if="{{a}}" class="user-img data-v-1cf27b2a" src="{{b}}" alt=""></image><image wx:else class="user-img data-v-1cf27b2a" src="{{c}}" alt=""></image><text class="data-v-1cf27b2a" bindtap="{{e}}">{{d}}</text><image bindtap="{{f}}" class="user-more data-v-1cf27b2a" src="{{g}}"></image></view><view class="card data-v-1cf27b2a"><image class="card-bg data-v-1cf27b2a" src="{{h}}" alt=""></image><view wx:if="{{i}}" class="card-detail data-v-1cf27b2a"><view class="card-top data-v-1cf27b2a"><view class="vip data-v-1cf27b2a">VIP</view><view class="top-right data-v-1cf27b2a"><view wx:if="{{j}}" class="card-name data-v-1cf27b2a"><text class="data-v-1cf27b2a">共享卡</text><text wx:if="{{k}}" class="data-v-1cf27b2a">[已挂失]</text></view><view wx:if="{{l}}" class="card-name data-v-1cf27b2a"><text class="data-v-1cf27b2a">会员卡</text><text wx:if="{{m}}" class="card-loss data-v-1cf27b2a">[已挂失]</text></view><view class="card-num data-v-1cf27b2a"> 卡号:{{n}}</view></view></view><view class="card-bottom data-v-1cf27b2a"><view class="bottom-left data-v-1cf27b2a"><text class="bottom-left-text data-v-1cf27b2a">余额:</text><text class="bottom-left-money data-v-1cf27b2a">{{o}}</text></view><view wx:if="{{p}}" bindtap="{{q}}" class="card-btn data-v-1cf27b2a">充值</view></view></view><view wx:if="{{r}}" class="card-none data-v-1cf27b2a"><view class="card-none-top data-v-1cf27b2a"><text class="data-v-1cf27b2a">未绑定会员卡</text></view><view class="card-none-bottom data-v-1cf27b2a"><view bindtap="{{s}}" class="card-btn data-v-1cf27b2a">去绑定</view></view></view></view></view><view class="function-box1 data-v-1cf27b2a"><view class="box1-bg box1-one data-v-1cf27b2a" bindtap="{{w}}"><image class="box-one-image1 data-v-1cf27b2a" src="{{v}}" alt=""></image><view class="data-v-1cf27b2a">送水到家</view></view><view bindtap="{{y}}" class="box1-bg box1-two data-v-1cf27b2a"><image class="box-one-image2 data-v-1cf27b2a" src="{{x}}" alt=""></image><view class="data-v-1cf27b2a">附近设备</view></view></view><view class="scan-box data-v-1cf27b2a"><view class="scan data-v-1cf27b2a" bindtap="{{A}}"><image class="scan-img data-v-1cf27b2a" src="{{z}}"></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="{{B}}" wx:for-item="item" wx:key="d"><view class="box2-item data-v-1cf27b2a" bindtap="{{item.c}}"><view class="box2-item-img data-v-1cf27b2a"><image class="box2-image data-v-1cf27b2a" src="{{item.a}}" alt=""></image></view><view class="box2-item-text data-v-1cf27b2a">{{item.b}}</view></view></block></view></view><view class="advertisement-box data-v-1cf27b2a" bindtap="{{D}}"><image class="banner-img data-v-1cf27b2a" src="{{C}}"></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="{{G}}"><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 class="service-bg data-v-1cf27b2a" bindtap="{{J}}"><view class="data-v-1cf27b2a"><image class="data-v-1cf27b2a" src="{{H}}" 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="{{I}}" alt=""></image></view></view></view></view></view></view>
unpackage/dist/dev/mp-weixin/pages/index/index.wxss
@@ -25,13 +25,11 @@
/* 文章场景相关 */
.container.data-v-1cf27b2a {
  width: 100%;
  height: 100vh;
  overflow: scroll;
}
.container .content.data-v-1cf27b2a {
  width: 100%;
  height: 100vh;
  background: #F6F6F6;
  overflow: scroll;
}
.container .content .card-box.data-v-1cf27b2a {
  width: 100%;
@@ -65,157 +63,158 @@
}
.container .content .card-box .card.data-v-1cf27b2a {
  width: 100%;
  height: 290rpx;
  height: 256rpx;
  position: relative;
}
.container .content .card-box .card .card-bg.data-v-1cf27b2a {
  height: 290rpx;
  height: 256rpx;
  width: 100%;
  top: 0;
  position: absolute;
  z-index: 1;
}
.container .content .card-box .card .share-card.data-v-1cf27b2a {
  position: absolute;
  top: 16rpx;
  left: 28rpx;
  z-index: 100;
  font-weight: 400;
  font-size: 36rpx;
  color: #FFFFFF;
}
.container .content .card-box .card .card-content.data-v-1cf27b2a {
.container .content .card-box .card .card-none.data-v-1cf27b2a {
  width: 100%;
  height: 100%;
  padding: 38rpx;
  box-sizing: border-box;
  padding: 20rpx 15rpx;
  display: flex;
  justify-content: space-between;
  font-weight: 300;
  font-size: 30rpx;
  color: #FFFFFF;
  z-index: 100;
}
.container .content .card-box .card .card-content .card-left.data-v-1cf27b2a {
  height: 100%;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: flex-start;
  z-index: 100;
}
.container .content .card-box .card .card-content .card-left .left-top.data-v-1cf27b2a {
  display: flex;
  flex-direction: column;
}
.container .content .card-box .card .card-content .card-left .left-top view.data-v-1cf27b2a:first-child {
  display: flex;
  align-items: center;
}
.container .content .card-box .card .card-content .card-left .left-top view:first-child image.data-v-1cf27b2a {
  width: 48rpx;
  height: 48rpx;
}
.container .content .card-box .card .card-content .card-left .left-top view:first-child text.data-v-1cf27b2a {
  font-weight: 400;
  font-size: 36rpx;
  color: #FFFFFF;
}
.container .content .card-box .card .card-content .card-left .left-top view:first-child .lossed.data-v-1cf27b2a {
  justify-content: space-around;
  color: #fff;
  z-index: 2;
}
.container .content .card-box .card .card-content .card-left .left-top view.data-v-1cf27b2a:last-child {
  margin-left: 10rpx;
  font-size: 26rpx;
.container .content .card-box .card .card-none .card-none-top.data-v-1cf27b2a {
  font-size: 40rpx;
  font-weight: 600;
  z-index: 2;
  letter-spacing: 2rpx;
}
.container .content .card-box .card .card-none .card-none-bottom.data-v-1cf27b2a {
  display: flex;
  justify-content: flex-end;
  z-index: 2;
}
.container .content .card-box .card .card-none .card-none-bottom .card-btn.data-v-1cf27b2a {
  width: 196rpx;
  height: 80rpx;
  background: linear-gradient(to right, #338AFD 0%, #65A7FD 100%);
  border-radius: 40rpx;
  text-align: center;
  line-height: 80rpx;
  font-size: 44rpx;
  letter-spacing: 3rpx;
  font-weight: 500;
}
.container .content .card-box .card .card-content .card-right.data-v-1cf27b2a {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-direction: column;
.container .content .card-box .card .card-detail.data-v-1cf27b2a {
  width: 100%;
  height: 100%;
  z-index: 100;
}
.container .content .card-box .card .card-content .card-right .card-right-top.data-v-1cf27b2a {
  align-items: flex-end;
  padding: 38rpx;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  font-size: 34rpx;
  justify-content: center;
  color: #fff;
  z-index: 2;
}
.container .content .card-box .card .card-content .card-right .card-right-top .user-add-card.data-v-1cf27b2a {
.container .content .card-box .card .card-detail .card-top.data-v-1cf27b2a {
  width: 100%;
  display: flex;
  align-items: center;
  height: 52rpx;
  font-size: 28rpx;
  background: linear-gradient(to right, #B1D9FD 0%, #65A7FD 70%, #65A7FD 100%);
  border-radius: 50rpx;
  padding: 0 20rpx;
  z-index: 2;
}
.container .content .card-box .card .card-content .card-right .card-right-top .user-add-card image.data-v-1cf27b2a {
  width: 36rpx;
  height: 36rpx;
  margin-right: 6rpx;
  opacity: 0.8;
.container .content .card-box .card .card-detail .card-top .vip.data-v-1cf27b2a {
  font-size: 114rpx;
  font-weight: 600;
}
.container .content .card-box .card .card-content .card-right .card-right-top .user-add-card text.data-v-1cf27b2a {
  color: #FFF;
.container .content .card-box .card .card-detail .card-top .top-right.data-v-1cf27b2a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-left: 20rpx;
}
.container .content .card-box .card .card-content .card-right .card-right-top text.data-v-1cf27b2a:last-child {
  font-weight: 500;
}
.container .content .card-box .card .card-content .card-right .card-right-bottom.data-v-1cf27b2a {
  width: 137rpx;
  height: 56rpx;
  background: linear-gradient(to right, #65A7FD, #B1D9FD);
  border-radius: 50rpx;
  text-align: center;
  line-height: 56rpx;
  color: #212DDE;
.container .content .card-box .card .card-detail .card-top .top-right .card-name.data-v-1cf27b2a {
  font-size: 40rpx;
  font-weight: 400;
}
.container .content .card-box .card .card-detail .card-top .top-right .card-name .card-loss.data-v-1cf27b2a {
  font-size: 34rpx;
  font-weight: 600;
  margin-left: 10rpx;
  letter-spacing: 2rpx;
  color: #333434;
}
.container .content .card-box .card .card-detail .card-top .top-right .card-num.data-v-1cf27b2a {
  font-size: 34rpx;
  font-weight: 400;
}
.container .content .card-box .card .card-detail .card-bottom.data-v-1cf27b2a {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 2;
}
.container .content .card-box .card .card-detail .card-bottom .bottom-left.data-v-1cf27b2a {
  display: flex;
  align-items: center;
}
.container .content .card-box .card .card-detail .card-bottom .bottom-left .bottom-left-text.data-v-1cf27b2a {
  font-size: 40rpx;
  font-weight: 400;
  letter-spacing: 2rpx;
}
.container .content .card-box .card .card-detail .card-bottom .bottom-left .bottom-left-money.data-v-1cf27b2a {
  font-size: 60rpx;
  font-weight: 600;
}
.container .content .card-box .card .card-detail .card-bottom .card-btn.data-v-1cf27b2a {
  width: 196rpx;
  height: 80rpx;
  background: linear-gradient(270deg, #65B5FD 0%, #338AFD 100%, #65A7FD 100%);
  border-radius: 40rpx;
  text-align: center;
  line-height: 80rpx;
  font-size: 48rpx;
  letter-spacing: 6rpx;
}
.container .content .function-box1.data-v-1cf27b2a {
  width: 100%;
  box-sizing: border-box;
  height: 215rpx;
  padding: 20rpx 32rpx 15rpx;
  height: 172rpx;
  padding: 20rpx 32rpx 22rpx;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 36rpx;
  font-weight: 500;
  color: #4d4d4d;
  letter-spacing: 2rpx;
}
.container .content .function-box1 .box1-bg.data-v-1cf27b2a {
  width: 212rpx;
  height: 180rpx;
  width: 326rpx;
  height: 130rpx;
  border-radius: 24rpx;
  background: #fff;
  box-shadow: 0 0 12rpx 2rpx rgba(13, 118, 255, 0.16);
  box-shadow: 0 0 12rpx 3rpx rgba(13, 118, 255, 0.16);
}
.container .content .function-box1 .box1-one.data-v-1cf27b2a {
  font-weight: 300;
  font-size: 32rpx;
  color: #000000;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  justify-content: space-evenly;
}
.container .content .function-box1 .box1-one image.data-v-1cf27b2a {
.container .content .function-box1 .box1-one .box-one-image1.data-v-1cf27b2a {
  width: 86rpx;
  height: 78rpx;
  margin-bottom: 20rpx;
  height: 86rpx;
}
.container .content .function-box1 .box1-two.data-v-1cf27b2a {
  font-weight: 300;
  font-size: 32rpx;
  color: #000000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-evenly;
}
.container .content .function-box1 .box1-two image.data-v-1cf27b2a {
.container .content .function-box1 .box1-two .box-one-image2.data-v-1cf27b2a {
  width: 96rpx;
  height: 96rpx;
}
@@ -234,11 +233,35 @@
  height: 83rpx;
  margin-bottom: 20rpx;
}
.container .content .scan-box.data-v-1cf27b2a {
  width: 100%;
  height: 116rpx;
  padding: 0 42rpx 16rpx;
  box-sizing: border-box;
}
.container .content .scan-box .scan.data-v-1cf27b2a {
  width: 100%;
  height: 100rpx;
  background: #1678FF;
  border-radius: 178rpx;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 44rpx;
  font-weight: 500;
  letter-spacing: 1rpx;
}
.container .content .scan-box .scan .scan-img.data-v-1cf27b2a {
  width: 44rpx;
  height: 44rpx;
  margin-right: 20rpx;
}
.container .content .function-box2.data-v-1cf27b2a {
  width: 100%;
  box-sizing: border-box;
  height: 429rpx;
  padding: 0 32rpx 15rpx;
  height: 420rpx;
  padding: 0 32rpx 0;
}
.container .content .function-box2 .box2-title.data-v-1cf27b2a {
  width: 100%;
@@ -271,14 +294,15 @@
  align-items: center;
}
.container .content .function-box2 .box2-content .box2-item .box2-item-img.data-v-1cf27b2a {
  width: 90rpx;
  height: 90rpx;
  width: 100rpx;
  height: 100rpx;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #5EA1FA;
  border-radius: 50%;
}
.container .content .function-box2 .box2-content .box2-item .box2-item-img image.data-v-1cf27b2a {
.container .content .function-box2 .box2-content .box2-item .box2-item-img .box2-image.data-v-1cf27b2a {
  width: 48rpx;
  height: 48rpx;
}
@@ -286,86 +310,22 @@
  width: 100%;
  height: 40rpx;
  font-weight: 300;
  font-size: 28rpx;
  color: #000000;
  font-size: 30rpx;
  color: #3e3e3e;
  text-align: center;
  font-weight: 600;
}
.container .content .advertisement-box.data-v-1cf27b2a {
  width: 100%;
  height: 160rpx;
  height: 188rpx;
  padding: 0 32rpx 10rpx;
  box-sizing: border-box;
  display: flex;
  justify-content: space-around;
}
.container .content .advertisement-box .point-advert.data-v-1cf27b2a {
  width: 640rpx;
  height: 136rpx;
  border-radius: 10rpx;
  background: linear-gradient(140deg, #5c9dff 0%, #b5dcff 30%, #52aafc 70%, #b5dcff 90%, #5daffc 100%);
  display: flex;
  justify-content: space-around;
  align-items: center;
  box-shadow: 0 0 4rpx 2rpx #4978de;
}
.container .content .advertisement-box .point-advert .advert-title.data-v-1cf27b2a {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: #fff;
  font-size: 46rpx;
  font-weight: 800;
  text-shadow: 4rpx 2rpx #5EA1FA;
}
.container .content .advertisement-box .point-advert .advert-title .advert-title2.data-v-1cf27b2a {
  margin-top: 10rpx;
  font-size: 28rpx;
  font-weight: 500;
  width: 180rpx;
  height: 40rpx;
  background: #5c9dff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 30rpx;
  letter-spacing: 2rpx;
}
.container .content .advertisement-box .point-advert .advert-image.data-v-1cf27b2a {
  width: 200rpx;
  height: 100%;
  position: relative;
}
.container .content .advertisement-box .point-advert .advert-image .image-icon1.data-v-1cf27b2a {
  position: absolute;
  left: calc(50% - 65rpx);
  top: calc(50% - 65rpx);
  width: 130rpx;
  height: 130rpx;
  transform: rotate(20deg);
}
.container .content .advertisement-box .point-advert .advert-image .image-icon2.data-v-1cf27b2a {
  position: absolute;
  left: 60%;
  top: calc(50% - 30rpx);
  width: 90rpx;
  height: 90rpx;
  transform: rotate(-10deg);
}
.container .content .advertisement-box .point-advert .advert-image .image-icon3.data-v-1cf27b2a {
  position: absolute;
  left: calc(50% - 100rpx);
  top: 30%;
  width: 80rpx;
  height: 80rpx;
  transform: rotate(-10deg);
}
.container .content .advertisement-box .point-advert .advert-image .image-icon4.data-v-1cf27b2a {
  position: absolute;
  left: 140%;
  top: 60%;
  width: 50rpx;
  height: 50rpx;
  transform: rotate(5deg);
.container .content .advertisement-box .banner-img.data-v-1cf27b2a {
  width: 686rpx;
  height: 178rpx;
}
.container .content .service-box.data-v-1cf27b2a {
  width: 100%;
unpackage/dist/dev/mp-weixin/pages/recharge/index.js
@@ -50,27 +50,41 @@
      { text: "微信支付", value: 2, checked: true, img: "../../static/images/recharge/wx.png" }
      // {text:"余额",value:3,checked:false,img:'../../static/images/recharge/balance.png'},
    ]);
    let timerId;
    let payStatus = common_vendor.ref(true);
    async function submit() {
      let money = "";
      if (disabled.value) {
        money = choosedMoney.value;
      } else {
        money = Number(otherMoney.value);
      }
      let data = {
        cardNumber: userInfo.waterCardNumber,
        paymentMethod: 1,
        rechargeAmount: money
      };
      await api_index.rechargeApi(data).then(async (res) => {
        if (res.code == 200) {
          let data2 = {
            businessType: 1,
            businessNo: res.data
          };
          await wxPay(data2);
      if (payStatus.value) {
        payStatus.value = false;
        timerId = setTimeout(() => {
          payStatus.value = true;
        }, 2e4);
        let money = "";
        if (disabled.value) {
          money = choosedMoney.value;
        } else {
          money = Number(otherMoney.value);
        }
      });
        let data = {
          cardNumber: userInfo.waterCardNumber,
          paymentMethod: 1,
          rechargeAmount: money
        };
        await api_index.rechargeApi(data).then(async (res) => {
          if (res.code == 200) {
            let data2 = {
              businessType: 1,
              businessNo: res.data
            };
            await wxPay(data2);
            otherMoney.value = "";
          }
        });
      } else {
        common_vendor.index.showToast({
          title: "充值间隔20秒,请稍后!",
          icon: "none"
        });
      }
    }
    async function wxPay(data) {
      await api_index.wxPayApi(data).then((res) => {
@@ -115,6 +129,9 @@
        }
      });
    }
    common_vendor.onUnmounted(() => {
      clearTimeout(timerId);
    });
    return (_ctx, _cache) => {
      return {
        a: common_vendor.p({
@@ -140,7 +157,8 @@
            d: item.checked
          };
        }),
        h: common_vendor.o(($event) => submit())
        h: common_vendor.unref(payStatus) ? 1 : 0.7,
        i: common_vendor.o(($event) => submit())
      };
    };
  }
unpackage/dist/dev/mp-weixin/pages/recharge/index.wxml
@@ -1 +1 @@
<view class="container data-v-f06186df"><navbar wx:if="{{a}}" class="data-v-f06186df" u-i="f06186df-0" bind:__l="__l" u-p="{{a}}"></navbar><view class="content data-v-f06186df"><view class="main data-v-f06186df"><view class="money data-v-f06186df"><view class="money-title data-v-f06186df"><view class="title-icon data-v-f06186df"></view><view class="title-text data-v-f06186df">充值金额</view></view><view class="money-list data-v-f06186df"><block wx:for="{{b}}" wx:for-item="item" wx:key="d"><view class="money-box data-v-f06186df" style="{{item.b}}" bindtap="{{item.c}}">¥{{item.a}}</view></block></view></view><view class="other-money data-v-f06186df"><view class="money-title data-v-f06186df"><view class="title-icon data-v-f06186df"></view><view class="title-text data-v-f06186df">其他金额</view></view><view class="money-input data-v-f06186df"><input class="data-v-f06186df" disabled="{{c}}" focus="{{d}}" placeholder="请输入其他金额" value="{{e}}" bindinput="{{f}}"/></view></view><view class="pay-methods data-v-f06186df"><view class="methods-list data-v-f06186df"><block wx:for="{{g}}" wx:for-item="item"><view class="pay-item data-v-f06186df"><view class="pay-item-right data-v-f06186df"><image class="data-v-f06186df" src="{{item.a}}" alt=""></image><view class="data-v-f06186df">{{item.b}}</view></view><radio class="data-v-f06186df" value="{{item.c}}" checked="{{item.d}}"/></view></block></view></view></view><view class="submit-btn data-v-f06186df" bindtap="{{h}}">立即充值</view></view></view>
<view class="container data-v-f06186df"><navbar wx:if="{{a}}" class="data-v-f06186df" u-i="f06186df-0" bind:__l="__l" u-p="{{a}}"></navbar><view class="content data-v-f06186df"><view class="main data-v-f06186df"><view class="money data-v-f06186df"><view class="money-title data-v-f06186df"><view class="title-icon data-v-f06186df"></view><view class="title-text data-v-f06186df">充值金额</view></view><view class="money-list data-v-f06186df"><block wx:for="{{b}}" wx:for-item="item" wx:key="d"><view class="money-box data-v-f06186df" style="{{item.b}}" bindtap="{{item.c}}">¥{{item.a}}</view></block></view></view><view class="other-money data-v-f06186df"><view class="money-title data-v-f06186df"><view class="title-icon data-v-f06186df"></view><view class="title-text data-v-f06186df">其他金额</view></view><view class="money-input data-v-f06186df"><input class="data-v-f06186df" disabled="{{c}}" focus="{{d}}" placeholder="请输入其他金额" value="{{e}}" bindinput="{{f}}"/></view></view><view class="pay-methods data-v-f06186df"><view class="methods-list data-v-f06186df"><block wx:for="{{g}}" wx:for-item="item"><view class="pay-item data-v-f06186df"><view class="pay-item-right data-v-f06186df"><image class="data-v-f06186df" src="{{item.a}}" alt=""></image><view class="data-v-f06186df">{{item.b}}</view></view><radio class="data-v-f06186df" value="{{item.c}}" checked="{{item.d}}"/></view></block></view></view></view><view style="{{'opacity:' + h}}" class="submit-btn data-v-f06186df" bindtap="{{i}}">立即充值</view></view></view>
unpackage/dist/dev/mp-weixin/project.config.json
@@ -8,14 +8,15 @@
    "urlCheck": false,
    "es6": true,
    "postcss": false,
    "minified": false,
    "minified": true,
    "newFeature": true,
    "bigPackageSizeSupport": true,
    "babelSetting": {
      "ignore": [],
      "disablePlugins": [],
      "outputPath": ""
    }
    },
    "uglifyFileName": true
  },
  "compileType": "miniprogram",
  "libVersion": "",
unpackage/dist/dev/mp-weixin/project.private.config.json
@@ -1,4 +1,8 @@
{
  "description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
  "libVersion": "3.6.6"
  "libVersion": "3.6.6",
  "projectname": "water-drinking-uniapp",
  "setting": {
    "compileHotReLoad": true
  }
}
unpackage/dist/dev/mp-weixin/static/images/addCard/code.png
Binary files differ
unpackage/dist/dev/mp-weixin/static/images/index/home21.png
Binary files differ
unpackage/dist/dev/mp-weixin/static/images/index/icon22.png
Binary files differ
unpackage/dist/dev/mp-weixin/static/images/index/icon51.png
Binary files differ
unpackage/dist/dev/mp-weixin/static/images/index/notice5.png
Binary files differ