|
|
|
@ -6,10 +6,94 @@ import { create } from 'zustand'
|
|
|
|
|
|
|
|
|
|
const useReservationStore = create((set, get) => ({
|
|
|
|
|
|
|
|
|
|
fetchAllGuideList: (travelAgencyId, token) => {
|
|
|
|
|
cityList: [],
|
|
|
|
|
|
|
|
|
|
selectedReservation: null,
|
|
|
|
|
selectedConfirmation: null,
|
|
|
|
|
arrivalDateRange: [],
|
|
|
|
|
referenceNo: '',
|
|
|
|
|
|
|
|
|
|
reservationList: [],
|
|
|
|
|
|
|
|
|
|
reservationDetail: {
|
|
|
|
|
referenceNumber: '', arrivalDate: '', tourGuide: ''
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
reservationPage: {
|
|
|
|
|
current: 1,
|
|
|
|
|
size: 10,
|
|
|
|
|
total: 0
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
confirmationList: [
|
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
fetchReservationList: (travelAgencyId, current, status=null) => {
|
|
|
|
|
const fromDate = null //this.arrivalDateRange.length == 0 ? null : this.arrivalDateRange[0].format('YYYY-MM-DD');
|
|
|
|
|
const thruDate = null //this.arrivalDateRange.length == 0 ? null : this.arrivalDateRange[1].format('YYYY-MM-DD');
|
|
|
|
|
// this.reservationPage.current = current;
|
|
|
|
|
// 设置为 0,后端会重新计算总数,当跳转第 X 页时可用原来的总数。
|
|
|
|
|
const totalNum = 0//current == 1 ? 0 : this.reservationPage.total;
|
|
|
|
|
const fetchUrl = prepareUrl(HT_HOST + '/service-cusservice/GetPlanSearchList')
|
|
|
|
|
.append('VEI_SN', travelAgencyId)
|
|
|
|
|
.append('GroupNo', '')//this.referenceNo)
|
|
|
|
|
.append('DateStart', '')//fromDate)
|
|
|
|
|
.append('DateEnd', '')//thruDate)
|
|
|
|
|
.append('NotConfirm', '')//status)
|
|
|
|
|
.append('TotalNum', totalNum)
|
|
|
|
|
.append('PageSize', 5)//this.reservationPage.size)
|
|
|
|
|
.append('PageIndex', 1)//this.reservationPage.current)
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
return fetchJSON(fetchUrl)
|
|
|
|
|
.then(json => {
|
|
|
|
|
if (json.errcode == 0) {
|
|
|
|
|
// runInAction(() => {
|
|
|
|
|
// this.reservationList = (json?.Result??[]).map((data, index) => {
|
|
|
|
|
// return {
|
|
|
|
|
// key: data.vas_gri_sn,
|
|
|
|
|
// reservationId: data.vas_gri_sn,
|
|
|
|
|
// referenceNumber: data.GriName,
|
|
|
|
|
// arrivalDate: data.GetGDate,
|
|
|
|
|
// pax: data.PersonNum,
|
|
|
|
|
// status: data.GState,
|
|
|
|
|
// reservationDate: data.SendDate,
|
|
|
|
|
// guide: data.Guide
|
|
|
|
|
// }
|
|
|
|
|
// });
|
|
|
|
|
// this.reservationPage.total = (json?.Result??[{RsTotal: 0}])[0].RsTotal;
|
|
|
|
|
// });
|
|
|
|
|
|
|
|
|
|
const mapReservationList = (json?.Result??[]).map((data, index) => {
|
|
|
|
|
return {
|
|
|
|
|
key: data.vas_gri_sn,
|
|
|
|
|
reservationId: data.vas_gri_sn,
|
|
|
|
|
referenceNumber: data.GriName,
|
|
|
|
|
arrivalDate: data.GetGDate,
|
|
|
|
|
pax: data.PersonNum,
|
|
|
|
|
status: data.GState,
|
|
|
|
|
reservationDate: data.SendDate,
|
|
|
|
|
guide: data.Guide
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
set((state) => ({
|
|
|
|
|
reservationList: mapReservationList,
|
|
|
|
|
reservationPage: {
|
|
|
|
|
...
|
|
|
|
|
state.reservationPage,
|
|
|
|
|
total: (json?.Result??[{RsTotal: 0}])[0].RsTotal
|
|
|
|
|
}
|
|
|
|
|
}))
|
|
|
|
|
} else {
|
|
|
|
|
throw new Error(json.errmsg + ': ' + json.errcode);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
fetchAllGuideList: (travelAgencyId) => {
|
|
|
|
|
const fetchUrl = prepareUrl(HT_HOST + '/service-cusservice/PTGetGuideList')
|
|
|
|
|
.append('VEI_SN', travelAgencyId)
|
|
|
|
|
.append("token", token)
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
return fetchJSON(fetchUrl)
|
|
|
|
@ -199,29 +283,6 @@ export class Reservation {
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
fetchAllGuideList() {
|
|
|
|
|
const fetchUrl = prepareUrl(HT_HOST + '/service-cusservice/PTGetGuideList')
|
|
|
|
|
.append('VEI_SN', this.root.authStore.login.travelAgencyId)
|
|
|
|
|
.append("token", this.root.authStore.login.token)
|
|
|
|
|
.build();
|
|
|
|
|
|
|
|
|
|
return fetchJSON(fetchUrl)
|
|
|
|
|
.then(json => {
|
|
|
|
|
if (json.errcode == 0) {
|
|
|
|
|
const guideList = (json?.Result??[]).map((data, index) => {
|
|
|
|
|
return {
|
|
|
|
|
guideId: data.TGI_SN,
|
|
|
|
|
guideName: data.TGI2_Name,
|
|
|
|
|
mobileNo: data.TGI_Mobile
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return guideList;
|
|
|
|
|
} else {
|
|
|
|
|
throw new Error(json.errmsg + ': ' + json.errcode);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setupCityGuide(cityId, guideId) {
|
|
|
|
|
let formData = new FormData();
|
|
|
|
|
formData.append('GRI_SN', this.selectedReservation.reservationId);
|
|
|
|
|