Feat::调整时间选择器
This commit is contained in:
@@ -133,10 +133,20 @@
|
|||||||
<view class="buy-btn" @click="bookNow">立即购买</view>
|
<view class="buy-btn" @click="bookNow">立即购买</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<Calendar ref="calendar"
|
<!-- <Calendar ref="calendar"
|
||||||
:minDay="detail.minBookingDays"
|
:minDay="detail.minBookingDays"
|
||||||
@dateSelected="handleDateSelected"
|
@dateSelected="handleDateSelected"
|
||||||
></Calendar>
|
></Calendar> -->
|
||||||
|
<DateRangePicker
|
||||||
|
ref="dateRangePicker"
|
||||||
|
v-model="dateRange"
|
||||||
|
:show="showDatePicker"
|
||||||
|
:minBookingDays="detail.minBookingDays"
|
||||||
|
:travelGroupProductId="detail.id"
|
||||||
|
@update:show="showDatePicker = false"
|
||||||
|
@input="handleDateSelected"
|
||||||
|
>
|
||||||
|
</DateRangePicker>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -144,13 +154,17 @@
|
|||||||
import { getJiaLouProductDetail, getJiaLouCalendar,getJiaLouBookingRules } from '@/api/qianxian'
|
import { getJiaLouProductDetail, getJiaLouCalendar,getJiaLouBookingRules } from '@/api/qianxian'
|
||||||
import {getGiftCardSendBackground} from "@/api/gift"
|
import {getGiftCardSendBackground} from "@/api/gift"
|
||||||
import Calendar from '../components/Calendar.vue'
|
import Calendar from '../components/Calendar.vue'
|
||||||
|
import DateRangePicker from '@/components/DateRangePicker/DateRangePicker.vue'
|
||||||
export default {
|
export default {
|
||||||
name: 'GroupBuyDetails',
|
name: 'GroupBuyDetails',
|
||||||
components: {
|
components: {
|
||||||
Calendar
|
Calendar,
|
||||||
|
DateRangePicker
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
dateRange: [null, null],
|
||||||
|
showDatePicker: false,
|
||||||
webUrl: this.$VUE_APP_RESOURCES_URL,
|
webUrl: this.$VUE_APP_RESOURCES_URL,
|
||||||
giftBg: '',
|
giftBg: '',
|
||||||
id: '',
|
id: '',
|
||||||
@@ -187,12 +201,10 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleDateSelected(dateRange) {
|
handleDateSelected(dateRange) {
|
||||||
console.log(dateRange, 'dateRange');
|
this.dateRange = dateRange
|
||||||
|
|
||||||
this.rangeDate = dateRange
|
|
||||||
},
|
},
|
||||||
handleDate() {
|
handleDate() {
|
||||||
this.$refs.calendar.showCalendar(this.calendar)
|
this.showDatePicker = true
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 获取产品可预约日期
|
* 获取产品可预约日期
|
||||||
@@ -284,7 +296,7 @@ export default {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
bookNow() {
|
bookNow() {
|
||||||
uni.navigateTo({ url: '/pkg_product/views/submitOrder?id=' + this.id + '&orderStartDate=' + this.rangeDate.startDate + '&orderEndDate=' + this.rangeDate.endDate })
|
uni.navigateTo({ url: '/pkg_product/views/submitOrder?id=' + this.id + '&orderStartDate=' + this.dateRange[0] + '&orderEndDate=' + this.dateRange[1] })
|
||||||
},
|
},
|
||||||
/**
|
/**
|
||||||
* 查找指定日期的预约状态
|
* 查找指定日期的预约状态
|
||||||
|
|||||||
@@ -112,6 +112,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view
|
<view
|
||||||
class="gift-wrap"
|
class="gift-wrap"
|
||||||
|
v-if="orderInfo.giftCardInfo > 0"
|
||||||
>
|
>
|
||||||
<view class="v12-justify-between v12-align-center">
|
<view class="v12-justify-between v12-align-center">
|
||||||
<view class="v12-font-28 v12-font-bold v12-align-center">
|
<view class="v12-font-28 v12-font-bold v12-align-center">
|
||||||
@@ -140,28 +141,42 @@
|
|||||||
<button class="btn v12-primary-border v12-primary-text modify-time" @click="modifyStayTime">修改入住时间</button>
|
<button class="btn v12-primary-border v12-primary-text modify-time" @click="modifyStayTime">修改入住时间</button>
|
||||||
<button class="btn v12-primary-border v12-primary-text refund" @click="applyRefund">申请退款</button>
|
<button class="btn v12-primary-border v12-primary-text refund" @click="applyRefund">申请退款</button>
|
||||||
</view>
|
</view>
|
||||||
<view class="v12-align-center" v-if="orderInfo._status && ['1','2'].includes(orderInfo._status._type)">
|
<view class="v12-align-center" v-if="!orderInfo._status && ['1','2'].includes(orderInfo._status._type)">
|
||||||
<button class="btn v12-dark-border v12-dark-text modify-time" @click="showPhoneDialog('phone')">联系商家</button>
|
<button class="btn v12-dark-border v12-dark-text modify-time" @click="showPhoneDialog('phone')">联系商家</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<Calendar
|
<!-- <Calendar
|
||||||
ref="calendar"
|
ref="calendar"
|
||||||
:minDay="orderInfo.minBookingDays"
|
:minDay="orderInfo.minBookingDays"
|
||||||
@dateSelected="handleDateSelected">
|
@dateSelected="handleDateSelected">
|
||||||
</Calendar>
|
</Calendar> -->
|
||||||
|
<DateRangePicker
|
||||||
|
ref="dateRangePicker"
|
||||||
|
v-model="dateRange"
|
||||||
|
:show="showDatePicker"
|
||||||
|
:minBookingDays="orderInfo.minBookingDays"
|
||||||
|
:travelGroupProductId="orderInfo.travelGroupOrderInfo.travelGroupProduct.id"
|
||||||
|
@update:show="showDatePicker = false"
|
||||||
|
@input="handleDateSelected"
|
||||||
|
>
|
||||||
|
</DateRangePicker>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { fetchSojoumOrderDetail,sojoumOrderCheckInTime, sojoumOrderCalendar } from "@/api/sojoumOrder";
|
import { fetchSojoumOrderDetail,sojoumOrderCheckInTime, sojoumOrderCalendar } from "@/api/sojoumOrder";
|
||||||
import Calendar from "../components/Calendar.vue";
|
import Calendar from "../components/Calendar.vue";
|
||||||
|
import DateRangePicker from '@/components/DateRangePicker/DateRangePicker.vue'
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
Calendar
|
Calendar,
|
||||||
|
DateRangePicker
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
webUrl: this.$VUE_APP_RESOURCES_URL,
|
webUrl: this.$VUE_APP_RESOURCES_URL,
|
||||||
|
dateRange: [null, null],
|
||||||
|
showDatePicker: false,
|
||||||
key: '',
|
key: '',
|
||||||
popContent: '',
|
popContent: '',
|
||||||
title: '',
|
title: '',
|
||||||
@@ -180,6 +195,31 @@ export default {
|
|||||||
this.getSojoumOrderDetail();
|
this.getSojoumOrderDetail();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
handleDateRangeChange(dates) {
|
||||||
|
// if (dates && dates.length === 2) {
|
||||||
|
// [this.form.checkInDate, this.form.checkOutDate] = dates
|
||||||
|
// }
|
||||||
|
const params = {
|
||||||
|
orderId: this.key,
|
||||||
|
orderStartDate: dates[0],
|
||||||
|
orderEndDate: dates[1]
|
||||||
|
}
|
||||||
|
uni.showLoading({
|
||||||
|
title: '加载中...',
|
||||||
|
mask: true,
|
||||||
|
})
|
||||||
|
sojoumOrderCheckInTime(params).then(res => {
|
||||||
|
if (res.status === 200) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '入住时间修改成功',
|
||||||
|
icon: 'success'
|
||||||
|
})
|
||||||
|
this.getSojoumOrderDetail();
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
uni.hideLoading();
|
||||||
|
})
|
||||||
|
},
|
||||||
getDaysCount() {
|
getDaysCount() {
|
||||||
// 根据开始日期和结束日期计算天数
|
// 根据开始日期和结束日期计算天数
|
||||||
const startDate = new Date(this.orderInfo.travelGroupOrderInfo.orderStartDate);
|
const startDate = new Date(this.orderInfo.travelGroupOrderInfo.orderStartDate);
|
||||||
@@ -191,8 +231,8 @@ export default {
|
|||||||
handleDateSelected(dateRange) {
|
handleDateSelected(dateRange) {
|
||||||
const params = {
|
const params = {
|
||||||
orderId: this.key,
|
orderId: this.key,
|
||||||
orderStartDate: dateRange.startDate,
|
orderStartDate: dateRange[0],
|
||||||
orderEndDate: dateRange.endDate
|
orderEndDate: dateRange[1]
|
||||||
}
|
}
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
title: '加载中...',
|
title: '加载中...',
|
||||||
@@ -316,7 +356,7 @@ export default {
|
|||||||
},
|
},
|
||||||
modifyStayTime() {
|
modifyStayTime() {
|
||||||
// 这里可以添加修改入住时间的逻辑,比如打开日期选择器
|
// 这里可以添加修改入住时间的逻辑,比如打开日期选择器
|
||||||
this.getMonthDay();
|
this.showDatePicker = true;
|
||||||
},
|
},
|
||||||
applyRefund() {
|
applyRefund() {
|
||||||
// 这里可以添加申请退款的逻辑,比如跳转到退款页面
|
// 这里可以添加申请退款的逻辑,比如跳转到退款页面
|
||||||
|
|||||||
Reference in New Issue
Block a user