This commit is contained in:
=
2026-07-01 09:21:06 +08:00
parent 3f8f8f5f44
commit 2e3c3e87da
14 changed files with 128 additions and 18 deletions
@@ -46,6 +46,7 @@ layout("/layouts/platform_h5.html"){
<table-column label="校区">{{row.campus}}</table-column>
<table-column label="地点">{{row.courseLocation}}</table-column>
<table-column label="联系人">{{row.courseInstructor}}</table-column>
<table-column v-if="row.courseInstructorMobile" label="联系方式">{{row.courseInstructorMobile}}</table-column>
<table-column label="时间">
<span v-if="row.courseTimes && row.courseTimes.length === 1" class="primary-color" @click="onTime(row)">
{{ weekdayCNMap[$moment(row.courseTimes[0].courseDate).day()]
@@ -17,6 +17,8 @@ new Vue({
filterHolidays: false,
holidayList: [],
notApplyTimeList: [],
termStartDate: '',
termEndDate: '',
},
availabilityData: {
date: '',
@@ -282,7 +284,6 @@ new Vue({
this.formData.applyUnionName = user.union ? user.union.name : ''
this.formData.clubId = ''
this.formData.clubName = ''
return
}
if (value === 'club') {
this.formData.applyUnionId = ''
@@ -291,6 +292,9 @@ new Vue({
this.formData.clubName = ''
await this.loadManagedClubs()
}
this.scheduleDate = this.getInitialScheduleDate()
this.schedulePickerDate = this.$moment(this.scheduleDate, 'YYYY-MM-DD').toDate()
await this.queryAvailability(this.scheduleDate)
},
async loadManagedClubs() {
try {
@@ -710,6 +714,11 @@ new Vue({
if (currentDay.day() === 0 || currentDay.day() === 6) {
return true
}
if (this.formData.reserveType === 'union' && this.timeLimitConfig.termStartDate && this.timeLimitConfig.termEndDate) {
if (currentDay.isBefore(this.timeLimitConfig.termStartDate) || currentDay.isAfter(this.timeLimitConfig.termEndDate)) {
return true
}
}
return this.timeLimitConfig.filterHolidays && this.timeLimitConfig.holidayList.includes(day)
},
getDisabledRangesByDay(dayStr) {
@@ -924,6 +933,8 @@ new Vue({
filterHolidays: !!this.row.filterHolidays,
holidayList: [],
notApplyTimeList: Array.isArray(this.row.notApplyTimeList) ? this.row.notApplyTimeList : [],
termStartDate: this.row.termStartDate || '',
termEndDate: this.row.termEndDate || '',
}
try {
const res = await this.$axios.post('/platform/siteCug/apply/timeLimitConfig', {
@@ -934,6 +945,8 @@ new Vue({
filterHolidays: !!res.data.filterHolidays,
holidayList: Array.isArray(res.data.holidayList) ? res.data.holidayList : [],
notApplyTimeList: Array.isArray(res.data.notApplyTimeList) ? res.data.notApplyTimeList : [],
termStartDate: res.data.termStartDate || '',
termEndDate: res.data.termEndDate || '',
}
return
}