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);