修改首页选择园区,,商户,,电表
This commit is contained in:
		
							
								
								
									
										4
									
								
								app.json
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								app.json
									
									
									
									
									
								
							| @@ -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
									
								
							
							
						
						
									
										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 { 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 = {} | ||||
|   | ||||
| @@ -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"> | ||||
|   | ||||
| @@ -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(); | ||||
|   | ||||
| @@ -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": "我的" | ||||
| } | ||||
| @@ -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 /> | ||||
|   | ||||
| @@ -1 +1,6 @@ | ||||
| /* pages/my/index.wxss */ | ||||
| .cellWrapper { | ||||
|   display: flex; | ||||
|   justify-content: space-between; | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -39,8 +39,6 @@ Page({ | ||||
|    * 生命周期函数--监听页面显示 | ||||
|    */ | ||||
|   onShow() { | ||||
|     const pages = getCurrentPages() | ||||
|     console.log('pages', pages) | ||||
|   }, | ||||
|  | ||||
|   /** | ||||
|   | ||||
| @@ -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) { | ||||
|   | ||||
| @@ -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"> | ||||
|   | ||||
| @@ -50,3 +50,8 @@ 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'); | ||||
| } | ||||
| @@ -1,3 +1,5 @@ | ||||
|  | ||||
|  | ||||
| /** 每次系统加载的时候判断是否有发版 */ | ||||
| export function checkUpgrade() { | ||||
|   if (wx.canIUse('getUpdateManager')) { | ||||
| @@ -217,3 +219,4 @@ 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, | ||||
|     }) | ||||
|   } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user