This commit is contained in:
zhengziru
2025-09-28 13:52:01 +08:00
parent d82a73d2a9
commit 923a23b89f
11 changed files with 60 additions and 40 deletions
+32 -13
View File
@@ -89,7 +89,7 @@
</view>
<view class="event-item-section-content">{{ item.rule }}</view>
</view>
<view class="event-item-section">
<view class="event-item-section-title">
<t-icon name="help-circle" size="16px" color="var(--td-brand-color-5)"/>
@@ -130,6 +130,7 @@ import {onLoad} from '@dcloudio/uni-app';
import {Toast} from 'tdesign-mobile-vue';
import {useRequest} from "@/utils/request";
import {config} from "@/utils/config";
import moment from "moment";
const request = useRequest();
const actId = ref(null);
@@ -139,28 +140,46 @@ const detailData = ref(null);
// 格式化日期
const formatDate = (dateStr) => {
if (!dateStr) return '';
try {
const date = new Date(dateStr);
return `${date.getFullYear()}.${(date.getMonth() + 1).toString().padStart(2, '0')}.${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`;
} catch (error) {
return dateStr;
}
return moment(dateStr).format('YYYY.MM.DD HH:mm');
// try {
// // 手动解析日期部分
// const [datePart, timePart] = dateStr.split(' ');
// const [year, month, day] = datePart.split('-').map(Number);
// const [hours, minutes, seconds] = timePart.split(':').map(Number);
//
// // 创建日期对象(月份需要减1)
// const date = new Date(year, month - 1, day, hours, minutes, seconds);
//
// // 检查日期是否有效
// if (isNaN(date.getTime())) {
// return dateStr;
// }
//
// return `${date.getFullYear()}.${(date.getMonth() + 1).toString().padStart(2, '0')}.${date.getDate().toString().padStart(2, '0')} ${date.getHours().toString().padStart(2, '0')}:${date.getMinutes().toString().padStart(2, '0')}`;
// } catch (error) {
// return dateStr;
// }
};
// 底部按钮文字
const bottomButton = computed(() => {
const {signStartTime, signEndTime} = detailData.value
if (signStartTime && signEndTime) {
const now = new Date();
const startTime = new Date(signStartTime);
const endTime = new Date(signEndTime);
if (now >= startTime && now <= endTime) {
// const now = new Date();
// const startTime = new Date(signStartTime);
// const endTime = new Date(signEndTime);
const now = moment();
const startTime = moment(signStartTime);
const endTime = moment(signEndTime);
if (now.isBetween(startTime, endTime, null, '[]')) {
return {
text: isSignUp.value ? '修改报名信息' : '立即报名',
disabled: false,
onClick: navigateToSignUp
}
} else if (now < startTime) {
} else if (now.isBefore(startTime)) {
return {
text: `报名开始时间:${formatDate(signStartTime)}`,
disabled: true,
@@ -510,7 +529,7 @@ onLoad((option) => {
max-height: 200rpx;
overflow: hidden;
position: relative;
&::after {
content: '';
position: absolute;