import { useEffect, useState } from 'react'; import { Form,Popover, Input, Button, AutoComplete, Tooltip } from 'antd'; import { useDispatch, useSelector } from "react-redux"; import { FaParking } from "react-icons/fa"; import { GlobalOrderCardDetails, GlobalOtherServiceTicketClaim, GlobalSummeryTotalAmount, changeOtherServiceTicketClaim, getOtherServiceTicket } from "../../../../Features/BookingScreen/BookingData/BookingData"; import TooltipWrapper from '../../../../Components/Tooltip/Tooltip'; import { isMobile } from 'react-device-detect'; import FloatLabel from '../../../../Components/Forms/FloatLabel'; import { BsUpcScan } from 'react-icons/bs'; import { StoredSessionData } from '../../../../Features/ThemeChange/ThemeChange'; import { consolidateDuplicates } from './BSNavBarOffer/BSNavBarOffer_ReausableFunctions'; import { Messages } from '../../../../Components/Notifications/Messages'; const BSOtherServiceClaim = () => { const dispatch = useDispatch(); const SessionData = useSelector(StoredSessionData); const OrderCardDetail = useSelector(GlobalOrderCardDetails); const OtherServiceTicketClaim = useSelector(GlobalOtherServiceTicketClaim); const BillAmount =useSelector(GlobalSummeryTotalAmount) console.log("OtherServiceTicketClaim", BillAmount,OtherServiceTicketClaim); const CompId = SessionData?.CompId; const BranchId = SessionData?.BranchId; const AppId = SessionData?.AppId; const UserId = SessionData?.UserId; const UserType = SessionData?.UserType; const [visible, setVisible] = useState(false); console.log("visible", visible); const [searchText, setSearchText] = useState(null); const [selectedOthersService, setSelectedOthersService] = useState(''); const [selectedTicketId,setselectedTicketId]=useState(null) const [scanner, setScanner] = useState(false); const [messageType, setMessageType] = useState(null); const [messageData, setMessageData] = useState(null); const [error,seterror] = useState(null); const [Parkingdata, setParkingdata] = useState([]); const [totalParkingAmount, setTotalParkingAmount] = useState(0); console.log(totalParkingAmount,Parkingdata, 'Parkingdata') useEffect(() => { seterror(null); }, []); useEffect(() => { if (OtherServiceTicketClaim?.ParkingClaimed === false) { setParkingdata([]); setTotalParkingAmount(0); setSelectedOthersService(''); } } , [OtherServiceTicketClaim]); const handleOk = (type) => { if (type === "Add") { if(totalParkingAmount > 0) { if(BillAmount > totalParkingAmount){ dispatch(changeOtherServiceTicketClaim({ TicketId: selectedTicketId , TotalAmt: totalParkingAmount, ParkingClaimed: true, ServiceCategory: Parkingdata ? Parkingdata?.[0]?.ServiceCategory : '', })); } else{ setMessageType("error"); setMessageData("Other Service Ticket Claim amount cannot be greater than total amount"); dispatch(changeOtherServiceTicketClaim({ TotalAmt: 0, ParkingClaimed: false, TicketId: null, ServiceCategory: null, })); } } else{ dispatch(changeOtherServiceTicketClaim({ TotalAmt: 0, ParkingClaimed: false, TicketId: null, ServiceCategory: null, })); } }else{ dispatch(changeOtherServiceTicketClaim({ TotalAmt: 0, ParkingClaimed: false, OthersType: 'Remove', TicketId: null, ServiceCategory: null, })); setParkingdata([]); setTotalParkingAmount(0); setSelectedOthersService(''); } setVisible(false); seterror(null) }; const handleCancel = () => { setVisible(false); seterror(null) }; const handleScanSearch = () => { if (scanner === false) { setMessageType("success"); setMessageData("Search by QrCode/BarCode Enabled") } else { setMessageType("success"); setMessageData("Search by QrCode/BarCode Disabled") } setScanner(prev => !prev) } const handleOtherServiceSearch = async (value) => { setSelectedOthersService(value); let data if(value?.length >= 3){ if (scanner) { data = { TicketId: `${value}`, AppId: AppId, CompId: CompId, BranchId: BranchId }; } else { data = { TicketId: `${value}`, AppId: AppId, CompId: CompId, BranchId: BranchId }; } if( value && value.length > 0) { let otherdata = await dispatch(getOtherServiceTicket(data)).unwrap(); if (otherdata?.data?.statusCode === 1) { console.log(otherdata?.data?.data, 'otherdata'); setselectedTicketId(otherdata?.data?.data?.[0]?.ServiceTicketId) let Parkingthere = otherdata?.data?.data?.[0]?.ServiceDetails?.filter((item) => item?.ServiceCategoryName === 'Parking'); if (Parkingthere?.length > 0) { console.log(Parkingthere, 'Parkingthere'); const totalParkingAmount = Parkingthere?.reduce((sum, item) => sum + (item.TotalAmt || 0), 0); setParkingdata(Parkingthere); setTotalParkingAmount(totalParkingAmount); seterror(null); }else{ seterror("No Data Found"); setParkingdata([]); setTotalParkingAmount(0); } }else{ seterror("No Data Found"); setParkingdata([]); setTotalParkingAmount(0); } }else{ seterror(null); setParkingdata([]); setTotalParkingAmount(0); } } } const content = (
{item.ServiceName} {item.VehicleNumber ? (VehicleNumber:{item.VehicleNumber} ) :""} | : ₹{item.TotalAmt}