diff --git a/property-uniapp-project/manifest.json b/property-uniapp-project/manifest.json index f51dc21..39b84ec 100644 --- a/property-uniapp-project/manifest.json +++ b/property-uniapp-project/manifest.json @@ -2,8 +2,8 @@ "name" : "花开物业", "appid" : "__UNI__29C3D60", "description" : "智慧社区居民端面向小区业主使用,支持注册、验证码、账号密码多种登录方式,提供密码找回功能,账号使用安全便捷。支持多小区切换,首页设有轮播 banner、社区公告,集成远程开门、生活缴费、在线报修、访客邀请、社区活动常用服务。全服务板块统一涵盖门禁开门、线上缴费、报修申报、访客预约、投诉反馈、问卷调研、活动报名、社区公示、一键联系物业功能。个人中心可管理房屋、住户、车位、车辆信息,支持更换手机号、修改密码、消息通知设置、版本更新及账号退出,一站式满足业主居家生活、社区服务、房产车辆管理需求,实现社区生活数字化、便捷化。", - "versionName" : "1.1.2", - "versionCode" : 125, + "versionName" : "1.1.3", + "versionCode" : 126, "transformPx" : false, "uniCloud" : { "provider" : "aliyun", diff --git a/property-uniapp-project/pageSubPack/activity-list/activityListDetails.vue b/property-uniapp-project/pageSubPack/activity-list/activityListDetails.vue index e275de4..e01d00a 100644 --- a/property-uniapp-project/pageSubPack/activity-list/activityListDetails.vue +++ b/property-uniapp-project/pageSubPack/activity-list/activityListDetails.vue @@ -177,8 +177,8 @@ 取消报名 - - + + @@ -257,6 +257,12 @@ const isActivityStarted = computed(() => { return moment().isSameOrAfter(moment(activityConent.value.startTime)) }) +// 判断活动是否已到结束时间 +const isActivityEndedByTime = computed(() => { + if (!activityConent.value.endTime) return false + return moment().isAfter(moment(activityConent.value.endTime)) +}) + diff --git a/property-uniapp-project/pageSubPack/api/api.js b/property-uniapp-project/pageSubPack/api/api.js index 9b15f21..2a8288b 100644 --- a/property-uniapp-project/pageSubPack/api/api.js +++ b/property-uniapp-project/pageSubPack/api/api.js @@ -119,7 +119,7 @@ export const getQueryRepair = (data) =>{ } // 获取房屋列表 export const getHouseList = (data) =>{ - return get('/api/resident/my/house/list',data) + return get('/repairOrder/certifiedHouseList',data) } // 报修详情 export const getRepairDetail = (data) =>{ diff --git a/property-uniapp-project/pageSubPack/api/request.js b/property-uniapp-project/pageSubPack/api/request.js index 1e61ae6..db4784c 100644 --- a/property-uniapp-project/pageSubPack/api/request.js +++ b/property-uniapp-project/pageSubPack/api/request.js @@ -2,8 +2,8 @@ import { navigateToLogin } from '@/common/checkLogin.js' let baseUrl = ''; if (process.env.NODE_ENV === 'development') { - // baseUrl = 'http://192.168.1.6:8080'; // 开发环境 - baseUrl = 'http://192.168.1.222:8080'; + baseUrl = 'http://192.168.1.6:8080'; // 开发环境 + // baseUrl = 'http://192.168.1.222:8080'; } else { baseUrl = 'https://wuyeapi.ckdzkj.com'; // 生产环境 } diff --git a/property-uniapp-project/pageSubPack/api/useImageUpload.js b/property-uniapp-project/pageSubPack/api/useImageUpload.js index ffe75b0..2566576 100644 --- a/property-uniapp-project/pageSubPack/api/useImageUpload.js +++ b/property-uniapp-project/pageSubPack/api/useImageUpload.js @@ -1,6 +1,6 @@ // 服务器地址(与 request.js 保持一致) const baseUrl = 'https://wuyeapi.ckdzkj.com'; -// const baseUrl = "http://192.168.1.222:8080" +// const baseUrl = "http://192.168.1.6:8080" /** * 图片上传 Hook diff --git a/property-uniapp-project/pageSubPack/inspection-revenue/inspection-details.vue b/property-uniapp-project/pageSubPack/inspection-revenue/inspection-details.vue index 3914147..c913bf5 100644 --- a/property-uniapp-project/pageSubPack/inspection-revenue/inspection-details.vue +++ b/property-uniapp-project/pageSubPack/inspection-revenue/inspection-details.vue @@ -21,31 +21,16 @@ 巡检点:{{ detail.pointNames }} - - - 巡检结果 - 巡检人:{{ detail.inspectorName }} - 手机号码:{{ detail.phoneNumber }} - 巡检时间:{{ detail.inspectTime }} - 巡检结果: - - {{ idx + 1 }}.{{ r }} - - 巡检照片: - - - - - 暂无照片 - - - - {{ sub.pointName }} + 巡检结果 + 巡检点:{{ sub.pointName }} + 巡检人:{{ detail.inspectorName }} + 手机号码:{{ detail.phoneNumber }} 巡检时间:{{ sub.checkTime }} + 巡检状态:{{ getXunJianStatus(sub.status) }} 巡检结果:{{ sub.checkResult }} - 备注:{{ sub.remark }} + 巡检照片: @@ -82,6 +67,15 @@ fetchDetail() } }) + + // 巡检状态字段映射 0正常,1异常 + function getXunJianStatus(status){ + const staMap = { + "0":'正常', + "1":"异常" + } + return staMap[status] + } const fetchDetail = async () => { if (!recordId) return diff --git a/property-uniapp-project/pageSubPack/my/houseDetail.vue b/property-uniapp-project/pageSubPack/my/houseDetail.vue index 3360096..aa41b43 100644 --- a/property-uniapp-project/pageSubPack/my/houseDetail.vue +++ b/property-uniapp-project/pageSubPack/my/houseDetail.vue @@ -37,7 +37,7 @@ 业主 - {{form.ownerName}} + {{form.name}} 房间状态 @@ -58,7 +58,7 @@ 住户 - {{form.name}} + {{form.residentName}} 房间号 @@ -220,6 +220,10 @@ id: id.value }).then(res => { if (res.code === 200) { + // 删除后清空小区缓存,避免首页仍显示已删除的小区 + uni.setStorageSync('needReloadUserInfo', true) + uni.removeStorageSync('currentVillageId') + uni.removeStorageSync('home_cache_' + (uni.getStorageSync('userId') || '')) uni.showToast({ title: '删除成功', icon: 'success' diff --git a/property-uniapp-project/pageSubPack/my/myCarIndex.vue b/property-uniapp-project/pageSubPack/my/myCarIndex.vue index 9a44431..d62741d 100644 --- a/property-uniapp-project/pageSubPack/my/myCarIndex.vue +++ b/property-uniapp-project/pageSubPack/my/myCarIndex.vue @@ -162,7 +162,7 @@ min-height: 0; height: 0; overflow-y: auto; - padding: 0px 40rpx; + padding: 0px 40rpx 140rpx; box-sizing: border-box; } @@ -183,9 +183,15 @@ } .bottom-btn { - padding: 20rpx 30rpx 40rpx; + position: fixed; + left: 0; + right: 0; + bottom: 0; + padding: 20rpx 30rpx; + padding-bottom: calc(20rpx + env(safe-area-inset-bottom)); flex-shrink: 0; background-color: #f5f7fa; + box-shadow: 0 -4rpx 20rpx rgba(0, 0, 0, 0.05); } .car-item { diff --git a/property-uniapp-project/pageSubPack/my/myHouseIndex.vue b/property-uniapp-project/pageSubPack/my/myHouseIndex.vue index 04f229b..54d1a87 100644 --- a/property-uniapp-project/pageSubPack/my/myHouseIndex.vue +++ b/property-uniapp-project/pageSubPack/my/myHouseIndex.vue @@ -2,6 +2,11 @@ + + + + 暂无数据 + @@ -218,6 +223,24 @@ box-sizing: border-box; } + /* 空状态 */ + .empty-state { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + height: 100%; + min-height: 500rpx; + color: #ccc; + } + + .empty-text { + font-size: 32rpx; + color: #999; + margin-top: 20rpx; + margin-bottom: 10rpx; + } + /* 列表 */ .house-list { } diff --git a/property-uniapp-project/pageSubPack/my/myParkingSpaceIndex.vue b/property-uniapp-project/pageSubPack/my/myParkingSpaceIndex.vue index 860b6b6..2412eb3 100644 --- a/property-uniapp-project/pageSubPack/my/myParkingSpaceIndex.vue +++ b/property-uniapp-project/pageSubPack/my/myParkingSpaceIndex.vue @@ -196,7 +196,7 @@ .page { flex: 1; overflow-y: auto; - padding: 0px 40rpx; + padding: 0px 40rpx 140rpx; box-sizing: border-box; } @@ -217,7 +217,14 @@ } .bottom-btn { - padding: 20rpx 30rpx 40rpx; + position: fixed; + left: 0; + right: 0; + bottom: 0; + padding: 20rpx 30rpx; + padding-bottom: calc(20rpx + env(safe-area-inset-bottom)); + background: #f5f7fa; + box-shadow: 0 -4rpx 20rpx rgba(0, 0, 0, 0.05); } .parkingSpace-card { diff --git a/property-uniapp-project/pageSubPack/my/parkingSpaceDetail.vue b/property-uniapp-project/pageSubPack/my/parkingSpaceDetail.vue index 50bdef3..63de357 100644 --- a/property-uniapp-project/pageSubPack/my/parkingSpaceDetail.vue +++ b/property-uniapp-project/pageSubPack/my/parkingSpaceDetail.vue @@ -24,7 +24,7 @@ - 房屋信息 + 车位信息 小区 diff --git a/property-uniapp-project/pageSubPack/my/selectParingLot.vue b/property-uniapp-project/pageSubPack/my/selectParingLot.vue index 7a301b8..1a8c67b 100644 --- a/property-uniapp-project/pageSubPack/my/selectParingLot.vue +++ b/property-uniapp-project/pageSubPack/my/selectParingLot.vue @@ -26,6 +26,9 @@ ref, onMounted } from 'vue' + import { + onUnload + } from '@dcloudio/uni-app' import { getResidentCarAreaManageAreaListByVillageId, getResidentCarAreaManageParkingListByAreaId @@ -37,6 +40,8 @@ const selectedParkingLot = ref(uni.getStorageSync('parkingLotId')) const selectedParkingSpace = ref(uni.getStorageSync('parkingSpaceId')) const isSubmitting = ref(false) + let navTimer = null + let lockTimer = null onMounted(() => { checkType.value = uni.getStorageSync('checkType') @@ -94,37 +99,38 @@ } const selectedParking = (item) => { + // 防重复点击锁:处理中直接返回,避免重复选择/重复跳转 if (isSubmitting.value) return isSubmitting.value = true - console.log(item); - if (checkType.value == '停车场') { - selectedParkingLot.value = item.id - } else if (checkType.value == '车位编号') { - selectedParkingSpace.value = item.id - } - - setTimeout(() => { - uni.showToast({ - title: '选择成功', - icon: 'success' - }) - console.log(checkType.value); + try { if (checkType.value == '停车场') { + selectedParkingLot.value = item.id uni.setStorageSync('parkingLotId', item.id) uni.setStorageSync('parkingLotName', item.name) uni.removeStorageSync('parkingSpaceId') uni.removeStorageSync('parkingSpaceName') uni.setStorageSync('checkType', '车位编号') } else if (checkType.value == '车位编号') { - console.log(item.id); + selectedParkingSpace.value = item.id uni.setStorageSync('parkingSpaceId', item.id) uni.setStorageSync('parkingSpaceName', item.name) } - }, 1000) - setTimeout(() => { - goFreash() - }, 2500) + + uni.showToast({ + title: '选择成功', + icon: 'success' + }) + + navTimer = setTimeout(() => { + goFreash() + }, 1500) + } finally { + // 正常跳转后页面会销毁,防止异常时锁死 + lockTimer = setTimeout(() => { + isSubmitting.value = false + }, 1500) + } } const goFreash = () => { @@ -149,6 +155,18 @@ } uni.navigateBack() } + + // 页面销毁时清理定时器,避免手势返回后延迟跳转仍触发 + onUnload(() => { + if (navTimer) { + clearTimeout(navTimer) + navTimer = null + } + if (lockTimer) { + clearTimeout(lockTimer) + lockTimer = null + } + }) diff --git a/property-uniapp-project/pageSubPack/online-repair/personalRepair.vue b/property-uniapp-project/pageSubPack/online-repair/personalRepair.vue index 339c08a..0383f38 100644 --- a/property-uniapp-project/pageSubPack/online-repair/personalRepair.vue +++ b/property-uniapp-project/pageSubPack/online-repair/personalRepair.vue @@ -29,7 +29,7 @@ 问题描述 -