diff --git a/pages/home/home.js b/pages/home/home.js
index 825d193..24acc04 100644
--- a/pages/home/home.js
+++ b/pages/home/home.js
@@ -42,13 +42,12 @@ function normalizeBannerItem(raw) {
}
function canCancelByEventStatus(rawEventStatus) {
- return true;
// 仅报名中(Enrolling / 1)允许取消
- // if (rawEventStatus === 'Enrolling') return true;
- // const n = Number(rawEventStatus);
- // if (!Number.isNaN(n)) return n === 1;
- // const s = rawEventStatus == null ? '' : String(rawEventStatus).toLowerCase();
- // return s === 'enrolling' || s === '1';
+ if (rawEventStatus === 'Enrolling') return true;
+ const n = Number(rawEventStatus);
+ if (!Number.isNaN(n)) return n === 1;
+ const s = rawEventStatus == null ? '' : String(rawEventStatus).toLowerCase();
+ return s === 'enrolling' || s === '1';
}
Page({
@@ -214,6 +213,8 @@ Page({
},
onCancelRegistrationTap(e) {
+ const canCancel = e.currentTarget.dataset.cancancel;
+ if (!canCancel) return;
const registrationId = Number(e.currentTarget.dataset.registrationid);
if (!registrationId) return;
wx.navigateTo({
@@ -224,6 +225,31 @@ Page({
onUploadMaterialTap(e) {
const registrationId = Number(e.currentTarget.dataset.registrationid);
if (!registrationId) return;
+
+ const now = Date.now();
+ console.log('时间', e.currentTarget.dataset.matstarttime, e.currentTarget.dataset.matendtime , now);
+
+ const matStartTime = e.currentTarget.dataset.matstarttime;
+ const matEndTime = e.currentTarget.dataset.matendtime;
+ const rangeText = e.currentTarget.dataset.materialrangetext || '';
+
+ if (matStartTime && now < Number(matStartTime)) {
+ wx.showToast({
+ title: `素材上传未开始,开始时间:${rangeText.split(' ~ ')[0] || rangeText}`,
+ icon: 'none',
+ duration: 2500
+ });
+ return;
+ }
+ if (matEndTime && now > Number(matEndTime)) {
+ wx.showToast({
+ title: `素材上传已截止,截止时间:${rangeText.split(' ~ ')[1] || rangeText}`,
+ icon: 'none',
+ duration: 2500
+ });
+ return;
+ }
+
this.openUploadPicker({ kind: 'material', registrationId });
},
@@ -458,6 +484,31 @@ Page({
? item.status
: item.Status;
const eventStatusPill = eventStatusForPill(rawEventStatus);
+ const matStart =
+ item.materialUploadStartTime ||
+ item.MaterialUploadStartTime ||
+ item.uploadMaterialStartTime ||
+ item.UploadMaterialStartTime;
+ const matEnd =
+ item.materialUploadEndTime ||
+ item.MaterialUploadEndTime ||
+ item.uploadMaterialEndTime ||
+ item.UploadMaterialEndTime;
+ const matDeadlineText =
+ item.materialUploadDeadlineText || item.MaterialUploadDeadlineText || '';
+ const matStartFmt = formatDateTime(matStart);
+ const matEndFmt = formatDateTime(matEnd);
+ let materialRangeText = matDeadlineText;
+ if (!materialRangeText) {
+ if (matStartFmt && matStartFmt !== '-' && matEndFmt && matEndFmt !== '-') {
+ materialRangeText = `${matStartFmt} ~ ${matEndFmt}`;
+ } else if (matStartFmt && matStartFmt !== '-') {
+ materialRangeText = matStartFmt;
+ } else if (matEndFmt && matEndFmt !== '-') {
+ materialRangeText = matEndFmt;
+ }
+ }
+
return {
id: eid,
rowKey: `m-${rid}`,
@@ -466,6 +517,9 @@ Page({
coverImage: item.coverImage,
address: '',
isNeedMaterial: !!item.isNeedMaterial,
+ materialRangeText,
+ matStartTime: matStart ? new Date(matStart).getTime() : null,
+ matEndTime: matEnd ? new Date(matEnd).getTime() : null,
eventStatusPill,
eventStatusText: eventStatusText(rawEventStatus) || '已报名',
registrationTimeText: formatDateTime(item.registrationTime),
diff --git a/pages/home/home.wxml b/pages/home/home.wxml
index 2d482bd..64df67d 100644
--- a/pages/home/home.wxml
+++ b/pages/home/home.wxml
@@ -90,10 +90,13 @@
已报项目:{{item.projectCount}} 项
+
+ 素材上传时间:{{item.materialRangeText}}
+
-
+
上传素材
@@ -105,7 +108,12 @@
-
+
取消报名
diff --git a/pages/home/home.wxss b/pages/home/home.wxss
index 77a79e8..9dbcf38 100644
--- a/pages/home/home.wxss
+++ b/pages/home/home.wxss
@@ -326,6 +326,12 @@ page {
background: #fff;
}
+.action-btn--disabled {
+ border-color: #c8c9cc;
+ color: #c8c9cc;
+ background: #f7f8fa;
+}
+
.action-btn--paid {
border-color: #00b56d;
background: rgba(0, 181, 109, 0.12);