施工详情页面开发
This commit is contained in:
parent
e4641df339
commit
cbabdb01d0
|
|
@ -93,6 +93,13 @@
|
||||||
"navigationStyle": "custom"
|
"navigationStyle": "custom"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/institutionalStructure/projectDetail",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "施工详情",
|
||||||
|
"navigationBarBackgroundColor": "#ffffff"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/basePage/basePage",
|
"path": "pages/basePage/basePage",
|
||||||
"style": {
|
"style": {
|
||||||
|
|
|
||||||
|
|
@ -50,16 +50,16 @@
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
class="constructionSituation"
|
class="constructionSituation"
|
||||||
>
|
>
|
||||||
<view class="project-info">
|
<view class="project-info" @click="goProjectDetail(item)">
|
||||||
<view class="line-left">
|
<view class="line-left">
|
||||||
<image :src="buddhaIcon" mode="aspectFill"></image>
|
<image :src="buddhaIcon" mode="aspectFill"></image>
|
||||||
<view class="line"></view>
|
<view class="line"></view>
|
||||||
</view>
|
</view>
|
||||||
<view class="info">
|
<view class="info" @click="">
|
||||||
<view class="time">
|
<view class="time">
|
||||||
{{ item.createTime }}
|
{{ item.createTime }}
|
||||||
</view>
|
</view>
|
||||||
<text>施工情况</text>
|
<text>{{ item.title }}</text>
|
||||||
<rich-text :nodes="item.content"></rich-text>
|
<rich-text :nodes="item.content"></rich-text>
|
||||||
</view>
|
</view>
|
||||||
<image
|
<image
|
||||||
|
|
@ -127,7 +127,7 @@ export default {
|
||||||
donorCount: 6,
|
donorCount: 6,
|
||||||
amountSum: 6666,
|
amountSum: 6666,
|
||||||
},
|
},
|
||||||
listData: [
|
winB_List: [
|
||||||
{
|
{
|
||||||
id: "18",
|
id: "18",
|
||||||
templeId: "12",
|
templeId: "12",
|
||||||
|
|
@ -139,6 +139,17 @@ export default {
|
||||||
coverUrl: "https://api.ccttiot.com/IMG01-1751968117197.jpg",
|
coverUrl: "https://api.ccttiot.com/IMG01-1751968117197.jpg",
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
id: "19",
|
||||||
|
templeId: "12",
|
||||||
|
title: "施工情况01232",
|
||||||
|
content:
|
||||||
|
"<p>施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02施工情况02...</p>",
|
||||||
|
status: "1",
|
||||||
|
templeName: "寒山寺",
|
||||||
|
createTime: "2025-07-09 13:50:57",
|
||||||
|
coverUrl: "https://api.ccttiot.com/IMG01-1751968117197.jpg",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
id: "19",
|
id: "19",
|
||||||
templeId: "12",
|
templeId: "12",
|
||||||
|
|
@ -217,6 +228,11 @@ export default {
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
goProjectDetail(item) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/institutionalStructure/projectDetail?title=${encodeURIComponent(item.title)}&content=${encodeURIComponent(item.content)}&createTime=${encodeURIComponent(item.createTime)}&coverUrl=${encodeURIComponent(item.coverUrl)}`,
|
||||||
|
});
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
102
pages/institutionalStructure/projectDetail.vue
Normal file
102
pages/institutionalStructure/projectDetail.vue
Normal file
|
|
@ -0,0 +1,102 @@
|
||||||
|
<template>
|
||||||
|
<view class="project-detail-container">
|
||||||
|
<!-- 封面图片 -->
|
||||||
|
<image
|
||||||
|
v-if="projectData.coverUrl"
|
||||||
|
:src="projectData.coverUrl"
|
||||||
|
class="cover-image"
|
||||||
|
mode="widthFix"
|
||||||
|
/>
|
||||||
|
|
||||||
|
<!-- 标题和日期 -->
|
||||||
|
<view class="header">
|
||||||
|
<text class="title">{{ projectData.title }}</text>
|
||||||
|
<text v-if="projectData.createTime" class="time">
|
||||||
|
{{ formatDate(projectData.createTime) }}
|
||||||
|
</text>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 内容区域 -->
|
||||||
|
<view class="content-box">
|
||||||
|
<rich-text :nodes="projectData.content"></rich-text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "projectDetail",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
projectData: {
|
||||||
|
title: "",
|
||||||
|
content: "",
|
||||||
|
createTime: "",
|
||||||
|
coverUrl: "",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
onLoad(options) {
|
||||||
|
this.projectData = {
|
||||||
|
title: decodeURIComponent(options.title || ""),
|
||||||
|
content: decodeURIComponent(options.content || ""),
|
||||||
|
createTime: decodeURIComponent(options.createTime || ""),
|
||||||
|
coverUrl: decodeURIComponent(options.coverUrl || ""),
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 格式化日期
|
||||||
|
formatDate(timestamp) {
|
||||||
|
if (!timestamp) return "";
|
||||||
|
const date = new Date(timestamp);
|
||||||
|
return `${date.getFullYear()}-${padZero(date.getMonth() + 1)}-${padZero(date.getDate())}`;
|
||||||
|
|
||||||
|
function padZero(num) {
|
||||||
|
return num < 10 ? `0${num}` : num;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.project-detail-container {
|
||||||
|
padding: 30rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cover-image {
|
||||||
|
width: 100%;
|
||||||
|
border-radius: 12rpx;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 36rpx;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #333;
|
||||||
|
line-height: 1.5;
|
||||||
|
display: block;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.time {
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-box {
|
||||||
|
padding: 20rpx 0;
|
||||||
|
|
||||||
|
.content {
|
||||||
|
font-size: 30rpx;
|
||||||
|
color: #666;
|
||||||
|
line-height: 1.8;
|
||||||
|
white-space: pre-wrap;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Loading…
Reference in New Issue
Block a user