buddhism/pages/personalCenter/myCollection.vue
2025-09-23 13:31:05 +08:00

281 lines
6.2 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="page">
<base-background />
<custom-navbar ref="customNavbar" title="我的收藏" />
<view class="header">
<view>
<view class="container">
<!-- 滚动内容区域 -->
<scroll-view class="scroll-content">
<!-- 动态渲染往生者信息 -->
<view
v-for="(item, index) in winB_List"
:key="item.id"
class="memorial-text"
>
<!-- 顶部信息 -->
<view class="memorial-header">
<view class="location">{{ item.memorialCode }}</view>
<view
style="color: #522510"
@click="goToMemorialHall(item.memorialId)"
>查看详细
<u-icon name="arrow-right"></u-icon>
</view>
</view>
<!-- 刻铭标题 -->
<view class="title">刻铭</view>
<view class="flex-row">
<view class="name">
<view class="honorific"
>{{ item.deceasedVOList.honorific }}
</view>
<view class="fullName"
>{{ item.deceasedVOList.fullName }}
</view>
</view>
<view class="date">
<view class="bornDate">
<view>生</view>
<view>{{ item.deceasedVOList.bornYear }}</view>
<view class="time">年</view>
<view>{{ item.deceasedVOList.bornMonths }}</view>
<view class="time">月</view>
<view>{{ item.deceasedVOList.bornDay }}</view>
<view class="time">日</view>
</view>
<view class="diedDate">
<view>卒</view>
<view>{{ item.deceasedVOList.diedYear || "吉" }}</view>
<view class="time">年</view>
<view>{{ item.deceasedVOList.diedMonths || "吉利" }}</view>
<view class="time">月</view>
<view>{{ item.deceasedVOList.diedDay || "吉" }}</view>
<view class="time"></view>
</view>
</view>
</view>
</view>
</scroll-view>
</view>
</view>
<!-- 捐赠弹窗 -->
</view>
</view>
</template>
<script>
import { createPagination } from "../../composables/winB_Pagination";
import CommonEnum from "../../enum/common";
import { getUserCollection } from "../../api/memorial/memorial";
export default {
computed: {
CommonEnum() {
return CommonEnum;
},
},
data() {
return {};
},
mixins: [
createPagination({
fetchData: getUserCollection,
mode: "loadMore",
pageSize: 5,
autoLoad: false, // 设置为 false不自动加载
}),
],
onLoad() {
// 页面加载时获取数据
this.winB_GetList();
},
methods: {
goToMemorialHall(id) {
uni.navigateTo({
url: `/pages/memorial/memorialHall?id=${id}`,
});
},
},
onReachBottom() {
this.winB_LoadMore();
console.log("加载更多");
},
};
</script>
<style lang="scss" scoped>
.page {
position: relative;
width: 100%;
min-height: 100vh;
}
.header {
width: 100%;
display: flex;
align-items: center;
flex-direction: column;
padding: 30rpx 30rpx 0;
min-height: 100%;
}
.container {
width: 100%;
//border: 1px red solid;
height: 862rpx;
//padding: 34rpx 32rpx 0 32rpx;
display: flex;
flex-direction: column;
.memorial-header {
display: flex;
justify-content: space-between;
align-items: center;
//border: 1px red solid;
padding-left: 2rpx;
height: 54rpx;
margin-bottom: 26rpx;
.location {
font-weight: 500;
font-size: 40rpx;
color: #522510;
line-height: 54rpx;
text-align: left;
}
}
.title {
margin-bottom: 22rpx;
font-weight: 500;
font-size: 40rpx;
color: #522510;
line-height: 54rpx;
text-align: left;
//border: 1px red solid;
}
.scroll-content {
}
.loading-container {
display: flex;
justify-content: center;
align-items: center;
height: 100rpx; /* Adjust height as needed */
margin-bottom: 22rpx;
}
.loading-text {
font-size: 28rpx;
color: #522510;
}
.empty-container {
display: flex;
justify-content: center;
align-items: center;
height: 100rpx;
margin-bottom: 22rpx;
}
.empty-text {
font-size: 28rpx;
color: #999;
}
.memorial-text {
background: #fffbf5;
display: flex;
margin-bottom: 38rpx;
font-weight: 400;
font-size: 24rpx;
color: #4c382e;
line-height: 32rpx;
letter-spacing: 1px;
text-align: left;
font-style: normal;
text-transform: none;
flex-direction: column;
box-sizing: border-box;
border: 1px solid #c7a26d;
border-radius: 15rpx;
padding: 20rpx;
.flex-row {
display: flex;
flex-direction: row;
}
.name {
margin-top: 4rpx;
display: flex;
margin-right: 34rpx;
.honorific {
font-weight: 400;
font-size: 24rpx;
color: #4c382e;
line-height: 32rpx;
letter-spacing: 1px;
text-align: left;
margin-right: 16rpx;
}
.fullName {
font-weight: 400;
font-size: 28rpx;
color: #4c382e;
line-height: 32rpx;
letter-spacing: 1px;
text-align: left;
}
}
.date {
color: #522510;
.bornDate {
gap: 16rpx;
display: flex;
font-weight: 400;
font-size: 28rpx;
line-height: 38rpx;
letter-spacing: 1px;
text-align: left;
}
.diedDate {
gap: 16rpx;
display: flex;
font-weight: 400;
font-size: 28rpx;
line-height: 38rpx;
letter-spacing: 1px;
text-align: left;
}
}
}
.time {
font-weight: 500;
font-size: 32rpx;
}
.contact-info {
font-weight: 400;
font-size: 28rpx;
color: #4c382e;
line-height: 38rpx;
letter-spacing: 1px;
text-align: left;
padding-bottom: 32rpx;
}
}
</style>