Compare commits

...

2 Commits
master ... shop

Author SHA1 Message Date
c266572022 修改商城和充费跳转 2024-08-14 09:07:37 +08:00
0b568a81e5 暂存商城修改 2024-07-17 17:05:58 +08:00
10 changed files with 382 additions and 508 deletions

View File

@ -18,7 +18,6 @@
"pages/qrCode/index",
"pages/recharge/index",
"pages/questions/index",
"pages/editInvoice/index",
"pages/rechargeDetail/index",
"pages/agreements/index",
"pages/updateInvoice/index",

View File

@ -1,66 +0,0 @@
// pages/editInvoice/index.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

View File

@ -1,2 +0,0 @@
<!--pages/editInvoice/index.wxml-->
<text>pages/editInvoice/index.wxml</text>

View File

@ -4,7 +4,6 @@ import { alertInfo, alertSuccess } from "../../utils/index";
import request from '../../utils/request';
import { getDot } from "../../utils/system";
import { getUserInfo } from "../../service/user"
import { requestRecharge } from "../../service/recharge";
const { OK } = request;
// pages/home/index.js
Page({
@ -23,10 +22,7 @@ Page({
meterList: [],
meterIndex: 0,
rechargeVisible: false,
actions: [
{ name: '微信支付', },
{ name: '对公支付', disabled: true },
],
background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],
},
/**
@ -57,18 +53,29 @@ Page({
onReady() {
},
async changeMeter() {
const { meterList = [] } = this.data;
const newColumns = meterList.map(item => { item.id = item.code; item.name = `${item.code} - ${item.address}`; return item; })
this.setData({
columns: newColumns,
show: true,
pickerType: "meter"
jumpToRecharge() {
const { user } = this.data;
if (!user || !user?.id) {
alertInfo("请先登录")
return;
}
wx.navigateTo({
url: '/pages/recharge/index',
})
},
async refreshMeter() {
const { meter } = this.data;
this.handleGetMeterDetail(meter.id);
async setUser() {
const result = await getUserInfo();
if (result.code !== OK) {
// alertInfo(result.message)
const user = wx.getStorageSync('user')
this.setData({ user: user })
return;
}
this.setData({ user: result.data })
wx.setStorageSync('user', result.data)
// const user = wx.getStorageSync('user')
// this.setData({ user: user })
},
onOk(e) {
const { type, index, value } = e.detail;
@ -100,10 +107,6 @@ Page({
tenement: value
})
break;
case "meter":
const { code, id } = e.detail.value;
this.handleGetMeterDetail(id)
break;
}
},
@ -124,45 +127,9 @@ Page({
show: false,
})
},
changeMoney(e) {
const { money } = e.currentTarget.dataset;
this.setData({
money: money
})
},
onChangeMoney(e) {
this.setData({ money: e.detail })
},
async recharge() {
const { user, money, meter, tenement, park } = this.data;
const that = this;
if (!user || !user.id) {
alertInfo("请先登录")
return
}
if (!money) {
alertInfo("请先输入金额")
return;
}
if (!meter?.code) {
alertInfo("没有选择表计")
return;
}
if (money < 0.01) {
alertInfo("最少为1分")
return
}
// wx.navigateTo({
// url: `/pages/rechargeWay/index?money=${money}&address=${meter.address}&id=${meter?.id}&tenement=${tenement?.id}&park=${park.id}`,
// })
this.setData({ rechargeVisible: true })
},
jumpToInvoice() {
wx.navigateTo({
url: '/pages/invoiceList/index',
})
},
jumpToLogin() {
wx.navigateTo({
url: '/pages/login/index',
@ -172,7 +139,6 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow() {
this.getAllList();
this.watchTenement();
this.watchPark();
@ -192,8 +158,8 @@ Page({
set: function (newVal) {
// const oldValue = value;
wx.setStorageSync('tenement', newVal)
that.getMeters(newVal);
that.setUser();
// that.getMeters(newVal);
value = newVal;
}
});
@ -250,24 +216,7 @@ Page({
wx.setStorageSync('meter', data?.[0] || {} )
// }
},
jumpToElectric() {
wx.navigateTo({
url: '/pages/electricQuery/index',
})
},
async setUser() {
const result = await getUserInfo();
if (result.code !== OK) {
// alertInfo(result.message)
const user = wx.getStorageSync('user')
this.setData({ user: user })
return;
}
this.setData({ user: result.data })
wx.setStorageSync('user', result.data)
// const user = wx.getStorageSync('user')
// this.setData({ user: user })
},
async getAllList() {
const { code, message, data } = await getOwnTenementList()
if (code !== OK) {
@ -299,64 +248,11 @@ Page({
updateDatas.all = data;
this.setData({
...updateDatas
}, () => {
if (updateDatas?.tenement?.id) {
this.getMeters({ id: updateDatas?.tenement?.id })
}
})
},
jumpToRecord() {
wx.navigateTo({
url: '/pages/rechargeRecord/index',
})
},
jumpToOrder() {
// alertInfo("尚未完成")
wx.navigateTo({
url: '/pages/billList/index',
})
},
onCloseRechargeWay() {
this.setData({ rechargeVisible: false })
},
onSelectRechargeWay(e) {
switch(e.detail.name) {
case "对公支付":
alertInfo("开发中")
break;
default:
this.wxRecharge();
break;
}
},
async wxRecharge() {
const { money, meter, tenement, park } = this.data;
const { code, message, data } = await requestRecharge({ money: Number(money), id: meter?.id, tenement: tenement?.id, park: park?.id })
if (code !== OK) {
alertInfo(message)
return;
}
wx.requestPayment({
timeStamp: data?.time,
nonceStr: data?.nonceStr,
package: "prepay_id=" + data?.prepay_id,
paySign: data?.paySign,
signType: 'RSA',
success: (res) => {
alertSuccess("充值成功")
that.setData({
money: null
})
},
fail: (res) => {
console.log('fail', res)
alertInfo("请稍后重试")
},
complete: (res) => {
console.log('complete')
that.handleGetMeterDetail(meter.id)
}
})
jumpToShop() {
alertInfo("开发中");
},
/**
* 生命周期函数--监听页面隐藏

View File

@ -33,83 +33,20 @@
<view class="welcome"> 欢迎使用华昌宝能用电管理系统! </view>
</view>
</view>
<view class="rechargeWrapper">
<view class="card">
<view class="cardTop">
<view class="cardTopLeft">
<view wx:if="{{user.id}}"> {{ tenement.shortName}} - {{ meter.address }} </view>
<view wx:else> -- </view>
<swiper indicator-dots="{{true}}" autoplay="{{true}}" interval="{{8000}}" duration="{{300}}">
<block wx:for="{{background}}" wx:key="*this">
<swiper-item>
<view class="swiper-item {{item}}">
{{item}}
</view>
<van-button type="info" size="small" plain="{{true}}" class="loginBtn" bind:click="changeMeter" wx:if="{{user.id}}">
<van-icon name="exchange" />
切换电表
</van-button>
</view>
<view class="cardContent">
<view class="cardItem">
<view class="cardItemLabel"> 电表编号: </view>
<view class="cardItemValue" wx:if="{{user.id}}"> {{meter.code}} </view>
<view class="cardItemValue" wx:else> -- </view>
</view>
<view class="cardItem">
<view class="cardItemLabel"> 电表地址: </view>
<view class="cardItemValue" wx:if="{{user.id}}"> {{meter.address}} </view>
<view class="cardItemValue" wx:else> -- </view>
</view>
<view class="cardItem">
<view class="cardItemLabel"> 电表余额: </view>
<view class="cardItemValue" style="position: relative;">
<view class="text" wx:if="{{user.id}}"> {{meter.money}} </view>
<view class="text" wx:else> --- </view>
<van-button type="info" size="small" plain="{{true}}" custom-style="position: absolute; right: 0; bottom: 0;z-index: 99;" bind:click="refreshMeter" wx:if="{{user.id}}">
<van-icon name="replay" />
刷新
</van-button>
</view>
</view>
</view>
</view>
<view class="recharge">
<view> 请输入金额: </view>
<view class="moneyBox">
<view class="money" bind:tap="changeMoney" data-money="30"> ¥30 </view>
<view class="money" bind:tap="changeMoney" data-money="50"> ¥50 </view>
<view class="money" bind:tap="changeMoney" data-money="100"> ¥100 </view>
<view class="money" style="margin-right: 0;" bind:tap="changeMoney" data-money="200"> ¥200 </view>
</view>
<view class="moneyInput">
<van-field
value="{{ money }}"
placeholder="请输入充值金额"
border="{{true}}"
bind:change="onChangeMoney"
size="large"
type="digit"
/>
</view>
</view>
<view class="operate">
<van-button color="rgb(88, 165, 141)" block bind:click="recharge">去缴费</van-button>
</view>
<view class="others">
<van-grid direction="horizontal" column-num="2">
<van-grid-item icon="balance-list-o" text="电费账单" bind:click="jumpToOrder">
<!-- <view slot="icon"> 111 </view> -->
<!-- <van-icon slot="icom" name="balance-list-o" /> -->
</van-grid-item>
<van-grid-item icon="after-sale" text="缴费记录" bind:click="jumpToRecord" />
<van-grid-item icon="bar-chart-o" text="用电查询" bind:click="jumpToElectric" />
<van-grid-item icon="bill-o" text="去开票" bind:click="jumpToInvoice" />
</swiper-item>
</block>
</swiper>
<van-grid column-num="2" direction="horizontal">
<van-grid-item icon="balance-list-o" text="充值" bind:tap="jumpToRecharge" />
<van-grid-item icon="shop-o" text="商城" bind:tap="jumpToShop" />
</van-grid>
</view>
</view>
</view>
<picker show="{{show}}" valueKey="name" columns="{{columns}}" bind:ok="onOk" bind:cancel="onCancel" type="{{pickerType}}" />
<van-action-sheet
show="{{ rechargeVisible }}"
actions="{{ actions }}"
bind:close="onCloseRechargeWay"
bind:select="onSelectRechargeWay"
/>

View File

@ -59,105 +59,9 @@
white-space: nowrap;
}
.rechargeWrapper {
background: linear-gradient(to bottom, var(--middle-green), #fff );
overflow: hidden;
}
.card {
margin-top: 0rpx;
margin-left: 46rpx;
margin-right: 46rpx;
border-radius: 30rpx;
padding: 22rpx 30rpx;
/* background-color: rgb(173, 217, 203); */
background: linear-gradient(to bottom right, rgb(212, 240, 231), rgb(145, 206, 185));
}
.cardTop {
display: flex;
align-items: center;
}
.cardTopLeft {
display: flex;
align-items: center;
flex: 1;
font-size: 33rpx;
}
.cardContent {
margin: 30rpx 20rpx 0;
}
.cardItem {
display: flex;
align-items: center;
margin-bottom: 30rpx;
font-size: 32rpx;
}
.cardItem:last-child {
margin-bottom: 12rpx;
}
.cardItemValue {
display: flex;
flex: 1;
align-items: center;
}
.cardItemValue .text {
flex: 1;
}
.recharge {
background: #fff;
padding: 20rpx 30rpx;
margin-top: 24rpx;
margin-left: 46rpx;
margin-right: 46rpx;
margin-bottom: 30rpx;
border-radius: 30rpx;
}
.operate {
margin-left: 46rpx;
margin-right: 46rpx;
margin-bottom: 24rpx;
}
.welcome {
margin-top: 20rpx;
margin-left: 30rpx;
font-size: 30rpx;
color: rgba(255,255,255, .85);
}
.moneyBox {
display: flex;
justify-content: space-between;
margin-top: 30rpx;
}
.money {
flex: 1;
padding: 16rpx;
display: flex;
justify-content: center;
align-items: center;
border: 1rpx solid #ccc;
margin-right: 30rpx;
}
.moneyInput {
margin-top: 24rpx;
margin-bottom: 24rpx;
}
.others {
margin-left: 46rpx;
margin-right: 46rpx;
margin-top: 10rpx;
margin-bottom: 40rpx;
}

View File

@ -1,32 +1,202 @@
import { getMeterDetail } from "../../service/meter";
import { getGlobalData, showModal } from "../../utils/index";
import { getMeterDetail, getTenementMeterList } from "../../service/meter";
import request from '../../utils/request';
import { getUserInfo } from "../../service/user"
import { alertInfo, alertSuccess, loadingFunc } from "../../utils/index";
import { requestRecharge } from "../../service/recharge";
const { OK } = request;
// pages/recharge/index.js
Page({
/**
* 页面的初始数据
*/
data: {
money: 0,
moneyIndex: -1,
primaryColor: getGlobalData().primaryColor,
defaultMoneyArray: [100, 200, 500, 1000, 2000],
customFlag: false,
detail: {}
meterList: [],
meter: {},
actions: [
{ name: '微信支付', },
{ name: '对公支付', disabled: true },
],
user: {},
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
const { tenement, code } = options
this.init({ tenement, code })
},
async init(options) {
const { code, message, data = {}} = await getMeterDetail(options)
onLoad() {
const tenement = wx.getStorageSync('tenement')
const park = wx.getStorageSync('park')
this.setData({
detail: data
tenement, park
})
this.init(park, tenement)
},
async changeMeter() {
const { meterList = [] } = this.data;
const newColumns = meterList.map(item => { item.id = item.code; item.name = `${item.code} - ${item.address}`; return item; })
this.setData({
columns: newColumns,
show: true,
pickerType: "meter"
})
},
onOk(e) {
const { type } = e.detail;
switch(type) {
case "meter":
const { id } = e.detail.value;
this.handleGetMeterDetail(id)
break;
}
},
async init(park, tenement) {
this.getMeters({ id: tenement?.id })
},
async refreshMeter() {
const { meter } = this.data;
this.handleGetMeterDetail(meter.id);
},
async handleGetMeterDetail(meterId) {
const { tenement } = this.data;
const { code, message, data } = await getMeterDetail({ tenement: tenement?.id, id: meterId });
if (code !== OK) {
alertInfo(message);
return;
}
this.setData({
meter: data,
show: false,
})
},
onCancel() {
this.setData({
show: false,
})
},
async setUser() {
const result = await getUserInfo();
if (result.code !== OK) {
const user = wx.getStorageSync('user')
this.setData({ user: user })
return;
}
this.setData({ user: result.data })
wx.setStorageSync('user', result.data)
},
async recharge() {
const { user, money, meter, tenement, park } = this.data;
if (!user || !user.id) {
alertInfo("请先登录")
return
}
if (!money) {
alertInfo("请先输入金额")
return;
}
if (!meter?.code) {
alertInfo("没有选择表计")
return;
}
if (money < 0.01) {
alertInfo("最少为1分")
return
}
// wx.navigateTo({
// url: `/pages/rechargeWay/index?money=${money}&address=${meter.address}&id=${meter?.id}&tenement=${tenement?.id}&park=${park.id}`,
// })
this.setData({ rechargeVisible: true })
},
async getMeters({ id }) {
const { code, message, data } = await getTenementMeterList(id);
if (code !== OK) {
alertInfo(message)
this.setData({ meterList: [], meter: {} })
wx.setStorageSync('meter', {})
return;
}
this.setData({
meterList: data || [],
meter: (data?.[0] || {})
})
// if (!storageMeter) {
wx.setStorageSync('meter', data?.[0] || {} )
// }
},
changeMoney(e) {
const { money } = e.currentTarget.dataset;
this.setData({
money: money
})
},
onChangeMoney(e) {
this.setData({ money: e.detail })
},
onCloseRechargeWay() {
this.setData({ rechargeVisible: false })
},
onSelectRechargeWay(e) {
const that = this;
switch(e.detail.name) {
case "对公支付":
alertInfo("开发中")
break;
default:
loadingFunc(async () => {
await that.wxRecharge();
})
break;
}
},
jumpToRecord() {
wx.navigateTo({
url: '/pages/rechargeRecord/index',
})
},
jumpToOrder() {
// alertInfo("尚未完成")
wx.navigateTo({
url: '/pages/billList/index',
})
},
jumpToElectric() {
wx.navigateTo({
url: '/pages/electricQuery/index',
})
},
jumpToInvoice() {
wx.navigateTo({
url: '/pages/invoiceList/index',
})
},
async wxRecharge() {
const { money, meter, tenement, park } = this.data;
const that = this;
const { code, message, data } = await requestRecharge({ money: Number(money), id: meter?.id, tenement: tenement?.id, park: park?.id })
if (code !== OK) {
alertInfo(message)
return;
}
wx.requestPayment({
timeStamp: data?.time,
nonceStr: data?.nonceStr,
package: "prepay_id=" + data?.prepay_id,
paySign: data?.paySign,
signType: 'RSA',
success: (res) => {
alertSuccess("充值成功")
that.setData({
money: null
})
},
fail: (res) => {
console.log('fail', res)
alertInfo("请稍后重试")
},
complete: (res) => {
console.log('complete')
that.handleGetMeterDetail(meter.id)
}
})
},
/**
@ -40,7 +210,7 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow() {
this.setUser();
},
chooseMoney(e) {
const { money, index } = e.currentTarget.dataset;
@ -69,13 +239,6 @@ Page({
money: money,
})
},
async recharge() {
const { detail = {}, money } = this.data;
const confirmResult = await showModal({ title: "充值确认", content: `确认充值表号为${detail?.meter?.code}的表计${money}元吗?` });
if (!confirmResult) {
return;
}
},
/**
* 生命周期函数--监听页面隐藏
*/

View File

@ -4,7 +4,12 @@
"van-grid": "@vant/weapp/grid/index",
"van-grid-item": "@vant/weapp/grid-item/index",
"van-row": "@vant/weapp/row/index",
"van-button": "@vant/weapp/button/index",
"picker": "/components/picker/index",
"van-field": "@vant/weapp/field/index",
"van-action-sheet": "@vant/weapp/action-sheet/index",
"van-col": "@vant/weapp/col/index"
},
"navigationBarTitleText": "充值"
"navigationBarTitleText": "充值",
"navigationStyle": "custom"
}

View File

@ -1,76 +1,77 @@
<!--pages/recharge/index.wxml-->
<view class="wrapper">
<!-- <van-grid column-num="2" center="{{false}}">
<van-grid-item icon="photo-o" text="文字" use-slot>
<view>
<view class="gridTitle"> 充值表号: </view>
<view class="gridContent"> {{ detail.meter.code }} </view>
<navigator title="充值" canBack="true" />
<view class="rechargeWrapper">
<view class="card">
<view class="cardTop">
<view class="cardTopLeft">
<view wx:if="{{user.id}}"> {{ tenement.shortName}} - {{ meter.address }} </view>
<view wx:else> -- </view>
</view>
</van-grid-item>
<van-grid-item icon="photo-o" text="文字" use-slot>
<view>
<view class="gridTitle"> 表计地址: </view>
<view class="gridContent"> {{ detail.meter.address }} </view>
<van-button type="info" size="small" plain="{{true}}" class="loginBtn" bind:click="changeMeter" wx:if="{{user.id}}">
<van-icon name="exchange" />
切换电表
</van-button>
</view>
</van-grid-item>
<van-grid-item icon="photo-o" text="文字" use-slot>
<view>
<view class="gridTitle"> 剩余金额: </view>
<view class="gridContent"> {{ detail.money }} </view>
<view class="cardContent">
<view class="cardItem">
<view class="cardItemLabel"> 电表编号: </view>
<view class="cardItemValue" wx:if="{{user.id}}"> {{meter.code}} </view>
<view class="cardItemValue" wx:else> -- </view>
</view>
</van-grid-item>
<van-grid-item icon="photo-o" text="文字" use-slot>
<view>
<view class="gridTitle"> 公司名称: </view>
<view class="gridContent"> {{ detail.tenement.name }} </view>
<view class="cardItem">
<view class="cardItemLabel"> 电表地址: </view>
<view class="cardItemValue" wx:if="{{user.id}}"> {{meter.address}} </view>
<view class="cardItemValue" wx:else> -- </view>
</view>
</van-grid-item>
</van-grid> -->
<van-row gutter="10">
<van-col span="12">
<view class="title">充值表号:</view>
<view class="content">{{ detail.meter.code }}</view>
</van-col>
<van-col span="12">
<view class="title">表计地址:</view>
<view class="content">{{ detail.meter.address }}</view>
</van-col>
<van-col span="12" custom-class="colBottom">
<view class="title">剩余金额:</view>
<view class="content">{{ detail.money }}</view>
</van-col>
<van-col span="12" custom-class="colBottom">
<view class="title">公司名称:</view>
<view class="content">{{ detail.tenement.name }}</view>
</van-col>
</van-row>
<view class="moneyBoxs">
<view
wx:for="{{defaultMoneyArray}}"
class="moneyBox border radius12"
style="background-color: {{moneyIndex === index ? primaryColor : ''}};"
wx:key="index"
bind:tap="chooseMoney"
data-money="{{item}}"
data-index="{{index}}"
> {{item}} </view>
<view class="moneyBox border radius12" bind:tap="custom"> 自定义 </view>
<view class="cardItem">
<view class="cardItemLabel"> 电表余额: </view>
<view class="cardItemValue" style="position: relative;">
<view class="text" wx:if="{{user.id}}"> {{meter.money}} </view>
<view class="text" wx:else> --- </view>
<van-button type="info" size="small" plain="{{true}}" custom-style="position: absolute; right: 0; bottom: 0;z-index: 99;" bind:click="refreshMeter" wx:if="{{user.id}}">
<van-icon name="replay" />
刷新
</van-button>
</view>
<view
class="customInput border radius12"
wx:if="{{customFlag}}"
>
<input
type="number"
focus
placeholder="请输入要充值的金额"
bindinput="onChangeCustomMoney"
</view>
</view>
</view>
<view class="recharge">
<view> 请输入金额: </view>
<view class="moneyBox">
<view class="money" bind:tap="changeMoney" data-money="30"> ¥30 </view>
<view class="money" bind:tap="changeMoney" data-money="50"> ¥50 </view>
<view class="money" bind:tap="changeMoney" data-money="100"> ¥100 </view>
<view class="money" style="margin-right: 0;" bind:tap="changeMoney" data-money="200"> ¥200 </view>
</view>
<view class="moneyInput">
<van-field
value="{{ money }}"
placeholder="请输入充值金额"
border="{{true}}"
bind:change="onChangeMoney"
size="large"
type="digit"
/>
</view>
</view>
<view class="operate">
<button type="primary" bind:tap="recharge" disabled="{{!money}}"> 充值 </button>
<van-button color="rgb(88, 165, 141)" block bind:click="recharge">去缴费</van-button>
</view>
<view class="others">
<van-grid direction="horizontal" column-num="2">
<van-grid-item icon="balance-list-o" text="电费账单" bind:click="jumpToOrder">
</van-grid-item>
<van-grid-item icon="after-sale" text="缴费记录" bind:click="jumpToRecord" />
<van-grid-item icon="bar-chart-o" text="用电查询" bind:click="jumpToElectric" />
<van-grid-item icon="bill-o" text="去开票" bind:click="jumpToInvoice" />
</van-grid>
</view>
</view>
<van-action-sheet
show="{{ rechargeVisible }}"
actions="{{ actions }}"
bind:close="onCloseRechargeWay"
bind:select="onSelectRechargeWay"
/>
<picker show="{{show}}" valueKey="name" columns="{{columns}}" bind:ok="onOk" bind:cancel="onCancel" type="{{pickerType}}" />

View File

@ -1,62 +1,99 @@
/* pages/recharge/index.wxss */
.moneyBoxs {
margin-top: 32rpx;
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
.rechargeWrapper {
background: linear-gradient(to bottom, var(--middle-green), #fff );
overflow: hidden;
padding-top: 30rpx;
}
.moneyBox {
width: 30%;
height: 140rpx;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 24rpx;
.card {
margin-top: 0rpx;
margin-left: 46rpx;
margin-right: 46rpx;
border-radius: 30rpx;
padding: 22rpx 30rpx;
/* background-color: rgb(173, 217, 203); */
background: linear-gradient(to bottom right, rgb(212, 240, 231), rgb(145, 206, 185));
}
.chooseMeter {
.cardTop {
display: flex;
align-items: center;
margin-top: 10rpx;
}
.selectMeter {
margin-left: 24rpx;
.cardTopLeft {
display: flex;
align-items: center;
flex: 1;
font-size: 33rpx;
}
.cardContent {
margin: 30rpx 20rpx 0;
}
.cardItem {
display: flex;
align-items: center;
margin-bottom: 30rpx;
font-size: 32rpx;
}
.cardItem:last-child {
margin-bottom: 12rpx;
}
.cardItemValue {
display: flex;
flex: 1;
align-items: center;
}
.cardItemValue .text {
flex: 1;
}
.recharge {
background: #fff;
padding: 20rpx 30rpx;
margin-top: 24rpx;
margin-left: 46rpx;
margin-right: 46rpx;
margin-bottom: 30rpx;
border-radius: 30rpx;
}
.operate {
margin-top: 24rpx;
}
.input {
height: 40rpx;
width: 400rpx;
line-height: 40rpx;
border-radius: 20rpx;
padding: 12rpx 14rpx 16rpx;
/* border: 1rpx solid #ccc; */
}
.customInput {
padding: 16rpx 24rpx;
}
.gridTitle {
margin-left: 46rpx;
margin-right: 46rpx;
margin-bottom: 24rpx;
}
.colBottom {
margin-top: 40rpx;
.moneyBox {
display: flex;
justify-content: space-between;
margin-top: 30rpx;
}
.title {
font-weight: 600;
font-size: 40rpx;
.money {
flex: 1;
padding: 16rpx;
display: flex;
justify-content: center;
align-items: center;
border: 1rpx solid #ccc;
margin-right: 30rpx;
}
.moneyInput {
margin-top: 20rpx;
margin-bottom: 20rpx;
}
.content {
font-size: 32rpx;
.others {
margin-left: 46rpx;
margin-right: 46rpx;
margin-top: 10rpx;
margin-bottom: 40rpx;
}