修改首页选择园区,,商户,,电表
This commit is contained in:
parent
db6d253898
commit
f5ddb92449
4
app.json
4
app.json
@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
"pages": [
|
"pages": [
|
||||||
"pages/rechargeRecord/index",
|
|
||||||
"pages/home/index",
|
"pages/home/index",
|
||||||
|
"pages/my/index",
|
||||||
|
"pages/rechargeRecord/index",
|
||||||
"pages/invoiceList/index",
|
"pages/invoiceList/index",
|
||||||
"pages/waitApprove/index",
|
"pages/waitApprove/index",
|
||||||
"pages/my/index",
|
|
||||||
"pages/apply/index",
|
"pages/apply/index",
|
||||||
"pages/member/index",
|
"pages/member/index",
|
||||||
"pages/handleLogin/index",
|
"pages/handleLogin/index",
|
||||||
|
24
components/dot/index.js
Normal file
24
components/dot/index.js
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
// components/dot/index.js
|
||||||
|
Component({
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组件的属性列表
|
||||||
|
*/
|
||||||
|
properties: {
|
||||||
|
number: Number,
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组件的初始数据
|
||||||
|
*/
|
||||||
|
data: {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 组件的方法列表
|
||||||
|
*/
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
4
components/dot/index.json
Normal file
4
components/dot/index.json
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"component": true,
|
||||||
|
"usingComponents": {}
|
||||||
|
}
|
3
components/dot/index.wxml
Normal file
3
components/dot/index.wxml
Normal 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
10
components/dot/index.wxss
Normal 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;
|
||||||
|
}
|
@ -3,6 +3,7 @@ import { getOwnTenementList } from "../../service/tenement";
|
|||||||
import { getUserInfo } from "../../service/user";
|
import { getUserInfo } from "../../service/user";
|
||||||
import { alertError, alertInfo } from "../../utils/index";
|
import { alertError, alertInfo } from "../../utils/index";
|
||||||
import request from '../../utils/request';
|
import request from '../../utils/request';
|
||||||
|
import { getDot } from "../../utils/system";
|
||||||
const { OK } = request;
|
const { OK } = request;
|
||||||
// pages/home/index.js
|
// pages/home/index.js
|
||||||
Page({
|
Page({
|
||||||
@ -52,30 +53,15 @@ Page({
|
|||||||
},
|
},
|
||||||
async changeMeter() {
|
async changeMeter() {
|
||||||
const { meterList = [], meterIndex, tenement = {} } = this.data;
|
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({
|
this.setData({
|
||||||
meterIndex: newIndex,
|
columns: meterList.map(item => { item.id = item.code; item.name = `${item.code} - ${item.address}`; return item; }),
|
||||||
meterList
|
show: true,
|
||||||
|
pickerType: "meter"
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
async refreshMeter() {
|
async refreshMeter() {
|
||||||
const { meterIndex } = this.data;
|
const { meter } = this.data;
|
||||||
const { code, message, data } = getMeterDetail({ code: meterList[newIndex].id, tenement: tenement.id })
|
this.handleGetMeterDetail(meter.code);
|
||||||
if (code !== OK) {
|
|
||||||
alertInfo(message)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
meterList[meterIndex] = { ...data.meter, money: data.money };
|
|
||||||
this.setData({ meterList })
|
|
||||||
},
|
},
|
||||||
onOk(e) {
|
onOk(e) {
|
||||||
const { type, index, value } = e.detail;
|
const { type, index, value } = e.detail;
|
||||||
@ -102,6 +88,18 @@ Page({
|
|||||||
tenement: value
|
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() {
|
onCancel() {
|
||||||
this.setData({
|
this.setData({
|
||||||
@ -115,7 +113,7 @@ Page({
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
onChangeMoney(e) {
|
onChangeMoney(e) {
|
||||||
this.setData({ money: Number(e.detail) })
|
this.setData({ money: e.detail ? Number(e.detail) : e.detail })
|
||||||
},
|
},
|
||||||
recharge() {
|
recharge() {
|
||||||
const { user, money } = this.data;
|
const { user, money } = this.data;
|
||||||
@ -136,6 +134,7 @@ Page({
|
|||||||
this.setUser();
|
this.setUser();
|
||||||
this.getAllList();
|
this.getAllList();
|
||||||
this.watchTenement();
|
this.watchTenement();
|
||||||
|
getDot();
|
||||||
},
|
},
|
||||||
watchTenement() {
|
watchTenement() {
|
||||||
const that = this;
|
const that = this;
|
||||||
@ -151,18 +150,19 @@ Page({
|
|||||||
set: function (newVal) {
|
set: function (newVal) {
|
||||||
const oldValue = value;
|
const oldValue = value;
|
||||||
value = newVal;
|
value = newVal;
|
||||||
// that.getMeters(newVal);
|
that.getMeters(newVal);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
async getMeters({ id }) {
|
async getMeters({ id }) {
|
||||||
const { code, message, data } = await getTenementMeterList(id);
|
const { code, message, data } = await getTenementMeterList(id);
|
||||||
if (code !== OK) {
|
// if (code !== OK) {
|
||||||
alertError(message)
|
// alertError(message)
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
this.setData({
|
this.setData({
|
||||||
meterList: data || []
|
meterList: data || [],
|
||||||
|
meter: data?.[0] || {}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
async setUser() {
|
async setUser() {
|
||||||
@ -178,10 +178,10 @@ Page({
|
|||||||
},
|
},
|
||||||
async getAllList() {
|
async getAllList() {
|
||||||
const { code, message, data } = await getOwnTenementList()
|
const { code, message, data } = await getOwnTenementList()
|
||||||
if (code !== OK) {
|
// if (code !== OK) {
|
||||||
alertInfo(message)
|
// alertInfo(message)
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
const [firstPark = {}] = data;
|
const [firstPark = {}] = data;
|
||||||
const { park, tenement } = this.data;
|
const { park, tenement } = this.data;
|
||||||
const updateDatas = {}
|
const updateDatas = {}
|
||||||
|
@ -32,9 +32,10 @@
|
|||||||
<view class="card">
|
<view class="card">
|
||||||
<view class="cardTop">
|
<view class="cardTop">
|
||||||
<view class="cardTopLeft">
|
<view class="cardTopLeft">
|
||||||
<view> 华昌宝能 - 软c307 </view>
|
<view wx:if="{{user.id}}"> 华昌宝能 - 软c307 </view>
|
||||||
|
<view wx:else> -- </view>
|
||||||
</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-icon name="exchange" />
|
||||||
切换电表
|
切换电表
|
||||||
</van-button>
|
</van-button>
|
||||||
@ -42,17 +43,20 @@
|
|||||||
<view class="cardContent">
|
<view class="cardContent">
|
||||||
<view class="cardItem">
|
<view class="cardItem">
|
||||||
<view class="cardItemLabel"> 电表编号: </view>
|
<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>
|
||||||
<view class="cardItem">
|
<view class="cardItem">
|
||||||
<view class="cardItemLabel"> 电表地址: </view>
|
<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>
|
||||||
<view class="cardItem">
|
<view class="cardItem">
|
||||||
<view class="cardItemLabel"> 电表余额: </view>
|
<view class="cardItemLabel"> 电表余额: </view>
|
||||||
<view class="cardItemValue">
|
<view class="cardItemValue">
|
||||||
<view class="text"> 200 </view>
|
<view class="text" wx:if="{{user.id}}"> {{meter.money}} </view>
|
||||||
<van-button type="info" size="small" plain="{{true}}" bind:click="refreshMeter">
|
<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-icon name="replay" />
|
||||||
刷新
|
刷新
|
||||||
</van-button>
|
</van-button>
|
||||||
@ -80,7 +84,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="operate">
|
<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>
|
||||||
<view class="others">
|
<view class="others">
|
||||||
<van-grid direction="horizontal" column-num="2">
|
<van-grid direction="horizontal" column-num="2">
|
||||||
|
@ -46,15 +46,16 @@ Page({
|
|||||||
* 生命周期函数--监听页面显示
|
* 生命周期函数--监听页面显示
|
||||||
*/
|
*/
|
||||||
onShow() {
|
onShow() {
|
||||||
const user = wx.getStorageSync('user');
|
// const user = wx.getStorageSync('user');
|
||||||
if (!user || !user.id) {
|
// if (!user || !user.id) {
|
||||||
wx.switchTab({
|
// wx.switchTab({
|
||||||
url: '/pages/home/index',
|
// url: '/pages/home/index',
|
||||||
})
|
// })
|
||||||
alertInfo("请先登录");
|
// alertInfo("请先登录");
|
||||||
return false;
|
// return false;
|
||||||
}
|
// }
|
||||||
this.init()
|
// this.init()
|
||||||
|
getDot();
|
||||||
},
|
},
|
||||||
async init() {
|
async init() {
|
||||||
const result = await getUserInfo();
|
const result = await getUserInfo();
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
"van-cell": "@vant/weapp/cell/index",
|
"van-cell": "@vant/weapp/cell/index",
|
||||||
"van-cell-group": "@vant/weapp/cell-group/index",
|
"van-cell-group": "@vant/weapp/cell-group/index",
|
||||||
"cell": "/components/cell/index",
|
"cell": "/components/cell/index",
|
||||||
"van-dialog": "@vant/weapp/dialog/index"
|
"van-dialog": "@vant/weapp/dialog/index",
|
||||||
|
"dot": "/components/dot/index"
|
||||||
},
|
},
|
||||||
"navigationBarTitleText": "我的"
|
"navigationBarTitleText": "我的"
|
||||||
}
|
}
|
@ -7,7 +7,14 @@
|
|||||||
|
|
||||||
<van-cell title="联系客服" value="" is-link bind:tap="connect" />
|
<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="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> -->
|
||||||
<!-- <van-cell-group title=" ">
|
<!-- <van-cell-group title=" ">
|
||||||
<van-cell title="单元格" value="内容" is-link />
|
<van-cell title="单元格" value="内容" is-link />
|
||||||
|
@ -1 +1,6 @@
|
|||||||
/* pages/my/index.wxss */
|
/* pages/my/index.wxss */
|
||||||
|
.cellWrapper {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -39,8 +39,6 @@ Page({
|
|||||||
* 生命周期函数--监听页面显示
|
* 生命周期函数--监听页面显示
|
||||||
*/
|
*/
|
||||||
onShow() {
|
onShow() {
|
||||||
const pages = getCurrentPages()
|
|
||||||
console.log('pages', pages)
|
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import { getRechargeList } from "../../service/recharge";
|
import { getRechargeList } from "../../service/recharge";
|
||||||
import { getOwnTenementList } from "../../service/tenement";
|
import { getOwnTenementList } from "../../service/tenement";
|
||||||
import { getYears } from "../../utils/index";
|
import { getYears } from "../../utils/index";
|
||||||
|
import request from "../../utils/request";
|
||||||
|
const { OK } = request;
|
||||||
// pages/rechargeRecord/index.js
|
// pages/rechargeRecord/index.js
|
||||||
Page({
|
Page({
|
||||||
|
|
||||||
@ -20,7 +21,8 @@ Page({
|
|||||||
show: false,
|
show: false,
|
||||||
columns: [],
|
columns: [],
|
||||||
type: "",
|
type: "",
|
||||||
title: ""
|
title: "",
|
||||||
|
amount: 0,
|
||||||
},
|
},
|
||||||
clickYear() {
|
clickYear() {
|
||||||
this.setData({
|
this.setData({
|
||||||
@ -30,13 +32,24 @@ Page({
|
|||||||
title: "年份"
|
title: "年份"
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
clickTenement() {
|
||||||
|
this.setData({
|
||||||
|
type: "tenement",
|
||||||
|
columns: this.data.tenements,
|
||||||
|
show: true,
|
||||||
|
title: "商户"
|
||||||
|
})
|
||||||
|
},
|
||||||
onOk(e) {
|
onOk(e) {
|
||||||
console.log('e', e)
|
|
||||||
const { type, value = {} } = e.detail;
|
const { type, value = {} } = e.detail;
|
||||||
if (type === "year") {
|
if (type === "year") {
|
||||||
this.onChangeYear(value.id)
|
this.onChangeYear(value.id)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (type === "tenement") {
|
||||||
|
this.onChangeTenement(value.id)
|
||||||
|
return;
|
||||||
|
}
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 生命周期函数--监听页面加载
|
* 生命周期函数--监听页面加载
|
||||||
@ -62,19 +75,32 @@ Page({
|
|||||||
})
|
})
|
||||||
this.init(currentYear, tenement)
|
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() {
|
onShow() {
|
||||||
const { year, tenement } = this.data;
|
const { year, tenement } = this.data;
|
||||||
this.init(year, tenement)
|
this.init(year, tenement);
|
||||||
|
this.getTenementsList();
|
||||||
},
|
},
|
||||||
async getTenementsList() {
|
async getTenementsList() {
|
||||||
const { code, message, data } = await getOwnTenementList()
|
const { code, message, data } = await getOwnTenementList()
|
||||||
if (code !== OK) {
|
// if (code !== OK) {
|
||||||
alertInfo(message)
|
// alertInfo(message)
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
let tenements = [];
|
let tenements = [];
|
||||||
data.forEach(item => {
|
data.forEach(item => {
|
||||||
if (item.tenements) {
|
if (item.tenements) {
|
||||||
@ -84,9 +110,17 @@ Page({
|
|||||||
this.setData({ tenements })
|
this.setData({ tenements })
|
||||||
},
|
},
|
||||||
async init(year, tenement) {
|
async init(year, tenement) {
|
||||||
const { code, message, data } = await getRechargeList(year, tenement);
|
const { code, message, data = [], amount = 0 } = await getRechargeList(year, tenement);
|
||||||
this.setData({
|
this.setData({
|
||||||
list: [...data, ...data]
|
list: data,
|
||||||
|
amount
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onCancel() {
|
||||||
|
this.setData({
|
||||||
|
show: false,
|
||||||
|
title: "",
|
||||||
|
type: "",
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
jumpToDetail(e) {
|
jumpToDetail(e) {
|
||||||
|
@ -7,15 +7,15 @@
|
|||||||
<image src="/assets/images/down.png" mode="" class="down" />
|
<image src="/assets/images/down.png" mode="" class="down" />
|
||||||
</view>
|
</view>
|
||||||
<!-- </picker> -->
|
<!-- </picker> -->
|
||||||
<picker bindchange="onChangeYear" value="{{index}}" range="{{years}}">
|
<!-- <picker bindchange="onChangeYear" value="{{index}}" range="{{years}}"> -->
|
||||||
<view class="tenementPicker">
|
<view class="tenementPicker" bind:tap="clickTenement">
|
||||||
<view wx:if="{{tenementName}}" class="tenementName"> {{ tenementName }} </view>
|
<view wx:if="{{tenementName}}" class="tenementName"> {{ tenementName }} </view>
|
||||||
<view wx:else> 全部 </view>
|
<view wx:else> 全部 </view>
|
||||||
<image src="/assets/images/down.png" mode="" class="down" />
|
<image src="/assets/images/down.png" mode="" class="down" />
|
||||||
</view>
|
</view>
|
||||||
</picker>
|
<!-- </picker> -->
|
||||||
<view class="allMoney">
|
<view class="allMoney">
|
||||||
合计: 3000元
|
合计: {{amount}}元
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="wrapper">
|
<view class="wrapper">
|
||||||
|
@ -49,4 +49,9 @@ export const userApply = async function(data) {
|
|||||||
// 获取所有的园区和商户
|
// 获取所有的园区和商户
|
||||||
export const getUserParksAndTenementsList = async function() {
|
export const getUserParksAndTenementsList = async function() {
|
||||||
return await GET('/wx/getUserParksAndTenementsList');
|
return await GET('/wx/getUserParksAndTenementsList');
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取所有未阅读的用户数
|
||||||
|
export const getUnReadApproveNumber = async function() {
|
||||||
|
return await GET('/wx/getApproveNumber');
|
||||||
}
|
}
|
@ -1,3 +1,5 @@
|
|||||||
|
|
||||||
|
|
||||||
/** 每次系统加载的时候判断是否有发版 */
|
/** 每次系统加载的时候判断是否有发版 */
|
||||||
export function checkUpgrade() {
|
export function checkUpgrade() {
|
||||||
if (wx.canIUse('getUpdateManager')) {
|
if (wx.canIUse('getUpdateManager')) {
|
||||||
@ -216,4 +218,5 @@ export const wxModal = (data) => {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
21
utils/system.js
Normal file
21
utils/system.js
Normal 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,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user