diff --git a/src/App.jsx b/src/App.jsx index 51ee8e1..042f26c 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -216,6 +216,7 @@ const AppRoutes = () => { onClose={handleCancel} onPayNow={handlePay} onContinueWithCredits={freeExtend} + setExtendModel={setExtendModel} /> ); } diff --git a/src/Features/PreferenceMaster/PreferenceMaster.js b/src/Features/PreferenceMaster/PreferenceMaster.js index d55a354..eb8072a 100644 --- a/src/Features/PreferenceMaster/PreferenceMaster.js +++ b/src/Features/PreferenceMaster/PreferenceMaster.js @@ -42,7 +42,7 @@ export const gettableData = createAsyncThunk( data?.BranchId != undefined ) { return await axiosRetailInstanceData.get( - `/Settings?appId=${data?.AppId}&compId=${data?.CompId}&branchId=${data?.BranchId}` + `/Settings?appId=${data?.AppId}&compId=${data?.CompId}&branchId=${data?.BranchId}&userId=${data?.UserId}` ); } } diff --git a/src/Features/UserAccount/userData.js b/src/Features/UserAccount/userData.js index 3afacd1..c7013ab 100644 --- a/src/Features/UserAccount/userData.js +++ b/src/Features/UserAccount/userData.js @@ -25,6 +25,15 @@ export const getBranchBasedUserList = createAsyncThunk( } ); +export const getBranchUsers = createAsyncThunk( + 'user/getBranchUsers', + async (data) => { + if (data?.branchId != null && data?.branchId != undefined && data?.compId != null && data?.compId != undefined && data?.appId != null && data?.appId != undefined) { + return await axiosCommonInstanceData.get(`/User?branchId=${data?.branchId}&compId=${data?.compId}&appId=${data?.appId}&userType=UE`); + } + } +); + const initialState = { userData: [], branchBasedUserData: [], diff --git a/src/Pages/Preference/PreferenceList.jsx b/src/Pages/Preference/PreferenceList.jsx index 3df82f5..c90a55f 100644 --- a/src/Pages/Preference/PreferenceList.jsx +++ b/src/Pages/Preference/PreferenceList.jsx @@ -22,12 +22,14 @@ import { ApplicationPreferences } from '../../Features/BrachLogin/BranchLogin.js import './PreferenceList.scss'; import { InputField } from '../../Components/Forms/InputField.jsx'; import { changePreferenceData } from '../../Features/BookingScreen/BookingData/BookingData.js'; +import { DropDowns } from '../../Components/Forms/DropDown.jsx'; +import { getBranchUsers } from '../../Features/UserAccount/userData.js'; +import { UserDataBasedOnBranchId } from '../../Features/Reports/Reports.js'; const PreferenceList = ({ setting = false }) => { const { SadminuserAccess, featureaddDetails } = useAuth(); const dispatch = useDispatch(); const formRef = useRef(); - const CompId = getSession('CompId'); const BranchId = getSession('BranchId'); const AppId = getSession('AppId'); @@ -42,8 +44,10 @@ const PreferenceList = ({ setting = false }) => { const [activeSection, setActiveSection] = useState('general'); const [empData, setEmpData] = useState(); const [preferenceConfigs, setPreferenceConfigs] = useState([]); + const [selectedUserId, setSelectedUserId] = useState([]); const [addnewAccess, setAddNewAccess] = useState(true); + const [userDropDown, setUserDropDown] = useState(); const tableValue = useSelector(settingDataSelector); const appPreferences = useSelector(ApplicationPreferences); @@ -73,6 +77,7 @@ const PreferenceList = ({ setting = false }) => { console.log(featureaddDetails, 'featureaddDetails'); const buildInitialValues = () => ({ + userId: selectedUserId, dashboard: allSettingsMap['dashboard']?.value === 'Y', shortcutkeys: allSettingsMap['shortcutkeys']?.value === 'Y', autoreceivestock: allSettingsMap['autoreceivestock']?.value === 'Y', @@ -188,7 +193,7 @@ const PreferenceList = ({ setting = false }) => { ], }) ); - fetchTableData(); + userDropData() const centerPageSub = document.querySelector('.centerPageSub'); if (centerPageSub) { @@ -201,6 +206,9 @@ const PreferenceList = ({ setting = false }) => { } }; }, []); + useEffect(()=>{ + fetchTableData(); + },[selectedUserId]) useEffect(() => { if (settingsList) { @@ -302,7 +310,7 @@ const PreferenceList = ({ setting = false }) => { }; const fetchTableData = async () => { - const res = await dispatch(gettableData({ CompId, BranchId, AppId })).unwrap(); + const res = await dispatch(gettableData({ CompId, BranchId, AppId,UserId:selectedUserId })).unwrap(); if (res?.data?.statusCode === 1 && res?.data?.data?.length > 0) { await dispatch(changePreferenceData(res?.data?.data)); } else { @@ -342,7 +350,7 @@ const PreferenceList = ({ setting = false }) => { const handleSubmit = async () => { const values = formRef.current.getFieldsValue(); const salesMode = values.salesmode; - console.log('Sales Mode:', values.salesmode); + console.log('Sales Mode:', values); console.log('Retail Short Name:', values.retailshortname); console.log('Wholesale Short Name:', values.wholesaleshortname); const settings = settingsList || []; @@ -453,8 +461,9 @@ const PreferenceList = ({ setting = false }) => { BranchId, CreatedBy: UserId, AppId, + userId: UserType === 'Employee' ? UserId : values.userId, SettingDtlDetails: updatedSettings, - }; + };; const response = await dispatch(postPreferenceAppNames(payload)).unwrap(); if (response?.data?.statusCode === 1) { @@ -467,6 +476,56 @@ const PreferenceList = ({ setting = false }) => { } }; + useEffect(() => { + if (userDropDown?.length > 0 && !formRef.current?.getFieldValue("userId")) { + const adminUser = userDropDown.find( + (user) => user.UserTypeName === "Admin" + ); + + if (adminUser) { + formRef.current?.setFieldsValue({ + userId: adminUser.UserId + }); + } + } +}, [userDropDown]); + const UserDropDownChange = (value) => { + let user = userDropDown?.find((item) => item?.UserId === value); + setSelectedUserId(user?.UserId) + formRef.current?.setFieldsValue({ + userId: value, + }); + }; +const userDropData = async () => { + const data ={ + branchId:BranchId, + compId:CompId, + appId:AppId + } + const gettinguserDropDown = await dispatch(getBranchUsers(data)).unwrap(); + // const gettinguserDropDown = await dispatch(UserDataBasedOnBranchId(BranchId)).unwrap(); + + + if (gettinguserDropDown?.data?.statusCode === 1) { + const finaluserDropDown = gettinguserDropDown?.data?.data?.filter( + (value) => value.ActiveStatus === "A" + ); + + setUserDropDown(finaluserDropDown); + + if (UserType === 'Employee') { + setSelectedUserId(UserId); + } else { + const adminUser = finaluserDropDown.find( + (user) => user.UserTypeName === "Admin" + ); + if (adminUser) { + setSelectedUserId(adminUser.UserId); + } + } + } +}; + const renderCheckbox = (name, label) => allSettingsMap[name] !== undefined && ( @@ -561,6 +620,27 @@ const PreferenceList = ({ setting = false }) => { initialValues={initialValues} className="preferences-list" > + {(UserType === 'Admin' || UserType === 'Super Admin' || UserType === 'Super Admin User')&& ( + + Users} + valueData={formRef.current?.getFieldValue("userId")} + options={userDropDown?.map((option) => ({ + label: option?.UserName || option?.MobileNo, + value: option?.UserId, + }))} + onChangeFunction={(value, option) => UserDropDownChange(value, option)} + /> + + )}
{ }; useEffect(() => { - // Set today's date for fromDate and toDate in the form const today = dayjs(); form.setFieldsValue({ - fromDate: today, - toDate: today, + dateRange: [today, today], }); dispatch(changeBreadCrumb({ items: items })); fetchData(); @@ -287,9 +286,9 @@ const TipAmountSettlementList = () => { if (values.Employee && values.Employee !== 'all') { filtered = filtered.filter((item) => item.Employee === values.Employee); } - if (values.fromDate && values.toDate) { - const from = dayjs(values.fromDate).startOf('day'); - const to = dayjs(values.toDate).endOf('day'); + if (values.dateRange && values.dateRange.length === 2) { + const from = dayjs(values.dateRange[0]).startOf('day'); + const to = dayjs(values.dateRange[1]).endOf('day'); filtered = filtered.filter((item) => { const itemDate = dayjs(item.Date, 'DD/MM/YYYY'); return itemDate.isSameOrAfter(from) && itemDate.isSameOrBefore(to); @@ -307,7 +306,14 @@ const TipAmountSettlementList = () => { }; const onFinish = async (values) => { - const { Employee, fromDate, toDate, ...restValues } = values; + const { Employee, dateRange, ...restValues } = values; + let fromDate = null; + let toDate = null; + if (dateRange && dateRange.length === 2) { + fromDate = dateRange[0]; + toDate = dateRange[1]; + } + const data = { CompId, BranchId, @@ -320,18 +326,19 @@ const TipAmountSettlementList = () => { : {}), }; let response; - Employee !== 'all' - ? (response = await dispatch(getTipAmountSettlementList(data)).unwrap()) - : (response = await dispatch( - getAllTipAmountSettlementList(data) - ).unwrap()); + if (Employee !== 'all') { + response = await dispatch(getTipAmountSettlementList(data)).unwrap(); + } else { + response = await dispatch(getAllTipAmountSettlementList(data)).unwrap(); + } + if (response?.data?.statusCode === 1) { setTableData(response?.data?.data?.[0]?.WaiterDetails); const StatusValue = form.getFieldValue('status') === 'toBe' ? 'N' : 'Y'; const employees = response?.data?.data?.[0]?.WaiterDetails ?? []; - const data = + const hasData = employees?.some( (E) => (StatusValue == 'N' && @@ -340,11 +347,10 @@ const TipAmountSettlementList = () => { E?.TipsDetails?.some((e) => e?.IsSettled == 'Y')) ) ?? false; - if (data) { + if (hasData) { setMessageType('success'); setMessageData(response?.data?.response); - } - if (!data) { + } else { setMessageType('error'); setMessageData('No data Found'); } @@ -490,36 +496,19 @@ const TipAmountSettlementList = () => { - - - current && current > dayjs().endOf('day') - } - /> - - - - - - current && current > dayjs().endOf('day') - } + current && current > dayjs()} + placeholder={["From Date", "To Date"]} + style={{ width: 280 }} /> diff --git a/src/useSubscriptionManager.js b/src/useSubscriptionManager.js index 314e345..8aa1a05 100644 --- a/src/useSubscriptionManager.js +++ b/src/useSubscriptionManager.js @@ -154,7 +154,7 @@ const useSubscriptionManager = (sessionData, logout) => { return () => clearInterval(interval); }, [sessionData]); - return { remainingDays, handleCancel, handlePay, freeExtend, extendModel }; + return { remainingDays, handleCancel, handlePay, freeExtend, extendModel,setExtendModel }; }; export default useSubscriptionManager;