修复bug,优化消息通知滚动
This commit is contained in:
@@ -2,8 +2,8 @@
|
|||||||
"name" : "花开管家",
|
"name" : "花开管家",
|
||||||
"appid" : "__UNI__5F224F3",
|
"appid" : "__UNI__5F224F3",
|
||||||
"description" : "智慧社区管家端,专为小区物业管理人员打造,支持多小区灵活切换管理。集成账号密码、手机号密码双重登录模式,内置忘记密码找回功能,保障账号安全。涵盖消息通知、日常巡检、故障报修、一键开门、工单流转、投诉处理等核心办公功能,物业人员可在线完成巡检打卡、问题上报、工单派发跟进、投诉对接处理等日常工作,同时支持查看个人上报记录、巡检历史,便捷修改账号信息与登录密码。高效简化社区物业办公流程,提升小区服务与管理效率,打造便捷智能的社区管理服务平台。",
|
"description" : "智慧社区管家端,专为小区物业管理人员打造,支持多小区灵活切换管理。集成账号密码、手机号密码双重登录模式,内置忘记密码找回功能,保障账号安全。涵盖消息通知、日常巡检、故障报修、一键开门、工单流转、投诉处理等核心办公功能,物业人员可在线完成巡检打卡、问题上报、工单派发跟进、投诉对接处理等日常工作,同时支持查看个人上报记录、巡检历史,便捷修改账号信息与登录密码。高效简化社区物业办公流程,提升小区服务与管理效率,打造便捷智能的社区管理服务平台。",
|
||||||
"versionName" : "1.0.7",
|
"versionName" : "1.0.8",
|
||||||
"versionCode" : 107,
|
"versionCode" : 108,
|
||||||
"transformPx" : false,
|
"transformPx" : false,
|
||||||
"app-plus" : {
|
"app-plus" : {
|
||||||
"usingComponents" : true,
|
"usingComponents" : true,
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="report-record-page">
|
<view class="report-record-page">
|
||||||
<view class="status-bar" :style="{ height: statusBarHeight + 'px' }"></view>
|
<!-- <view class="status-bar" :style="{ height: statusBarHeight + 'px' }"></view> -->
|
||||||
<!-- 顶部导航栏 -->
|
<!-- 顶部导航栏 -->
|
||||||
<uni-nav-bar
|
<!-- <uni-nav-bar
|
||||||
left-icon="back"
|
left-icon="back"
|
||||||
title="上报记录"
|
title="上报记录"
|
||||||
backgroundColor="transparent"
|
backgroundColor="transparent"
|
||||||
:border="false"
|
:border="false"
|
||||||
@clickLeft="navBack"
|
@clickLeft="navBack"
|
||||||
/>
|
/> -->
|
||||||
|
|
||||||
<!-- 状态筛选标签 -->
|
<!-- 状态筛选标签 -->
|
||||||
<view class="status-tabs">
|
<view class="status-tabs">
|
||||||
@@ -37,11 +37,7 @@
|
|||||||
</view>
|
</view>
|
||||||
|
|
||||||
<!-- 上报记录列表 -->
|
<!-- 上报记录列表 -->
|
||||||
<scroll-view
|
<scroll-view class="record-list" scroll-y>
|
||||||
class="record-list"
|
|
||||||
scroll-y
|
|
||||||
:style="{ height: `calc(100vh - ${navHeight + statusTabHeight + typeTabHeight}px)` }"
|
|
||||||
>
|
|
||||||
<!-- 记录卡片 -->
|
<!-- 记录卡片 -->
|
||||||
<view v-for="record in reportRecords" :key="record.id" class="record-card">
|
<view v-for="record in reportRecords" :key="record.id" class="record-card">
|
||||||
<!-- 标题 + 状态标签 -->
|
<!-- 标题 + 状态标签 -->
|
||||||
@@ -86,17 +82,11 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref } from 'vue'
|
import { ref } from 'vue'
|
||||||
import { onReady, onReachBottom, onPullDownRefresh, onShow } from '@dcloudio/uni-app'
|
import { onReachBottom, onPullDownRefresh, onShow } from '@dcloudio/uni-app'
|
||||||
import { getMyOrderList } from '../../api/api.js'
|
import { getMyOrderList } from '../../api/api.js'
|
||||||
|
|
||||||
// 导航栏/标签高度(适配不同设备)
|
|
||||||
const navHeight = ref(44)
|
|
||||||
const statusTabHeight = ref(88)
|
|
||||||
const typeTabHeight = ref(88)
|
|
||||||
const statusBarHeight = ref(uni.getSystemInfoSync().statusBarHeight || 0)
|
|
||||||
// 分页
|
// 分页
|
||||||
const pageNum = ref(1) // 当前页
|
const pageNum = ref(1) // 当前页
|
||||||
const pageSize = ref(5) // 每页条数
|
const pageSize = ref(10) // 每页条数
|
||||||
const total = ref(0) // 总条数
|
const total = ref(0) // 总条数
|
||||||
const loading = ref(false) // 加载状态
|
const loading = ref(false) // 加载状态
|
||||||
const noMore = ref(false) // 是否没有更多
|
const noMore = ref(false) // 是否没有更多
|
||||||
@@ -107,7 +97,7 @@ const activeType = ref('all') // 全部/公共报修/个人报修
|
|||||||
// 状态筛选选项
|
// 状态筛选选项
|
||||||
const statusTabs = ref([
|
const statusTabs = ref([
|
||||||
{ label: '全部', value: 'all' },
|
{ label: '全部', value: 'all' },
|
||||||
// { label: '待分配', value: 'pending' },
|
{ label: '待分配', value: '0' },
|
||||||
{ label: '待解决', value: '1' },
|
{ label: '待解决', value: '1' },
|
||||||
{ label: '已完成', value: '2' }
|
{ label: '已完成', value: '2' }
|
||||||
])
|
])
|
||||||
@@ -211,7 +201,7 @@ const navBack = () => {
|
|||||||
// 获取状态文本
|
// 获取状态文本
|
||||||
const getStatusText = status => {
|
const getStatusText = status => {
|
||||||
const statusMap = {
|
const statusMap = {
|
||||||
// "pending": '已分配',
|
0: '待分配',
|
||||||
1: '待解决',
|
1: '待解决',
|
||||||
2: '已完成'
|
2: '已完成'
|
||||||
}
|
}
|
||||||
@@ -220,6 +210,7 @@ const getStatusText = status => {
|
|||||||
// 获取状态标签样式类名
|
// 获取状态标签样式类名
|
||||||
const getStatusClass = status => {
|
const getStatusClass = status => {
|
||||||
const classMap = {
|
const classMap = {
|
||||||
|
0:'pending',
|
||||||
1: 'processing',
|
1: 'processing',
|
||||||
2: 'completed'
|
2: 'completed'
|
||||||
}
|
}
|
||||||
@@ -230,26 +221,15 @@ onShow(() => {
|
|||||||
noMore.value = false
|
noMore.value = false
|
||||||
getReportList()
|
getReportList()
|
||||||
})
|
})
|
||||||
|
|
||||||
// 页面渲染完成后适配高度
|
|
||||||
onReady(() => {
|
|
||||||
// 可根据实际设备调整高度
|
|
||||||
uni.getSystemInfo({
|
|
||||||
success: res => {
|
|
||||||
if (res.platform === 'ios') {
|
|
||||||
navHeight.value = 44
|
|
||||||
} else {
|
|
||||||
navHeight.value = 48
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.report-record-page {
|
.report-record-page {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100vh;
|
height: 100vh;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
box-sizing: border-box;
|
||||||
background: linear-gradient(to left bottom, #e2efff 0%, #f9f9f9 50%);
|
background: linear-gradient(to left bottom, #e2efff 0%, #f9f9f9 50%);
|
||||||
}
|
}
|
||||||
.status-bar {
|
.status-bar {
|
||||||
@@ -265,6 +245,7 @@ onReady(() => {
|
|||||||
padding: 0 40rpx;
|
padding: 0 40rpx;
|
||||||
height: 88rpx;
|
height: 88rpx;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.status-tab-item {
|
.status-tab-item {
|
||||||
@@ -304,6 +285,7 @@ onReady(() => {
|
|||||||
padding: 20rpx 40rpx;
|
padding: 20rpx 40rpx;
|
||||||
margin-top: 10rpx;
|
margin-top: 10rpx;
|
||||||
justify-content: flex-start;
|
justify-content: flex-start;
|
||||||
|
flex-shrink: 0;
|
||||||
/* gap: 20rpx; */
|
/* gap: 20rpx; */
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -325,6 +307,8 @@ onReady(() => {
|
|||||||
|
|
||||||
/* 记录列表 */
|
/* 记录列表 */
|
||||||
.record-list {
|
.record-list {
|
||||||
|
flex: 1;
|
||||||
|
min-height: 0;
|
||||||
padding: 20rpx 40rpx;
|
padding: 20rpx 40rpx;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
}
|
}
|
||||||
@@ -346,14 +330,18 @@ onReady(() => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.card-title {
|
.card-title {
|
||||||
|
flex: 1;
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #333;
|
color: #333;
|
||||||
margin-right: 20rpx;
|
margin-right: 20rpx;
|
||||||
|
word-break: break-all;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 状态标签 */
|
/* 状态标签 */
|
||||||
.status-tag {
|
.status-tag {
|
||||||
|
flex-shrink: 0;
|
||||||
|
white-space: nowrap;
|
||||||
padding: 6rpx 16rpx;
|
padding: 6rpx 16rpx;
|
||||||
font-size: 20rpx;
|
font-size: 20rpx;
|
||||||
border-radius: 12rpx;
|
border-radius: 12rpx;
|
||||||
|
|||||||
@@ -221,10 +221,10 @@
|
|||||||
{
|
{
|
||||||
"path": "reportingRecord",
|
"path": "reportingRecord",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "上报记录",
|
"navigationBarTitleText": "上报记录"
|
||||||
"navigationStyle": "custom",
|
// "navigationStyle": "custom",
|
||||||
"enablePullDownRefresh": true,
|
// "enablePullDownRefresh": true,
|
||||||
"onReachBottomDistance": 100
|
// "onReachBottomDistance": 100
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -260,8 +260,7 @@
|
|||||||
"pages": [{
|
"pages": [{
|
||||||
"path": "report-record",
|
"path": "report-record",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "上报记录",
|
"navigationBarTitleText": "上报记录"
|
||||||
"navigationStyle": "custom"
|
|
||||||
}
|
}
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -53,6 +53,12 @@
|
|||||||
</template>
|
</template>
|
||||||
</up-swiper>
|
</up-swiper>
|
||||||
</view>
|
</view>
|
||||||
|
<!-- banner 占位 -->
|
||||||
|
<view class="bannarClass" v-else>
|
||||||
|
<view class="banner-placeholder">
|
||||||
|
<text>暂无轮播图</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<!-- 巡检 -->
|
<!-- 巡检 -->
|
||||||
<view class="inspectionClass">
|
<view class="inspectionClass">
|
||||||
@@ -421,10 +427,9 @@ const slelctHomeData = data => {
|
|||||||
onShow(() => {
|
onShow(() => {
|
||||||
if (!isLoggedIn.value) return
|
if (!isLoggedIn.value) return
|
||||||
if (!hasInit.value) {
|
if (!hasInit.value) {
|
||||||
// 首次加载:onLoad 已触发过核心数据请求,这里只补 onLoad 没调的和需要每次都刷新的
|
|
||||||
hasInit.value = true
|
hasInit.value = true
|
||||||
getbannarData() // onLoad 没调 banner
|
getbannarData()
|
||||||
getMyOrderNum() // onLoad 没调工单数
|
getMyOrderNum()
|
||||||
permStore.initPerm() // 刷新权限缓存
|
permStore.initPerm() // 刷新权限缓存
|
||||||
// currentVillageData 和 getInspectionData 已在 onLoad 中调用,不再重复
|
// currentVillageData 和 getInspectionData 已在 onLoad 中调用,不再重复
|
||||||
return
|
return
|
||||||
@@ -628,6 +633,17 @@ onPullDownRefresh(async () => {
|
|||||||
border-radius: 15rpx;
|
border-radius: 15rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.banner-placeholder {
|
||||||
|
height: 180px;
|
||||||
|
background: #e8f1fb;
|
||||||
|
border-radius: 15rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
color: #999;
|
||||||
|
font-size: 26rpx;
|
||||||
|
}
|
||||||
|
|
||||||
.inspectionClass {
|
.inspectionClass {
|
||||||
background: linear-gradient(to right, #7b87fa, #4d5dfa);
|
background: linear-gradient(to right, #7b87fa, #4d5dfa);
|
||||||
border-radius: 16rpx;
|
border-radius: 16rpx;
|
||||||
@@ -700,6 +716,12 @@ onPullDownRefresh(async () => {
|
|||||||
width: calc(100% - 30rpx) !important;
|
width: calc(100% - 30rpx) !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 固定滚动速度 */
|
||||||
|
:deep(.uni-noticebar__content-text--scrollable) {
|
||||||
|
animation-duration: 4s !important;
|
||||||
|
animation-delay: 0s !important;
|
||||||
|
}
|
||||||
|
|
||||||
/* 统计区布局 */
|
/* 统计区布局 */
|
||||||
.statistics-wrap {
|
.statistics-wrap {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
Reference in New Issue
Block a user