Merge branch 'develop' of https://gitlab.com/witel-front-end/loan-facilities/user into feature/Amin_loan_request

This commit is contained in:
2023-12-12 09:16:21 +03:30
8 changed files with 142 additions and 21 deletions

View File

@@ -1,19 +1,74 @@
import {useTranslations} from "next-intl";
import {useEffect, useState} from "react";
import {useRequest} from "@witel/webapp-builder";
import TimelineManager from "@/core/components/timelines/timelineManager";
import moment from "jalali-moment";
import {Timeline} from "@mui/lab";
import OpenTimeLine from "@/core/components/timelines/OpenTimeLine";
import InProgressTimeLine from "@/core/components/timelines/InProgressTimeLine";
import {LinearProgress} from "@mui/material";
const TimeLineDetails = () => {
const t = useTranslations();
const request = useRequest({notification: false, auth: false})
const [timeLineList, setTimeLineList] = useState([])
const [loading, setLoading] = useState(true)
useEffect(() => {
setLoading(true)
request(process.env.NEXT_PUBLIC_CONFIG_APP_URL, 'get').then(res => {
let tempArr = []
for (const timeLine of res.data.time_lines.navgan_first_page) {
let temp = {}
temp['label'] = timeLine.label
temp['date'] = moment(timeLine.date.from, 'jYYYY/jMM/jDD').locale('fa').format('jD jMMMM')
const fromDate = moment(timeLine.date.from, 'jYYYY/jMM/jDD')
const toDate = moment(timeLine.date.to, 'jYYYY/jMM/jDD')
const today = moment()
if (today.isBetween(fromDate, toDate, null, '[]')) {
temp['status'] = 'in progress'
} else if (today.isAfter(toDate, null)) {
temp['status'] = 'done'
} else if (today.isBefore(fromDate, null)) {
temp['status'] = 'open'
}
tempArr.push(temp)
}
setTimeLineList(tempArr)
setLoading(false)
}).catch(() => {
setLoading(false)
})
}, []);
return (
<Timeline position="alternate">
<InProgressTimeLine date={'10 دی'} primaryLabel={'ثبت نام متقاضی'}
secondaryLabel={'ثبت نام متقاضیان واجد شرایط'}/>
<OpenTimeLine date={'10 بهمن'} primaryLabel={'صحت سنجی متقاضیان'}
secondaryLabel={'بررسی و کارشناسی درخواست ها'}/>
<OpenTimeLine position={'end'} date={'10 اسفند'} primaryLabel={'ارجاع به بانک'}
secondaryLabel={'فرآیند معرفی ضامن و پرداخت'}/>
</Timeline>
<>
{loading ? (
<LinearProgress/>
) : (
<Timeline position="alternate">
{timeLineList.map((timeLine, index) => (
<TimelineManager
key={index}
status={timeLine.status}
date={timeLine.date}
primaryLabel={timeLine.label.primary}
secondaryLabel={timeLine.label.secondary}
position={index === (timeLineList.length - 1) ? 'end' : ''}
/>
))
}
</Timeline>
)}
</>
)
// return (
// <Timeline position="alternate">
// <InProgressTimeLine date={'10 دی'} primaryLabel={'ثبت نام متقاضی'}
// secondaryLabel={'ثبت نام متقاضیان واجد شرایط'}/>
// <OpenTimeLine date={'10 بهمن'} primaryLabel={'صحت سنجی متقاضیان'}
// secondaryLabel={'بررسی و کارشناسی درخواست ها'}/>
// <OpenTimeLine position={'end'} date={'10 اسفند'} primaryLabel={'ارجاع به بانک'}
// secondaryLabel={'فرآیند معرفی ضامن و پرداخت'}/>
// </Timeline>
// )
}
export default TimeLineDetails

View File

@@ -0,0 +1,16 @@
import OpenTimeLine from "@/core/components/timelines/OpenTimeLine";
import InProgressTimeLine from "@/core/components/timelines/InProgressTimeLine";
import DoneTimeLine from "@/core/components/timelines/DoneTimeLine";
const TimelineManager = (props) => {
switch (props.status) {
case 'open':
return <OpenTimeLine {...props} />
case 'in progress':
return <InProgressTimeLine {...props} />
case 'done':
return <DoneTimeLine {...props} />
}
}
export default TimelineManager

View File

@@ -6,27 +6,30 @@ const sidebarMenu = [
[
{
key: "sidebar.dashboard",
name: "sidebar.dashboard",
type: "page",
route: "/dashboard",
icon: <SpaceDashboardIcon/>,
icon: <SpaceDashboardIcon sx={{width: 'inherit', height: 'inherit'}}/>,
selected: false,
permission_name: "all"
permission: "all"
},
{
key: "sidebar.add-request-loan",
name: "sidebar.add-request-loan",
type: "page",
route: "/dashboard/navgan/add-request-loan",
icon: <DataSaverOnIcon/>,
icon: <DataSaverOnIcon sx={{width: 'inherit', height: 'inherit'}}/>,
selected: false,
permission_name: "can_request_a_new_loan"
permission: "can_request_a_new_loan"
},
{
key: "sidebar.followUp-loan",
name: "sidebar.followUp-loan",
type: "page",
route: "/dashboard/navgan/followUp-loan",
icon: <BookmarkAddedIcon/>,
icon: <BookmarkAddedIcon sx={{width: 'inherit', height: 'inherit'}}/>,
selected: false,
permission_name: "all"
permission: "all"
},
],
];

View File

@@ -1,13 +1,21 @@
import {DashboardLayout as DashboardLayoutPure} from "@witel/webapp-builder";
import {DashboardLayout as DashboardLayoutPure, useUser} from "@witel/webapp-builder";
import headerProfileItems from "@/core/data/headerProfileItems";
import sidebarMenu from "@/core/data/sidebarMenu";
import {GET_SIDEBAR_NOTIFICATION} from "@/core/data/apiRoutes";
const DashboardLayout = (props) => {
const {user} = useUser()
return (
<>
<DashboardLayoutPure headerProfileItems={headerProfileItems} sidebarMenu={sidebarMenu}
urlNotification={GET_SIDEBAR_NOTIFICATION} {...props} />
<DashboardLayoutPure
loginUrl={'/login'}
user_introduction={user.type_name}
headerProfileItems={headerProfileItems}
sidebarMenu={sidebarMenu}
urlNotification={GET_SIDEBAR_NOTIFICATION}
BC_segmentsToRemove={[]}
{...props}
/>
</>
)
}