完成团计划搜索使用 Zustand

feature/price_manager
Jimmy Liow 1 year ago
parent 8d3a7354c7
commit d443f21805

@ -62,9 +62,7 @@ const useAuthStore = create((set, get) => ({
const token = await fetchLoginToken() const token = await fetchLoginToken()
appendRequestParams('token', token) appendRequestParams('token', token)
const fetchUrl = prepareUrl(HT_HOST + '/service-CooperateSOA/GetLinkManInfo') const fetchUrl = prepareUrl(HT_HOST + '/service-CooperateSOA/GetLinkManInfo').build()
.append('token', token)
.build()
return fetchJSON(fetchUrl) return fetchJSON(fetchUrl)
.then(json => { .then(json => {

@ -6,10 +6,94 @@ import { create } from 'zustand'
const useReservationStore = create((set, get) => ({ 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') const fetchUrl = prepareUrl(HT_HOST + '/service-cusservice/PTGetGuideList')
.append('VEI_SN', travelAgencyId) .append('VEI_SN', travelAgencyId)
.append("token", token)
.build(); .build();
return fetchJSON(fetchUrl) 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) { setupCityGuide(cityId, guideId) {
let formData = new FormData(); let formData = new FormData();
formData.append('GRI_SN', this.selectedReservation.reservationId); formData.append('GRI_SN', this.selectedReservation.reservationId);

@ -112,7 +112,8 @@ function Newest() {
const { reservationStore } = useStore(); const { reservationStore } = useStore();
const loginUser = useAuthStore((state) => state.loginUser) const loginUser = useAuthStore((state) => state.loginUser)
const fetchAllGuideList = useReservationStore((state) => state.fetchAllGuideList) const [fetchAllGuideList, fetchReservationList] =
useReservationStore((state) => [state.fetchAllGuideList, state.fetchReservationList])
const { reservationList, reservationPage, referenceNo, arrivalDateRange, cityList } = reservationStore; const { reservationList, reservationPage, referenceNo, arrivalDateRange, cityList } = reservationStore;
const { notification } = App.useApp(); const { notification } = App.useApp();
@ -122,7 +123,7 @@ function Newest() {
// //
onSearchClick(1, 1); onSearchClick(1, 1);
} }
fetchAllGuideList(loginUser.travelAgencyId, loginUser.token) fetchAllGuideList(loginUser.travelAgencyId)
.then((guideList) => { .then((guideList) => {
const selectOptions = guideList.map((data, index) => { const selectOptions = guideList.map((data, index) => {
return { return {
@ -169,7 +170,7 @@ function Newest() {
// //
const onSearchClick = (current=1, status=null) => { const onSearchClick = (current=1, status=null) => {
setDataLoading(true); setDataLoading(true);
reservationStore.fetchReservationList(current, status) fetchReservationList(loginUser.travelAgencyId, current, status)
.catch(ex => { .catch(ex => {
notification.error({ notification.error({
message: `Notification`, message: `Notification`,

Loading…
Cancel
Save