已修改31个文件
已删除10个文件
已添加9个文件
| | |
| | | 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') |
| | | } |
| | | |
| | | //查询设备故障上报 |
| | |
| | | export function editExamineApi(data){ |
| | | return request('/waterFacilityMalfunction/modify',data,'POST') |
| | | } |
| | | //修改密码 |
| | | export function changePasswordApi(data){ |
| | | return request('/admin/user/changePassword',data,'POST') |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | }, |
| | | { |
| | | "path" : "adminPlatform/params1", |
| | | "style": { |
| | | "navigationStyle":"custom" |
| | | } |
| | | }, |
| | | { |
| | | "path" : "adminPlatform/breakdown", |
| | | "style": { |
| | | "navigationStyle":"custom" |
| | |
| | | <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> |
| | |
| | | border-radius: 24rpx; |
| | | padding:30rpx 50rpx 0; |
| | | box-sizing: border-box; |
| | | input{ |
| | | .input-item{ |
| | | line-height:100%; |
| | | height:100%; |
| | | } |
| | |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | |
| | | font-weight: 300; |
| | | font-size:28rpx; |
| | | color: #484848; |
| | | text:first-child{ |
| | | .tips-text{ |
| | | margin-bottom:28rpx; |
| | | } |
| | | } |
| | |
| | | <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> |
| | |
| | | <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() |
| | | //获取设备信息 |
| | |
| | | distance:preDistance.km, |
| | | lat:item.latitude, |
| | | lon:item.longitude, |
| | | url:item.facilityUrl |
| | | }) |
| | | }) |
| | | console.log('deviceList.value',deviceList.value) |
| | |
| | | } |
| | | //打开地图导航 |
| | | function openMap(lat,lon){ |
| | | console.log('lat:',parseFloat(lat),'lon:',parseFloat(lon)) |
| | | uni.openLocation({ |
| | | latitude: parseFloat(lat), |
| | | longitude: parseFloat(lon), |
| | |
| | | console.log('请求响应',res) |
| | | if(res.code == 200){ |
| | | uni.showToast({ |
| | | title:'共享成功', |
| | | title:'已发起,待确认', |
| | | duration:1500, |
| | | }) |
| | | setTimeout(() =>{ |
| | |
| | | * 会员卡相关 |
| | | */ |
| | | const cardInfo = ref({ |
| | | //用户档案信息 |
| | | id:'', |
| | | userName:'微信用户', |
| | | headImg:'', |
| | |
| | | //获取会员卡信息 |
| | | 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)) |
| | | } |
| | |
| | | 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}` |
| | | }) |
| | | } |
| | | }); |
| | |
| | | */ |
| | | 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){ |
| | |
| | | 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){ |
| | |
| | | } |
| | | } |
| | | 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> |
| | |
| | | <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">会员卡 </text> |
| | | <text v-if="!isVip">未绑定 </text> |
| | | <text class="lossed" v-if="isLoss && isVip"> [已挂失]</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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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; |
| | |
| | | } |
| | | .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; |
| | |
| | | } |
| | | } |
| | | } |
| | | .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%; |
| | |
| | | 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; |
| | | } |
| | |
| | | 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; |
| | |
| | | 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); |
| | | } |
| | | }); |
| | | } |
| | |
| | | <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"> |
| | |
| | | <script setup> |
| | | import{ ref ,onMounted} from 'vue' |
| | | import{ ref ,onMounted,onUnmounted} from 'vue' |
| | | import { wxPayApi,rechargeApi } from '../../api/index.js' |
| | | |
| | | const choosedMoney = ref(50) |
| | |
| | | // 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){ |
| | |
| | | } |
| | | }) |
| | | } |
| | | onUnmounted(() =>{ |
| | | clearTimeout(timerId) |
| | | }) |
| | | </script> |
| | | <template> |
| | | <view class="container"> |
| | |
| | | </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> |
| | |
| | | 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)){ |
| | |
| | | } |
| | | }) |
| | | } |
| | | }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(){ |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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() |
| | |
| | | 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)){ |
| | |
| | | icon:'none' |
| | | }); |
| | | } |
| | | }) |
| | | } |
| | | }else{ |
| | | uni.showToast({ |
| | | title:'支付间隔20秒,请稍后!', |
| | | icon:'none' |
| | | }) |
| | | } |
| | | } |
| | |
| | | </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> |
| | |
| | | }) |
| | | 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}) |
| | |
| | | }) |
| | | } |
| | | 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关-设备开关机代表设备完全开关机,相当于售水、制水、温控全开或全关) |
| | |
| | | <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') |
| | |
| | | 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: '提示', |
| | |
| | | </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> |
| | |
| | | <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> |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | .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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | 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); |
| | |
| | | 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%; |
| | |
| | | } |
| | | .nodata{ |
| | | width:100%; |
| | | height:100%; |
| | | height:calc(100% - 120rpx); |
| | | display: flex; |
| | | justify-content: center; |
| | | background: rgba(255,255,255,0.6); |
| | |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | }) |
| | | async function getFacilityById(){ |
| | | await getFacilityApi(facilityId).then((res) =>{ |
| | | console.log('设备详情响应',res) |
| | | onLineState = res.data.onLineState |
| | | facilityCode = res.data.facilityCode |
| | | }) |
| | |
| | | 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: { |
| | |
| | | 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:{ |
| | |
| | | //参数设置按钮,请求设备参数 |
| | | async function handleSetting(){ |
| | | await getParameterApi(facilityCode).then((res) =>{ |
| | | console.log('设备参数查询',res) |
| | | //参数不为空 |
| | | if(res.data != null){ |
| | | formData.value = res.data |
| | |
| | | |
| | | async function setParams(formParams){ |
| | | await editParameterApi(formParams).then((res) =>{ |
| | | console.log('设备参数编辑响应',res,'传参',formParams) |
| | | if(res.code == 200){ |
| | | uni.showToast({ |
| | | title:'成功!三秒刷新' |
| | |
| | | <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> |
| | | |
| | |
| | | <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> |
| | | |
| | |
| | | <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> |
对比新文件 |
| | |
| | | <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> |
| | |
| | | <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'))) |
| | |
| | | }) |
| | | setTimeout(() =>{ |
| | | uni.navigateTo({ |
| | | url:'/pages/pointsMall/pointsExchangeRecord/index' |
| | | url:'/pagesPoints/pointsMall/pointsExchangeRecord/index' |
| | | }) |
| | | },1000) |
| | | await getGoodsDetail(goodsId) |
| | |
| | | <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"> |
对比新文件 |
| | |
| | | <?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> |
对比新文件 |
| | |
| | | <?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> |
对比新文件 |
| | |
| | | <?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> |
对比新文件 |
| | |
| | | <?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> |
对比新文件 |
| | |
| | | <?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> |
对比新文件 |
| | |
| | | <?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> |
| | |
| | | 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"); |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | "./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"; |
| | |
| | | "adminPlatform/facilityDetail", |
| | | "adminPlatform/inspect", |
| | | "adminPlatform/params", |
| | | "adminPlatform/params1", |
| | | "adminPlatform/breakdown", |
| | | "adminPlatform/maintain" |
| | | ] |
| | |
| | | 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"; |
| | |
| | | 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"; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | } |
| | | }, |
| | | { |
| | | path: "adminPlatform/params1", |
| | | style: { |
| | | navigationStyle: "custom" |
| | | } |
| | | }, |
| | | { |
| | | path: "adminPlatform/breakdown", |
| | | style: { |
| | | navigationStyle: "custom" |
| | |
| | | <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> |
| | |
| | | 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%; |
| | | } |
| | |
| | | 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%; |
| | |
| | | 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 { |
| | |
| | | } |
| | | } |
| | | const cardInfo = common_vendor.ref({ |
| | | //用户档案信息 |
| | | id: "", |
| | | userName: "微信用户", |
| | | headImg: "", |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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)); |
| | | } |
| | |
| | | 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) { |
| | |
| | | } |
| | | } |
| | | 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) => { |
| | |
| | | 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) |
| | | }); |
| | | }; |
| | | } |
| | |
| | | <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> |
| | |
| | | /* 文章场景相关 */ |
| | | .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%; |
| | |
| | | } |
| | | .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; |
| | | } |
| | |
| | | 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%; |
| | |
| | | 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; |
| | | } |
| | |
| | | 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%; |
| | |
| | | { 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) => { |
| | |
| | | } |
| | | }); |
| | | } |
| | | common_vendor.onUnmounted(() => { |
| | | clearTimeout(timerId); |
| | | }); |
| | | return (_ctx, _cache) => { |
| | | return { |
| | | a: common_vendor.p({ |
| | |
| | | d: item.checked |
| | | }; |
| | | }), |
| | | h: common_vendor.o(($event) => submit()) |
| | | h: common_vendor.unref(payStatus) ? 1 : 0.7, |
| | | i: common_vendor.o(($event) => submit()) |
| | | }; |
| | | }; |
| | | } |
| | |
| | | <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> |
| | |
| | | "urlCheck": false, |
| | | "es6": true, |
| | | "postcss": false, |
| | | "minified": false, |
| | | "minified": true, |
| | | "newFeature": true, |
| | | "bigPackageSizeSupport": true, |
| | | "babelSetting": { |
| | | "ignore": [], |
| | | "disablePlugins": [], |
| | | "outputPath": "" |
| | | } |
| | | }, |
| | | "uglifyFileName": true |
| | | }, |
| | | "compileType": "miniprogram", |
| | | "libVersion": "", |
| | |
| | | { |
| | | "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 |
| | | } |
| | | } |