往生大殿逝者记录4.0-内容区域可滑动

This commit is contained in:
minimaxagent1 2025-08-11 11:37:40 +08:00
parent 932ee52441
commit 2a7e874ae3
2 changed files with 95 additions and 56 deletions

View File

@ -1,7 +1,7 @@
# 往生殿页面跳转功能测试 # 往生殿页面跳转功能测试
## 功能描述 ## 功能描述
从memorial页面点击"供奉"按钮后跳转到memorialHall页面并传递往生殿ID进行页面渲染。 从memorial页面点击"供奉"按钮后跳转到memorialHall页面并传递往生殿ID进行页面渲染。memorialHall页面具有固定容器高度和可滚动的内容区域。
## 跳转流程 ## 跳转流程
@ -14,6 +14,7 @@
- **路径**: `/pages/memorial/memorialHall` - **路径**: `/pages/memorial/memorialHall`
- **功能**: 往生大殿详情页面 - **功能**: 往生大殿详情页面
- **接收参数**: `id` - 往生殿ID - **接收参数**: `id` - 往生殿ID
- **特色功能**: 固定容器高度,内容区域可滚动
## 实现细节 ## 实现细节
@ -40,18 +41,24 @@ submitPrayer() {
} }
``` ```
### memorialHall.vue 中的参数接收 ### memorialHall.vue 中的参数接收和滚动功能
```javascript ```javascript
onLoad(options) { onLoad(options) {
console.log('memorialHall页面接收到的参数:', options) console.log('memorialHall页面接收到的参数:', options)
// 从路由参数获取往生殿ID // 从路由参数获取往生殿ID
if (options.id) { if (options.id) {
this.memorialId = options.id this.selectedUnitId = options.id
console.log('设置往生殿ID:', this.memorialId) console.log('区域ID:', this.selectedUnitId)
} else { } else {
console.warn('未接收到往生殿ID使用默认ID:', this.memorialId) console.warn('未接收到区域ID使用默认ID:', this.selectedUnitId)
} }
this.initPage() this.initPage()
},
// 滚动事件处理
onScroll(e) {
console.log('滚动位置:', e.detail.scrollTop)
this.scrollTop = e.detail.scrollTop
} }
``` ```
@ -73,6 +80,12 @@ uni.navigateTo({
- 页面应该跳转到memorialHall页面 - 页面应该跳转到memorialHall页面
- 控制台应该显示接收到的参数 - 控制台应该显示接收到的参数
- 页面应该根据传递的ID加载对应的往生殿信息 - 页面应该根据传递的ID加载对应的往生殿信息
- 内容区域应该可以垂直滚动
### 4. 测试滚动功能
- 当往生者列表内容超出容器高度时,可以上下滚动查看
- 滚动时控制台会显示滚动位置信息
- 容器高度保持固定,不会随内容变化
## 预期结果 ## 预期结果
@ -94,10 +107,11 @@ uni.navigateTo({
### 控制台日志 ### 控制台日志
- `memorialHall页面接收到的参数:` - 显示接收到的所有参数 - `memorialHall页面接收到的参数:` - 显示接收到的所有参数
- `设置往生殿ID:` - 显示设置的往生殿ID - `区域ID:` - 显示设置的往生殿ID
- `往生殿页面初始化ID:` - 显示页面初始化时的ID - `往生殿页面初始化ID:` - 显示页面初始化时的ID
- `往生殿详情响应:` - 显示API响应数据 - `往生殿详情响应:` - 显示API响应数据
- `往生者列表数据:` - 显示往生者列表数据 - `往生者列表数据:` - 显示往生者列表数据
- `滚动位置:` - 显示当前滚动位置
### 网络请求 ### 网络请求
- `GET /app/memorial/{id}` - 获取往生殿详情 - `GET /app/memorial/{id}` - 获取往生殿详情

View File

@ -27,6 +27,13 @@
<!-- 刻铭标题 --> <!-- 刻铭标题 -->
<view class="title">刻铭</view> <view class="title">刻铭</view>
<!-- 滚动内容区域 -->
<scroll-view
class="scroll-content"
scroll-y="true"
:scroll-top="scrollTop"
@scroll="onScroll"
>
<!-- 加载状态 --> <!-- 加载状态 -->
<view v-if="loading" class="loading-container"> <view v-if="loading" class="loading-container">
<view class="loading-text">加载中...</view> <view class="loading-text">加载中...</view>
@ -82,6 +89,7 @@
联系人暂无联系信息 联系人暂无联系信息
</view> </view>
</view> </view>
</scroll-view>
</view> </view>
<!-- 状态栏 --> <!-- 状态栏 -->
@ -138,7 +146,7 @@ export default {
unit: null unit: null
}, },
// ID // ID
selectedUnitId: '16', selectedUnitId: '',
// //
deceasedList: [], deceasedList: [],
// //
@ -147,7 +155,9 @@ export default {
pageSize: 10 pageSize: 10
}, },
// 殿 // 殿
memorialDetail: null memorialDetail: null,
//
scrollTop: 0
} }
}, },
onLoad(options) { onLoad(options) {
@ -291,6 +301,12 @@ export default {
icon: 'none' icon: 'none'
}) })
} }
},
//
onScroll(e) {
console.log('滚动位置:', e.detail.scrollTop)
this.scrollTop = e.detail.scrollTop
} }
} }
} }
@ -317,6 +333,8 @@ export default {
//border: 1px red solid; //border: 1px red solid;
height: 862rpx; height: 862rpx;
padding:34rpx 32rpx 0 32rpx; padding:34rpx 32rpx 0 32rpx;
display: flex;
flex-direction: column;
.memorial-header { .memorial-header {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
@ -355,6 +373,12 @@ export default {
//border: 1px red solid; //border: 1px red solid;
} }
.scroll-content {
flex: 1;
height: 0; // flex: 1
overflow: hidden;
}
.loading-container { .loading-container {
display: flex; display: flex;
justify-content: center; justify-content: center;
@ -450,6 +474,7 @@ export default {
line-height: 38rpx; line-height: 38rpx;
letter-spacing: 1px; letter-spacing: 1px;
text-align: left; text-align: left;
padding-bottom: 32rpx;
} }
} }