This commit is contained in:
Malai Raja
2023-12-04 19:05:28 +05:30
parent 2d7eb690a1
commit 743cae09b8
13 changed files with 4795 additions and 1179 deletions

View File

@@ -87,7 +87,7 @@ const MobileSection = () => {
<ClickAwayListener onClickAway={handleClose}>
<AppBar color="inherit">
<Toolbar>
<Search />
{/* <Search /> */}
<Profile />
</Toolbar>
</AppBar>

View File

@@ -14,6 +14,7 @@ import {
Avatar,
} from '@mui/material';
import { enqueueSnackbar } from 'notistack';
import LinearWithLabel from 'components/@extended/progress/LinearWithLabel';
// import { PatternFormat } from 'react-number-format';
import axios from 'axios';
@@ -21,11 +22,12 @@ import axios from 'axios';
import MainCard from 'components/MainCard';
import { AimOutlined, EnvironmentOutlined, MailOutlined, PhoneOutlined } from '@ant-design/icons';
import { useEffect ,useState} from 'react';
import Loader from 'components/Loader';
const Accountsettings = () => {
const matchDownMD = useMediaQuery((theme) => theme.breakpoints.down('md'));
const [info, setInfo] = useState({})
const [info, setInfo] = useState({});
const [loading,setLoading]=useState(false)
useEffect(() => {
if (localStorage.getItem('tenantid')) {
@@ -35,20 +37,32 @@ const Accountsettings = () => {
}, []);
const fetchaccount = async (tid) => {
setLoading(true)
await axios.get(`${process.env.REACT_APP_URL}/tenants/gettenantinfo/?tenantid=${tid}`)
.then((res) => {
console.log(res)
if (res.data.status) {
setInfo(res.data.details);
}
setLoading(false)
}).catch((err) => {
console.log(err)
enqueueSnackbar(err.message, {
variant: 'error', anchorOrigin: { vertical: 'top', horizontal: 'right' },
autoHideDuration: 2000
})
setLoading(false)
})
}
return <>
{loading &&
<Loader />
}
<Grid container rowSpacing={4.5} columnSpacing={2.75}>
<Grid item xs={12} sx={{ mb: -2.25 }}>
<Stack direction={{ xs: 'column', md: 'row' }} justifyContent='space-between' alignItems='center' spacing={2}>

View File

@@ -11,6 +11,7 @@ import { useState, Fragment } from 'react';
// import CustomerCard from 'sections/apps/customer/CustomerCard';
// import CustomerCardPage from 'pages/apps/customer/card';
import { DeleteFilled, NotificationOutlined } from '@ant-design/icons';
import { Empty } from 'antd';
import {
Avatar,
@@ -158,6 +159,10 @@ const Client = () => {
}).catch((err) => {
console.log(err)
setLoading(false)
enqueueSnackbar(err.message, {
variant: 'error', anchorOrigin: { vertical: 'top', horizontal: 'right' },
autoHideDuration: 2000
})
})
} catch (err) {
@@ -167,7 +172,7 @@ const Client = () => {
}
}
@@ -348,7 +353,7 @@ const Client = () => {
const [loading1, setLoading1] = useState(false);
const [staffdetaillist, setStaffdetaillist] = useState([]);
const [anchorEl, setAnchorEl] = React.useState(null);
const [currentcustomerid,setCurrentcustomerid]=useState('')
const [currentcustomerid, setCurrentcustomerid] = useState('')
const handleClickAway = () => {
setOpen('');
@@ -380,7 +385,7 @@ const Client = () => {
setLoading(true)
try {
await axios.delete(`${process.env.REACT_APP_URL}/customers/delete/?customerid=${currentcustomerid}`)
.then((res) => {
if (res.data.status) {
enqueueSnackbar("Deleted Successfully", {
@@ -391,16 +396,16 @@ const Client = () => {
fetchtable(localStorage.getItem('tenantid'))
}
setLoading(false)
}).catch((err) => {
console.log(err)
setLoading(false)
})
} catch (err) {
console.log(err);
setLoading(false)
}
}
@@ -446,11 +451,11 @@ const Client = () => {
await axios.put(`${process.env.REACT_APP_URL2}/staffs/earnings/update`,
{
"staffearningsid": sid,
"verified":1
"verified": 1
})
// await axios.get(`${process.env.REACT_APP_URL2}/staffs/earnings/?fromdate=2023-09-07&todate=2023-09-09`)
.then((res) => {
console.log(res)
if (res.data.status) {
@@ -468,24 +473,24 @@ const Client = () => {
autoHideDuration: 2000
})
// setTimeout(() => {
if (localStorage.getItem('appuserid')) {
fetchtable(localStorage.getItem('appuserid'))
}
if (localStorage.getItem('appuserid')) {
fetchtable(localStorage.getItem('appuserid'))
}
// }, 2000)
}
}).catch((err) => {
console.log(err)
setLoading(false)
})
} catch (err) {
console.log(err);
setLoading(false)
}
}
@@ -555,37 +560,37 @@ const Client = () => {
const handleClose = () => {
setOpen(false);
};
};
function AlertCustomerDelete({
// title,
open, handleClose }) {
// const [deletepassword, setDeletepassword] = useState('');
return (
<Dialog
open={open}
onClose={() => handleClose(false)}
maxWidth="xs"
>
<DialogContent sx={{ mt: 2, my: 1 }}>
<Stack alignItems="center" spacing={3.5}>
<Avatar color="error" sx={{ width: 72, height: 72, fontSize: '1.75rem' }}>
<DeleteFilled />
</Avatar>
{/* <Grid >
<Dialog
open={open}
onClose={() => handleClose(false)}
maxWidth="xs"
>
<DialogContent sx={{ mt: 2, my: 1 }}>
<Stack alignItems="center" spacing={3.5}>
<Avatar color="error" sx={{ width: 72, height: 72, fontSize: '1.75rem' }}>
<DeleteFilled />
</Avatar>
{/* <Grid >
<Chip label={orderid.slice(4)} variant="combined" color='warning' size='small' />
</Grid> */}
<Stack spacing={2}>
<Typography variant="h4" align="center">
Are you sure you want to Remove this Client?
</Typography>
{/* <Typography variant="h4" align="center">
<Stack spacing={2}>
<Typography variant="h4" align="center">
Are you sure you want to Remove this Client?
</Typography>
{/* <Typography variant="h4" align="center">
Please type in the order number to confirm.
</Typography> */}
{/* <TextField
{/* <TextField
type='text'
onChange={(e) => {
console.log(e.target.value)
@@ -594,33 +599,33 @@ const Client = () => {
error={deletepassword !== orderid.slice(4)}
value={deletepassword}
/> */}
</Stack>
<Stack direction="row" spacing={2} sx={{ width: 1 }}>
<Button fullWidth color="error" variant="contained" onClick={() => {
// if (deletepassword === orderid.slice(4)) {
// cancelorder();
removeclient()
handleClose(true);
// }
}} autoFocus>
Yes, Remove
</Button>
<Button fullWidth onClick={() => {
handleClose(false)
setCurrentcustomerid('')
}} color="secondary" variant="outlined">
No
</Button>
</Stack>
</Stack>
</DialogContent>
</Dialog>
</Stack>
<Stack direction="row" spacing={2} sx={{ width: 1 }}>
<Button fullWidth color="error" variant="contained" onClick={() => {
// if (deletepassword === orderid.slice(4)) {
// cancelorder();
removeclient()
handleClose(true);
// }
}} autoFocus>
Yes, Remove
</Button>
<Button fullWidth onClick={() => {
handleClose(false)
setCurrentcustomerid('')
}} color="secondary" variant="outlined">
No
</Button>
</Stack>
</Stack>
</DialogContent>
</Dialog>
);
}
}
@@ -629,7 +634,7 @@ const Client = () => {
return (
<>
{loading && <Loader />}
<AlertCustomerDelete open={open} handleClose={handleClose} />
<AlertCustomerDelete open={open} handleClose={handleClose} />
{/* <Dialog
open={open} onClose={() => setOpen(false)}
@@ -851,16 +856,6 @@ const Client = () => {
<Skeleton animation="wave" />
</TableCell>
<TableCell>
<Skeleton animation="wave" />
</TableCell>
<TableCell>
<Skeleton animation="wave" />
</TableCell>
<TableCell>
<Skeleton animation="wave" />
<Skeleton animation="wave" />
</TableCell>
<TableCell>
<Skeleton animation="wave" />
<Skeleton animation="wave" />
@@ -868,23 +863,19 @@ const Client = () => {
</TableCell>
<TableCell>
<Skeleton animation="wave" />
<Skeleton animation="wave" />
</TableCell>
<TableCell>
<Skeleton animation="wave" />
</TableCell>
<TableCell>
<Skeleton animation="wave" />
</TableCell>
<TableCell>
<Skeleton animation="wave" />
</TableCell>
<TableCell>
<Skeleton animation="wave" />
</TableCell>
</TableRow>
))}
@@ -895,6 +886,18 @@ const Client = () => {
<TableBody>
{((visibleRows.length == 0) && !loading) &&
<>
<TableCell colSpan={6}>
<Stack width={'100%'} direction={'row'} justifyContent={'center'}>
<Empty />
</Stack>
</TableCell>
{/* <div>empty</div> */}
</>
}
{visibleRows.map((row, index) => {
const isItemSelected = isSelected(row.sno);
const labelId = `enhanced-table-checkbox-${index}`;
@@ -918,8 +921,8 @@ const Client = () => {
padding="none"
>
{/* <Stack direction={'row'} alignItems={'center'} spacing={2}> */}
{row.sno}
{/* <Tooltip title='Expand'>
{row.sno}
{/* <Tooltip title='Expand'>
<IconButton style={{ color: theme.palette.primary.main }}
aria-label="expand row"
@@ -943,27 +946,27 @@ const Client = () => {
<TableCell align="left" sx={{ paddingLeft: '0px !important' }} >
<Stack direction="row" alignItems="center" spacing={1} justifyContent="flex-start">
<Avatar
alt=""
size="sm"
// src={row.profileimage}
sx={{
width: '25px',
height: '25px'
}}
>
<Stack direction="row" alignItems="center" spacing={1} justifyContent="flex-start">
<Avatar
alt=""
size="sm"
// src={row.profileimage}
sx={{
width: '25px',
height: '25px'
}}
>
</Avatar>
<Stack direction="column">
<Typography variant="caption">{`${row.firstname} ${row.lastname}`}</Typography>
<Typography variant="caption" color="textSecondary">
</Avatar>
<Stack direction="column">
<Typography variant="caption">{`${row.firstname} ${row.lastname}`}</Typography>
<Typography variant="caption" color="textSecondary">
{/* {row.identification}*/}
{row.contactno}
</Typography>
</Stack>
</Stack>
{/* {row.identification}*/}
{row.contactno}
</Typography>
</Stack>
</Stack>
</TableCell>
{/* <TableCell align="left" >
<Stack direction='column'>
@@ -1028,9 +1031,9 @@ const Client = () => {
}
</IconButton>
</Tooltip> */}
{/* </TableCell> */}
{/* </TableCell> */}
{/* <TableCell>
{/* <TableCell>
<Stack direction='row'>
{(row.orderstatus === 'pending'
@@ -1060,14 +1063,14 @@ const Client = () => {
</Tooltip>
</Stack>*/}
<Tooltip title='Delete'>
<IconButton onClick={() => {
setOpen(true)
setCurrentcustomerid(row.customerid)
}}>
<DeleteTwoTone twoToneColor={theme.palette.error.main} />
</IconButton>
</Tooltip>
</TableCell>
<IconButton onClick={() => {
setOpen(true)
setCurrentcustomerid(row.customerid)
}}>
<DeleteTwoTone twoToneColor={theme.palette.error.main} />
</IconButton>
</Tooltip>
</TableCell>
</TableRow>
<TableRow >
@@ -1135,7 +1138,7 @@ const Client = () => {
<TableCell>OT</TableCell>
<TableCell>Deficit</TableCell>
<TableCell>Deficit</TableCell>
{/* <TableCell>Experience</TableCell> */}
@@ -1219,8 +1222,8 @@ const Client = () => {
<TableCell>
{val.hoursworked}
</TableCell>
<TableCell>{val.overtime}</TableCell>
<TableCell>{val.shorttime}</TableCell>
<TableCell>{val.overtime}</TableCell>
<TableCell>{val.shorttime}</TableCell>
@@ -1263,73 +1266,73 @@ const Client = () => {
<Stack direction='row'>
{((val.verified == 0)&&(val.orderstatus === 'completed'))&&
<>
<IconButton
// onClick={(e) => handleClick1(e, row.sno)}
onClick={(e)=>{
setOpen(i+1)
setAnchorEl(e.currentTarget);
}}
aria-describedby={`aria-${row.sno}`}
>
<MoreOutlined />
</IconButton>
<Popper id={`aria-${row.sno}`} open={(open == (i+1))}
anchorEl={anchorEl}
placement='bottom-end'
sx={{
zIndex: 5000,
p: 0
}}
>
<Box sx={{ backgroundColor: '#fff', px: 2, py: 1, cursor: 'pointer', boxShadow: theme.customShadows.z1 }}
onClick={() => {
// setApproveid(true)
// setDisableid(false)
// setExpandopen('')
// setRolestab(0)
staffearningsverify(val.staffearningsid)
// fetchclientbyid(row.tenantid, row.sno);
// fetchclientpricing(row.tenantid)
// setEditexpandopen(row.sno)
handleClickAway()
}}
>
<ClickAwayListener onClickAway={handleClickAway}>
<Typography>Verify</Typography>
</ClickAwayListener>
</Box>
{((val.verified == 0) && (val.orderstatus === 'completed')) &&
<>
</Popper>
</>
<IconButton
// onClick={(e) => handleClick1(e, row.sno)}
onClick={(e) => {
setOpen(i + 1)
setAnchorEl(e.currentTarget);
}}
aria-describedby={`aria-${row.sno}`}
>
<MoreOutlined />
</IconButton>
<Popper id={`aria-${row.sno}`} open={(open == (i + 1))}
anchorEl={anchorEl}
placement='bottom-end'
sx={{
zIndex: 5000,
p: 0
}}
>
<Box sx={{ backgroundColor: '#fff', px: 2, py: 1, cursor: 'pointer', boxShadow: theme.customShadows.z1 }}
onClick={() => {
// setApproveid(true)
// setDisableid(false)
// setExpandopen('')
// setRolestab(0)
staffearningsverify(val.staffearningsid)
// fetchclientbyid(row.tenantid, row.sno);
// fetchclientpricing(row.tenantid)
// setEditexpandopen(row.sno)
handleClickAway()
}}
>
<ClickAwayListener onClickAway={handleClickAway}>
<Typography>Verify</Typography>
</ClickAwayListener>
</Box>
</Popper>
</>
}
{(val.verified == 1)&&
{(val.verified == 1) &&
<>
<Tooltip title='Verified' >
<IconButton
>
<>
<Tooltip title='Verified' >
<IconButton
>
<CheckCircleOutlined
style={{ color: '#4caf50' }}
<CheckCircleOutlined
style={{ color: '#4caf50' }}
/>
</IconButton>
</Tooltip>
</>
/>
</IconButton>
</Tooltip>
</>
}
</Stack>

View File

@@ -289,7 +289,10 @@ const Createclient = () => {
console.log(err)
setLoading(false)
enqueueSnackbar(err.message, {
variant: 'error', anchorOrigin: { vertical: 'top', horizontal: 'right' },
autoHideDuration: 2000
})
})

View File

@@ -160,10 +160,16 @@ const Login = () => {
}).catch((err) => {
console.log(err);
setAlertmessage('Invalid Data');
opentoast('Invalid Data');
// setAlertmessage('Invalid Data');
// if(err.message == 'Network Error'){
opentoast(err.message)
// }else{
// opentoast('Invalid Data');
// }
setLoading(false)
setSubmitting(false)
console.log(err.message)
})
} catch (err) {
console.log(err)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,12 @@
// import React from 'react';
// import Createstaff from 'pages/createstaff'
import { enqueueSnackbar } from 'notistack';
import {
useState,
useEffect,
Fragment
} from 'react';
import { Empty } from 'antd';
import { DatePicker } from '@mui/x-date-pickers/DatePicker';
import { LocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';
import dayjs from 'dayjs';
@@ -411,7 +413,6 @@ import {
</TableCell>
<TableCell>
<Skeleton animation="wave" />
<Skeleton animation="wave" />
</TableCell>
<TableCell>
<Skeleton animation="wave" />
@@ -437,7 +438,18 @@ import {
</>
}
<TableBody>
{((visibleRows.length == 0) && !loading) &&
<>
<TableCell colSpan={7}>
<Stack width={'100%'} direction={'row'} justifyContent={'center'}>
<Empty />
</Stack>
</TableCell>
{/* <div>empty</div> */}
</>
}
{visibleRows.map((row, index) => {
const isItemSelected = isSelected(row.sno);
@@ -1152,7 +1164,7 @@ import {
let val = localStorage.getItem('tenantid')
// fetchtable();
fetchpercentage(val);
// fetchpercentage(val);
// fetchtableactive();
fetchtableuncovered();
fetchtablecovered(val);
@@ -1705,6 +1717,10 @@ import {
}).catch((err) => {
console.log(err)
setLoading(false)
enqueueSnackbar(err.message, {
variant: 'error', anchorOrigin: { vertical: 'top', horizontal: 'right' },
autoHideDuration: 2000
})
})
} catch (err) {

View File

@@ -19,6 +19,8 @@ const Dashboard = Loadable(lazy(() => import('pages/nearle/dashboard')));
const Client = Loadable(lazy(() => import('pages/nearle/clients/client')));
const Orders = Loadable(lazy(() => import('pages/nearle/orders/orders')));
const Details = Loadable(lazy(() => import('pages/nearle/orders/details')));
const Accountsettings = Loadable(lazy(() => import('pages/nearle/accountsettings')));
const Createorder = Loadable(lazy(() => import('pages/nearle/orders/createorder')));
@@ -64,6 +66,10 @@ const MainRoutes = {
path: 'orders/create',
element: <Createorder />
},
{
path: 'orders/details',
element: <Details />
},
{
path: 'clients/create',
element: <Createclient />