diff --git a/app.json b/app.json
index 870b1af..4e4188f 100644
--- a/app.json
+++ b/app.json
@@ -1,13 +1,17 @@
{
"pages": [
- "pages/login/index",
- "pages/my/index",
- "pages/recharge/index",
+ "pages/invoiceList/index",
"pages/rechargeRecord/index",
- "pages/questions/index",
"pages/meterList/index",
+ "pages/recharge/index",
+ "pages/login/index",
+ "pages/handleLogin/index",
+ "pages/member/index",
+ "pages/my/index",
+ "pages/questions/index",
"pages/home/index",
- "pages/index/index"
+ "pages/index/index",
+ "pages/qrCode/index"
],
"tabBar": {
"list": [
@@ -27,8 +31,6 @@
"navigationBarBackgroundColor": "#ffffff"
},
"sitemapLocation": "sitemap.json",
- "rendererOptions": {
-
- },
+ "rendererOptions": {},
"navigationStyle": "custom"
}
\ No newline at end of file
diff --git a/app.wxss b/app.wxss
index 662e113..3250829 100644
--- a/app.wxss
+++ b/app.wxss
@@ -17,5 +17,13 @@ page {
page {
font-size: 36rpx;
- background-color: #f0f0f0;
+ /* background-color: #f0f0f0; */
+}
+
+.primaryTextBtn {
+ color: #1989fa;
+}
+
+.dangerTextBtn {
+ color: #ee0a24;
}
\ No newline at end of file
diff --git a/assets/images/logo-l.png b/assets/images/logo-l.png
new file mode 100644
index 0000000..65ac591
Binary files /dev/null and b/assets/images/logo-l.png differ
diff --git a/assets/images/logo.jpg b/assets/images/logo.jpg
new file mode 100644
index 0000000..302f7e3
Binary files /dev/null and b/assets/images/logo.jpg differ
diff --git a/components/select/index.js b/components/select/index.js
index d6f0eaf..ccb6b40 100644
--- a/components/select/index.js
+++ b/components/select/index.js
@@ -1,3 +1,8 @@
+import { getParkList } from "../../service/park";
+import { getTenementList } from "../../service/tenement";
+import request from '../../utils/request'
+
+const { OK } = request
// components/select/index.js
Component({
@@ -5,7 +10,11 @@ Component({
* 组件的属性列表
*/
properties: {
-
+ label: String,
+ type: Number,
+ park: String,
+ parkName: String,
+ required: Boolean
},
/**
@@ -13,19 +22,39 @@ Component({
*/
data: {
list: [],
- visible: false
+ visible: false,
},
/**
* 组件的方法列表
*/
methods: {
- onInput(e) {
- console.log('e', e)
- this.setData({
- visible: true,
- list: [e.detail, e.detail, e.detail]
- })
+ async onInput(e) {
+ console.log('this.type', this.data.type)
+ // this.setData({
+ // visible: true,
+ // list: [e.detail, e.detail, e.detail]
+ // })
+ switch(this.data.type) {
+ case 0:
+ const { data = [], code, message } = await getParkList({ keyword: e.detail });
+ this.setData({
+ list: data,
+ visible: true,
+ })
+ break;
+ case 1:
+ const park = this.data.park;
+ if (!park) {
+ return;
+ }
+ const { data: tenementData = [], code: tenementCode, message: tenementMessage } = await getTenementList({ park, keyword: e.detail });
+ this.setData({
+ list: tenementData,
+ visible: true,
+ })
+ break;
+ }
},
close() {
this.setData({
@@ -35,11 +64,11 @@ Component({
},
onChoose(e) {
const { data = {} } = e.currentTarget.dataset;
- console.log('data', data)
this.setData({
- visible: false
+ visible: false,
+ value: data.name
})
- this.triggerEvent("choose", data)
- }
+ this.triggerEvent("choose", {type: this.data.type, data})
+ },
}
})
\ No newline at end of file
diff --git a/components/select/index.wxml b/components/select/index.wxml
index ee56a19..2bc4cb5 100644
--- a/components/select/index.wxml
+++ b/components/select/index.wxml
@@ -2,16 +2,16 @@
-
- {{item}}
+
+ {{item.name}}
diff --git a/components/select/index.wxss b/components/select/index.wxss
index e9da6dd..619dc8c 100644
--- a/components/select/index.wxss
+++ b/components/select/index.wxss
@@ -8,7 +8,13 @@
background-color: #fff;
padding: 20rpx;
+ margin-left: 32rpx;
+ margin-right: 32rpx;
width: 100%;
+ border: 1rpx solid #ccc;
+ border-radius: 5rpx;
+ box-sizing: border-box;
+ width: calc(100% - 64rpx);
}
.option {
diff --git a/components/topbar/index.js b/components/topbar/index.js
new file mode 100644
index 0000000..b97205c
--- /dev/null
+++ b/components/topbar/index.js
@@ -0,0 +1,24 @@
+// components/topbar/index.js
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+
+ }
+})
\ No newline at end of file
diff --git a/components/topbar/index.json b/components/topbar/index.json
new file mode 100644
index 0000000..6279c88
--- /dev/null
+++ b/components/topbar/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-image": "@vant/weapp/image/index"
+ }
+}
\ No newline at end of file
diff --git a/components/topbar/index.wxml b/components/topbar/index.wxml
new file mode 100644
index 0000000..e9e1eb2
--- /dev/null
+++ b/components/topbar/index.wxml
@@ -0,0 +1,5 @@
+
+
+
+ 华昌宝能用电管理服务
+
\ No newline at end of file
diff --git a/components/topbar/index.wxss b/components/topbar/index.wxss
new file mode 100644
index 0000000..849af90
--- /dev/null
+++ b/components/topbar/index.wxss
@@ -0,0 +1,12 @@
+/* components/topbar/index.wxss */
+
+.wrapper {
+ padding: 12rpx 32rpx;
+ display: flex;
+ align-items: center;
+}
+
+.content {
+ margin-left: 50rpx;
+}
+
diff --git a/pages/handleLogin/index.js b/pages/handleLogin/index.js
new file mode 100644
index 0000000..9c6d8dd
--- /dev/null
+++ b/pages/handleLogin/index.js
@@ -0,0 +1,138 @@
+import { userValidate } from "../../service/user";
+import { alertInfo, alertSuccess, loadingFunc, wxLogin } from "../../utils/index";
+import request from "../../utils/request"
+const { OK } = request;
+// pages/handleLogin/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ phone: "",
+ name: "",
+ parkName: "",
+ park: "",
+ tenementName: "",
+ tenement: ""
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+ onChangeName(e) {
+ this.setData({
+ name: e.detail
+ })
+ },
+ onChangePhone(e) {
+ this.setData({
+ phone: e.detail
+ })
+ },
+ onChoosePark(e) {
+ const { data } = e.detail;
+ this.setData({
+ park: data.id,
+ parkName: data.name
+ })
+ },
+ onChooseTenement(e) {
+ const { data } = e.detail;
+ this.setData({
+ tenement: data.id,
+ tenementName: data.name
+ })
+ },
+ handleSubmit() {
+ const { park, tenement, name, phone } = this.data;
+ if (!park) {
+ alertInfo("请选择园区")
+ return
+ }
+ if (!tenement) {
+ alertInfo("请选择商户")
+ return
+ }
+ if (!phone) {
+ alertInfo("请输入联系人手机号")
+ return
+ }
+ if (!name) {
+ alertInfo("请输入你的昵称")
+ return
+ }
+ loadingFunc(async () => {
+ const wxLoginCode = await wxLogin()
+ const { code, message, data } = await userValidate({ park, tenement, phone, name, code: wxLoginCode })
+ // if (code !== OK) {
+ // alertInfo(message)
+ // return
+ // }
+ const { exist, user } = data;
+ if (!exist) {
+ alertInfo("绑定失败,请检查信息")
+ return
+ }
+ alertSuccess("绑定成功")
+ const { token, ...currentUser } = user;
+ wx.setStorageSync('user', currentUser)
+ wx.setStorageSync('token', token)
+ wx.switchTab({
+ url: '/pages/home/index',
+ })
+ })
+
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/handleLogin/index.json b/pages/handleLogin/index.json
new file mode 100644
index 0000000..aaa2aed
--- /dev/null
+++ b/pages/handleLogin/index.json
@@ -0,0 +1,9 @@
+{
+ "usingComponents": {
+ "topbar": "/components/topbar/index",
+ "select": "/components/select/index",
+ "van-button": "@vant/weapp/button/index",
+ "van-field": "@vant/weapp/field/index"
+ },
+ "navigationBarTitleText": "手动绑定"
+}
\ No newline at end of file
diff --git a/pages/handleLogin/index.wxml b/pages/handleLogin/index.wxml
new file mode 100644
index 0000000..068a0a4
--- /dev/null
+++ b/pages/handleLogin/index.wxml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+ 提交
+
+
\ No newline at end of file
diff --git a/pages/handleLogin/index.wxss b/pages/handleLogin/index.wxss
new file mode 100644
index 0000000..494f347
--- /dev/null
+++ b/pages/handleLogin/index.wxss
@@ -0,0 +1,5 @@
+/* pages/handleLogin/index.wxss */
+.submit {
+ margin-top: 40rpx;
+ padding: 0 32rpx;
+}
\ No newline at end of file
diff --git a/pages/home/index.wxml b/pages/home/index.wxml
index 41efdcd..f6831f9 100644
--- a/pages/home/index.wxml
+++ b/pages/home/index.wxml
@@ -1,2 +1,2 @@
-111111111111111
\ No newline at end of file
+首页
\ No newline at end of file
diff --git a/pages/index/index.js b/pages/index/index.js
index 64fd394..164e5a1 100644
--- a/pages/index/index.js
+++ b/pages/index/index.js
@@ -9,13 +9,13 @@ Page({
staffC: {firstName: 'Gideon', lastName: 'Lin'}
},
onLoad() {
- console.log('---', this.renderer)
+
},
onShow() {
},
test: throttle(function() {
- console.log('test', this.data.motto)
+
}, 500),
payment: function() {
wx.requestPayment({
diff --git a/pages/invoiceList/index.js b/pages/invoiceList/index.js
new file mode 100644
index 0000000..ad249cd
--- /dev/null
+++ b/pages/invoiceList/index.js
@@ -0,0 +1,66 @@
+// pages/invoiceList/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/invoiceList/index.json b/pages/invoiceList/index.json
new file mode 100644
index 0000000..e6368d1
--- /dev/null
+++ b/pages/invoiceList/index.json
@@ -0,0 +1,4 @@
+{
+ "usingComponents": {},
+ "navigationBarTitleText": "开票信息"
+}
\ No newline at end of file
diff --git a/pages/invoiceList/index.wxml b/pages/invoiceList/index.wxml
new file mode 100644
index 0000000..41d0dcf
--- /dev/null
+++ b/pages/invoiceList/index.wxml
@@ -0,0 +1,2 @@
+
+pages/invoiceList/index.wxml
\ No newline at end of file
diff --git a/pages/invoiceList/index.wxss b/pages/invoiceList/index.wxss
new file mode 100644
index 0000000..c164c96
--- /dev/null
+++ b/pages/invoiceList/index.wxss
@@ -0,0 +1 @@
+/* pages/invoiceList/index.wxss */
\ No newline at end of file
diff --git a/pages/login/index.js b/pages/login/index.js
index 4db4151..3a85a81 100644
--- a/pages/login/index.js
+++ b/pages/login/index.js
@@ -1,6 +1,9 @@
-import { login } from "../../service/user"
-import { alertError, alertInfo, loadingFunc, wxLogin } from "../../utils/index"
-import { OK } from "../../utils/request"
+import { login } from "../../service/user";
+import { alertError, alertInfo, alertSuccess, loadingFunc, wxLogin } from "../../utils/index";
+import request from "../../utils/request";
+import Dialog from '@vant/weapp/dialog/dialog';
+const { OK } = request;
+
// pages/login/index.js
Page({
@@ -8,14 +11,22 @@ Page({
* 页面的初始数据
*/
data: {
- input: ""
+ input: "",
+ disabled: false,
+ show: false,
},
/**
* 生命周期函数--监听页面加载
*/
- onLoad(options) {
-
+ onLoad() {
+ const user = wx.getStorageSync('user')
+ if (!user || !user.id) {
+ return;
+ }
+ wx.switchTab({
+ url: '/pages/home/index',
+ })
},
/**
@@ -27,40 +38,67 @@ Page({
onClose() {
// wx.exitMiniProgram()
},
- // onConfirm() {
- // this.handleLogin()
- // },
+ onConfirm() {
+ // this.handleLogin()
+ },
async handleLogin(phoneCode) {
loadingFunc(async () => {
const wxLoginCode = await wxLogin()
- const { code, message, data } = await login({ code: wxLoginCode, phoneCode })
+ const result = await login({ code: wxLoginCode, phoneCode })
+ const { code, message, data } = result;
if (code !== OK) {
alertError(message)
return
}
- console.log('data', data)
+ if (!data?.id) {
+ this.noPermission()
+ return;
+ }
+ alertSuccess("登录成功")
+ const { token, ...user } = data
+ wx.setStorageSync('user', user)
+ wx.setStorageSync('token', data?.token)
})
},
getPhoneNumber(e) {
const { errno, code: phoneCode } = e.detail;
- console.log('errno', errno, 'phoneCode', phoneCode)
switch(errno) {
case 103:
alertInfo("已拒绝");
- setTimeout(() => {
- wx.exitMiniProgram()
- }, 100)
+
return;
- break;
case 1400001:
alertInfo("服务达到上限")
- setTimeout(() => {
- wx.exitMiniProgram()
- }, 100)
return;
- break;
+ default:
+ this.handleLogin(phoneCode)
+ return;
}
- this.handleLogin(phoneCode)
+ },
+ onChangeAgree(e) {
+ this.setData({
+ agree: e.detail
+ })
+ },
+ beforeClose(e) {
+ return false;
+ },
+ noPermission() {
+ Dialog.confirm({
+ title: '提示',
+ message: '当前手机号不是用电管理联系账号',
+ confirmButtonText: '手动绑定',
+ cancelButtonText: '取消',
+ })
+ .then(() => {
+ // on confirm
+ wx.navigateTo({
+ url: '/pages/handleLogin/index',
+ })
+ })
+ .catch(() => {
+ // on cancel
+ });
},
/**
* 生命周期函数--监听页面显示
diff --git a/pages/login/index.json b/pages/login/index.json
index 7eed04c..a299ebe 100644
--- a/pages/login/index.json
+++ b/pages/login/index.json
@@ -1,6 +1,11 @@
{
"usingComponents": {
"van-dialog": "@vant/weapp/dialog/index",
- "select": "/components/select/index"
- }
+ "select": "/components/select/index",
+ "topbar": "/components/topbar/index",
+ "van-image": "@vant/weapp/image/index",
+ "van-button": "@vant/weapp/button/index",
+ "van-checkbox": "@vant/weapp/checkbox/index"
+ },
+ "navigationBarTitleText": ""
}
\ No newline at end of file
diff --git a/pages/login/index.wxml b/pages/login/index.wxml
index 4db36f3..b37232a 100644
--- a/pages/login/index.wxml
+++ b/pages/login/index.wxml
@@ -1,19 +1,20 @@
-
+
-
-
+
+
+
+
+ 手机号快速登录
+
+
+
+
+
+
使用本系统,代表您已阅读并同意 《用电管理服务条款》、《用电管理登录政策》《隐私政策》。
-
-
-
\ No newline at end of file
+
+
+
+
+
diff --git a/pages/login/index.wxss b/pages/login/index.wxss
index 392a9f0..6188ac4 100644
--- a/pages/login/index.wxss
+++ b/pages/login/index.wxss
@@ -1,15 +1,7 @@
/* pages/login/index.wxss */
-.content {
- /* width: 600rpx;
- height: 500rpx;
+
+page {
background-color: #fff;
- position: fixed;
- left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- margin: auto;
- padding: 20rpx 24rpx; */
}
.confirmWrapper {
@@ -18,4 +10,25 @@
.agreementText {
color: rgb(211, 155, 52);
+}
+
+.logo {
+ display: flex;
+ justify-content: center;
+ margin-top: 15vh;
+ margin-bottom: 15vh;
+}
+
+.content {
+ margin-left: 32rpx;
+ margin-right: 32rpx;
+}
+
+.agreement {
+ margin-top: 32rpx;
+ display: flex;
+}
+
+.checkbox {
+ margin-top: 6rpx;
}
\ No newline at end of file
diff --git a/pages/member/components/approveMember/index.js b/pages/member/components/approveMember/index.js
new file mode 100644
index 0000000..36594a3
--- /dev/null
+++ b/pages/member/components/approveMember/index.js
@@ -0,0 +1,64 @@
+import { approveUser, getApproveList } from "../../../../service/user"
+import { alertInfo, alertSuccess, wxModal } from "../../../../utils/index";
+import request from "../../../../utils/request"
+
+const { OK } = request;
+
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ list: []
+ },
+ lifetimes: {
+ attached: function() {
+ // this.setData({
+ // list: []
+ // })
+ this.init();
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ async init() {
+ const result = await getApproveList()
+ this.setData({
+ list: result.data
+ })
+ },
+ async agree(e) {
+ const { user } = e.currentTarget.dataset;
+ console.log('user', user)
+ await wxModal({ content: `同意${user.nickName}的申请?` })
+ const { code, message } = await approveUser({ userId: user.id, type: 1 })
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("已同意")
+ this.init()
+ },
+ async disAgree(e) {
+ const { user } = e.currentTarget.dataset;
+ await wxModal({ content: `拒绝${user.nickName}的申请?` })
+ const { code, message } = await approveUser({ userId: user.id, type: 0 })
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("已拒绝")
+ this.init()
+ }
+ }
+})
\ No newline at end of file
diff --git a/pages/member/components/approveMember/index.json b/pages/member/components/approveMember/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/pages/member/components/approveMember/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/member/components/approveMember/index.wxml b/pages/member/components/approveMember/index.wxml
new file mode 100644
index 0000000..9ee6ea0
--- /dev/null
+++ b/pages/member/components/approveMember/index.wxml
@@ -0,0 +1,8 @@
+
+
+ {{ item.nickName }}
+
+ 同意
+ 拒绝
+
+
\ No newline at end of file
diff --git a/pages/member/components/approveMember/index.wxss b/pages/member/components/approveMember/index.wxss
new file mode 100644
index 0000000..4f2195c
--- /dev/null
+++ b/pages/member/components/approveMember/index.wxss
@@ -0,0 +1,21 @@
+/* pages/member/components/approveMember/index.wxss */
+.item {
+ display: flex;
+ align-items: center;
+ padding-top: 24rpx;
+ padding-bottom: 24rpx;
+ margin-left: 32rpx;
+ margin-right: 32rpx;
+}
+
+.nickName {
+ flex: 1;
+}
+
+.operate {
+ display: flex;
+}
+
+.disAgree {
+ margin-left: 24rpx;
+}
\ No newline at end of file
diff --git a/pages/member/components/memberManage/index.js b/pages/member/components/memberManage/index.js
new file mode 100644
index 0000000..a81e3f0
--- /dev/null
+++ b/pages/member/components/memberManage/index.js
@@ -0,0 +1,65 @@
+import { approveUser, getApproveList } from "../../../../service/user"
+import { alertInfo, alertSuccess, wxModal } from "../../../../utils/index";
+import request from "../../../../utils/request"
+
+const { OK } = request;
+
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ list: []
+ },
+ lifetimes: {
+ attached: function() {
+ // this.setData({
+ // list: []
+ // })
+ this.init();
+ }
+ },
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ async init() {
+ const result = await getApproveList()
+ this.setData({
+ list: result.data
+ })
+ },
+ async setAdmin(e) {
+ const { user } = e.currentTarget.dataset;
+ console.log('user', user)
+ await wxModal({ content: `你的管理员身份将转交给${user.nickName}` })
+ const { code, message } = await approveUser({ userId: user.id, type: 2 })
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("转交成功")
+ wx.clearStorageSync()
+ wx.exitMiniProgram()
+ },
+ async disAgree(e) {
+ const { user } = e.currentTarget.dataset;
+ await wxModal({ content: `拒绝${user.nickName}的申请?` })
+ const { code, message } = await approveUser({ userId: user.id, type: 0 })
+ if (code !== OK) {
+ alertInfo(message)
+ return;
+ }
+ alertSuccess("已拒绝")
+ this.init()
+ }
+ }
+})
\ No newline at end of file
diff --git a/pages/member/components/memberManage/index.json b/pages/member/components/memberManage/index.json
new file mode 100644
index 0000000..e8cfaaf
--- /dev/null
+++ b/pages/member/components/memberManage/index.json
@@ -0,0 +1,4 @@
+{
+ "component": true,
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/member/components/memberManage/index.wxml b/pages/member/components/memberManage/index.wxml
new file mode 100644
index 0000000..f0537b6
--- /dev/null
+++ b/pages/member/components/memberManage/index.wxml
@@ -0,0 +1,8 @@
+
+
+ {{ item.nickName }}
+
+ 设为管理员
+ 移除
+
+
\ No newline at end of file
diff --git a/pages/member/components/memberManage/index.wxss b/pages/member/components/memberManage/index.wxss
new file mode 100644
index 0000000..0bbb5e6
--- /dev/null
+++ b/pages/member/components/memberManage/index.wxss
@@ -0,0 +1,21 @@
+
+.item {
+ display: flex;
+ align-items: center;
+ padding-top: 24rpx;
+ padding-bottom: 24rpx;
+ margin-left: 32rpx;
+ margin-right: 32rpx;
+}
+
+.nickName {
+ flex: 1;
+}
+
+.operate {
+ display: flex;
+}
+
+.disAgree {
+ margin-left: 24rpx;
+}
\ No newline at end of file
diff --git a/pages/member/index.js b/pages/member/index.js
new file mode 100644
index 0000000..473d55e
--- /dev/null
+++ b/pages/member/index.js
@@ -0,0 +1,70 @@
+// pages/member/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ active: 0
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+ onChangeTab(e) {
+ this.setData({
+ active: e.detail.index
+ })
+ },
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/member/index.json b/pages/member/index.json
new file mode 100644
index 0000000..8f621e3
--- /dev/null
+++ b/pages/member/index.json
@@ -0,0 +1,8 @@
+{
+ "usingComponents": {
+ "van-tab": "@vant/weapp/tab/index",
+ "van-tabs": "@vant/weapp/tabs/index",
+ "approve-member": "./components/approveMember/index",
+ "member-manage": "./components/memberManage/index"
+ }
+}
\ No newline at end of file
diff --git a/pages/member/index.wxml b/pages/member/index.wxml
new file mode 100644
index 0000000..45d4281
--- /dev/null
+++ b/pages/member/index.wxml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/member/index.wxss b/pages/member/index.wxss
new file mode 100644
index 0000000..7e8182f
--- /dev/null
+++ b/pages/member/index.wxss
@@ -0,0 +1 @@
+/* pages/member/index.wxss */
\ No newline at end of file
diff --git a/pages/meterList/index.js b/pages/meterList/index.js
index 586929a..0b4acb9 100644
--- a/pages/meterList/index.js
+++ b/pages/meterList/index.js
@@ -1,3 +1,5 @@
+import { getMeterList } from "../../service/meter";
+
// pages/meterList/index.js
Page({
@@ -5,11 +7,7 @@ Page({
* 页面的初始数据
*/
data: {
- codes: [
- { code: "2331242324", money: 510 },
- { code: "4234234134", money: 10 },
- { code: "2354245345", money: 50 },
- { code: "5365457642", money: 150 },
+ list: [
]
},
@@ -18,9 +16,20 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad(options) {
-
+ this.getList();
+ },
+ async getList() {
+ const { code, message, data = [] } = await getMeterList()
+ this.setData({
+ list: data
+ })
+ },
+ jumpToRecharge(e) {
+ const { code, tenement } = e.currentTarget.dataset;
+ wx.navigateTo({
+ url: `/pages/recharge/index?code=${code}&tenement=${tenement}`,
+ })
},
-
/**
* 生命周期函数--监听页面初次渲染完成
*/
diff --git a/pages/meterList/index.json b/pages/meterList/index.json
index e8ab38c..f4c5ccd 100644
--- a/pages/meterList/index.json
+++ b/pages/meterList/index.json
@@ -2,5 +2,6 @@
"usingComponents": {
"navigator": "/components/navigator/index",
"scrollPageWrapper": "/components/scrollPageWrapper/index"
- }
+ },
+ "navigationBarTitleText": "表计列表"
}
\ No newline at end of file
diff --git a/pages/meterList/index.wxml b/pages/meterList/index.wxml
index 0b890a4..36d7487 100644
--- a/pages/meterList/index.wxml
+++ b/pages/meterList/index.wxml
@@ -1,12 +1,24 @@
-
-
-
-
-
- {{ item.code }}
- {{ item.money }}
+
+
+ {{ item.tenement.name }} :
+
+
+ 表{{ ele.code }}:余额为
+ {{ ele.money }}
+ 充值
-
+
+ 表计地址: {{ ele.address }}
+
+
-
\ No newline at end of file
+
+
+
+
diff --git a/pages/meterList/index.wxss b/pages/meterList/index.wxss
index 9a4e4ed..3cfcde7 100644
--- a/pages/meterList/index.wxss
+++ b/pages/meterList/index.wxss
@@ -1,20 +1,40 @@
/* pages/meterList/index.wxss */
-.content {
+/* .content {
flex: 1;
padding: 16rpx 24rpx 20rpx;
box-sizing: border-box;
display: flex;
overflow: hidden;
-}
+} */
.listItem {
- display: flex;
+ /* display: flex;
align-items: center;
- justify-content: space-between;
+ justify-content: space-between; */
margin: 12rpx 0;
}
.money {
font-size: 36rpx;
font-weight: 600;
+ margin-left: 20rpx;
+ flex: 1;
+}
+
+.content {
+ display: flex;
+ align-items: center;
+ margin-left: 30rpx;
+ margin-right: 20rpx;
+}
+
+.address {
+ margin-left: 30rpx;
+ margin-right: 20rpx;
+}
+
+.tenementName {
+ font-size: 42rpx;
+ font-weight: 600;
+ margin-bottom: 20rpx;
}
\ No newline at end of file
diff --git a/pages/my/index.js b/pages/my/index.js
index d10e116..54dcde4 100644
--- a/pages/my/index.js
+++ b/pages/my/index.js
@@ -26,6 +26,16 @@ Page({
url: '/pages/questions/index',
})
},
+ jumpToMember() {
+ wx.navigateTo({
+ url: '/pages/member/index',
+ })
+ },
+ jumpToQrCode() {
+ wx.navigateTo({
+ url: '/pages/qrCode/index',
+ })
+ },
/**
* 生命周期函数--监听页面显示
*/
diff --git a/pages/my/index.wxml b/pages/my/index.wxml
index 3dadaad..5fdebc6 100644
--- a/pages/my/index.wxml
+++ b/pages/my/index.wxml
@@ -3,9 +3,10 @@
-
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/qrCode/index.js b/pages/qrCode/index.js
new file mode 100644
index 0000000..4cc34a5
--- /dev/null
+++ b/pages/qrCode/index.js
@@ -0,0 +1,66 @@
+// pages/qrCode/index.js
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面加载
+ */
+ onLoad(options) {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面初次渲染完成
+ */
+ onReady() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面显示
+ */
+ onShow() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面隐藏
+ */
+ onHide() {
+
+ },
+
+ /**
+ * 生命周期函数--监听页面卸载
+ */
+ onUnload() {
+
+ },
+
+ /**
+ * 页面相关事件处理函数--监听用户下拉动作
+ */
+ onPullDownRefresh() {
+
+ },
+
+ /**
+ * 页面上拉触底事件的处理函数
+ */
+ onReachBottom() {
+
+ },
+
+ /**
+ * 用户点击右上角分享
+ */
+ onShareAppMessage() {
+
+ }
+})
\ No newline at end of file
diff --git a/pages/qrCode/index.json b/pages/qrCode/index.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/qrCode/index.json
@@ -0,0 +1,3 @@
+{
+ "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/qrCode/index.wxml b/pages/qrCode/index.wxml
new file mode 100644
index 0000000..3fc1157
--- /dev/null
+++ b/pages/qrCode/index.wxml
@@ -0,0 +1,5 @@
+
+
+ 扫码二维码,管理员同意后可进入
+
+
\ No newline at end of file
diff --git a/pages/qrCode/index.wxss b/pages/qrCode/index.wxss
new file mode 100644
index 0000000..a543372
--- /dev/null
+++ b/pages/qrCode/index.wxss
@@ -0,0 +1,13 @@
+/* pages/qrCode/index.wxss */
+.wrapper {
+ width: 100vw;
+ height: 100vh;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+}
+
+.text {
+ text-align: center;
+ margin-bottom: 10vh;
+}
\ No newline at end of file
diff --git a/pages/recharge/index.js b/pages/recharge/index.js
index 48b4e44..4f21762 100644
--- a/pages/recharge/index.js
+++ b/pages/recharge/index.js
@@ -1,3 +1,4 @@
+import { getMeterDetail } from "../../service/meter";
import { getGlobalData, showModal } from "../../utils/index";
// pages/recharge/index.js
@@ -7,22 +8,29 @@ Page({
* 页面的初始数据
*/
data: {
- code: "",
money: 0,
moneyIndex: -1,
primaryColor: getGlobalData().primaryColor,
- codes: ['105465640', '46845132', '1645468'],
defaultMoneyArray: [100, 200, 500, 1000, 2000],
customFlag: false,
+ detail: {}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
-
+ const { tenement, code } = options
+ console.log('options', options)
+ this.init({ tenement, code })
+ },
+ async init(options) {
+ const { code, message, data = {}} = await getMeterDetail(options)
+ console.log('data', data)
+ this.setData({
+ detail: data
+ })
},
-
/**
* 生命周期函数--监听页面初次渲染完成
*/
@@ -38,7 +46,6 @@ Page({
},
chooseMoney(e) {
const { money, index } = e.currentTarget.dataset;
- console.log('index', index, typeof index)
this.setData({
money,
moneyIndex: Number(index),
@@ -59,19 +66,17 @@ Page({
})
},
onChangeCustomMoney(e) {
- console.log('onChangeCustomMoney', e)
const money = e.detail.value;
this.setData({
money: money,
})
},
async recharge() {
- const { code, money } = this.data;
- const confirmResult = await showModal({ title: "充值确认", content: `确认充值表号为${code}的表计${money}元吗?` });
+ const { detail = {}, money } = this.data;
+ const confirmResult = await showModal({ title: "充值确认", content: `确认充值表号为${detail?.meter?.code}的表计${money}元吗?` });
if (!confirmResult) {
return;
}
- console.log('确认')
},
/**
* 生命周期函数--监听页面隐藏
diff --git a/pages/recharge/index.json b/pages/recharge/index.json
index 01852ca..6618c57 100644
--- a/pages/recharge/index.json
+++ b/pages/recharge/index.json
@@ -1,5 +1,10 @@
{
"usingComponents": {
- "navigator": "/components/navigator/index"
- }
+ "navigator": "/components/navigator/index",
+ "van-grid": "@vant/weapp/grid/index",
+ "van-grid-item": "@vant/weapp/grid-item/index",
+ "van-row": "@vant/weapp/row/index",
+ "van-col": "@vant/weapp/col/index"
+ },
+ "navigationBarTitleText": "充值"
}
\ No newline at end of file
diff --git a/pages/recharge/index.wxml b/pages/recharge/index.wxml
index 27b1611..dc7674e 100644
--- a/pages/recharge/index.wxml
+++ b/pages/recharge/index.wxml
@@ -1,42 +1,76 @@
-
+
-
-
-
- 电费账单
- 2024年02月
-
-
-
- 商户编号
- T00062102047096834
-
+
+
+
+ 充值表号:
+ {{ detail.meter.code }}
+
+
+ 表计地址:
+ {{ detail.meter.address }}
+
+
+
+ 剩余金额:
+ {{ detail.money }}
+
+
+ 公司名称:
+ {{ detail.tenement.name }}
+
+
+
- {{item}}
+ {{item}}
自定义
-
+
+
+
-
- -->
+
+
\ No newline at end of file
diff --git a/pages/recharge/index.wxss b/pages/recharge/index.wxss
index 4541da2..a62e17e 100644
--- a/pages/recharge/index.wxss
+++ b/pages/recharge/index.wxss
@@ -41,4 +41,22 @@
.customInput {
padding: 16rpx 24rpx;
+}
+
+.gridTitle {
+ margin-bottom: 24rpx;
+}
+
+.colBottom {
+ margin-top: 40rpx;
+}
+
+.title {
+ font-weight: 600;
+ font-size: 40rpx;
+ margin-bottom: 20rpx;
+}
+
+.content {
+ font-size: 32rpx;
}
\ No newline at end of file
diff --git a/pages/rechargeRecord/index.js b/pages/rechargeRecord/index.js
index 4661bc6..f869b2d 100644
--- a/pages/rechargeRecord/index.js
+++ b/pages/rechargeRecord/index.js
@@ -1,3 +1,4 @@
+import { getRechargeList } from "../../service/recharge";
import { getYears } from "../../utils/index";
// pages/rechargeRecord/index.js
@@ -11,22 +12,7 @@ Page({
month: new Date().getMonth() + 1,
years: getYears(),
list: [
- { code: '165146513', money: 100, time: "2024-02-20 18:56:15" },
- { code: '466541651', money: 200, time: "2024-02-28 18:56:15" },
- { code: '165146513', money: 100, time: "2024-02-20 18:56:15" },
- { code: '466541651', money: 200, time: "2024-02-28 18:56:15" },
- { code: '165146513', money: 100, time: "2024-02-20 18:56:15" },
- { code: '466541651', money: 200, time: "2024-02-28 18:56:15" },
- { code: '165146513', money: 100, time: "2024-02-20 18:56:15" },
- { code: '466541651', money: 200, time: "2024-02-28 18:56:15" },
- { code: '165146513', money: 100, time: "2024-02-20 18:56:15" },
- { code: '466541651', money: 200, time: "2024-02-28 18:56:15" },
- { code: '165146513', money: 100, time: "2024-02-20 18:56:15" },
- { code: '466541651', money: 200, time: "2024-02-28 18:56:15" },
- { code: '165146513', money: 100, time: "2024-02-20 18:56:15" },
- { code: '466541651', money: 200, time: "2024-02-28 18:56:15" },
- { code: '165146513', money: 100, time: "2024-02-20 18:56:15" },
- { code: '466541651', money: 200, time: "2024-02-28 18:56:15" }
+
]
},
@@ -45,17 +31,26 @@ Page({
},
onChangeYear(e) {
const { years } = this.data;
+ const currentYear = years[Number(e.detail.value)]
this.setData({
- year: years[Number(e.detail.value)]
+ year: currentYear
})
+ this.init(currentYear)
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
-
+ const currentYear = this.data.year;
+ this.init(currentYear)
+ },
+ async init(year) {
+ const { code, message, data } = await getRechargeList(year);
+ console.log('data', data)
+ this.setData({
+ list: data
+ })
},
-
/**
* 生命周期函数--监听页面隐藏
*/
diff --git a/pages/rechargeRecord/index.json b/pages/rechargeRecord/index.json
index e8ab38c..04f64e5 100644
--- a/pages/rechargeRecord/index.json
+++ b/pages/rechargeRecord/index.json
@@ -2,5 +2,6 @@
"usingComponents": {
"navigator": "/components/navigator/index",
"scrollPageWrapper": "/components/scrollPageWrapper/index"
- }
+ },
+ "navigationBarTitleText": "充值记录"
}
\ No newline at end of file
diff --git a/pages/rechargeRecord/index.wxml b/pages/rechargeRecord/index.wxml
index 10a4f38..52f57f2 100644
--- a/pages/rechargeRecord/index.wxml
+++ b/pages/rechargeRecord/index.wxml
@@ -1,25 +1,20 @@
-
-
-
-
-
-
-
- {{ year }}年
-
-
-
+
+
+
+
+ {{ year }}年
+
-
-
-
- 表号:{{ item.code }}
- {{ item.time }}
-
- {{ item.money }}
-
+
+
+
+
+
+ 表号:{{ item.meter.code }}
+ {{ item.time }}
+ {{ item.money }}
-
-
\ No newline at end of file
+
+
diff --git a/service/meter.js b/service/meter.js
index 929ac22..c0a8f0c 100644
--- a/service/meter.js
+++ b/service/meter.js
@@ -7,6 +7,6 @@ export const getMeterList = async function() {
}
// 获取表计详情
-export const getMeterDetail = async function() {
+export const getMeterDetail = async function({ tenement, code }) {
return await GET(`/wx/getMeterDetail/${tenement}/${code}`);
}
\ No newline at end of file
diff --git a/service/park.js b/service/park.js
index 4d268ff..55c475e 100644
--- a/service/park.js
+++ b/service/park.js
@@ -2,6 +2,6 @@ import apis from '../utils/request';
const { GET, POST, PUT, DELETE } = apis
// 获取园区列表
-export const getParkList = async function() {
- return await GET(`/wx/getParkList`);
+export const getParkList = async function({ keyword }) {
+ return await GET(`/wx/getParkList?keyword=${keyword}`);
}
\ No newline at end of file
diff --git a/service/tenement.js b/service/tenement.js
index 0f9576c..302ceff 100644
--- a/service/tenement.js
+++ b/service/tenement.js
@@ -2,6 +2,6 @@ import apis from '../utils/request';
const { GET, POST, PUT, DELETE } = apis
// 获取园区id模糊搜索商户列表
-export const getParkList = async function({ park, keyword }) {
+export const getTenementList = async function({ park, keyword }) {
return await GET(`/wx/getTenementList?park=${park}&keyword=${keyword}`);
}
\ No newline at end of file
diff --git a/utils/index.js b/utils/index.js
index 3f29f82..f922b5d 100644
--- a/utils/index.js
+++ b/utils/index.js
@@ -43,7 +43,8 @@ export function getConfigByEnv() {
switch (envVersion) {
// 开发版
case 'develop':
- api = "http://localhost:8000"
+ // api = "http://localhost:8000"
+ api = "http://127.0.0.1:4523/m1/4143821-0-default"
break;
// 体验版
case 'trial':
@@ -195,4 +196,21 @@ export const wxLogin = () => {
}
})
})
+}
+
+export const wxModal = (data) => {
+ const { title = '提示', content } = data;
+ return new Promise((resolve, reject) => {
+ wx.showModal({
+ title,
+ content,
+ success (res) {
+ if (res.confirm) {
+ resolve()
+ } else if (res.cancel) {
+ reject()
+ }
+ }
+ })
+ })
}
\ No newline at end of file
diff --git a/utils/request.js b/utils/request.js
index 24f1dd9..6c88ee9 100644
--- a/utils/request.js
+++ b/utils/request.js
@@ -85,19 +85,18 @@ const parseResponse = function (response) {
wx.redirectTo({
url: '/pages/login/index',
})
- return { code: 1, message: '未登录状态' }
+ return { code: 401, message: '未登录状态' }
}
if (statusCode === 404) {
- return { code: 1, message: "服务故障" }
+ return { code: 404, message: "服务故障" }
}
- if (500 <= statusCode < 600) {
- return { code: 1, message: "服务错误" }
+ if (500 <= statusCode && statusCode < 600) {
+ return { code: 500, message: "服务错误" }
}
- if (response.data.code !== 0) {
+ if (response.data.code !== 200) {
}
-
return response.data;
}