暂存商城修改

This commit is contained in:
2024-07-17 17:05:58 +08:00
parent 765b3ad111
commit 0b568a81e5
8 changed files with 377 additions and 440 deletions

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,24 @@ 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() {
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 +102,6 @@ Page({
tenement: value
})
break;
case "meter":
const { code, id } = e.detail.value;
this.handleGetMeterDetail(id)
break;
}
},
@@ -124,45 +122,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 +134,6 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow() {
this.getAllList();
this.watchTenement();
this.watchPark();
@@ -192,8 +153,8 @@ Page({
set: function (newVal) {
// const oldValue = value;
wx.setStorageSync('tenement', newVal)
that.getMeters(newVal);
that.setUser();
// that.getMeters(newVal);
value = newVal;
}
});
@@ -250,24 +211,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 +243,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

@@ -2,7 +2,6 @@
"usingComponents": {
"custom-status-bar": "/components/customStatusBar/index",
"van-icon": "@vant/weapp/icon/index",
"van-button": "@vant/weapp/button/index",
"van-image": "@vant/weapp/image/index",
"avatar": "/components/avatar/index",
"van-field": "@vant/weapp/field/index",

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" />
</van-grid>
</view>
</view>
</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>
<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;
}