From 06a391a668fa4133147db49fc61cf6b8765b9483 Mon Sep 17 00:00:00 2001
From: zhouyanli <593579392@qq.com>
Date: Sat, 25 Apr 2026 07:57:49 +0800
Subject: [PATCH 01/12] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E6=B4=BB=E5=8A=A8?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../activity-list/activityList.vue | 241 ++++++------------
.../activity-list/activityListDetails.vue | 71 ++++--
.../pageSubPack/api/api.js | 25 +-
.../pageSubPack/loginSub/pwd-login.vue | 2 +-
.../notice-list/noticeListDetails.vue | 2 +-
.../pageSubPack/notice-list/oneClickOpen.vue | 125 +++++++--
property-uniapp-project/pages/index/index.vue | 64 +++--
7 files changed, 293 insertions(+), 237 deletions(-)
diff --git a/property-uniapp-project/pageSubPack/activity-list/activityList.vue b/property-uniapp-project/pageSubPack/activity-list/activityList.vue
index f34aeee..6a22ce6 100644
--- a/property-uniapp-project/pageSubPack/activity-list/activityList.vue
+++ b/property-uniapp-project/pageSubPack/activity-list/activityList.vue
@@ -54,10 +54,10 @@
- 进行中
+ {{activity.statusText}}
-
+
已报名
@@ -67,7 +67,7 @@
-
@@ -82,11 +82,11 @@
- 地点:{{ activity.location }}
+ 地点:{{ activity.address }}
- 活动名额{{ activity.totalQuota }}人,已报名{{ activity.signedCount }}人
+ 活动名额{{ activity.quota }}人,已报名{{ activity.appliedCount }}人
@@ -126,6 +126,7 @@
watch
} from 'vue'
import moment from 'moment';
+ import{getActivityList} from '../api/api.js'
// 响应式数据
const activeTab = ref('list') // 'list' 或 'my'
@@ -134,6 +135,9 @@
const hasMoreData = ref(true)
const currentPage = ref(1)
const pageSize = 5
+ const total = ref(0)
+ // 当前显示的活动列表
+ const displayedActivities = ref([])
// 筛选条件
const filters = ref([{
@@ -155,122 +159,7 @@
])
// 模拟活动数据
- const allActivities = ref([{
- id: 1,
- title: '阳光海岸社区生活节活动',
- startTime: '2023-06-19 08:00',
- endTime: '2023-06-30 17:00',
- location: '山东省日照市东港区莱顿二期花语墅西沿街',
- totalQuota: 100,
- signedCount: 68,
- status: 'ongoing', // ongoing, upcoming, ended
- hasSigned: true,
- myStatus: 'passed', // reviewing, passed, rejected
- coverImage: '/static/activity1.jpg',
- description: '阳光海岸社区生活节是一个为期两周的社区文化活动,包括文艺表演、手工艺品展示、美食节等多种活动。'
- },
- {
- id: 2,
- title: '社区环保志愿者招募活动',
- startTime: '2023-07-01 09:00',
- endTime: '2023-07-31 18:00',
- location: '社区公园及周边街道',
- totalQuota: 50,
- signedCount: 32,
- status: 'upcoming',
- hasSigned: false,
- myStatus: 'reviewing',
- coverImage: '/static/activity2.jpg',
- description: '招募社区环保志愿者,参与垃圾分类宣传、社区清洁等环保活动。'
- },
- {
- id: 3,
- title: '端午节包粽子亲子活动',
- startTime: '2023-06-10 14:00',
- endTime: '2023-06-10 17:00',
- location: '社区活动中心',
- totalQuota: 30,
- signedCount: 30,
- status: 'ended',
- hasSigned: true,
- myStatus: 'passed',
- coverImage: '/static/activity3.jpg',
- description: '端午节亲子活动,教孩子们包粽子,了解传统文化。'
- },
- {
- id: 4,
- title: '老年人智能手机使用培训',
- startTime: '2023-07-05 14:00',
- endTime: '2023-07-12 16:00',
- location: '社区图书馆二楼',
- totalQuota: 20,
- signedCount: 15,
- status: 'upcoming',
- hasSigned: false,
- myStatus: null,
- coverImage: '/static/activity4.jpg',
- description: '为社区老年人提供智能手机使用培训,包括微信、支付宝等常用APP的使用。'
- },
- {
- id: 5,
- title: '社区篮球友谊赛',
- startTime: '2023-06-25 15:00',
- endTime: '2023-06-25 18:00',
- location: '社区体育馆',
- totalQuota: 40,
- signedCount: 25,
- status: 'ongoing',
- hasSigned: false,
- myStatus: 'rejected',
- coverImage: '/static/activity5.jpg',
- description: '社区篮球友谊赛,欢迎篮球爱好者报名参加。'
- },
- {
- id: 6,
- title: '儿童暑期绘画班',
- startTime: '2023-07-10 09:00',
- endTime: '2023-08-20 11:00',
- location: '社区艺术工作室',
- totalQuota: 25,
- signedCount: 18,
- status: 'upcoming',
- hasSigned: true,
- myStatus: 'reviewing',
- coverImage: '/static/activity6.jpg',
- description: '暑期儿童绘画班,培养孩子的艺术兴趣和创造力。'
- },
- {
- id: 7,
- title: '社区消防安全演练',
- startTime: '2023-05-15 10:00',
- endTime: '2023-05-15 12:00',
- location: '社区广场',
- totalQuota: 100,
- signedCount: 85,
- status: 'ended',
- hasSigned: true,
- myStatus: 'passed',
- coverImage: '/static/activity7.jpg',
- description: '社区消防安全知识讲座和应急演练。'
- },
- {
- id: 8,
- title: '邻里美食分享会',
- startTime: '2023-07-08 16:00',
- endTime: '2023-07-08 19:00',
- location: '社区花园',
- totalQuota: 40,
- signedCount: 22,
- status: 'upcoming',
- hasSigned: false,
- myStatus: null,
- coverImage: '/static/activity8.jpg',
- description: '邻里美食分享会,每家带一道拿手菜,共享美食。'
- }
- ])
-
- // 当前显示的活动列表
- const displayedActivities = ref([])
+ const allActivities = ref([])
// 计算属性:根据当前标签和筛选条件过滤活动
const filteredActivities = computed(() => {
@@ -304,45 +193,63 @@
// 切换选项卡
const switchTab = (tab) => {
activeTab.value = tab
- currentPage.value = 1
- displayedActivities.value = []
- loadPageData(1)
+ resetAndLoad()
}
// 切换筛选条件
const switchFilter = (filter) => {
myFilter.value = filter
- currentPage.value = 1
- displayedActivities.value = []
- loadPageData(1)
+ resetAndLoad()
}
-
- // 加载分页数据
- const loadPageData = (pageNum) => {
- isLoading.value = true
-
- // 模拟网络请求延迟
- setTimeout(() => {
- const startIndex = (pageNum - 1) * pageSize
- const endIndex = startIndex + pageSize
- const pageData = filteredActivities.value.slice(startIndex, endIndex)
-
- if (pageNum === 1) {
- displayedActivities.value = pageData
- } else {
- displayedActivities.value = [...displayedActivities.value, ...pageData]
+ // 重置并刷新第一页
+ const resetAndLoad = () => {
+ currentPage.value = 1
+ displayedActivities.value = []
+ hasMoreData.value = true
+ getActivityListData(1)
+ }
+
+ // 获取小区列表接口
+ const getActivityListData = async (pageNum = 1) => {
+ if (isLoading.value) return
+ isLoading.value = true
+
+ try {
+ const params = {
+ pageNum: pageNum,
+ pageSize: pageSize
+ }
+ const res = await getActivityList(params)
+
+ if (res.code === 200) {
+ const list = res.rows || []
+ total.value = res.total || 0
+ // 第一页 → 覆盖;下一页 → 追加
+ if (pageNum === 1) {
+ displayedActivities.value = list
+ } else {
+ displayedActivities.value = [...displayedActivities.value, ...list]
+ }
+
+ // 是否还有更多数据
+ hasMoreData.value = displayedActivities.value.length < total.value
+ currentPage.value = pageNum
+ } else {
+ uni.showToast({ title: res.msg || "加载失败", icon: 'error' })
+ if (pageNum === 1) displayedActivities.value = []
+ }
+ } catch (err) {
+ uni.showToast({ title: "网络异常", icon: 'error' })
+ if (pageNum === 1) displayedActivities.value = []
+ } finally {
+ isLoading.value = false
}
-
- currentPage.value = pageNum
- hasMoreData.value = displayedActivities.value.length < filteredActivities.value.length
- isLoading.value = false
- }, 500)
- }
+ }
// 加载更多数据
const loadMoreData = () => {
if (isLoading.value || !hasMoreData.value) return
- loadPageData(currentPage.value + 1)
+ getActivityListData(currentPage.value + 1)
}
// 获取活动状态类名
@@ -383,25 +290,25 @@
// 报名活动
const signupActivity = (activity) => {
uni.navigateTo({
- url: `/pages/activity-list/activityListDetails?id=${activity.id}&title=${activity.title}`
+ url: `/pageSubPack/activity-list/activityListDetails?id=${activity.id}&title=${activity.title}`
})
}
// 查看活动详情
- const viewActivityDetail = (activity) => {
- uni.navigateTo({
- url: `/pages/activityDetail/activityDetail?id=${activity.id}`,
- fail: () => {
- // 如果页面不存在,显示活动信息
- uni.showModal({
- title: activity.title,
- content: `${activity.description}\n\n时间:${formatDate(activity.startTime)} 至 ${formatDate(activity.endTime)}\n地点:${activity.location}\n名额:${activity.totalQuota}人,已报名:${activity.signedCount}人`,
- showCancel: false,
- confirmText: '知道了'
- })
- }
- })
- }
+ // const viewActivityDetail = (activity) => {
+ // uni.navigateTo({
+ // url: `/pages/activityDetail/activityDetail?id=${activity.id}`,
+ // fail: () => {
+ // // 如果页面不存在,显示活动信息
+ // uni.showModal({
+ // title: activity.title,
+ // content: `${activity.description}\n\n时间:${formatDate(activity.startTime)} 至 ${formatDate(activity.endTime)}\n地点:${activity.location}\n名额:${activity.totalQuota}人,已报名:${activity.signedCount}人`,
+ // showCancel: false,
+ // confirmText: '知道了'
+ // })
+ // }
+ // })
+ // }
// 联系管理员
const contactAdmin = (activity) => {
@@ -423,13 +330,13 @@
if (activeTab.value === 'my') {
currentPage.value = 1
displayedActivities.value = []
- loadPageData(1)
+ getActivityListData(1)
}
})
// 初始化
onMounted(() => {
- loadPageData(1)
+ getActivityListData(1)
})
@@ -461,7 +368,7 @@
flex: 1;
width: 100%;
overflow-y: auto;
- padding: 0 20rpx;
+ padding: 0 40rpx;
box-sizing: border-box;
}
diff --git a/property-uniapp-project/pageSubPack/activity-list/activityListDetails.vue b/property-uniapp-project/pageSubPack/activity-list/activityListDetails.vue
index 34f09b4..028cc7f 100644
--- a/property-uniapp-project/pageSubPack/activity-list/activityListDetails.vue
+++ b/property-uniapp-project/pageSubPack/activity-list/activityListDetails.vue
@@ -36,51 +36,51 @@
报名截止时间
- 2023-08-08 23:00
+ {{activityConent.applyDeadline}}
活动时间
- 2023-08-09 10:00 至 2023-08-20 16:00
+ {{activityConent.startTime}} 至 {{activityConent.endTime}}
签到时间
- 2023-08-09 10:00 至 2023-08-10 16:00
+ {{activityConent.signinStartTime}} 至 {{activityConent.signinEndTime}}
活动地点
- 山东省日照市高新区高新管委会大厦前高新公园
+ {{activityConent.address}}
活动名额
- 10人
+ {{activityConent.quota}}人
主办方
- 山海天社区
+ {{activityConent.organizer}}
联系人
- 赵璐
+ {{activityConent.contactName}}
联系电话
- 15799999999
+ {{activityConent.contactPhone}}
积分奖励
- 100
+ {{activityConent.pointsReward}}
@@ -88,7 +88,7 @@
招募要求
- 要求就是要求就是要求就是
+ {{activityConent.requirements}}
@@ -96,8 +96,8 @@
活动详情
- 1、这就是活动详情zhejiushihuodongxiangqing这就是活动详情zhejiushihuodongxiangqing
- 2、活动详情zhejiushuodongxiangqing
+ {{activityConent.content}}
+
@@ -182,7 +182,7 @@
- 确定要报名参加"社区'小槐花课堂'开课了"吗?
+ {{navTitle}}
报名后请按时参加活动