{"version":3,"file":"index-f21f5400.js","sources":["../src/hooks/activityOrder/useOrderItem.js","../src/components/activity/OrderItemsTableRow.jsx","../src/components/activity/OrderItemsTable.jsx","../src/components/activity/AddOrderItem.jsx","../src/components/activity/ActivityOrderDescription.jsx","../src/hooks/activityOrder/useActivityOrder.js","../src/pages/order/OrderPage.jsx","../src/components/activity/OrderItemDetail.jsx","../src/hooks/useContacts.js","../src/components/Contacts/index.jsx","../src/pages/order/OrderItemPage.jsx","../src/pages/order/index.jsx"],"sourcesContent":["import { useState, useCallback } from 'react';\nimport { GetToken } from '@utils/storage';\nimport * as config from '@config';\n\nfunction useOrderItem() {\n const [fetching, setFetching] = useState(false);\n const [fetched, setFetched] = useState(false);\n const [orderItem, setOrderItem] = useState({});\n // verifying\n const [verifying, setVerifying] = useState(false);\n // verifyData\n const [verifyData, setVerifyData] = useState({\n readyToBook: false,\n readyToConfirm: false,\n });\n // updating booking info\n const [updating, setUpdating] = useState(false);\n // adding\n const [adding, setAdding] = useState(false);\n // deleting\n const [deleting, setDeleting] = useState(false);\n // confirming\n const [confirming, setConfirming] = useState(false);\n\n const fetchOrderItem = useCallback(async (itemId) => {\n setFetching(true);\n setFetched(false);\n try {\n const response = await fetch(`${config.apiURL}/order-items/${itemId}`, {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${GetToken()}`,\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.error || 'Failed to fetch order item');\n }\n\n const responseData = await response.json();\n const { orderItem } = responseData;\n if (orderItem) {\n setOrderItem(orderItem);\n }\n return orderItem;\n } catch (error) {\n console.error('Error fetching order item:', error);\n throw error;\n } finally {\n setFetching(false);\n setFetched(true);\n }\n }, []);\n\n const verifyOrderItem = useCallback(async (itemId) => {\n setVerifying(true);\n try {\n const response = await fetch(`${config.apiURL}/order-items/${itemId}/verify`, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${GetToken()}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ envolopOnly: true }),\n });\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.error || 'Failed to verify order item');\n }\n const responseData = await response.json();\n setVerifyData(responseData);\n return responseData;\n } catch (error) {\n console.error('Error verify order item:', error);\n throw error;\n } finally {\n setVerifying(false);\n }\n }, []);\n\n const addOrderItem = useCallback(async (orderItemData) => {\n setAdding(true);\n try {\n const response = await fetch(`${config.apiURL}/order-items`, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${GetToken()}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(orderItemData),\n });\n\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.error || 'Failed to create order item');\n }\n\n const data = await response.json();\n return data;\n } catch (error) {\n console.error('Error creating order item:', error);\n throw error;\n } finally {\n setAdding(false);\n }\n }, []);\n\n const updateOrderItem = useCallback(async (itemId, updateData) => {\n setUpdating(true);\n try {\n const response = await fetch(`${config.apiURL}/order-items/${itemId}`, {\n method: 'PATCH',\n headers: {\n Authorization: `Bearer ${GetToken()}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(updateData),\n });\n\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.error || 'Failed to update order item');\n }\n\n const updatedItem = await response.json();\n setOrderItem(updatedItem);\n return updatedItem;\n } catch (error) {\n console.error('Error updating order item:', error);\n throw error;\n } finally {\n setUpdating(false);\n }\n }, []);\n\n const deleteOrderItem = useCallback(async (itemId) => {\n setDeleting(true);\n try {\n const response = await fetch(`${config.apiURL}/order-items/${itemId}`, {\n method: 'DELETE',\n headers: {\n Authorization: `Bearer ${GetToken()}`,\n 'Content-Type': 'application/json',\n },\n });\n\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.error || 'Failed to delete order item');\n }\n const responseData = await response.json();\n return responseData;\n } catch (error) {\n console.error('Error deleting order item:', error);\n throw error;\n } finally {\n setDeleting(false);\n }\n }, []);\n\n const confirmOrderItem = useCallback(async (itemId) => {\n setConfirming(true);\n try {\n const response = await fetch(`${config.apiURL}/order-items/${itemId}/confirm`, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${GetToken()}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({\n orderItemID: itemId,\n }),\n });\n\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.error || 'Failed to confirm order item');\n }\n\n const responseData = await response.json();\n return responseData;\n } catch (error) {\n console.error('Error confirming order item:', error);\n throw error;\n } finally {\n setConfirming(false);\n }\n }, []);\n\n return {\n orderItem,\n verifyData,\n verifying,\n fetching,\n fetched,\n adding,\n updating,\n deleting,\n confirming,\n fetchOrderItem,\n addOrderItem,\n updateOrderItem,\n deleteOrderItem,\n verifyOrderItem,\n confirmOrderItem,\n };\n}\n\nexport default useOrderItem;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Table,\n Icon,\n Label,\n Modal,\n ModalHeader,\n ModalContent,\n ModalActions,\n TableBody,\n TableRow,\n TableCell,\n} from 'semantic-ui-react';\nimport { Link, useNavigate } from 'react-router-dom';\nimport ActivityPricing from '@components/activity/ActivityPricing';\nimport styles from '@styles/OrderItemsTableRow.module.css';\nimport QtyController from '../QtyController';\nimport dayjs from 'dayjs';\nimport { DatePicker, Select, Typography, Button, App } from 'antd';\nimport useOrderItem from '../../hooks/activityOrder/useOrderItem';\nimport { LoadingOutlined } from '@ant-design/icons';\n\nfunction OrderItemsTableRow({ item = {}, callback = () => {} }) {\n const [req, setReq] = useState();\n const navigate = useNavigate();\n const { message } = App.useApp();\n\n const { verifying, verifyOrderItem, verifyData, updating, updateOrderItem, deleting, deleteOrderItem } =\n useOrderItem();\n\n useEffect(() => {\n console.log('Order item', item);\n if (item.ref) {\n handleVerify();\n }\n }, []);\n\n useEffect(() => {\n if (!!req) {\n handleBookingChange(req);\n }\n }, [req]);\n\n const handleVerify = () => {\n verifyOrderItem(item.id).catch((err) => {\n console.error(err);\n message?.error(err.message);\n });\n };\n\n const handleOnChangeSegment = (segmentID) => {\n setReq((prev) => {\n return { ...prev, segmentID };\n });\n };\n\n const handleOnChangeVariant = (variantID) => {\n setReq((prev) => {\n return { ...prev, variantID };\n });\n };\n\n const handleDateChange = (data, dateString) => {\n // console.log('Date change', dateString);\n setReq((prev) => {\n return { ...prev, date: dateString };\n });\n };\n\n const handleBookingChange = (req) => {\n // console.log(req);\n updateOrderItem(item.id, req)\n .then(() => {\n callback();\n handleVerify();\n })\n .catch((err) => {\n console.error(err);\n message?.error(err.message);\n });\n };\n\n const handleDelete = () => {\n if (confirm(`是否要移除 \"${item.activity.name}\" ?`) == true) {\n deleteOrderItem(item.id)\n .then((data) => {\n callback();\n const reply = data.reply;\n if (reply) {\n message?.success(reply);\n }\n })\n .catch((err) => {\n console.error(err);\n message?.error(err.message);\n });\n }\n };\n\n const Actions = ({ id = '' }) => {\n if (!id) {\n console.warn('Empty order item ID');\n return null;\n }\n if (!item.confirmed) {\n return (\n
\n navigate(`item/${id}`)}\n disabled={verifying || deleting || updating || !verifyData.readyToBook}\n style={{ whiteSpace: 'nowrap' }}\n >\n 预订\n \n \n 移除\n \n
\n );\n } else {\n return (\n navigate(`item/${id}`)}\n disabled={verifying || deleting || updating}\n style={{ whiteSpace: 'nowrap' }}\n >\n 查看\n \n );\n }\n };\n\n const PriceDetail = () => {\n const [open, setOpen] = useState(false);\n return (\n
\n
A${item.total}
\n
\n setOpen(true)}>详情\n
\n setOpen(false)}>\n 价格明细\n \n \n \n \n 票面\n A${Math.round(item.marketValue / 1.1)}\n \n \n 税费(GST)\n \n A${Math.round(item.marketValue - item.marketValue / 1.1)}\n \n \n \n 服务费\n A${Math.round(item.serviceFee)}\n \n \n \n

总价

\n
\n \n

A${item.total}

\n
\n
\n
\n
\n
\n \n \n \n
\n
\n );\n };\n\n const renderSegments = () => {\n let segmentOptions = [];\n segmentOptions = item.activity?.segmentOptions?.map((item, index) => ({\n label: item.value,\n value: item.id,\n }));\n if (segmentOptions.length > 0) {\n return (\n
\n \n \n
\n );\n }\n };\n\n const renderVariants = () => {\n let variantOptions = [];\n variantOptions = item.activity?.variants?.map((item, index) => ({\n ...item,\n label: item.nameZH,\n value: item.id,\n }));\n if (variantOptions.length > 0) {\n return (\n
\n \n {\n return (\n
\n {option.data.nameZH}\n {option.data.description}\n
\n );\n }}\n />\n
\n );\n }\n };\n\n const handleDisabledDate = (current) => {\n if (item.activity?.datedPriced) {\n const allowedDateStr = item.activity?.datedPrices?.map((item) => item.date);\n // Can not select days before today and today, and the day not in the allowed dates\n return (\n (current && current < dayjs().startOf('day')) || !allowedDateStr.includes(current.format('YYYY-MM-DD'))\n );\n } else {\n return current && current < dayjs().startOf('day');\n }\n };\n\n return (\n <>\n \n {item.ref}\n \n
\n
\n {item.activity.name}\n {item.activity.tourCode && (\n <>\n  \n \n )}\n  \n \n \n \n
\n {renderSegments()}\n {renderVariants()}\n
\n
\n \n
\n
{!item.bookingInfo.date && '日期待定'}
\n \n
\n
\n\n \n
\n \n
\n
\n \n
\n \n
\n
\n \n \n \n {/* {!!item.commission && `A$${item.commission}`} */}\n \n
\n \n
\n
\n \n\n \n \n
\n {verifying ? (\n \n 检查中...\n \n ) : (\n <>\n {verifyData.bookingWarning}\n {verifyData.readyToBook && 可以预订}\n \n )}\n
\n
\n
\n \n );\n}\n\nOrderItemsTableRow.propTypes = {\n item: PropTypes.object.isRequired,\n callback: PropTypes.func.isRequired,\n};\n\nexport default OrderItemsTableRow;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Icon, Popup, PopupContent, Table } from 'semantic-ui-react';\nimport OrderItemsTableRow from './OrderItemsTableRow';\n\nfunction OrderItemsTable({ orderItems = [], total = 0, commissionAmount = 0, callback = () => {} }) {\n return (\n \n \n \n 订单号\n 名称\n 日期\n \n 单价{' '}\n }>\n 包含GST\n \n \n 数量\n 总价\n {/* 佣金 */}\n 操作\n \n \n \n {orderItems.map((item, index) => {\n return ;\n })}\n \n \n \n \n \n

A${total}

\n
\n {/* \n {!!commissionAmount && `A$${commissionAmount}`}\n */}\n \n
\n
\n
\n );\n}\n\nOrderItemsTable.propTypes = {\n orderItems: PropTypes.array.isRequired,\n total: PropTypes.number.isRequired,\n serviceFee: PropTypes.number,\n callback: PropTypes.func.isRequired,\n};\n\nexport default OrderItemsTable;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { useSelector } from 'react-redux';\nimport { Modal, ModalHeader, ModalContent, ModalActions, Dropdown } from 'semantic-ui-react';\nimport { App, Button, Space } from 'antd';\nimport { createSelector } from '@reduxjs/toolkit';\nimport { Selector } from '../../utils/constants';\nimport useOrderItem from '../../hooks/activityOrder/useOrderItem';\n\nfunction AddOrderItem({ orderID = '', callback = () => {} }) {\n // console.log('AddOrderItem orderID:', orderID);\n const selectorData = (state) => state.activities.data;\n const filterActivities = createSelector(selectorData, (items) =>\n items?.filter((item) => {\n // Filter out hidden items\n if (item.hidden == false) {\n return true;\n } else if (\n // Filter out items that are not activities\n !item.selectors?.includes(Selector.Cars) &&\n !item.selectors?.includes(Selector.Cruises) &&\n !item.selectors?.includes(Selector.Team) &&\n !item.selectors?.includes(Selector.Package)\n ) {\n return true;\n }\n })\n );\n const activities = useSelector((state) => {\n return filterActivities(state);\n });\n const fetching = useSelector((state) => state.activities.fetching);\n const { addOrderItem, adding } = useOrderItem();\n const [open, setOpen] = useState(false);\n const [activityID, setActivityID] = useState();\n const { message } = App.useApp();\n\n useEffect(() => {\n if (open == false) {\n setActivityID('');\n }\n return () => {};\n }, [open]);\n\n const options = activities.map((item, index) => {\n return { key: index, text: item.name, value: item.id };\n });\n\n const handleOnChange = (e, { value }) => {\n console.log(value);\n setActivityID(value);\n };\n\n const handleSumbit = () => {\n const req = {\n activityID: activityID,\n orderID: orderID,\n };\n addOrderItem(req)\n .then((data) => {\n callback();\n setOpen(false);\n })\n .catch((error) => {\n console.error('Error adding order item:', error);\n message?.error(error.message);\n });\n };\n\n return (\n <>\n \n setOpen(false)} closeOnDimmerClick={false}>\n 添加活动\n \n \n \n \n \n \n \n \n \n \n \n );\n}\n\nAddOrderItem.propTypes = {\n orderID: PropTypes.string.isRequired,\n callback: PropTypes.func,\n};\n\nexport default AddOrderItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Descriptions, Typography, Empty } from 'antd';\nimport UserDefinedEdit from './ActivityOrdersTable/UserDefinedEdit';\n\nconst { Title } = Typography;\n\nconst ActivityOrderDescription = ({ data, callback = () => {} }) => {\n if (!data || Object.keys(data).length === 0) {\n return ;\n }\n\n const { id = 'N/A', createdAt, userDefined = 'N/A', billingTotal, serviceFee, commissionAmount } = data;\n\n const formatDate = (dateString) => {\n if (!dateString) return 'N/A';\n const date = new Date(dateString);\n return isNaN(date.getTime()) ? 'Invalid Date' : date.toLocaleString();\n };\n\n const formatCurrency = (amount) => {\n if (amount === undefined || amount === null) return 'N/A';\n return `AUD ${Number(amount).toFixed(2)}`;\n };\n\n return (\n
\n 活动订单详情\n \n \n \n \n {formatDate(createdAt)}\n {formatCurrency(billingTotal)}\n {formatCurrency(serviceFee)}\n {/* {formatCurrency(commissionAmount)} */}\n \n
\n );\n};\n\nActivityOrderDescription.propTypes = {\n data: PropTypes.object,\n callback: PropTypes.func,\n};\n\nexport default ActivityOrderDescription;\n","import { useState, useRef, useCallback } from 'react';\nimport { GetToken } from '@utils/storage';\nimport * as config from '@config';\n\nfunction useActivityOrder() {\n const [data, setData] = useState({});\n const [order, setOrder] = useState({});\n const [fetching, setFetching] = useState(false);\n const abortControllerRef = useRef(null);\n\n const fetchActivityOrder = useCallback(async (orderId) => {\n abortControllerRef.current = new AbortController();\n setFetching(true);\n\n try {\n const response = await fetch(`${config.apiURL}/order/${orderId}`, {\n method: 'GET',\n headers: { Authorization: `Bearer ${GetToken()}` },\n signal: abortControllerRef.current.signal,\n });\n\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.error || 'An error occurred while fetching the activity order');\n }\n\n const responseData = await response.json();\n setData(responseData);\n const { order } = responseData;\n setOrder(order);\n return responseData;\n } catch (error) {\n if (error.name === 'AbortError') {\n console.log('Request was aborted');\n throw new Error('Request was aborted');\n } else {\n console.error('Error fetching activity order:', error);\n }\n throw error;\n } finally {\n setFetching(false);\n }\n }, []);\n\n const abort = useCallback(() => {\n if (abortControllerRef.current) {\n abortControllerRef.current.abort();\n }\n }, []);\n\n return { fetching, order, data, fetchActivityOrder, abort };\n}\n\nexport default useActivityOrder;\n","import React, { useLayoutEffect, useState, useEffect } from 'react';\nimport { useNavigate, useParams } from 'react-router';\nimport BackBar from '@components/BackBar';\nimport { Divider } from 'semantic-ui-react';\nimport styles from '@styles/OrderPage.module.css';\nimport { ScrollToTop } from '@utils/scrollPosition';\nimport Comments from '@components/Comments';\nimport OrderItemsTable from '@components/activity/OrderItemsTable';\nimport AddOrderItem from '../../components/activity/AddOrderItem';\nimport ActivityOrderDescription from '../../components/activity/ActivityOrderDescription';\nimport { App, Spin } from 'antd';\nimport useActivityOrder from '../../hooks/activityOrder/useActivityOrder';\n\nfunction OrderPage() {\n const { orderID: id } = useParams();\n const navigate = useNavigate();\n const { fetching, order, fetchActivityOrder, abort } = useActivityOrder();\n const { message } = App.useApp();\n\n useEffect(() => {\n if (id) fetchData();\n return () => {\n abort();\n };\n }, [id]);\n\n useLayoutEffect(() => {\n ScrollToTop();\n }, []);\n\n const fetchData = () => {\n fetchActivityOrder(id)\n .then((data) => {})\n .catch((error) => {\n console.error('Error fetching activity order:', error);\n message?.error(error.message);\n navigate(-1);\n });\n };\n\n return (\n
\n \n
\n \n \n
\n \n {order.id && }\n 备注\n \n
\n );\n}\n\nexport default OrderPage;\n","import React from 'react';\nimport { Typography, Descriptions, Card, Tag, Empty, Grid, Tabs, List } from 'antd';\nimport { format } from 'date-fns';\nimport { ActivityInfoRole, ActivityInfoRoleParse } from '@utils/constants';\nimport { Collapse } from 'antd';\nimport PropTypes from 'prop-types';\nimport { OrderStatus, OrderStatusName } from '../../utils/constants';\n\nconst { Title } = Typography;\nconst { useBreakpoint } = Grid;\n\nfunction OrderItemDetail({ orderItemData, contacts = [] }) {\n const screens = useBreakpoint();\n\n if (!orderItemData || Object.keys(orderItemData).length === 0) {\n return ;\n }\n\n const formatDate = (dateString) => {\n return dateString ? format(new Date(dateString), 'PPP') : 'N/A';\n };\n\n const renderInCard = (title, content) => (\n \n {content}\n \n );\n\n const orderInfo = (\n \n {orderItemData.ref || 'N/A'}\n {formatDate(orderItemData.createdAt)}\n {formatDate(orderItemData.updatedAt)}\n \n {/* 供应商状态 */}\n \n {OrderStatusName(orderItemData.status)}\n \n \n \n {orderItemData.confirmed ? 'Yes' : 'No'}\n \n \n );\n\n const activityInfo = () => {\n if (orderItemData.activity && Object.keys(orderItemData.activity).length > 0) {\n return (\n <>\n \n {orderItemData.activity.name || 'N/A'}\n \n {orderItemData.activity.nameEN || 'N/A'}\n \n \n {orderItemData.activity.tourCode || 'N/A'}\n \n \n {information(orderItemData.activity.information)}\n\n {orderItemData.activity.content ? (\n \n ),\n },\n ]}\n />\n ) : (\n \n )}\n \n );\n } else {\n return ;\n }\n };\n\n const renderQuantityInfo = () => {\n const { effectPricing, bookingInfo } = orderItemData;\n if (effectPricing.bundlePriced) {\n return (\n \n {bookingInfo.bundleQty ?? 'N/A'}\n \n );\n } else {\n return (\n <>\n {bookingInfo.adult}\n {bookingInfo.child}\n {effectPricing.hasFamilyPlan && bookingInfo.family > 0 && (\n \n {bookingInfo.family}\n \n )}\n \n );\n }\n };\n\n const bookingInfo = () => {\n if (orderItemData.bookingInfo && Object.keys(orderItemData.bookingInfo).length > 0) {\n return (\n <>\n \n {orderItemData.bookingInfo.date || 'N/A'}\n {renderQuantityInfo()}\n {orderItemData.bookingInfo.upgraded && orderItemData.bookingInfo.variant && (\n <>\n \n {`${orderItemData.bookingInfo.variant.nameEN || 'N/A'} (${\n orderItemData.bookingInfo.variant.nameZH || 'N/A'\n })`}\n \n \n {orderItemData.bookingInfo.variant.description || 'N/A'}\n \n \n )}\n {orderItemData.bookingInfo.segmented && orderItemData.bookingInfo.segment && (\n \n {orderItemData.bookingInfo.segment.value || 'N/A'}\n \n )}\n {contacts.length > 0 && (\n \n {contacts.map((contact) => `${contact.lastname}/${contact.firstname}`).join(', ')}\n \n )}\n \n \n );\n } else {\n return ;\n }\n };\n\n const pricingInfo = (\n \n ${orderItemData.marketValue ?? 'N/A'}\n ${orderItemData.serviceFee ?? 'N/A'}\n ${orderItemData.total ?? 'N/A'}\n {/* ${orderItemData.commission ?? 'N/A'} */}\n \n );\n\n const information = (information) => {\n const renderInfoList = (role) => (\n item.role === role)}\n renderItem={(item) => {item.content}}\n locale={{ emptyText: 'No information available' }}\n />\n );\n\n const tabItems = Object.values(ActivityInfoRole).map((role) => ({\n key: String(role),\n label: ActivityInfoRoleParse(role),\n children: renderInfoList(role),\n }));\n\n return (\n \n );\n };\n\n return (\n
\n Order Item Details\n {renderInCard('Order Information', orderInfo)}\n {renderInCard('Booking Information', bookingInfo())}\n {renderInCard('Activity Information', activityInfo())}\n {renderInCard('Pricing Information', pricingInfo)}\n
\n );\n}\n\nOrderItemDetail.propTypes = {\n orderItemData: PropTypes.object,\n contacts: PropTypes.array,\n};\n\nexport default OrderItemDetail;\n","import { useCallback, useState, useRef, useEffect } from 'react';\nimport { GetToken } from '@utils/storage';\nimport * as config from '@config';\nimport PropTypes from 'prop-types';\n\nfunction useContacts(props) {\n let relationID = '';\n if (props) {\n relationID = props.relationID;\n }\n // Fetching\n const [fetching, setFetching] = useState(false);\n const [contacts, setContacts] = useState([]);\n const abortFetchController = useRef(null);\n // Adding\n const [adding, setAdding] = useState(false);\n // Deteting\n const [deleting, setDeleting] = useState(false);\n\n const fetchContacts = useCallback(async (ownerID) => {\n setFetching(true);\n abortFetchController.current = new AbortController();\n try {\n const response = await fetch(`${config.apiURL}/contacts?ownerID=${ownerID}`, {\n method: 'GET',\n headers: {\n Authorization: `Bearer ${GetToken()}`,\n 'Content-Type': 'application/json',\n },\n signal: abortFetchController.current.signal,\n });\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.error || 'Failed to fetch contacts');\n }\n const responseData = await response.json();\n const { contacts } = responseData;\n if (contacts) {\n setContacts(contacts);\n }\n return contacts;\n } catch (error) {\n console.error('Error fetching contacts:', error);\n } finally {\n setFetching(false);\n }\n }, []);\n\n useEffect(() => {\n if (relationID) {\n fetchContacts(relationID);\n }\n }, [relationID, fetchContacts]);\n\n const addContact = useCallback(async (contactData) => {\n setAdding(true);\n try {\n const response = await fetch(`${config.apiURL}/contacts`, {\n method: 'POST',\n headers: {\n Authorization: `Bearer ${GetToken()}`,\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(contactData),\n });\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.error || 'Failed to add contact');\n }\n const responseData = await response.json();\n return responseData;\n } catch (error) {\n console.error('Error adding contact:', error);\n } finally {\n setAdding(false);\n }\n }, []);\n\n const deleteContact = useCallback(async (contactID) => {\n setDeleting(true);\n try {\n const response = await fetch(`${config.apiURL}/contacts/${contactID}`, {\n method: 'DELETE',\n headers: {\n Authorization: `Bearer ${GetToken()}`,\n 'Content-Type': 'application/json',\n },\n });\n if (!response.ok) {\n const errorData = await response.json();\n throw new Error(errorData.error || 'Failed to delete contact');\n }\n const responseData = await response.json();\n return responseData;\n } catch (error) {\n console.error('Error deleting contact:', error);\n } finally {\n setDeleting(false);\n }\n }, []);\n\n const abortFetch = useCallback(() => {\n if (abortFetchController.current) {\n abortFetchController.current.abort();\n }\n }, []);\n\n return { fetching, contacts, fetchContacts, abortFetch, adding, addContact, deleting, deleteContact };\n}\n\nuseContacts.propTypes = {\n relationID: PropTypes.string,\n};\n\nexport default useContacts;\n","import React, { useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { Form, Input, Button, App, Space } from 'antd';\nimport { PlusOutlined } from '@ant-design/icons';\nimport styles from './styles.module.css';\nimport useContacts from '../../hooks/useContacts';\n\nconst labelCol = {\n span: 2,\n offset: 0,\n};\n\nconst wrapperCol = {\n span: 12,\n offset: 0,\n};\n\nfunction Contacts({ relationID, callback = () => {} }) {\n const { fetching, contacts, fetchContacts, abortFetch, addContact, adding, deleteContact } = useContacts();\n const { message } = App.useApp();\n const [form] = Form.useForm();\n\n useEffect(() => {\n if (relationID) {\n fetchData();\n }\n return () => {\n abortFetch();\n };\n }, [relationID]);\n\n const fetchData = () => {\n fetchContacts(relationID).catch((error) => {\n console.error('Error fetching contacts:', error);\n message?.error(error.message);\n });\n };\n\n const onFinish = (values) => {\n // console.log('Received values:', values);\n addContact({ ...values, ownerID: relationID, sort: contacts.length + 1 })\n .then((data) => {\n form.resetFields();\n fetchData();\n const { reply } = data;\n if (reply) {\n message?.success(reply);\n }\n if (callback) callback();\n })\n .catch((error) => {\n console.error('Error adding contact:', error);\n message?.error(error.message);\n });\n };\n\n const handleDelete = (id) => {\n deleteContact(id)\n .then((data) => {\n fetchData();\n const { reply } = data;\n if (reply) {\n message?.success(reply);\n }\n if (callback) callback();\n })\n .catch((error) => {\n console.error('Error deleting contact:', error);\n message?.error(error.message);\n });\n };\n\n return (\n <>\n
\n \n
\n \n \n \n \n \n \n
\n \n
\n {contacts.length > 0 && (\n \n \n {contacts.map((contact, index) => {\n return (\n
\n
\n {contact.lastname}/{contact.firstname}\n
\n handleDelete(contact.id)}\n >\n 移除\n \n
\n );\n })}\n
\n
\n )}\n
\n \n );\n}\n\nContacts.propTypes = {\n relationID: PropTypes.string,\n callback: PropTypes.func,\n};\n\nexport default Contacts;\n","import React, { useState, useEffect } from 'react';\nimport { useNavigate, useParams } from 'react-router';\nimport BackBar from '@components/BackBar';\nimport useOrderItem from '../../hooks/activityOrder/useOrderItem';\nimport { Alert, App, Collapse, Spin, Button, Typography, Result } from 'antd';\nimport OrderItemDetail from '../../components/activity/OrderItemDetail';\nimport Contacts from '../../components/Contacts';\nimport { WarningOutlined } from '@ant-design/icons';\nimport useContacts from '../../hooks/useContacts';\n\nconst { Title } = Typography;\n\nfunction OrderItemPage() {\n const { orderItemID } = useParams();\n const navigate = useNavigate();\n const {\n fetching,\n fetched,\n orderItem,\n fetchOrderItem,\n verifyData,\n verifying,\n verifyOrderItem,\n confirming,\n confirmOrderItem,\n } = useOrderItem();\n const { contacts } = useContacts({ relationID: orderItemID });\n const { message } = App.useApp();\n const [openSucess, setOpenSucess] = useState(false);\n\n if (!orderItemID) {\n return ;\n }\n\n useEffect(() => {\n if (orderItemID) {\n verifyOrderItem(orderItemID);\n fetchOrderItem(orderItemID)\n .then((data) => {\n // console.log(data);\n })\n .catch((error) => {\n console.error('Error fetching order item:', error);\n message?.error(error.message);\n navigate(-1);\n });\n }\n return () => {};\n }, [orderItemID]);\n\n const handleSubmit = () => {\n // console.log(emailData);\n if (confirm('确认预订') != true) {\n return;\n }\n confirmOrderItem(orderItemID)\n .then((data) => {\n const { reply } = data;\n if (reply) {\n message?.success(reply);\n }\n fetchOrderItem(orderItemID);\n setOpenSucess(true);\n })\n .catch((error) => {\n console.error('Error confirming order item:', error);\n message?.error(error.message);\n });\n };\n\n if (openSucess) {\n return (\n navigate(-1)}>\n 返回\n \n }\n />\n );\n }\n\n return (\n
\n \n
\n {orderItem.confirmed ? (\n \n ) : (\n <>\n \n {verifyData.confirmWarning && (\n
\n {verifyData.confirmWarning}\n
\n )}\n
\n verifyOrderItem(orderItemID)} />\n \n 提交\n \n \n )}\n\n \n
\n );\n}\n\nexport default OrderItemPage;\n","import React, { useEffect } from 'react';\nimport { Route, Routes, useParams } from 'react-router';\nimport OrderPage from './OrderPage';\nimport OrderItemPage from './OrderItemPage';\n\nfunction Index() {\n const { orderID } = useParams();\n\n useEffect(() => {\n // console.log('orderID:', orderID);\n }, [orderID]);\n\n return (\n \n } />\n } />\n \n } />\n \n }\n />\n \n );\n}\n\nexport default Index;\n"],"names":["useOrderItem","fetching","setFetching","useState","fetched","setFetched","orderItem","setOrderItem","verifying","setVerifying","verifyData","setVerifyData","updating","setUpdating","adding","setAdding","deleting","setDeleting","confirming","setConfirming","fetchOrderItem","useCallback","itemId","response","config.apiURL","GetToken","errorData","responseData","error","verifyOrderItem","addOrderItem","orderItemData","updateOrderItem","updateData","updatedItem","deleteOrderItem","confirmOrderItem","OrderItemsTableRow","item","callback","req","setReq","navigate","useNavigate","message","App","useEffect","handleVerify","handleBookingChange","err","handleOnChangeSegment","segmentID","prev","handleOnChangeVariant","variantID","handleDateChange","data","dateString","handleDelete","reply","Actions","id","jsx","Button","PriceDetail","open","setOpen","jsxs","Modal","ModalHeader","ModalContent","Table","TableBody","TableRow","TableCell","ModalActions","renderSegments","segmentOptions","_b","_a","index","Select","_c","renderVariants","variantOptions","option","Typography","handleDisabledDate","current","allowedDateStr","dayjs","Fragment","styles","Label","Link","Icon","DatePicker","ActivityPricing","QtyController","LoadingOutlined","PropTypes","OrderItemsTable","orderItems","total","commissionAmount","Popup","PopupContent","AddOrderItem","orderID","filterActivities","createSelector","state","items","Selector","_d","activities","useSelector","activityID","setActivityID","options","handleOnChange","e","value","handleSumbit","Dropdown","Space","Title","ActivityOrderDescription","Empty","createdAt","userDefined","billingTotal","serviceFee","formatDate","date","formatCurrency","amount","Descriptions","UserDefinedEdit","useActivityOrder","setData","order","setOrder","abortControllerRef","useRef","fetchActivityOrder","orderId","abort","OrderPage","useParams","fetchData","useLayoutEffect","ScrollToTop","BackBar","Spin","Divider","Comments","useBreakpoint","Grid","OrderItemDetail","contacts","screens","format","renderInCard","title","content","Card","orderInfo","Tag","OrderStatus","activityInfo","information","Collapse","renderQuantityInfo","effectPricing","bookingInfo","contact","pricingInfo","renderInfoList","role","List","tabItems","ActivityInfoRole","ActivityInfoRoleParse","Tabs","useContacts","props","relationID","setContacts","abortFetchController","fetchContacts","ownerID","addContact","contactData","deleteContact","contactID","abortFetch","labelCol","Contacts","form","Form","onFinish","values","Input","PlusOutlined","OrderItemPage","orderItemID","openSucess","setOpenSucess","Alert","handleSubmit","Result","WarningOutlined","Index","Routes","Route"],"mappings":"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"}