修改首页选择园区,,商户,,电表

This commit is contained in:
qiaomu 2024-04-03 14:46:34 +08:00
parent db6d253898
commit f5ddb92449
17 changed files with 188 additions and 68 deletions

View File

@ -1,10 +1,10 @@
{
"pages": [
"pages/rechargeRecord/index",
"pages/home/index",
"pages/my/index",
"pages/rechargeRecord/index",
"pages/invoiceList/index",
"pages/waitApprove/index",
"pages/my/index",
"pages/apply/index",
"pages/member/index",
"pages/handleLogin/index",

24
components/dot/index.js Normal file
View File

@ -0,0 +1,24 @@
// components/dot/index.js
Component({
/**
* 组件的属性列表
*/
properties: {
number: Number,
},
/**
* 组件的初始数据
*/
data: {
},
/**
* 组件的方法列表
*/
methods: {
}
})

View File

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

View File

@ -0,0 +1,3 @@
<!--components/dot/index.wxml-->
<view class="dot" wx:if="{{number <= 99}}"> {{ number }} </view>
<view class="dot" wx:else> 99+ </view>

10
components/dot/index.wxss Normal file
View File

@ -0,0 +1,10 @@
/* components/dot/index.wxss */
.dot {
background-color: #ee0a24;
width: 56rpx;
height: 56rpx;
border-radius: 50%;
text-align: center;
color: #fff;
font-size: 28rpx;
}

View File

@ -3,6 +3,7 @@ import { getOwnTenementList } from "../../service/tenement";
import { getUserInfo } from "../../service/user";
import { alertError, alertInfo } from "../../utils/index";
import request from '../../utils/request';
import { getDot } from "../../utils/system";
const { OK } = request;
// pages/home/index.js
Page({
@ -52,30 +53,15 @@ Page({
},
async changeMeter() {
const { meterList = [], meterIndex, tenement = {} } = this.data;
let newIndex = meterIndex + 1;
if (newIndex === meterList.length) {
newIndex = 0;
}
const { code, message, data } = getMeterDetail({ code: meterList[newIndex]?.code, tenement: tenement.id })
if (code !== OK) {
alertInfo(message)
return
}
meterList[newIndex] = { ...data.meter, money: data.money };
this.setData({
meterIndex: newIndex,
meterList
columns: meterList.map(item => { item.id = item.code; item.name = `${item.code} - ${item.address}`; return item; }),
show: true,
pickerType: "meter"
})
},
async refreshMeter() {
const { meterIndex } = this.data;
const { code, message, data } = getMeterDetail({ code: meterList[newIndex].id, tenement: tenement.id })
if (code !== OK) {
alertInfo(message)
return
}
meterList[meterIndex] = { ...data.meter, money: data.money };
this.setData({ meterList })
const { meter } = this.data;
this.handleGetMeterDetail(meter.code);
},
onOk(e) {
const { type, index, value } = e.detail;
@ -102,6 +88,18 @@ Page({
tenement: value
})
}
if (type === "meter") {
const { code, id } = e.detail.value;
this.handleGetMeterDetail(code)
}
},
async handleGetMeterDetail(meterCode) {
const { tenement } = this.data;
const { code, message, data } = await getMeterDetail({ tenement, code: meterCode });
this.setData({
tenement: data,
show: false,
})
},
onCancel() {
this.setData({
@ -115,7 +113,7 @@ Page({
})
},
onChangeMoney(e) {
this.setData({ money: Number(e.detail) })
this.setData({ money: e.detail ? Number(e.detail) : e.detail })
},
recharge() {
const { user, money } = this.data;
@ -136,6 +134,7 @@ Page({
this.setUser();
this.getAllList();
this.watchTenement();
getDot();
},
watchTenement() {
const that = this;
@ -151,18 +150,19 @@ Page({
set: function (newVal) {
const oldValue = value;
value = newVal;
// that.getMeters(newVal);
that.getMeters(newVal);
}
});
},
async getMeters({ id }) {
const { code, message, data } = await getTenementMeterList(id);
if (code !== OK) {
alertError(message)
return;
}
// if (code !== OK) {
// alertError(message)
// return;
// }
this.setData({
meterList: data || []
meterList: data || [],
meter: data?.[0] || {}
})
},
async setUser() {
@ -178,10 +178,10 @@ Page({
},
async getAllList() {
const { code, message, data } = await getOwnTenementList()
if (code !== OK) {
alertInfo(message)
return
}
// if (code !== OK) {
// alertInfo(message)
// return
// }
const [firstPark = {}] = data;
const { park, tenement } = this.data;
const updateDatas = {}

View File

@ -32,9 +32,10 @@
<view class="card">
<view class="cardTop">
<view class="cardTopLeft">
<view> 华昌宝能 - 软c307 </view>
<view wx:if="{{user.id}}"> 华昌宝能 - 软c307 </view>
<view wx:else> -- </view>
</view>
<van-button type="info" size="small" plain="{{true}}" class="loginBtn" bind:click="changeMeter">
<van-button type="info" size="small" plain="{{true}}" class="loginBtn" bind:click="changeMeter" wx:if="{{user.id}}">
<van-icon name="exchange" />
切换电表
</van-button>
@ -42,17 +43,20 @@
<view class="cardContent">
<view class="cardItem">
<view class="cardItemLabel"> 电表编号: </view>
<view class="cardItemValue"> 15151515 </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"> 软C307 </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">
<view class="text"> 200 </view>
<van-button type="info" size="small" plain="{{true}}" bind:click="refreshMeter">
<view class="text" wx:if="{{user.id}}"> {{meter.money}} </view>
<view class="text" wx:else> --- </view>
<van-button type="info" size="small" plain="{{true}}" bind:click="refreshMeter" wx:if="{{user.id}}">
<van-icon name="replay" />
刷新
</van-button>
@ -80,7 +84,7 @@
</view>
</view>
<view class="operate">
<van-button color="rgb(88, 165, 141)" block>去缴费</van-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">

View File

@ -46,15 +46,16 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow() {
const user = wx.getStorageSync('user');
if (!user || !user.id) {
wx.switchTab({
url: '/pages/home/index',
})
alertInfo("请先登录");
return false;
}
this.init()
// const user = wx.getStorageSync('user');
// if (!user || !user.id) {
// wx.switchTab({
// url: '/pages/home/index',
// })
// alertInfo("请先登录");
// return false;
// }
// this.init()
getDot();
},
async init() {
const result = await getUserInfo();

View File

@ -3,7 +3,8 @@
"van-cell": "@vant/weapp/cell/index",
"van-cell-group": "@vant/weapp/cell-group/index",
"cell": "/components/cell/index",
"van-dialog": "@vant/weapp/dialog/index"
"van-dialog": "@vant/weapp/dialog/index",
"dot": "/components/dot/index"
},
"navigationBarTitleText": "我的"
}

View File

@ -7,7 +7,14 @@
<van-cell title="联系客服" value="" is-link bind:tap="connect" />
<van-cell wx:if="{{!!user.isAdmin}}" title="二维码" value="" is-link bind:click="jumpToQrCode" />
<van-cell wx:if="{{!!user.isAdmin}}" title="成员管理" value="" is-link bind:click="jumpToMember" />
<van-cell is-link bind:click="jumpToMember" >
<view slot="title">
<view class="cellWrapper">
<view class="text"> 成员管理 </view>
<dot number="{{100}}" />
</view>
</view>
</van-cell>
<!-- </van-cell-group> -->
<!-- <van-cell-group title=" ">
<van-cell title="单元格" value="内容" is-link />

View File

@ -1 +1,6 @@
/* pages/my/index.wxss */
.cellWrapper {
display: flex;
justify-content: space-between;
}

View File

@ -39,8 +39,6 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow() {
const pages = getCurrentPages()
console.log('pages', pages)
},
/**

View File

@ -1,7 +1,8 @@
import { getRechargeList } from "../../service/recharge";
import { getOwnTenementList } from "../../service/tenement";
import { getYears } from "../../utils/index";
import request from "../../utils/request";
const { OK } = request;
// pages/rechargeRecord/index.js
Page({
@ -20,7 +21,8 @@ Page({
show: false,
columns: [],
type: "",
title: ""
title: "",
amount: 0,
},
clickYear() {
this.setData({
@ -30,13 +32,24 @@ Page({
title: "年份"
})
},
clickTenement() {
this.setData({
type: "tenement",
columns: this.data.tenements,
show: true,
title: "商户"
})
},
onOk(e) {
console.log('e', e)
const { type, value = {} } = e.detail;
if (type === "year") {
this.onChangeYear(value.id)
return;
}
if (type === "tenement") {
this.onChangeTenement(value.id)
return;
}
},
/**
* 生命周期函数--监听页面加载
@ -62,19 +75,32 @@ Page({
})
this.init(currentYear, tenement)
},
onChangeTenement(e) {
const { year } = this.data;
// const currentYear = years[Number(e)]
this.setData({
// year: currentYear,
tenement: e,
type: "",
show: false,
title: ""
})
this.init(year, e)
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
const { year, tenement } = this.data;
this.init(year, tenement)
this.init(year, tenement);
this.getTenementsList();
},
async getTenementsList() {
const { code, message, data } = await getOwnTenementList()
if (code !== OK) {
alertInfo(message)
return
}
// if (code !== OK) {
// alertInfo(message)
// return
// }
let tenements = [];
data.forEach(item => {
if (item.tenements) {
@ -84,9 +110,17 @@ Page({
this.setData({ tenements })
},
async init(year, tenement) {
const { code, message, data } = await getRechargeList(year, tenement);
const { code, message, data = [], amount = 0 } = await getRechargeList(year, tenement);
this.setData({
list: [...data, ...data]
list: data,
amount
})
},
onCancel() {
this.setData({
show: false,
title: "",
type: "",
})
},
jumpToDetail(e) {

View File

@ -7,15 +7,15 @@
<image src="/assets/images/down.png" mode="" class="down" />
</view>
<!-- </picker> -->
<picker bindchange="onChangeYear" value="{{index}}" range="{{years}}">
<view class="tenementPicker">
<!-- <picker bindchange="onChangeYear" value="{{index}}" range="{{years}}"> -->
<view class="tenementPicker" bind:tap="clickTenement">
<view wx:if="{{tenementName}}" class="tenementName"> {{ tenementName }} </view>
<view wx:else> 全部 </view>
<image src="/assets/images/down.png" mode="" class="down" />
</view>
</picker>
<!-- </picker> -->
<view class="allMoney">
合计: 3000
合计: {{amount}}
</view>
</view>
<view class="wrapper">

View File

@ -49,4 +49,9 @@ export const userApply = async function(data) {
// 获取所有的园区和商户
export const getUserParksAndTenementsList = async function() {
return await GET('/wx/getUserParksAndTenementsList');
}
// 获取所有未阅读的用户数
export const getUnReadApproveNumber = async function() {
return await GET('/wx/getApproveNumber');
}

View File

@ -1,3 +1,5 @@
/** 每次系统加载的时候判断是否有发版 */
export function checkUpgrade() {
if (wx.canIUse('getUpdateManager')) {
@ -216,4 +218,5 @@ export const wxModal = (data) => {
}
})
})
}
}

21
utils/system.js Normal file
View File

@ -0,0 +1,21 @@
import { getUnReadApproveNumber } from "../service/user";
import request from '../utils/request'
const { OK } = request
export const getDot = async () => {
const user = wx.getStorageSync('user')
if (!user || !user.id) {
return;
}
const { code, message, data } = await getUnReadApproveNumber();
if (data > 0) {
wx.showTabBarRedDot({
index: 1,
})
} else {
wx.hideTabBarRedDot({
index: 1,
})
}
}