|
|
@@ -172,6 +172,22 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ // ===== 工具方法 =====
|
|
|
+ formatDate: function(dateStr) {
|
|
|
+ if (!dateStr) return ''
|
|
|
+ var d = new Date(dateStr.replace(/-/g, '/'))
|
|
|
+ if (isNaN(d.getTime())) return dateStr
|
|
|
+ var year = d.getFullYear()
|
|
|
+ var month = d.getMonth() + 1
|
|
|
+ var day = d.getDate()
|
|
|
+ var hour = d.getHours()
|
|
|
+ var minute = d.getMinutes()
|
|
|
+ var ampm = hour < 12 ? '上午' : '下午'
|
|
|
+ var h12 = hour % 12
|
|
|
+ if (h12 === 0) h12 = 12
|
|
|
+ var minStr = minute < 10 ? '0' + minute : minute
|
|
|
+ return year + '年' + month + '月' + day + '日 ' + ampm + h12 + ':' + minStr
|
|
|
+ },
|
|
|
loadDetail: function(id) {
|
|
|
var self = this
|
|
|
self.loading = true
|
|
|
@@ -264,9 +280,33 @@ export default {
|
|
|
uni.showToast({ title: '请先选择孩子身份', icon: 'none' })
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ // 付费活动 → 先确认支付
|
|
|
+ if (self.activity && self.activity.price > 0) {
|
|
|
+ uni.showModal({
|
|
|
+ title: '确认报名',
|
|
|
+ content: '该活动需支付 ¥' + self.activity.price + ',报名成功后不支持退费。是否继续?',
|
|
|
+ confirmText: '确认支付',
|
|
|
+ cancelText: '再想想',
|
|
|
+ success: function(confirmRes) {
|
|
|
+ if (confirmRes.confirm) {
|
|
|
+ self.doRegister(childId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ self.doRegister(childId)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ doRegister: function(childId) {
|
|
|
+ var self = this
|
|
|
self.registrationLoading = true
|
|
|
+ if (self.activity && self.activity.price > 0) {
|
|
|
+ self.paying = true
|
|
|
+ }
|
|
|
registerActivity({ id: self.activity.id, childId: childId }).then(function(res) {
|
|
|
self.registrationLoading = false
|
|
|
+ self.paying = false
|
|
|
if (res && res.code === 200) {
|
|
|
self.registrationStatus = 'pending'
|
|
|
uni.showToast({ title: '报名成功,请等待审核', icon: 'success' })
|
|
|
@@ -275,6 +315,7 @@ export default {
|
|
|
}
|
|
|
}).catch(function(err) {
|
|
|
self.registrationLoading = false
|
|
|
+ self.paying = false
|
|
|
uni.showToast({ title: '网络异常', icon: 'none' })
|
|
|
})
|
|
|
},
|