diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json
index 8b46a4d..338349a 100644
--- a/public/locales/fa/app.json
+++ b/public/locales/fa/app.json
@@ -43,7 +43,6 @@
"sidebar": {
"dashboard": "داشبورد",
"reports": "گزارشات",
- "passenger-office-chief": "اداره مسافر",
"admin-setting": "تنظیمات ",
"machinery-expert": "کارتابل کارشناسی",
"passenger-boss": "کارتابل کارگروه",
@@ -67,7 +66,6 @@
"reserve-loan": "وام های رزرو"
},
"secondary": {
- "passenger-office": "توزیع درخواست",
"passenger-boss": "کارگروه",
"refahi-province-manager": "رفاهی",
"refahi-loan-management": "رفاهی",
@@ -115,9 +113,7 @@
"change_password": "تغییر رمز عبور",
"province_manager_page": "بررسی وام های تبصره 18",
"province_head_expert": "کارشناس ستادی",
- "passenger_office_page": "اداره مسافر",
"loan_management_page": "مدیریت وام",
- "machinary_office_page": "کارتابل کارشناسی",
"reserve_loans": "وام های رزرو",
"development_assistant_page": "معاون توسعه",
"inspector_expert_page": "بازدید کارشناس",
@@ -182,25 +178,6 @@
"success_static_text": "عملیات شما با موفقیت انجام شد",
"pending": "در حال انجام..."
},
- "PassengerOffice": {
- "name": "نام",
- "shenase_meli": "شناسه ملی",
- "is_legal_person": "نوع شخص",
- "haghighi": "حقیقی",
- "hoghoghi": "حقوقی",
- "id": "کد یکتا",
- "national_id": "کد ملی",
- "phone_number": "موبایل",
- "created_at": "تاریخ درخواست",
- "updated_at": "تاریخ بروزرسانی",
- "navgan_id": "کد ناوگان",
- "vehicle_type": "نوع ماشین",
- "state_name": "وضعیت درخواست",
- "confirm": "ارجاع به کارشناس ماشین آلات",
- "upload_file_unit": "فایل بارگذاری شده باید حداکثر 5Mb باشد",
- "upload_file_format": "فرمت قابل قبول : png,jpg,pdf",
- "excel_report": "گزارش اکسل"
- },
"CommercialChief": {
"name": "نام",
"id": "کد یکتا",
@@ -408,41 +385,6 @@
"vehicle_type": "نوع ماشین",
"state_name": "وضعیت درخواست"
},
- "MachinaryOffice": {
- "name": "نام",
- "city_name": "شهرستان",
- "plate_number": "پلاک",
- "statement_count": "تعداد صورت وضعیت",
- "id": "کد یکتا",
- "score": "اولویت",
- "navgan_capacity": "ظرفیت",
- "manufacture_date": "سال ساخت",
- "shenase_meli": "شناسه ملی",
- "is_legal_person": "نوع شخص",
- "haghighi": "حقیقی",
- "hoghoghi": "حقوقی",
- "national_id": "کد ملی",
- "phone_number": "موبایل",
- "created_at": "تاریخ درخواست",
- "updated_at": "تاریخ بروزرسانی",
- "province_name": "استان",
- "navgan_id": "کد ناوگان",
- "vehicle_type": "نوع ماشین",
- "state_name": "وضعیت درخواست",
- "confirm": "ارجاع به کارگروه",
- "upload_file": "گزارش کارشناسی را بارگذاری کنید",
- "upload_file_required": "وارد کردن گزارش کارشناسی الزامیست",
- "upload_file_unit": "فایل بارگذاری شده باید حداکثر 5Mb باشد",
- "upload_file_format": "فرمت قابل قبول : png,jpg,pdf",
- "print_report": "چاپ گزارش کارشناسی",
- "max_amount": "حداکثر مبلغ پیشنهادی {value} میلیون ریال می باشد",
- "excel_report": "گزارش اکسل",
- "reserve-loan-title": "رزرو وام",
- "description-reserve-loan-first": "آیا از رزرو وام به کد یکتا",
- "description-reserve-loan-second": "اطمینان دارید؟",
- "button-reserve-cancel": "بستن",
- "button-reserve-confirm": "رزرو"
- },
"ReserveLoan": {
"title": "بازگردانی",
"description-loan-first": "آیا از بازگردانی وام به کد یکتا",
diff --git a/src/components/dashboard/machinary-office/Buttons/printExcel.jsx b/src/components/dashboard/machinary-office/Buttons/printExcel.jsx
deleted file mode 100644
index f1333e0..0000000
--- a/src/components/dashboard/machinary-office/Buttons/printExcel.jsx
+++ /dev/null
@@ -1,67 +0,0 @@
-import {Button, CircularProgress} from "@mui/material";
-import {useTranslations} from "next-intl";
-import {useMemo, useState} from "react";
-import useRequest from "@/lib/app/hooks/useRequest";
-import {EXPORT_MACHINARY_OFFICE} from "@/core/data/apiRoutes";
-import moment from "jalali-moment";
-import FileSaver from 'file-saver';
-import DescriptionIcon from '@mui/icons-material/Description';
-
-const PrintExcel = ({table}) => {
- const t = useTranslations();
- const [loading, setLoading] = useState(false)
- const requestServer = useRequest({auth: true, pending: false, success: {notification: {show: false}}})
- const {columnFilters, columnFilterFns, sorting} = table.getState()
- const columns = table.getAllColumns()
-
- const filterParams = useMemo(() => {
- const params = new URLSearchParams();
- const filters = columnFilters.map((filter) => {
- let datatype;
- for (const i in columns) {
- if (columns[i].id == filter.id) {
- datatype = columns[i].columnDef.datatype;
- }
- }
- return {
- ...filter, fn: columnFilterFns[filter.id], datatype: datatype,
- };
- });
- params.set("start", '0');
- params.set("filters", JSON.stringify(filters ?? []));
- params.set("sorting", JSON.stringify(sorting ?? []));
- return params;
- }, [columnFilters, columnFilterFns, sorting, columns,]);
-
-
- const clickHandler = () => {
- setLoading(true)
- requestServer(`${EXPORT_MACHINARY_OFFICE}?${filterParams}`, 'get', {
- auth: true,
- requestOptions: {responseType: 'blob'}
- }).then((response) => {
- const filename = `خروجی کارتابل کارشناسی تاریخ_${moment().format('jYYYY_jMM_jDD')}.xlsx`;
- FileSaver.saveAs(response.data, filename);
- }).catch(() => {
- }).finally(() => {
- setLoading(false)
- })
- }
-
-
- return (
- : }
- onClick={clickHandler}
- >
- {t("MachinaryOffice.excel_report")}
-
- )
-}
-
-export default PrintExcel
\ No newline at end of file
diff --git a/src/components/dashboard/machinary-office/Buttons/printReport.jsx b/src/components/dashboard/machinary-office/Buttons/printReport.jsx
deleted file mode 100644
index 47aab16..0000000
--- a/src/components/dashboard/machinary-office/Buttons/printReport.jsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import PrintIcon from "@mui/icons-material/Print";
-import {Button, CircularProgress} from "@mui/material";
-import {useTranslations} from "next-intl";
-import {useRouter} from "next/router";
-import {useState} from "react";
-import useRequest from "@/lib/app/hooks/useRequest";
-import {GET_MACHINARY_OFFICE} from "@/core/data/apiRoutes";
-import usePrint from "@/lib/app/hooks/usePrint";
-
-const PrintReport = () => {
- const t = useTranslations();
- const router = useRouter()
- const [loading, setLoading] = useState(false)
- const requestServer = useRequest({auth: true, pending: false, success: {notification: {show: false}}})
- const {setPrintPage, setPrintTitle} = usePrint()
- const clickHandler = () => {
- setLoading(true)
- const params = new URLSearchParams();
- params.set("start", '0');
- params.set("filters", '[]');
- params.set("sorting", '[]');
- requestServer(`${GET_MACHINARY_OFFICE}?${params}`, 'get').then((response) => {
- const _data = response.data.data
- setPrintPage(_data.length)
- setPrintTitle(t('MachinaryOffice.print_report'))
- sessionStorage.setItem('report-print', JSON.stringify(_data))
- router.push('/dashboard/machinery-expert/prints/report')
- }).catch(() => {
- setLoading(false)
- })
- }
-
- return (
- : }
- onClick={clickHandler}
- >
- {t("MachinaryOffice.print_report")}
-
- )
-}
-
-export default PrintReport
\ No newline at end of file
diff --git a/src/components/dashboard/machinary-office/Form/ConfirmForm/ConfirmContent.jsx b/src/components/dashboard/machinary-office/Form/ConfirmForm/ConfirmContent.jsx
deleted file mode 100644
index a1a6b1f..0000000
--- a/src/components/dashboard/machinary-office/Form/ConfirmForm/ConfirmContent.jsx
+++ /dev/null
@@ -1,378 +0,0 @@
-import UploadSystem from "@/core/components/UploadSystem";
-import useNotification from "@/lib/app/hooks/useNotification";
-import useRequest from "@/lib/app/hooks/useRequest";
-import {
- Button,
- DialogActions,
- DialogContent,
- FormHelperText,
- Grid,
- LinearProgress,
- Stack,
- TextField,
- Typography
-} from "@mui/material"
-import {useFormik} from "formik";
-import {useTranslations} from "next-intl";
-import {CONFIRM_MACHINARY_OFFICE, CONFIRM_MACHINARY_OFFICE_DETAILS} from "@/core/data/apiRoutes";
-import {useEffect, useState} from "react";
-import PriceField from "@/core/components/PriceField";
-import * as Yup from "yup";
-import CustomAccordion from "@/core/components/CustomAccordion";
-import ImageContent from "@/core/components/ImageContent";
-import SelectBox from "@/core/components/SelectBox";
-
-const vehicle_amount = {
- "اتوبوس": 7000,
- "مینی بوس": 2000,
-}
-const ConfirmContent = ({mutate, setOpenConfirmDialog, rowId, vehicle_type, handleSizeChangeClick}) => {
- const t = useTranslations();
- const [selectedImage, setSelectedImage] = useState("");
- const [fileType, setfileType] = useState(null);
- const [fileName, setfileName] = useState(null);
- const [showAddIcon, setShowAddIcon] = useState(true);
- const requestServer = useRequest({auth: true, notification: false})
- const {update_notification} = useNotification()
- const [accordionStates, setAccordionStates] = useState([]);
- const [hasImageShown, setHasImageShown] = useState(false);
- const [imageLink, setImageLink] = useState(null);
- const [detailsList, setDetailsData] = useState(null);
- const [loading, setLoading] = useState(true);
- const [isSkeleton, setIsSkeleton] = useState(false);
-
- useEffect(() => {
- requestServer(`${CONFIRM_MACHINARY_OFFICE_DETAILS}/${rowId}`, 'get')
- .then((response) => {
- const booleanData = Array.from({length: response.data.data.attachment_files.length}, () => false);
- setAccordionStates(booleanData);
- setDetailsData(response.data)
- })
- .catch(() => {
- }).finally(() => {
- setLoading(false);
- });
- }, []);
-
- const handleAccordionChange = (index) => {
- const newAccordionStates = accordionStates.map((state, i) => i === index ? !state : false);
- setAccordionStates(newAccordionStates);
-
- if (!newAccordionStates[index]) {
- handleSizeChangeClick('sm');
- setHasImageShown(false);
- setIsSkeleton(false)
- } else {
- handleSizeChangeClick('xl');
- setHasImageShown(true);
- setImageLink(detailsList.data.attachment_files[index])
- setIsSkeleton(true)
- }
- };
-
- const validationSchema = Yup.object().shape({
- proposed_amount: Yup.mixed()
- .test(
- "is-number",
- `${t("ConfirmDialog.proposed_amount_number")}`,
- (value) => !isNaN(value)
- )
- .test("max-amount", `${t("MachinaryOffice.max_amount", {value: parseInt(vehicle_amount[vehicle_type]).toLocaleString('en')})}`,
- (value) => value <= vehicle_amount[vehicle_type])
- .test("positive", `${t("ConfirmDialog.proposed_amount_positive")}`, (value) => value >= 0)
- .required(t("ConfirmDialog.proposed_amount_error")),
- sakht_period: Yup.mixed()
- .test("is-number", `${t("ConfirmDialog.sakht_period_number")}`,
- (value) => !isNaN(value))
- .test("positive", `${t("ConfirmDialog.sakht_period_positive")}`, (value) => value > 0)
- .required(t("ConfirmDialog.sakht_period_error")),
- tanafos_period: Yup.mixed()
- .test("is-number", `${t("ConfirmDialog.tanafos_period_number")}`,
- (value) => !isNaN(value))
- .test("positive", `${t("ConfirmDialog.tanafos_period_positive")}`, (value) => value > 0)
- .required(t("ConfirmDialog.tanafos_period_error")),
- confirm_img: Yup.mixed()
- .required(t("MachinaryOffice.upload_file_required"))
- .test('fileSize', `${t("MachinaryOffice.upload_file_unit")}`, (value) => {
- return value.size <= 5 * 1024 * 1024;
- })
- .test('fileType', `${t("MachinaryOffice.upload_file_format")}`, (value) => {
- const allowedTypes = ['image/jpg', 'image/jpeg', 'image/png', 'application/pdf'];
- return allowedTypes.includes(value.type);
- })
- });
- const formik = useFormik({
- initialValues: {
- description: "",
- proposed_amount: "",
- sakht_period: "",
- tanafos_period: "",
- confirm_img: null
- }, validationSchema,
- onSubmit: (values, {setSubmitting}) => {
- const formData = new FormData();
- formData.append("proposed_amount", values.proposed_amount);
- formData.append("sakht_period", values.sakht_period);
- formData.append("tanafos_period", values.tanafos_period);
- if (values.description != "") formData.append("expert_description", values.description);
- if (values.confirm_img != null) {
- const attachments = [
- {
- title: "فایل ضمیمه کارتابل قیمت گذاری",
- file: values.confirm_img
- }
- ];
- attachments.forEach((attachment, index) => {
- formData.append(`attachment[${index}][title]`, attachment.title);
- formData.append(`attachment[${index}][file]`, attachment.file);
- });
- }
- requestServer(`${CONFIRM_MACHINARY_OFFICE}/${rowId}`, 'post', {
- data: formData,
- notification: true
- }).then((response) => {
- setOpenConfirmDialog(false)
- mutate()
- update_notification()
- }).catch(() => {
- }).finally(() => {
- setSubmitting(false);
- });
- },
- });
-
- const handleDescriptionChange = (event) => {
- formik.setFieldValue("description", event.target.value)
- };
-
- const handleUploadChange = (event) => {
- const uploadedFile = event.target?.files?.[0];
- if (uploadedFile) {
- const fileType = event.target?.files?.[0].type;
- const fileName = event.target?.files?.[0].name;
- setSelectedImage(URL.createObjectURL(uploadedFile));
- setfileType(fileType);
- setfileName(fileName);
- formik.setFieldValue("confirm_img", uploadedFile).then(() => {
- formik.setFieldTouched("confirm_img", true);
- })
- setShowAddIcon(false);
- }
- };
- const handleAmountChange = (event) => {
- if (!isNaN(event.target.value)) {
- formik.setFieldValue("proposed_amount", event.target.value)
- } else {
- formik.setFieldValue("proposed_amount", formik.values.proposed_amount)
- }
- };
-
- const renderCustomAccordions = () => {
- if (detailsList && detailsList.data && detailsList.data.attachment_files) {
- return detailsList.data.attachment_files.map((file, index) => (
- handleAccordionChange(index)}
- accordionIndex={index}
- downloadFile={file.attachment}
- />
- ));
- }
- return null;
- };
-
- return (
- <>
-
-
-
- {loading ? : renderCustomAccordions()}
-
-
-
- {t("ConfirmDialog.description")}{t("ConfirmDialog.optional")}>}
- value={formik.values.description}
- onChange={handleDescriptionChange}
- fullWidth
- variant="outlined"
- sx={{mt: 1}}
- />
-
-
-
- {t("ConfirmDialog.proposed_amount")}{t("ConfirmDialog.unit")}>}
- type="text"
- inputProps={{
- inputMode: "number",
- min: 0,
- pattern: "[0-9]*",
- }}
- variant="outlined"
- value={formik.values.proposed_amount}
- onChange={handleAmountChange}
- onBlur={formik.handleBlur("proposed_amount")}
- error={
- formik.touched.proposed_amount &&
- Boolean(formik.errors.proposed_amount)
- }
- helperText={
- formik.touched.proposed_amount && formik.errors.proposed_amount
- }
- sx={{mt: 1}}
- fullWidth
- />
-
-
- {
- formik.setFieldValue('sakht_period', event.target.value)
- }}
- setFieldTouched={formik.setFieldTouched}
- error={formik.touched.sakht_period && Boolean(formik.errors.sakht_period)}
- helperText={formik.touched.sakht_period && formik.errors.sakht_period}
- onBlur={formik.handleBlur("sakht_period")}
- />
-
-
- {
- formik.setFieldValue('tanafos_period', event.target.value)
- }}
- setFieldTouched={formik.setFieldTouched}
- error={formik.touched.tanafos_period && Boolean(formik.errors.tanafos_period)}
- helperText={formik.touched.tanafos_period && formik.errors.tanafos_period}
- onBlur={formik.handleBlur("tanafos_period")}
- />
-
-
- {t("MachinaryOffice.upload_file")}
-
-
- {formik.touched.confirm_img && formik.errors.confirm_img}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- )
-
-}
-export default ConfirmContent
\ No newline at end of file
diff --git a/src/components/dashboard/machinary-office/Form/ConfirmForm/index.jsx b/src/components/dashboard/machinary-office/Form/ConfirmForm/index.jsx
deleted file mode 100644
index febb675..0000000
--- a/src/components/dashboard/machinary-office/Form/ConfirmForm/index.jsx
+++ /dev/null
@@ -1,51 +0,0 @@
-import {Dialog, DialogTitle, IconButton, Tooltip} from "@mui/material";
-import {useTranslations} from "next-intl";
-import {useEffect, useState} from "react";
-import ConfirmContent from "./ConfirmContent";
-import CallMadeIcon from '@mui/icons-material/CallMade';
-
-const Confirm = ({rowId, mutate, vehicle_type}) => {
- const t = useTranslations();
- const [openConfirmDialog, setOpenConfirmDialog] = useState(false);
- const [dialogSize, setDialogSize] = useState('sm');
-
- useEffect(() => {
- if (!openConfirmDialog) {
- setDialogSize('sm');
- }
- }, [openConfirmDialog]);
-
- const handleSizeChangeClick = (size) => {
- setDialogSize(size);
- };
-
-
- return (
- <>
-
- {
- setOpenConfirmDialog(true)
- }}
- >
-
-
-
-
- >
- )
-
-}
-export default Confirm;
\ No newline at end of file
diff --git a/src/components/dashboard/machinary-office/Form/RejectForm/RejectContent.jsx b/src/components/dashboard/machinary-office/Form/RejectForm/RejectContent.jsx
deleted file mode 100644
index afec59e..0000000
--- a/src/components/dashboard/machinary-office/Form/RejectForm/RejectContent.jsx
+++ /dev/null
@@ -1,147 +0,0 @@
-import UploadSystem from "@/core/components/UploadSystem"
-import useNotification from "@/lib/app/hooks/useNotification";
-import useRequest from "@/lib/app/hooks/useRequest";
-import {Button, DialogActions, DialogContent, FormHelperText, Stack, TextField, Typography} from "@mui/material"
-import {useFormik} from "formik";
-import {useTranslations} from "next-intl";
-import {useState} from "react";
-import * as Yup from "yup";
-import {REJECT_MACHINARY_OFFICE} from "@/core/data/apiRoutes";
-
-const RejectContent = ({rowId, mutate, setOpenRejectDialog}) => {
- const [selectedImage, setSelectedImage] = useState("");
- const [fileType, setfileType] = useState(null);
- const [fileName, setfileName] = useState(null);
- const [showAddIcon, setShowAddIcon] = useState(true);
- const t = useTranslations();
- const requestServer = useRequest({auth: true})
- const {update_notification} = useNotification()
-
- const validationSchema = Yup.object().shape({
- description: Yup.string().required(t("RejectDialog.description_error")),
- reject_img: Yup.mixed().notRequired(t("RejectDialog.choose_file"))
- .test('fileSize', `${t("MachinaryOffice.upload_file_unit")}`, (value) => {
- return !value || (value.size && value.size <= 5 * 1024 * 1024);
- })
- .test('fileType', `${t("MachinaryOffice.upload_file_format")}`, (value) => {
- const allowedTypes = ['image/jpg', 'image/jpeg', 'image/png', 'application/pdf']; // Define your allowed file types
- return !value || (value.type && allowedTypes.includes(value.type));
- }),
- });
-
- const formik = useFormik({
- initialValues: {
- description: "",
- reject_img: null
- },
- validationSchema,
- onSubmit: (values, {setSubmitting}) => {
- const formData = new FormData();
- formData.append("expert_description", values.description);
- if (values.reject_img != null) {
- const attachments = [
- {
- title: "فایل ضمیمه کارتابل قیمت گذاری",
- file: values.reject_img
- }
- ];
- attachments.forEach((attachment, index) => {
- formData.append(`attachment[${index}][title]`, attachment.title);
- formData.append(`attachment[${index}][file]`, attachment.file);
- });
- }
- requestServer(`${REJECT_MACHINARY_OFFICE}/${rowId}`, 'post', {
- data: formData,
- }).then((response) => {
- setOpenRejectDialog(false)
- mutate()
- update_notification()
- }).catch(() => {
- }).finally(() => {
- setSubmitting(false);
- });
- },
- });
-
- const handleDescriptionChange = (event) => {
- formik.setFieldValue("description", event.target.value);
- formik.handleChange(event);
- };
- const handleUploadChange = (event) => {
- const uploadedFile = event.target?.files?.[0];
- if (uploadedFile) {
- const fileType = event.target?.files?.[0].type;
- const fileName = event.target?.files?.[0].name;
- setSelectedImage(URL.createObjectURL(uploadedFile));
- setfileType(fileType);
- setfileName(fileName);
- formik.setFieldValue("reject_img", uploadedFile).then(() => {
- formik.setFieldTouched("reject_img", true);
- })
- setShowAddIcon(false);
- }
- };
- return (
- <>
-
-
-
-
-
-
- {t("UploadSystem.upload_file")}{t("UploadSystem.optional")}
- formik.handleBlur("reject_img")}
- error={
- formik.touched.reject_img &&
- Boolean(formik.errors.reject_img)
- }
- />
-
- {formik.touched.reject_img && formik.errors.reject_img}
-
-
-
-
-
-
-
-
- >
- )
-}
-export default RejectContent
\ No newline at end of file
diff --git a/src/components/dashboard/machinary-office/Form/RejectForm/index.jsx b/src/components/dashboard/machinary-office/Form/RejectForm/index.jsx
deleted file mode 100644
index 06608f5..0000000
--- a/src/components/dashboard/machinary-office/Form/RejectForm/index.jsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import {Dialog, DialogTitle, IconButton, Tooltip} from "@mui/material"
-import {useTranslations} from "next-intl";
-import {useState} from "react";
-import RejectContent from "./RejectContent";
-import ThumbDownIcon from "@mui/icons-material/ThumbDown";
-
-const Reject = ({rowId, mutate}) => {
- const t = useTranslations();
- const [openRejectDialog, setOpenRejectDialog] = useState(false);
- return (
- <>
-
- setOpenRejectDialog(true)}>
-
-
-
-
- >
- )
-}
-export default Reject
\ No newline at end of file
diff --git a/src/components/dashboard/machinary-office/Form/ReserveForm/index.jsx b/src/components/dashboard/machinary-office/Form/ReserveForm/index.jsx
deleted file mode 100644
index e7b08fb..0000000
--- a/src/components/dashboard/machinary-office/Form/ReserveForm/index.jsx
+++ /dev/null
@@ -1,75 +0,0 @@
-import {
- Button,
- Dialog,
- DialogActions,
- DialogContent,
- DialogTitle,
- IconButton,
- Tooltip, Typography
-} from "@mui/material";
-import {useTranslations} from "next-intl";
-import {useState} from "react";
-import RepartitionIcon from '@mui/icons-material/Repartition';
-import useRequest from "@/lib/app/hooks/useRequest";
-import useNotification from "@/lib/app/hooks/useNotification";
-import {RESERVE_MACHINARY_LOAN} from "@/core/data/apiRoutes";
-
-const ReserveForm = ({rowId, mutate}) => {
- const t = useTranslations();
- const [openConfirmDialog, setOpenConfirmDialog] = useState(false);
- const requestServer = useRequest({auth: true, notification: true});
- const [isSubmitting, setIsSubmitting] = useState(false);
- const {update_notification} = useNotification()
-
- const handleSubmit = () => {
- setIsSubmitting(true)
- requestServer(`${RESERVE_MACHINARY_LOAN}/${rowId}`, 'post').then((response) => {
- setOpenConfirmDialog(false)
- mutate()
- update_notification()
- }).catch(() => {
- }).finally(() => {
- setIsSubmitting(false)
- });
- }
-
- return (
- <>
-
- {
- setOpenConfirmDialog(true)
- }}
- >
-
-
-
-
- >
- )
-
-}
-export default ReserveForm;
\ No newline at end of file
diff --git a/src/components/dashboard/machinary-office/Prints/report/Content.jsx b/src/components/dashboard/machinary-office/Prints/report/Content.jsx
deleted file mode 100644
index 8098ecb..0000000
--- a/src/components/dashboard/machinary-office/Prints/report/Content.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import PrintablePage from "@/core/components/PrintablePage";
-import {Box, Stack, Typography} from "@mui/material";
-
-const Content = ({data}) => {
- return (
- <>
-
-
- {'گزارش کارشناسی ماشین آلات'}
-
-
- {'با توجه به نامه شماره'}
- 35482
- {'مورخ'}
- 1402/08/20
- {'معاون محترم برنامه ریزی سازمان راهداری و حمل و نقل جاده ای در خصوص تسهیلات بند (الف) تبصره (18) قانون بودجه سال'}
- 1402
- {'موضوع بازسازی ناوگان اتوبوس و مینی بوس و نیز تصویب آن درشورای برنامه ریزی و توسعه استان'}
- تهران
- {'و نامه شماره'}
- 35482
- {'مورخ'}
- 1402/08/20
- {'اداره کل راهداری و حمل و نقل جاده ای'}
- تهران
- {'در خصوص استفاده از ظرفیت انجمن های صنفی رانندگان در تاریخ'}
- 1402/08/20
- {'از ناوگان اتوبوس/مینی بوس به شماره پلاک انتظامی'}
- 25پ4582
- {'و شماره هوشمند ناوگان'}
- 5875698725
- {'به مالکیت آقای'}
- امیرحسین محمودی
- {'با کد ملی'}
- 0311318897
- {'و شماره تماس'}
- 09120630655
- {'ساکن شهرستان'}
- تهران
- {'در جلسه مطرح شد که نتیجه آن به شرح ذیل مورد تایید می باشد.'}
-
-
- {'مبلغ پیشنهادی به عدد .............................................. ریال و به حروف ...................................................................... ریال می باشد.'}
- {'توضیحات : ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................'}
-
- {'نام و نام خانوادگی کارشناس:'}
- {'تاریخ و امضاء'}
-
-
-
- >
- )
-}
-
-export default Content
\ No newline at end of file
diff --git a/src/components/dashboard/machinary-office/Prints/report/index.jsx b/src/components/dashboard/machinary-office/Prints/report/index.jsx
deleted file mode 100644
index 54dca24..0000000
--- a/src/components/dashboard/machinary-office/Prints/report/index.jsx
+++ /dev/null
@@ -1,60 +0,0 @@
-import {useEffect, useState} from "react";
-import CenterLayout from "@/layouts/CenterLayout";
-import {useTranslations} from "next-intl";
-import {Stack, Typography} from "@mui/material";
-import Content from "@/components/dashboard/machinary-office/Prints/report/Content";
-
-const ReportComponent = () => {
- const t = useTranslations()
- const [data, setData] = useState(null)
- const [loading, setLoading] = useState(true)
- const [isNotData, setIsNotData] = useState(true)
-
- useEffect(() => {
- if (sessionStorage.getItem('report-print') === null) {
- setLoading(false)
- setIsNotData(true)
- sessionStorage.setItem('report-print', 'seen')
- } else if (sessionStorage.getItem('report-print') === 'seen') {
- setLoading(false)
- setData(null)
- setIsNotData(true)
- } else if (data) {
- setLoading(false)
- sessionStorage.setItem('report-print', 'seen')
- setIsNotData(false)
- } else {
- setLoading(true)
- setData(JSON.parse(sessionStorage.getItem('report-print')))
- setIsNotData(true)
- }
- }, [data]);
-
- return (
-
- {loading ? (
-
-
-
- {t('print_loading')}
-
-
-
- ) : !data ? (
-
-
- {t('data_not_found')}
-
-
- ) : !data.length ? (
-
-
- {t('data_not_found')}
-
-
- ) : data.map(item => )}
-
- )
-}
-
-export default ReportComponent
\ No newline at end of file
diff --git a/src/components/dashboard/machinary-office/TableRowActions.jsx b/src/components/dashboard/machinary-office/TableRowActions.jsx
deleted file mode 100644
index 0e111cb..0000000
--- a/src/components/dashboard/machinary-office/TableRowActions.jsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import {Box} from "@mui/material";
-import Confirm from "./Form/ConfirmForm";
-import Reject from "./Form/RejectForm";
-import ReserveForm from "@/components/dashboard/machinary-office/Form/ReserveForm";
-
-const TableRow = ({row, mutate}) => {
- return (
-
-
-
-
-
- );
-};
-
-export default TableRow;
diff --git a/src/components/dashboard/machinary-office/TableToolbar.jsx b/src/components/dashboard/machinary-office/TableToolbar.jsx
deleted file mode 100644
index c1e6672..0000000
--- a/src/components/dashboard/machinary-office/TableToolbar.jsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import {Stack} from "@mui/material";
-import PrintExcel from "@/components/dashboard/machinary-office/Buttons/printExcel";
-
-const TableToolbar = ({table}) => {
- return (
-
- {/**/}
-
-
- )
-}
-
-export default TableToolbar
\ No newline at end of file
diff --git a/src/components/dashboard/machinary-office/index.jsx b/src/components/dashboard/machinary-office/index.jsx
deleted file mode 100644
index dbf72f0..0000000
--- a/src/components/dashboard/machinary-office/index.jsx
+++ /dev/null
@@ -1,331 +0,0 @@
-import {Box, Stack, Typography} from "@mui/material";
-import {useMemo} from "react";
-import {GET_MACHINARY_OFFICE} from "@/core/data/apiRoutes";
-import {useTranslations} from "next-intl";
-import TableRowActions from "./TableRowActions";
-import moment from "jalali-moment";
-import DataTable from "@/core/components/DataTable";
-import MuiDatePicker from "@/core/components/MuiDatePicker";
-import TableToolbar from "@/components/dashboard/machinary-office/TableToolbar";
-
-function DashboardMachinaryOfficeComponent() {
- const t = useTranslations();
- const columns = useMemo(
- () => [
- {
- accessorFn: (row) => row.id,
- id: "id",
- header: t("MachinaryOffice.id"),
- enableColumnFilter: true,
- datatype: "numeric",
- filterFn: "equals",
- columnFilterModeOptions: [
- "equals",
- "notEquals",
- "contains",
- "lessThan",
- "greaterThan",
- "between",
- ],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.score,
- id: "score",
- header: t("MachinaryOffice.score"),
- enableColumnFilter: true,
- datatype: "numeric",
- filterFn: "equals",
- columnFilterModeOptions: [
- "equals",
- "notEquals",
- "contains",
- "lessThan",
- "greaterThan",
- "between",
- ],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.is_legal_person,
- id: "is_legal_person",
- header: t("MachinaryOffice.is_legal_person"),
- enableColumnFilter: false,
- datatype: "numeric",
- filterFn: "equals",
- columnFilterModeOptions: ["equals"],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue === 1 ? `${t("MachinaryOffice.hoghoghi")}` : `${t("MachinaryOffice.haghighi")}`}
- ),
- },
- {
- accessorFn: (row) => row.navgan_id,
- id: "navgan_id",
- header: t("MachinaryOffice.navgan_id"),
- enableColumnFilter: true,
- datatype: "numeric",
- filterFn: "equals",
- columnFilterModeOptions: [
- "equals",
- "notEquals",
- "contains",
- "lessThan",
- "greaterThan",
- "between",
- ],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.name,
- id: "name",
- header: t("MachinaryOffice.name"),
- enableColumnFilter: true,
- datatype: "text",
- filterFn: "contains",
- columnFilterModeOptions: ["contains", "equals", "notEquals"],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.national_id,
- id: "national_id",
- header: t("MachinaryOffice.national_id"),
- enableColumnFilter: true,
- datatype: "numeric",
- filterFn: "equals",
- columnFilterModeOptions: [
- "equals",
- "notEquals",
- "contains",
- "lessThan",
- "greaterThan",
- "between",
- ],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.shenase_meli,
- id: "shenase_meli",
- header: t("MachinaryOffice.shenase_meli"),
- enableColumnFilter: true,
- datatype: "numeric",
- filterFn: "equals",
- columnFilterModeOptions: [
- "equals",
- "notEquals",
- "contains",
- "lessThan",
- "greaterThan",
- "between",
- ],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.province_name,
- id: "province_name",
- header: t("MachinaryOffice.province_name"),
- enableColumnFilter: true,
- datatype: "text",
- filterFn: "contains",
- columnFilterModeOptions: ["contains", "equals", "notEquals"],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.city_name,
- id: "city_name",
- header: t("MachinaryOffice.city_name"),
- enableColumnFilter: true,
- datatype: "text",
- filterFn: "contains",
- columnFilterModeOptions: ["contains", "equals", "notEquals"],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) =>
- moment(row.created_at).locale("fa").format("HH:mm | yyyy/MM/DD"),
- id: "created_at",
- header: t("MachinaryOffice.created_at"),
- enableColumnFilter: true,
- datatype: "date",
- filterFn: "lessThan",
- columnFilterModeOptions: ["lessThan", "greaterThan"],
- Cell: ({renderedCellValue}) => {
- return {renderedCellValue};
- },
- Header: ({column}) => <>{column.columnDef.header}>,
- Filter: ({column}) => {
- return (
-
- );
- },
- },
- {
- accessorFn: (row) => row.phone_number,
- id: "phone_number",
- header: t("MachinaryOffice.phone_number"),
- enableColumnFilter: true,
- datatype: "numeric",
- filterFn: "equals",
- columnFilterModeOptions: [
- "equals",
- "notEquals",
- "contains",
- "lessThan",
- "greaterThan",
- "between",
- ],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.statement_count,
- id: "statement_count",
- header: t("MachinaryOffice.statement_count"),
- enableColumnFilter: true,
- datatype: "numeric",
- filterFn: "equals",
- columnFilterModeOptions: [
- "equals",
- ],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.navgan_capacity,
- id: "navgan_capacity",
- header: t("MachinaryOffice.navgan_capacity"),
- enableColumnFilter: true,
- datatype: "numeric",
- filterFn: "equals",
- columnFilterModeOptions: [
- "equals",
- "notEquals",
- "contains",
- "lessThan",
- "greaterThan",
- "between",
- ],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.manufacture_date,
- id: "manufacture_date",
- header: t("MachinaryOffice.manufacture_date"),
- enableColumnFilter: true,
- datatype: "numeric",
- filterFn: "equals",
- columnFilterModeOptions: [
- "equals",
- "notEquals",
- "contains",
- "lessThan",
- "greaterThan",
- "between",
- ],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.vehicle_type,
- id: "vehicle_type",
- header: t("MachinaryOffice.vehicle_type"),
- enableColumnFilter: true,
- datatype: "text",
- filterFn: "contains",
- columnFilterModeOptions: ["contains", "equals", "notEquals"],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.plate_number,
- id: "plate_number",
- header: t("MachinaryOffice.plate_number"),
- enableColumnFilter: false,
- datatype: "text",
- filterFn: "contains",
- columnFilterModeOptions: ["contains", "equals", "notEquals"],
- Cell: ({renderedCellValue}) => (
-
-
- {renderedCellValue.split('-')[3]}
-
-
- {renderedCellValue.split('-')[2]}
- {renderedCellValue.split('-')[1]}
- {renderedCellValue.split('-')[0]}
-
-
- ),
- },
- {
- accessorFn: (row) => row.state_name,
- id: "state_id",
- header: t("MachinaryOffice.state_name"),
- enableColumnFilter: false,
- datatype: "numeric",
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- ],
- []
- );
- return (
-
-
-
- );
-}
-
-export default DashboardMachinaryOfficeComponent;
diff --git a/src/components/dashboard/passenger-office/Buttons/printExcel.jsx b/src/components/dashboard/passenger-office/Buttons/printExcel.jsx
deleted file mode 100644
index c78075a..0000000
--- a/src/components/dashboard/passenger-office/Buttons/printExcel.jsx
+++ /dev/null
@@ -1,68 +0,0 @@
-import {Button, CircularProgress} from "@mui/material";
-import {useTranslations} from "next-intl";
-import {useMemo, useState} from "react";
-import useRequest from "@/lib/app/hooks/useRequest";
-import {EXPORT_PASSENGER_OFFICE} from "@/core/data/apiRoutes";
-import moment from "jalali-moment";
-import FileSaver from 'file-saver';
-import DescriptionIcon from '@mui/icons-material/Description';
-
-const PrintExcel = ({table}) => {
- const t = useTranslations();
- const [loading, setLoading] = useState(false)
- const requestServer = useRequest({auth: true, pending: false, success: {notification: {show: false}}})
- const {columnFilters, columnFilterFns, sorting} = table.getState()
- const columns = table.getAllColumns()
-
- const filterParams = useMemo(() => {
- const params = new URLSearchParams();
- const filters = columnFilters.map((filter) => {
- let datatype;
- for (const i in columns) {
- if (columns[i].id == filter.id) {
- datatype = columns[i].columnDef.datatype;
- }
- }
- return {
- ...filter, fn: columnFilterFns[filter.id], datatype: datatype,
- };
- });
- params.set("start", '0');
- params.set("filters", JSON.stringify(filters ?? []));
- params.set("sorting", JSON.stringify(sorting ?? []));
- return params;
- }, [columnFilters, columnFilterFns, sorting, columns,]);
-
-
- const clickHandler = () => {
- setLoading(true)
- requestServer(`${EXPORT_PASSENGER_OFFICE}?${filterParams}`, 'get', {
- auth: true,
- notification: false,
- requestOptions: {responseType: 'blob'}
- }).then((response) => {
- const filename = `گزارش اداره مسافر تاریخ_${moment().format('jYYYY_jMM_jDD')}.xlsx`;
- FileSaver.saveAs(response.data, filename);
- }).catch(() => {
- }).finally(() => {
- setLoading(false)
- })
- }
-
-
- return (
- : }
- onClick={clickHandler}
- >
- {t("PassengerOffice.excel_report")}
-
- )
-}
-
-export default PrintExcel
\ No newline at end of file
diff --git a/src/components/dashboard/passenger-office/Form/ConfirmForm/ConfirmContent.jsx b/src/components/dashboard/passenger-office/Form/ConfirmForm/ConfirmContent.jsx
deleted file mode 100644
index 846291b..0000000
--- a/src/components/dashboard/passenger-office/Form/ConfirmForm/ConfirmContent.jsx
+++ /dev/null
@@ -1,135 +0,0 @@
-import UploadSystem from "@/core/components/UploadSystem";
-import useNotification from "@/lib/app/hooks/useNotification";
-import useRequest from "@/lib/app/hooks/useRequest";
-import {Button, DialogActions, DialogContent, FormHelperText, Stack, TextField, Typography} from "@mui/material"
-import {useFormik} from "formik";
-import {useTranslations} from "next-intl";
-import {CONFIRM_PASSENGER_OFFICE} from "@/core/data/apiRoutes";
-import {useState} from "react";
-import * as Yup from "yup";
-
-const ConfirmContent = ({rowId, mutate, setOpenConfirmDialog}) => {
- const t = useTranslations();
- const [selectedImage, setSelectedImage] = useState("");
- const [fileType, setfileType] = useState(null);
- const [fileName, setfileName] = useState(null);
- const [showAddIcon, setShowAddIcon] = useState(true);
- const requestServer = useRequest({auth: true})
- const {update_notification} = useNotification()
-
- const validationSchema = Yup.object().shape({
- confirm_img: Yup.mixed().notRequired(t("ConfirmDialog.approved_amount_error"))
- .test('fileSize', `${t("PassengerOffice.upload_file_unit")}`, (value) => {
- if (!value) return true
- return value.size <= 5 * 1024 * 1024;
- })
- .test('fileType', `${t("PassengerOffice.upload_file_format")}`, (value) => {
- if (!value) return true
- const allowedTypes = ['image/jpg', 'image/jpeg', 'image/png', 'application/pdf']; // Define your allowed file types
- return allowedTypes.includes(value.type);
- })
- })
-
- const formik = useFormik({
- initialValues: {
- description: "",
- confirm_img: null
- }, validationSchema,
- onSubmit: (values, {setSubmitting}) => {
- const formData = new FormData();
- if (values.description != "") formData.append("description", values.description);
- if (values.confirm_img != null) formData.append("attachment", values.confirm_img);
-
- requestServer(`${CONFIRM_PASSENGER_OFFICE}/${rowId}`, 'post', {
- data: formData,
- }).then((response) => {
- setOpenConfirmDialog(false)
- mutate()
- update_notification()
- }).catch(() => {
- }).finally(() => {
- setSubmitting(false);
- });
- },
- });
-
- const handleDescriptionChange = (event) => {
- formik.setFieldValue("description", event.target.value)
- };
-
- const handleUploadChange = (event) => {
- const uploadedFile = event.target?.files?.[0];
- if (uploadedFile) {
- const fileType = event.target?.files?.[0].type;
- const fileName = event.target?.files?.[0].name;
- setSelectedImage(URL.createObjectURL(uploadedFile));
- setfileType(fileType);
- setfileName(fileName);
- formik.setFieldValue("confirm_img", uploadedFile).then(() => {
- formik.setFieldTouched("confirm_img", true);
- })
- setShowAddIcon(false);
- }
- };
-
- return (
- <>
-
-
-
-
- {t("ConfirmDialog.description")}{t("ConfirmDialog.optional")}>}
- value={formik.values.description}
- onChange={handleDescriptionChange}
- fullWidth
- variant="outlined"
- sx={{mt: 1}}
- />
-
-
- {t("UploadSystem.upload_file")}{t("UploadSystem.optional")}
- formik.handleBlur("confirm_img")}
- error={
- formik.touched.confirm_img &&
- Boolean(formik.errors.confirm_img)
- }
- />
-
- {formik.touched.confirm_img && formik.errors.confirm_img}
-
-
-
-
-
-
-
-
- >
- )
-
-}
-export default ConfirmContent
\ No newline at end of file
diff --git a/src/components/dashboard/passenger-office/Form/ConfirmForm/index.jsx b/src/components/dashboard/passenger-office/Form/ConfirmForm/index.jsx
deleted file mode 100644
index fa47fcf..0000000
--- a/src/components/dashboard/passenger-office/Form/ConfirmForm/index.jsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import {Dialog, DialogTitle, IconButton, Tooltip} from "@mui/material";
-import {useTranslations} from "next-intl";
-import {useState} from "react";
-import ConfirmContent from "./ConfirmContent";
-import CallMadeIcon from '@mui/icons-material/CallMade';
-const Confirm = ({rowId, mutate}) => {
- const t = useTranslations();
- const [openConfirmDialog, setOpenConfirmDialog] = useState(false);
- return (
- <>
-
- {
- setOpenConfirmDialog(true)
- }}
- >
-
-
-
-
- >
- )
-
-}
-export default Confirm;
\ No newline at end of file
diff --git a/src/components/dashboard/passenger-office/Form/RejectForm/RejectContent.jsx b/src/components/dashboard/passenger-office/Form/RejectForm/RejectContent.jsx
deleted file mode 100644
index 2a8a82d..0000000
--- a/src/components/dashboard/passenger-office/Form/RejectForm/RejectContent.jsx
+++ /dev/null
@@ -1,123 +0,0 @@
-import UploadSystem from "@/core/components/UploadSystem"
-import useNotification from "@/lib/app/hooks/useNotification";
-import useRequest from "@/lib/app/hooks/useRequest";
-import {Button, DialogActions, DialogContent, Stack, TextField, Typography} from "@mui/material"
-import {useFormik} from "formik";
-import {useTranslations} from "next-intl";
-import {useState} from "react";
-import * as Yup from "yup";
-import {REJECT_PASSENGER_OFFICE} from "@/core/data/apiRoutes";
-
-const RejectContent = ({rowId, mutate, setOpenRejectDialog}) => {
- const [selectedImage, setSelectedImage] = useState("");
- const [fileType, setfileType] = useState(null);
- const [fileName, setfileName] = useState(null);
- const [showAddIcon, setShowAddIcon] = useState(true);
- const t = useTranslations();
- const requestServer = useRequest({auth: true})
- const {update_notification} = useNotification()
-
- const validationSchema = Yup.object().shape({
- description: Yup.string().required(t("RejectDialog.description_error")),
- });
-
- const formik = useFormik({
- initialValues: {
- description: "",
- reject_img: null
- },
- validationSchema,
- onSubmit: (values, {setSubmitting}) => {
- const formData = new FormData();
- formData.append("expert_description", values.description);
- if (values.reject_img != null) formData.append("attachment", values.reject_img);
-
- requestServer(`${REJECT_PASSENGER_OFFICE}/${rowId}`, 'post', {
- data: formData,
- }).then((response) => {
- setOpenRejectDialog(false)
- mutate()
- update_notification()
- }).catch(() => {
- }).finally(() => {
- setSubmitting(false);
- });
- },
- });
-
- const handleDescriptionChange = (event) => {
- formik.setFieldValue("description", event.target.value);
- formik.handleChange(event);
- };
- const handleUploadChange = (event) => {
- const uploadedFile = event.target?.files?.[0];
- if (uploadedFile) {
- const maxFileSize = 2 * 1024 * 1024;
- if (uploadedFile.size > maxFileSize) {
- UploadFileNotification(t);
- event.target.value = "";
- return;
- }
- const fileType = event.target?.files?.[0].type;
- const fileName = event.target?.files?.[0].name;
- setSelectedImage(URL.createObjectURL(uploadedFile));
- setfileType(fileType);
- setfileName(fileName);
- formik.setFieldValue("reject_img", uploadedFile);
- setShowAddIcon(false);
- }
- };
- return (
- <>
-
-
-
-
-
-
- {t("UploadSystem.upload_file")}{t("UploadSystem.optional")}
-
-
-
-
-
-
-
-
- >
- )
-}
-export default RejectContent
\ No newline at end of file
diff --git a/src/components/dashboard/passenger-office/Form/RejectForm/index.jsx b/src/components/dashboard/passenger-office/Form/RejectForm/index.jsx
deleted file mode 100644
index 06608f5..0000000
--- a/src/components/dashboard/passenger-office/Form/RejectForm/index.jsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import {Dialog, DialogTitle, IconButton, Tooltip} from "@mui/material"
-import {useTranslations} from "next-intl";
-import {useState} from "react";
-import RejectContent from "./RejectContent";
-import ThumbDownIcon from "@mui/icons-material/ThumbDown";
-
-const Reject = ({rowId, mutate}) => {
- const t = useTranslations();
- const [openRejectDialog, setOpenRejectDialog] = useState(false);
- return (
- <>
-
- setOpenRejectDialog(true)}>
-
-
-
-
- >
- )
-}
-export default Reject
\ No newline at end of file
diff --git a/src/components/dashboard/passenger-office/TableRowActions.jsx b/src/components/dashboard/passenger-office/TableRowActions.jsx
deleted file mode 100644
index 985dd67..0000000
--- a/src/components/dashboard/passenger-office/TableRowActions.jsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import {Box} from "@mui/material";
-import Confirm from "./Form/ConfirmForm";
-import Reject from "./Form/RejectForm";
-
-const TableRow = ({row, mutate, fetchUrl}) => {
-
- return (
-
-
-
-
- );
-};
-
-export default TableRow;
diff --git a/src/components/dashboard/passenger-office/TableToolbar.jsx b/src/components/dashboard/passenger-office/TableToolbar.jsx
deleted file mode 100644
index 23f3c20..0000000
--- a/src/components/dashboard/passenger-office/TableToolbar.jsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import {Stack} from "@mui/material";
-import PrintExcel from "@/components/dashboard/passenger-office/Buttons/printExcel";
-
-const TableToolbar = ({table}) => {
-
- return (
-
-
-
- )
-}
-
-export default TableToolbar
\ No newline at end of file
diff --git a/src/components/dashboard/passenger-office/index.jsx b/src/components/dashboard/passenger-office/index.jsx
deleted file mode 100644
index 1e4f705..0000000
--- a/src/components/dashboard/passenger-office/index.jsx
+++ /dev/null
@@ -1,186 +0,0 @@
-import {Box, Typography} from "@mui/material";
-import {useMemo} from "react";
-import {GET_PASSENGER_OFFICE} from "@/core/data/apiRoutes";
-import {useTranslations} from "next-intl";
-import TableRowActions from "./TableRowActions";
-import moment from "jalali-moment";
-import DataTable from "@/core/components/DataTable";
-import MuiDatePicker from "@/core/components/MuiDatePicker";
-import TableToolbar from "@/components/dashboard/passenger-office/TableToolbar";
-
-function DashboardPassengerOfficeComponent() {
- const t = useTranslations();
-
- const columns = useMemo(
- () => [
- {
- accessorFn: (row) => row.id,
- id: "id",
- header: t("PassengerOffice.id"),
- enableColumnFilter: true,
- datatype: "numeric",
- filterFn: "equals",
- columnFilterModeOptions: [
- "equals",
- "notEquals",
- "contains",
- "lessThan",
- "greaterThan",
- "between",
- ],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.name,
- id: "name",
- header: t("PassengerOffice.name"),
- enableColumnFilter: true,
- datatype: "text",
- filterFn: "contains",
- columnFilterModeOptions: ["contains", "equals", "notEquals"],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.national_id,
- id: "national_id",
- header: t("PassengerOffice.national_id"),
- enableColumnFilter: true,
- datatype: "numeric",
- filterFn: "equals",
- columnFilterModeOptions: [
- "equals",
- "notEquals",
- "contains",
- "lessThan",
- "greaterThan",
- "between",
- ],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.phone_number,
- id: "phone_number",
- header: t("PassengerOffice.phone_number"),
- enableColumnFilter: true,
- datatype: "numeric",
- filterFn: "equals",
- columnFilterModeOptions: [
- "equals",
- "notEquals",
- "contains",
- "lessThan",
- "greaterThan",
- "between",
- ],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) =>
- moment(row.created_at).locale("fa").format("HH:mm | yyyy/MM/DD"),
- id: "created_at",
- header: t("PassengerOffice.created_at"),
- enableColumnFilter: true,
- datatype: "date",
- filterFn: "lessThan",
- columnFilterModeOptions: ["lessThan", "greaterThan"],
- Cell: ({renderedCellValue}) => {
- return {renderedCellValue};
- },
- Header: ({column}) => <>{column.columnDef.header}>,
- Filter: ({column}) => {
- return (
-
- );
- },
- },
- {
- accessorFn: (row) =>
- moment(row.updated_at).locale("fa").format("HH:mm | YYYY/MM/DD"),
- id: "updated_at",
- header: t("PassengerOffice.updated_at"),
- enableColumnFilter: false,
- datatype: "numeric",
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.navgan_id,
- id: "navgan_id",
- header: t("PassengerOffice.navgan_id"),
- enableColumnFilter: true,
- datatype: "numeric",
- filterFn: "equals",
- columnFilterModeOptions: [
- "equals",
- "notEquals",
- "contains",
- "lessThan",
- "greaterThan",
- "between",
- ],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.vehicle_type,
- id: "vehicle_type",
- header: t("PassengerOffice.vehicle_type"),
- enableColumnFilter: true,
- datatype: "text",
- filterFn: "contains",
- columnFilterModeOptions: ["contains", "equals", "notEquals"],
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- {
- accessorFn: (row) => row.state_name,
- id: "state_id",
- header: t("PassengerOffice.state_name"),
- enableColumnFilter: false,
- datatype: "numeric",
- Cell: ({renderedCellValue}) => (
- {renderedCellValue}
- ),
- },
- ],
- []
- );
- return (
-
-
-
- );
-}
-
-export default DashboardPassengerOfficeComponent;
diff --git a/src/core/data/sidebarMenu.jsx b/src/core/data/sidebarMenu.jsx
index c9b10f1..646a82e 100644
--- a/src/core/data/sidebarMenu.jsx
+++ b/src/core/data/sidebarMenu.jsx
@@ -1,6 +1,4 @@
import SpaceDashboardIcon from "@mui/icons-material/SpaceDashboard";
-import DirectionsCarFilledIcon from "@mui/icons-material/DirectionsCarFilled";
-import AirlineSeatReclineNormalIcon from "@mui/icons-material/AirlineSeatReclineNormal";
import DirectionsRailwayIcon from "@mui/icons-material/DirectionsRailway";
import AssignmentIndIcon from "@mui/icons-material/AssignmentInd";
import DesktopWindowsIcon from "@mui/icons-material/DesktopWindows";
@@ -48,26 +46,6 @@ const sidebarMenu = [
permissions: ["view_navgan_loans", "view_navgan_loans_province"],
},
], [
- {
- key: "sidebar.passenger-office-chief",
- secondary: "secondary.navgan-province-manager",
- name: "passenger_office_chief",
- type: "page",
- route: "/dashboard/passenger-office-chief",
- icon: ,
- selected: false,
- permissions: ["manage_passenger_office_navgan"],
- },
- {
- key: "sidebar.machinery-expert",
- secondary: "secondary.navgan-province-manager",
- name: "machinery_expert",
- type: "page",
- route: "/dashboard/machinery-expert",
- icon: ,
- selected: false,
- permissions: ["manage_machinery_navgan"],
- },
{
key: "sidebar.reserve-loan",
secondary: "secondary.navgan-province-manager",
diff --git a/src/pages/dashboard/machinery-expert/index.jsx b/src/pages/dashboard/machinery-expert/index.jsx
deleted file mode 100644
index df23f2e..0000000
--- a/src/pages/dashboard/machinery-expert/index.jsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import DashboardMachineryOfficeComponent from "@/components/dashboard/machinary-office";
-import {parse} from "next-useragent";
-
-export default function PassengerOffice() {
- return (
-
- );
-}
-
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
- return {
- props: {
- messages: (await import(`&/locales/${locale}/app.json`)).default,
- title: "Dashboard.machinary_office_page",
- isBot,
- locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_machinery_navgan"]}}
- },
- };
-}
diff --git a/src/pages/dashboard/machinery-expert/prints/report.jsx b/src/pages/dashboard/machinery-expert/prints/report.jsx
deleted file mode 100644
index 526851b..0000000
--- a/src/pages/dashboard/machinery-expert/prints/report.jsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import {parse} from "next-useragent";
-import ReportComponent from "@/components/dashboard/machinary-office/Prints/report";
-
-export default function Report() {
- return (
-
- )
-}
-
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
- return {
- props: {
- messages: (await import(`&/locales/${locale}/app.json`)).default,
- title: "Dashboard.machinary_office_page",
- isBot,
- locale,
- layout: {name: 'PrintLayout'}
- },
- };
-}
\ No newline at end of file
diff --git a/src/pages/dashboard/passenger-office-chief/index.jsx b/src/pages/dashboard/passenger-office-chief/index.jsx
deleted file mode 100644
index 5ca084e..0000000
--- a/src/pages/dashboard/passenger-office-chief/index.jsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import DashboardPassengerOfficeComponent from "@/components/dashboard/passenger-office";
-import {parse} from "next-useragent";
-
-export default function PassengerOffice() {
- return (
-
- );
-}
-
-export async function getServerSideProps({req, locale}) {
- const {isBot} = parse(req.headers["user-agent"]);
- return {
- props: {
- messages: (await import(`&/locales/${locale}/app.json`)).default,
- title: "Dashboard.passenger_office_page",
- isBot,
- locale,
- layout: {name: 'DashboardLayout', props: {permissions: ["manage_passenger_office_navgan"]}}
- },
- };
-}