diff --git a/src/stores/Reservation.js b/src/stores/Reservation.js index 6426d06..67edcfb 100644 --- a/src/stores/Reservation.js +++ b/src/stores/Reservation.js @@ -10,17 +10,16 @@ class Reservation { this.root = root; } - fetchReservationList(referenceNo, fromDate, thruDate) { + fetchReservationList(current, referenceNo, fromDate, thruDate) { + this.reservationPage.current = current; const fetchUrl = prepareUrl(HT_HOST + '/service-tourdesign/GetPlanSearchList') - .append('VEI_SN', this.root.authStore.login.travelAgencyId) - .append('GroupNo', referenceNo) - .append('DateStart', fromDate) - .append('DateEnd', thruDate) - .append('ReTotal', 0) - .append('PageSize', 0) - .append('PageNum', 0) - .append('PageIndex', 1) - .build(); + .append('VEI_SN', this.root.authStore.login.travelAgencyId) + .append('GroupNo', referenceNo) + .append('DateStart', fromDate) + .append('DateEnd', thruDate) + .append('PageNum', this.reservationPage.size) + .append('PageIndex', this.reservationPage.current) + .build(); return fetchJSON(fetchUrl) .then(json => { @@ -38,6 +37,7 @@ class Reservation { guide: data.Guide, } }); + this.reservationPage.total = json.Result[0].RsTotal; } else { throw new Error(json.errmsg + ': ' + json.errcode); } @@ -57,7 +57,7 @@ class Reservation { if (json.errcode == 0) { this.itineraryList = json.VendorTour.map((data, index) => { return { - key: data.GRD_GRI_SN, + key: data.GRD_SN, day: data.GRD_OrderDate, placeTransport: data.GRD_Traffic, todayActivities: data.GRD_LandscapeWL, @@ -89,6 +89,12 @@ class Reservation { referenceNumber: '', customerNames: '', pax: '' } + reservationPage = { + current: 1, + size: 10, + total: 0 + } + itineraryList = [ ]; diff --git a/src/views/reservation/Detail.jsx b/src/views/reservation/Detail.jsx index 9d2d321..d4a0985 100644 --- a/src/views/reservation/Detail.jsx +++ b/src/views/reservation/Detail.jsx @@ -2,9 +2,8 @@ import { useParams, useNavigate } from "react-router-dom"; import { useEffect } from 'react'; import { observer } from "mobx-react"; import { toJS } from "mobx"; -import moment from "moment"; import { Row, Col, Space, Button, Table, Input, Typography, List, App } from 'antd'; -import { useStore } from '../../stores/StoreContext.js'; +import { useStore } from '@/stores/StoreContext.js'; const { Title } = Typography; const { TextArea } = Input; @@ -82,9 +81,7 @@ function Detail() { diff --git a/src/views/reservation/NameCard.jsx b/src/views/reservation/NameCard.jsx index 9052b84..f19e297 100644 --- a/src/views/reservation/NameCard.jsx +++ b/src/views/reservation/NameCard.jsx @@ -1,51 +1,13 @@ -import { useParams, useNavigate } from "react-router-dom"; -import { useEffect } from 'react'; import { observer } from "mobx-react"; -import { toJS } from "mobx"; -import moment from "moment"; import { Row, Col, Space, Table, Typography, List, Watermark } from 'antd'; -import { useStore } from '../../stores/StoreContext.js'; +import { useStore } from '@/stores/StoreContext.js'; const { Title } = Typography; -const itineraryListColumns = [ - { - title: 'Day', - dataIndex: 'day', - key: 'day', - }, - { - title: 'Place & Transport', - dataIndex: 'placeTransport', - key: 'placeTransport', - }, - { - title: 'Today’s Activities', - dataIndex: 'todayActivities', - key: 'todayActivities', - }, - { - title: 'Accommodation', - dataIndex: 'accommodation', - key: 'accommodation', - }, - { - title: 'Meals', - dataIndex: 'meals', - key: 'meals', - }, -]; - function NameCard() { - const navigate = useNavigate(); - const { reservationId } = useParams(); const { reservationStore } = useStore(); const { meetAndGreet } = reservationStore; - useEffect(() => { - console.info('Detail.useEffect: ' + reservationId); - }, [reservationId]); - return ( diff --git a/src/views/reservation/Newest.jsx b/src/views/reservation/Newest.jsx index 28cdc21..fa36815 100644 --- a/src/views/reservation/Newest.jsx +++ b/src/views/reservation/Newest.jsx @@ -60,7 +60,7 @@ function Newest() { } } const { reservationStore } = useStore(); - const { reservationList } = reservationStore; + const { reservationList, reservationPage } = reservationStore; const [isModalOpen, setIsModalOpen] = useState(false); const [selectedDateRange, onDateRangeChange] = useState([]); const [referenceNo, onNumberChange] = useState(''); @@ -77,9 +77,9 @@ function Newest() { setIsModalOpen(false); }; - const onSearchClick = () => { + const onSearchClick = (current) => { setTableLoading(true); - reservationStore.fetchReservationList(referenceNo, selectedDateRange[0], selectedDateRange[1]) + reservationStore.fetchReservationList(current, referenceNo, selectedDateRange[0], selectedDateRange[1]) .catch(ex => { notification.error({ message: `Notification`, @@ -196,7 +196,7 @@ function Newest() { - + @@ -207,10 +207,12 @@ function Newest() { loading={tableLoading} pagination={{ position: ['bottomCenter'], - current: 1, - pageSize: 10, - total: 200 + current: reservationPage.current, + pageSize: reservationPage.size, + total: reservationPage.total, + simple: true }} + onChange={(pagination, filters, sorter, extra) => {onSearchClick(pagination.current);}} columns={reservationListColumns} dataSource={toJS(reservationList)} />