diff --git a/example.env.local b/example.env.local index 28986c5..58519de 100644 --- a/example.env.local +++ b/example.env.local @@ -1,5 +1,5 @@ NEXT_PUBLIC_API_NAME = "Loan Facilities Dashboard" -NEXT_PUBLIC_API_VERSION = "1.28.1" +NEXT_PUBLIC_API_VERSION = "1.28.5" NEXT_PUBLIC_DEFAULT_LANGUAGE = "fa" NEXT_PUBLIC_DEFAULT_DIRECTION = "rtl" diff --git a/public/images/pie-chart.png b/public/images/pie-chart.png new file mode 100644 index 0000000..1a581de Binary files /dev/null and b/public/images/pie-chart.png differ diff --git a/public/images/rial.png b/public/images/rial.png new file mode 100644 index 0000000..fd9d24e Binary files /dev/null and b/public/images/rial.png differ diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json index f4caa9c..1cfa2f8 100644 --- a/public/locales/fa/app.json +++ b/public/locales/fa/app.json @@ -60,7 +60,8 @@ "user-management": "مدیریت کاربر", "role-management": "مدیریت نقش ها", "edit-profile": "ویرایش پروفایل", - "loan-history": "کارتابل نظارت" + "loan-history": "کارتابل نظارت", + "loan-history-province": "کارتابل نظارت استانی" }, "secondary": { "passenger-office": "توزیع درخواست", @@ -120,7 +121,12 @@ "edit_profile": "ویرایش پروفایل", "expert_management": "مدیریت کارشناسان", "user_management_page": "مدیریت کاربر", - "loan_history": "کارتابل نظارت" + "loan_history": "کارتابل نظارت", + "total_number_loan_offers": "تعداد کل وام های پیشنهادی", + "total_amount_proposed_loan": "مبلغ کل وام های پیشنهادی", + "total_number_requests": "تعداد کل درخواست ها", + "total_amount_approved_loans": "مبلغ کل وام های تصویب شده", + "number_approved_loans": "تعداد وام های تصویب شده" }, "MuiDatePicker": { "date_picker_birthday": "تاریخ" diff --git a/src/components/dashboard/first/index.jsx b/src/components/dashboard/first/index.jsx index 43b6c87..310569f 100644 --- a/src/components/dashboard/first/index.jsx +++ b/src/components/dashboard/first/index.jsx @@ -1,90 +1,246 @@ import FullPageLayout from "@/layouts/FullPageLayout"; import CenterLayout from "@/layouts/CenterLayout"; -import {Box, Divider, Stack, Typography} from "@mui/material"; -import {useEffect, useState} from "react"; +import {Box, Stack, Typography, Card, CardContent, CardHeader, useTheme, useMediaQuery} from "@mui/material"; +import { useEffect, useState } from "react"; import useRequest from "@/lib/app/hooks/useRequest"; +import {useTranslations} from "next-intl"; +import {GET_LOAN_STATISTICS} from "@/core/data/apiRoutes"; const DashboardFirstComponent = () => { - const requestServer = useRequest({auth: true, notification: false}); - const [data, setData] = useState(null); + const theme = useTheme(); + const t = useTranslations(); + const requestServer = useRequest({ auth: true, notification: false }); + const [data, setData] = useState(null); + const isXL = useMediaQuery(theme.breakpoints.up('xl')); - useEffect(() => { - requestServer(`${process.env.NEXT_PUBLIC_BASE_URL}/dashboard/reports/navgan/statistics`, "get") - .then((res) => { - setData(res.data.data); - }) - .catch(() => { - }); - }, []); + useEffect(() => { + requestServer( + `${GET_LOAN_STATISTICS}`, + "get" + ) + .then((res) => { + setData(res.data.data); + }) + .catch(() => {}); + }, []); - if (!data) return ""; + if (!data) return ""; - return (<> - - - - وام های واجد شرایط - + + + + + + + - تعداد کل - - {Number(data.totalApprovedLoans).toLocaleString("en")} - - - وام های پیشنهادی - - تعداد کل - + {Number(data.proposedCount).toLocaleString("en")} - - + + + + + + + - مبلغ کل (میلیون ریال) - - {Number(data.totalProposedAmount / 1000000).toLocaleString("en")} + + {(Number(data.totalProposedAmount)/1000000).toLocaleString("en")} + + {t("million_rial")} + - - وام های تصویب شده - + + + + + + + - تعداد کل - + + {Number(data.totalApprovedLoans).toLocaleString("en")} + + + + + + + + + + + {(Number(data.totalApprovedAmount) / 1000000).toLocaleString("en")} + + {t("million_rial")} + + + + + + + + + + + {Number(data.approvedCount).toLocaleString("en")} - - - مبلغ کل (میلیون ریال) - - {Number(data.totalApprovedAmount / 1000000).toLocaleString("en")} - - - - - - ); + + + + + + + + + ); }; export default DashboardFirstComponent; \ No newline at end of file diff --git a/src/components/dashboard/passenger-boss/Buttons/printFormA.jsx b/src/components/dashboard/passenger-boss/Buttons/printFormA.jsx index 2396d5f..fa1e882 100644 --- a/src/components/dashboard/passenger-boss/Buttons/printFormA.jsx +++ b/src/components/dashboard/passenger-boss/Buttons/printFormA.jsx @@ -20,7 +20,7 @@ const PrintFormA = () => { params.set("filters", '[]'); params.set("sorting", '[]'); requestServer(`${GET_PASSENGER_BOSS}?${params}`, 'get').then((response) => { - const _chunkSize = 10 + const _chunkSize = 6 const _data = response.data.data const chunk = Array.from({length: Math.ceil(_data.length / _chunkSize)}, (v, i) => _data.slice(i * _chunkSize, i * _chunkSize + _chunkSize) diff --git a/src/components/dashboard/passenger-boss/Prints/form-a/Content.jsx b/src/components/dashboard/passenger-boss/Prints/form-a/Content.jsx index 8525b97..29231d3 100644 --- a/src/components/dashboard/passenger-boss/Prints/form-a/Content.jsx +++ b/src/components/dashboard/passenger-boss/Prints/form-a/Content.jsx @@ -42,69 +42,44 @@ const Content = ({data}) => { میزان تسهیلات مصوب
(میلیارد ریال) وضعیت طرح درصد پیشرفت
فیزیکی شهرستان محل
اجرا اشتغال
تعهد شده (نفر) پیش بینی تاریخ
بهره برداری پس
از اخذ تسهیلات بانک عامل نرخ سود (درصد) دوره تنفس (ماه) طول دوره
بازپرداخت (ماه) diff --git a/src/components/dashboard/passenger-boss/Prints/form-a/items.jsx b/src/components/dashboard/passenger-boss/Prints/form-a/items.jsx index 6d92f8c..67e0d91 100644 --- a/src/components/dashboard/passenger-boss/Prints/form-a/items.jsx +++ b/src/components/dashboard/passenger-boss/Prints/form-a/items.jsx @@ -6,7 +6,7 @@ const Items = ({data}) => { useEffect(() => { let arr = [] - for (let i = 0; i < 10; i++) { + for (let i = 0; i < 6; i++) { if (data[i]) { let _item = {} _item.name = data[i].name diff --git a/src/components/dashboard/passenger-boss/Prints/form-b/Content.jsx b/src/components/dashboard/passenger-boss/Prints/form-b/Content.jsx index 842dbfe..eb72049 100644 --- a/src/components/dashboard/passenger-boss/Prints/form-b/Content.jsx +++ b/src/components/dashboard/passenger-boss/Prints/form-b/Content.jsx @@ -38,7 +38,7 @@ const Content = ({data}) => { - {`فرم خلاصه اطلاعات تایید شده طرح متقاضی استفاده از تسهیلات موضوع جزء 1 تا 9 بند (الف) تبصره (18) قانون بودجه سال 1402 کل کشور (فرم ب)`} + {`فرم خلاصه اطلاعات تایید شده طرح متقاضی استفاده از تسهیلات موضوع جزء 1 تا 9 بند (الف) تبصره (18) قانون بودجه سال 1401 کل کشور (فرم ب)`} diff --git a/src/core/data/apiRoutes.js b/src/core/data/apiRoutes.js index e96af16..615dda4 100644 --- a/src/core/data/apiRoutes.js +++ b/src/core/data/apiRoutes.js @@ -231,3 +231,7 @@ export const GET_LOAN_DISTRIBUTION = BASE_URL + "/dashboard/reports/navgan/loan_ export const GET_LOAN_HISTORY = BASE_URL + "/dashboard/navgan_loans" export const GET_HISTORY_DETAIL = BASE_URL + "/dashboard/navgan_loans" export const EXPORT_LOAN_HISTORY = BASE_URL + "/dashboard/navgan_loans/export" + +// loan statistics +export const GET_LOAN_STATISTICS = BASE_URL + "/dashboard/reports/navgan/statistics" + diff --git a/src/core/data/sidebarMenu.jsx b/src/core/data/sidebarMenu.jsx index d53267f..a618eb7 100644 --- a/src/core/data/sidebarMenu.jsx +++ b/src/core/data/sidebarMenu.jsx @@ -44,6 +44,15 @@ const sidebarMenu = [ selected: false, permission: "view_navgan_loans", }, + { + key: "sidebar.loan-history-province", + name: "loan-history", + type: "page", + route: "/dashboard/loan-history", + icon: , + selected: false, + permission: "view_navgan_loans_province", + }, ], [ { key: "sidebar.passenger-office-chief", diff --git a/src/pages/dashboard/loan-history/index.jsx b/src/pages/dashboard/loan-history/index.jsx index 04ab36a..b451589 100644 --- a/src/pages/dashboard/loan-history/index.jsx +++ b/src/pages/dashboard/loan-history/index.jsx @@ -15,7 +15,7 @@ export async function getServerSideProps({req, locale}) { title: "Dashboard.loan_history", isBot, locale, - layout: {name: 'DashboardLayout', props: {permissions: ["view_navgan_loans"]}} + layout: {name: 'DashboardLayout', props: {permissions: ["view_navgan_loans", "view_navgan_loans_province"]}} }, }; }