|
@@ -8,16 +8,18 @@
|
|
|
<view class="day_x_b">{{item.days}}</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view scroll-y class="calendar_time">
|
|
|
-
|
|
|
- <view class="time_x" :class="host_index == item?.timeStamp ? 'time_x_sty' : ''"
|
|
|
- v-for="(item, index) in timeHostArr[day_index]" :key="index"
|
|
|
- @click="(nowTimes < item?.timeStamp && item.hasReservation !== 1) ? hosts(item) : ''"
|
|
|
- :style="{'color': ((nowTimes > item?.timeStamp || item.hasReservation === 1) ? '#999999' : '')}">
|
|
|
+ <view class="calendar_time">
|
|
|
+ <view class="time_x" :class="{
|
|
|
+ 'time_x_sty': host_index == item?.timeStamp,
|
|
|
+ 'disabled-time': isTimeDisabled(item?.timeStamp) // 新增: 添加禁用类
|
|
|
+ }" v-for="(item, index) in timeHostArr[day_index]" :key="index"
|
|
|
+ @click="(nowTimes < item?.timeStamp && item.hasReservation !== 1 && !isTimeDisabled(item?.timeStamp)) ? hosts(item) : ''"
|
|
|
+ :style="{
|
|
|
+ 'color': ((nowTimes > item?.timeStamp || item.hasReservation === 1 || isTimeDisabled(item?.timeStamp)) ? '#999999' : '')
|
|
|
+ }">
|
|
|
<text>{{item?.hours}}</text>
|
|
|
<text v-if="item.hasReservation === 1" class="hasRe-text">已预约</text>
|
|
|
-
|
|
|
- </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<!-- <view class="sub" @click="sub()">
|
|
@@ -33,12 +35,12 @@
|
|
|
type: Array,
|
|
|
default: () => []
|
|
|
},
|
|
|
-
|
|
|
- timeHostArr:{
|
|
|
+
|
|
|
+ timeHostArr: {
|
|
|
type: Array,
|
|
|
default: () => []
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -48,13 +50,14 @@
|
|
|
host_index: '',
|
|
|
host_All: [],
|
|
|
nowTimes: '',
|
|
|
- frequency:'',
|
|
|
+ frequency: '',
|
|
|
+ disableAfterTime: null, //记录当前时间
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
|
timeArr: {
|
|
|
handler(newVal) {
|
|
|
-
|
|
|
+
|
|
|
let dateArr = newVal.map(item => {
|
|
|
let day = new Date(item)
|
|
|
const daysOfWeek = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];
|
|
@@ -63,38 +66,7 @@
|
|
|
days: item.slice(5)
|
|
|
}
|
|
|
})
|
|
|
-
|
|
|
this.dayArr = dateArr
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- // let timeArr = []
|
|
|
- // for (let i = 0; i < 4; i++) {
|
|
|
- // // let as = new Date(new Date().toLocaleDateString()).getTime() / 1000
|
|
|
- // let as = new Date(new Date().toLocaleDateString()).getTime() / 1000 + i * 60 * 60 * 24
|
|
|
- // let staTime = 9 * 60 * 60 + as
|
|
|
- // let endTime = 18 * 60 * 60 + as
|
|
|
- // let int = 15 * 60
|
|
|
- // let timeArr_s = []
|
|
|
-
|
|
|
- // console.log(staTime, '>>>>staTime99999');
|
|
|
- // for (staTime; staTime < endTime - int; staTime + int) {
|
|
|
- // console.log(staTime, '>>>>>staTime');
|
|
|
- // staTime = staTime + int
|
|
|
- // let hours = this.times(staTime)
|
|
|
- // let asb = {
|
|
|
- // hours,
|
|
|
- // timeStamp: staTime
|
|
|
- // }
|
|
|
- // timeArr_s.push(asb)
|
|
|
- // }
|
|
|
-
|
|
|
- // timeArr.push(timeArr_s)
|
|
|
- // }
|
|
|
-
|
|
|
- // console.log(timeArr, '>>>>>>>999>');
|
|
|
- // this.hostArr = timeArr
|
|
|
-
|
|
|
},
|
|
|
immediate: true
|
|
|
}
|
|
@@ -111,8 +83,12 @@
|
|
|
this.host_All = e
|
|
|
this.host_index = e.timeStamp
|
|
|
this.host_All.yearToDate = this.timeArr[this.day_index]
|
|
|
+ this.disableAfterTime = e.timeStamp //记录当前选择时间戳
|
|
|
this.$emit('getByTime', this.host_All)
|
|
|
},
|
|
|
+ isTimeDisabled(timeStamp) {
|
|
|
+ return this.disableAfterTime && timeStamp > this.disableAfterTime;
|
|
|
+ },
|
|
|
// 点击立即预约
|
|
|
sub() {
|
|
|
if (this.host_index == '') {
|
|
@@ -140,7 +116,7 @@
|
|
|
m = m < 10 ? ('0' + m) : m; //分钟补0
|
|
|
return h + ':' + m
|
|
|
},
|
|
|
- time(data, type){
|
|
|
+ time(data, type) {
|
|
|
let date = new Date(data * 1000);
|
|
|
//时间戳为10位需*1000,时间戳为13位的话不需乘1000
|
|
|
let y = date.getFullYear();
|
|
@@ -216,9 +192,10 @@
|
|
|
margin: 10rpx 0;
|
|
|
font-size: 30rpx;
|
|
|
color: #333333;
|
|
|
-
|
|
|
+
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
+
|
|
|
.hasRe-text {
|
|
|
font-size: 20rpx;
|
|
|
color: #999999;
|
|
@@ -243,4 +220,14 @@
|
|
|
font-size: 36rpx;
|
|
|
background-color: #FE3B3C;
|
|
|
}
|
|
|
-</style>
|
|
|
+
|
|
|
+
|
|
|
+ .disabled-time {
|
|
|
+ background-color: #f2f2f2;
|
|
|
+ /* 灰色背景 */
|
|
|
+ color: #999999;
|
|
|
+ /* 灰色文字 */
|
|
|
+ pointer-events: none;
|
|
|
+ /* 禁用点击事件 */
|
|
|
+ }
|
|
|
+</style>
|