@@ -868,6 +915,13 @@
],
items: [],
showCreateGuestModal: false,
+ xuzhu: {
+ showXuzhuGuestModal: false,
+ currentCheckoutDate: null,
+ newCheckoutDate: null,
+ guestUuid: null,
+ guestBedUuid: null,
+ }
},
checkInGuest: {
showSelectGuadanOrderGuest: false,
@@ -971,6 +1025,89 @@
}
},
methods: {
+ //续住相關方法--------------------start
+ showXuzhuGuestModalMethod(guest) {
+ if (!guest.checkoutat) {
+ return;
+ }
+ this.guadanguest.xuzhu.showXuzhuGuestModal = true;
+ this.guadanguest.xuzhu.currentCheckoutDate = guest.checkoutat;
+ this.guadanguest.xuzhu.guestUuid = guest.uuid;
+ this.guadanguest.xuzhu.guestBedUuid = guest.bedUuid;
+
+ this.$nextTick(() => { // 确保弹窗 DOM 已渲染
+ const input = document.getElementById('newCheckoutDate');
+ if (input) {
+ const checkoutDate = new Date(guest.checkoutat); // 用指定日期
+ checkoutDate.setDate(checkoutDate.getDate() + 1); // 明天
+ const year = checkoutDate.getFullYear();
+ const month = String(checkoutDate.getMonth() + 1).padStart(2, '0');
+ const day = String(checkoutDate.getDate()).padStart(2, '0');
+ const tomorrow = `${year}-${month}-${day}`;
+ input.min = tomorrow; // 限制最小值
+ //input.value = tomorrow; // 默认选中明天
+ }
+ });
+ console.log(guest.checkoutat)
+ },
+ closeXuzhuGuestModalMethod() {
+ console.log(this.guadanguest.xuzhu.newCheckoutDate)
+ this.guadanguest.xuzhu.showXuzhuGuestModal = false;
+ this.guadanguest.xuzhu.currentCheckoutDate = null;
+ this.guadanguest.xuzhu.newCheckoutDate = null;
+ this.guadanguest.xuzhu.guestUuid = null;
+ this.guadanguest.xuzhu.guestBedUuid = null;
+ console.log(this.guadanguest.xuzhu.newCheckoutDate)
+ console.log(this.guadanguest.xuzhu.currentCheckoutDate)
+ console.log(this.guadanguest.xuzhu.guestUuid)
+ console.log(this.guadanguest.xuzhu.guestBedUuid)
+ },
+ xuzhuPost() {
+ // 校验必填
+ if (!this.guadanguest.xuzhu.guestUuid || !this.guadanguest.xuzhu.guestBedUuid) {
+ alert("GuestUuid 和 GuestBedUuid 不能为空");
+ return;
+ }
+ if (!this.guadanguest.xuzhu.newCheckoutDate || !this.guadanguest.xuzhu.currentCheckoutDate) {
+ alert("续住时间不能为空");
+ return;
+ }
+
+ const payload = {
+ guestUuid: this.guadanguest.xuzhu.guestUuid,
+ guestBedUuid: this.guadanguest.xuzhu.guestBedUuid,
+ currentCheckoutDate: this.guadanguest.xuzhu.currentCheckoutDate,
+ newCheckoutDate: this.guadanguest.xuzhu.newCheckoutDate
+ };
+
+ axios.post('/api/guadanorderguest/xuzhu', payload)
+ .then((res) => {
+ this.$refs.messageModal.open({
+ title: '续住成功',
+ message: '客人续住已处理',
+ status: 'success',
+ callback: () => {
+ // 弹窗关闭后的回调
+ try {
+ this.getGuadanOrderGuestByOrderNo();
+ }
+ catch (error) {
+ console.error("发生错误:", error.message);
+ } finally {
+ this.closeXuzhuGuestModalMethod();
+ }
+ }
+ });
+ })
+ .catch((error) => {
+ this.$refs.messageModal.open({
+ title: '续住失败',
+ message: error.response?.data?.message || '系统异常,请稍后重试',
+ status: 'error'
+ });
+ });
+ },
+ //续住相關方法--------------------end
getActivityList() {
axios.post('/api/activity/GetList?page=1&pageSize=500', { kind: 0, subject: "" })
.then((res) => {
diff --git a/web/admin/guadan/guest/index.aspx b/web/admin/guadan/guest/index.aspx
new file mode 100644
index 0000000..cbb5410
--- /dev/null
+++ b/web/admin/guadan/guest/index.aspx
@@ -0,0 +1,198 @@
+<%@ Page Title="" Language="C#" MasterPageFile="~/admin/Templates/TBS5ADM001/MasterPage.master" AutoEventWireup="true" CodeFile="index.aspx.cs" Inherits="admin_guadan_guest_index" %>
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 入住人列表
+
+
+
+
+ {{item.checkindate|timeString('YYYY-MM-DD')}}
+
+
+ {{item.checkoutdate|timeString('YYYY-MM-DD')}}
+
+
+
+
+
+
+
+
+
+ 共 {{ }} 筆, 頁數:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/web/admin/guadan/guest/index.aspx.cs b/web/admin/guadan/guest/index.aspx.cs
new file mode 100644
index 0000000..3b24b88
--- /dev/null
+++ b/web/admin/guadan/guest/index.aspx.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using System.Web.UI;
+using System.Web.UI.WebControls;
+
+public partial class admin_guadan_guest_index : MyWeb.config
+{
+ protected void Page_Load(object sender, EventArgs e)
+ {
+
+ }
+}
\ No newline at end of file
diff --git a/web/admin/guadan/index.aspx b/web/admin/guadan/index.aspx
index 9a3fc46..a792648 100644
--- a/web/admin/guadan/index.aspx
+++ b/web/admin/guadan/index.aspx
@@ -92,7 +92,7 @@
})
}).catch((error) => {
this.$refs.messageModal.open({
- message: '取消失敗'
+ message: error.response?.data || '取消失敗'
})
})
}