From 3284bea475d8293b10f3c93f27cf739f95361454 Mon Sep 17 00:00:00 2001
From: qiaomu <3520484422@qq.com>
Date: Fri, 29 Mar 2024 17:26:08 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=A6=96=E9=A1=B5=E5=9B=AD?=
=?UTF-8?q?=E5=8C=BA=E5=92=8C=E5=95=86=E6=88=B7=E7=9A=84=E4=BA=A4=E4=BA=92?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app.json | 2 +-
components/avatar/index.wxml | 4 +-
components/avatar/index.wxss | 5 ++
components/picker/index.js | 38 +++++++++++
components/picker/index.json | 7 +++
components/picker/index.wxml | 11 ++++
components/picker/index.wxss | 1 +
pages/apply/index.js | 13 ----
pages/handleLogin/index.js | 2 +-
pages/home/index.js | 119 ++++++++++++++++++++++++++++++++---
pages/home/index.json | 3 +-
pages/home/index.wxml | 17 +++--
utils/index.js | 1 +
13 files changed, 193 insertions(+), 30 deletions(-)
create mode 100644 components/picker/index.js
create mode 100644 components/picker/index.json
create mode 100644 components/picker/index.wxml
create mode 100644 components/picker/index.wxss
diff --git a/app.json b/app.json
index ca7f6a6..781a6ec 100644
--- a/app.json
+++ b/app.json
@@ -1,8 +1,8 @@
{
"pages": [
"pages/home/index",
- "pages/my/index",
"pages/handleLogin/index",
+ "pages/my/index",
"pages/member/index",
"pages/login/index",
"pages/apply/index",
diff --git a/components/avatar/index.wxml b/components/avatar/index.wxml
index b6f4adc..36da3d9 100644
--- a/components/avatar/index.wxml
+++ b/components/avatar/index.wxml
@@ -1,2 +1,4 @@
-{{text}}
\ No newline at end of file
+
+ {{text}}
+
\ No newline at end of file
diff --git a/components/avatar/index.wxss b/components/avatar/index.wxss
index 6be8660..a023ed7 100644
--- a/components/avatar/index.wxss
+++ b/components/avatar/index.wxss
@@ -9,3 +9,8 @@
align-items: center;
color: #fff;
}
+
+.text {
+ max-width: 100rpx;
+ overflow: hidden;
+}
diff --git a/components/picker/index.js b/components/picker/index.js
new file mode 100644
index 0000000..4ad086c
--- /dev/null
+++ b/components/picker/index.js
@@ -0,0 +1,38 @@
+// components/picker/index.js
+Component({
+
+ /**
+ * 组件的属性列表
+ */
+ properties: {
+ valueKey: {
+ type: String,
+ default: "name"
+ },
+ show: Boolean,
+ columns: Array,
+ type: String
+ },
+
+ /**
+ * 组件的初始数据
+ */
+ data: {
+ // columns:['杭州', '宁波', '温州', '嘉兴', '湖州']
+ },
+
+ /**
+ * 组件的方法列表
+ */
+ methods: {
+ onClose() {
+ this.triggerEvent("close");
+ },
+ confirm(e) {
+ this.triggerEvent("ok", {...e.detail, type: this.data.type})
+ },
+ cancel() {
+ this.triggerEvent("cancel")
+ }
+ }
+})
\ No newline at end of file
diff --git a/components/picker/index.json b/components/picker/index.json
new file mode 100644
index 0000000..935dd7b
--- /dev/null
+++ b/components/picker/index.json
@@ -0,0 +1,7 @@
+{
+ "component": true,
+ "usingComponents": {
+ "van-popup": "@vant/weapp/popup/index",
+ "van-picker": "@vant/weapp/picker/index"
+ }
+}
\ No newline at end of file
diff --git a/components/picker/index.wxml b/components/picker/index.wxml
new file mode 100644
index 0000000..9c78a7f
--- /dev/null
+++ b/components/picker/index.wxml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/picker/index.wxss b/components/picker/index.wxss
new file mode 100644
index 0000000..033253e
--- /dev/null
+++ b/components/picker/index.wxss
@@ -0,0 +1 @@
+/* components/picker/index.wxss */
\ No newline at end of file
diff --git a/pages/apply/index.js b/pages/apply/index.js
index f892a21..fb31e07 100644
--- a/pages/apply/index.js
+++ b/pages/apply/index.js
@@ -19,16 +19,8 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad(options) {
- console.log('options', options)
const querys = decodeURIComponent(options.scene)
- console.log('querys', querys)
- // const search = new URLSearchParams(querys)
- // const { id } = querys;
const id = querys.slice(querys.indexOf("=") + 1)
- // const id = seach.get('id')
- console.log('更换')
- console.log('id', id)
- // this.setData({ id, name })
this.getInfo(id);
},
async getInfo(id) {
@@ -52,11 +44,8 @@ Page({
},
async handleLogin(phoneCode) {
const { id, nickName } = this.data;
- console.log('准备开始')
loadingFunc(async () => {
- console.log('开始')
const wxLoginCode = await wxLogin()
- console.log('wxLoginCode', wxLoginCode)
const result = await userApply({ code: wxLoginCode, phoneCode, id, name: nickName })
const { code, message, data } = result;
if (code !== OK) {
@@ -78,7 +67,6 @@ Page({
},
getPhoneNumber(e) {
const { nickName } = this.data;
- console.log('nickName', e, nickName)
if (!nickName) {
alertInfo("请填写你的名字")
return;
@@ -93,7 +81,6 @@ Page({
alertInfo("服务达到上限")
return;
default:
- console.log("进入登录流程")
this.handleLogin(phoneCode)
return;
}
diff --git a/pages/handleLogin/index.js b/pages/handleLogin/index.js
index fb9b37a..cd79641 100644
--- a/pages/handleLogin/index.js
+++ b/pages/handleLogin/index.js
@@ -71,6 +71,7 @@ Page({
alertInfo("请输入你的昵称")
return
}
+ let err = ""
loadingFunc(async () => {
const wxLoginCode = await wxLogin()
const { code, message, data } = await userValidate({ park, tenement, phone, name, code: wxLoginCode })
@@ -91,7 +92,6 @@ Page({
url: '/pages/home/index',
})
})
-
},
/**
* 生命周期函数--监听页面初次渲染完成
diff --git a/pages/home/index.js b/pages/home/index.js
index 92f0d80..ebe264f 100644
--- a/pages/home/index.js
+++ b/pages/home/index.js
@@ -1,5 +1,8 @@
+import { getOwnTenementList } from "../../service/tenement";
+import { getUserInfo } from "../../service/user";
import { alertInfo } from "../../utils/index";
-
+import request from '../../utils/request';
+const { OK } = request;
// pages/home/index.js
Page({
@@ -8,20 +11,73 @@ Page({
*/
data: {
user: {},
+ all: [],
+ park: {},
+ tenement: {},
+ show: false,
+ columns: [],
+ pickerType: ""
},
-
+
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
-
+ choosePark() {
+ this.setData({
+ columns: this.data.all,
+ show: true,
+ pickerType: "park"
+ })
+ },
+ chooseTenement() {
+ const { park = {}} = this.data;
+ const { tenements } = park;
+ this.setData({
+ columns: tenements,
+ show: true,
+ pickerType: "tenement"
+ })
+ },
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
+ },
+ onOk(e) {
+ // console.log('e', e)
+ const { type, index, value } = e.detail;
+ const currentPark = this.data.park;
+ if (type === "park") {
+ if (value.id === currentPark?.id) {
+ this.setData({ show: false })
+ return
+ }
+ this.setData({
+ show: false,
+ park: value,
+ tenement: value.tenements?.[0]
+ })
+ }
+ if (type === "tenement") {
+ const currentTenement = this.data.tenement;
+ if (value.id === currentTenement?.id) {
+ this.setData({ show: false })
+ return
+ }
+ this.setData({
+ show: false,
+ tenement: value
+ })
+ }
+ },
+ onCancel() {
+ this.setData({
+ show: false,
+ })
},
changeMoney(e) {
const { money } = e.currentTarget.dataset;
@@ -30,7 +86,6 @@ Page({
})
},
onChangeMoney(e) {
- console.log('e', e)
this.setData({ money: Number(e.detail) })
},
recharge() {
@@ -49,10 +104,60 @@ Page({
* 生命周期函数--监听页面显示
*/
onShow() {
- const user = wx.getStorageSync('user')
- this.setData({ user })
+ this.setUser();
+ this.getAllList();
+ this.watchTenement();
},
-
+ watchTenement() {
+ let value = this.data.tenement; // 获取被监听属性的当前值
+
+ // 使用 Object.defineProperty 方法在数据对象上定义属性的 getter 和 setter
+ Object.defineProperty(this.data, 'tenement', {
+ configurable: true, // 可配置
+ enumerable: true, // 可枚举
+ get: function () {
+ return value; // 返回属性的当前值
+ },
+ set: function (newVal) {
+ const oldValue = value;
+ value = newVal;
+ }
+ });
+ },
+ async setUser() {
+ const result = await getUserInfo();
+ if (result.code !== OK) {
+ alertInfo(result.message)
+ return;
+ }
+ this.setData({ user: result.data })
+ wx.setStorageSync('user', result.data)
+ },
+ async getAllList() {
+ const { code, message, data } = await getOwnTenementList()
+ if (code !== OK) {
+ alertInfo(message)
+ return
+ }
+ const [firstPark = {}] = data;
+ const { park, tenement } = this.data;
+ const updateDatas = {}
+ if (!park || !park.id) {
+ updateDatas.park = firstPark
+ }
+ if (!tenement || !tenement.id) {
+ if (!park || !park.id) {
+ updateDatas.tenement = firstPark.tenements?.[0]
+ } else {
+ updateDatas.tenement = park.tenements?.[0];
+ }
+ }
+ updateDatas.all = data;
+ this.setData({
+ ...updateDatas
+ })
+ },
+
/**
* 生命周期函数--监听页面隐藏
*/
diff --git a/pages/home/index.json b/pages/home/index.json
index adc734d..e2bb39e 100644
--- a/pages/home/index.json
+++ b/pages/home/index.json
@@ -5,7 +5,8 @@
"van-button": "@vant/weapp/button/index",
"van-image": "@vant/weapp/image/index",
"avatar": "/components/avatar/index",
- "van-field": "@vant/weapp/field/index"
+ "van-field": "@vant/weapp/field/index",
+ "picker": "/components/picker/index"
},
"navigationStyle": "custom"
}
\ No newline at end of file
diff --git a/pages/home/index.wxml b/pages/home/index.wxml
index 60ce956..96091d9 100644
--- a/pages/home/index.wxml
+++ b/pages/home/index.wxml
@@ -1,11 +1,13 @@
-
+
+
+
用电管理服务 ·
-
+
- 金石工业园
+ {{park.name}}
@@ -20,9 +22,9 @@
请登录
-
+
- {{user.tenement.name}}
+ {{user.tenement.name}}
欢迎使用华昌宝能用电管理系统!
@@ -80,4 +82,7 @@
去缴费
-
\ No newline at end of file
+
+
+
+
diff --git a/utils/index.js b/utils/index.js
index 7bd445b..adb98ac 100644
--- a/utils/index.js
+++ b/utils/index.js
@@ -142,6 +142,7 @@ export const showLoading = async (options = {}) => {
export const hideLoading = async () => {
return new Promise((resolve, reject) => {
wx.hideLoading({
+ noConflict: true,
success: () => {
resolve()
}