diff --git a/public/locales/fa/app.json b/public/locales/fa/app.json
index 8a1a6f1..f9db612 100644
--- a/public/locales/fa/app.json
+++ b/public/locales/fa/app.json
@@ -522,12 +522,14 @@
"description_error": "وارد کردن توضیحات الزامی است!",
"optional": " (اختیاری)",
"approved_amount": "مبلغ تصویب شده",
- "edit_approved_amount": "ویرایش مبلغ تصویب شده",
"button-cancel": "بستن",
"button-edit": "ویرایش",
"edit_approved_amount_required": "وارد کردن مبلغ تصویب شده الزامیست",
"unit": " (میلیون ریال)",
"button-revise": "ارسال",
+ "approved_amount_positive": "مبلغ تصویب شده باید مثبت باشد",
+ "max_amount": "حداکثر مبلغ تصویب شده {value} میلیون ریال می باشد",
+ "approved_amount_number": "مبلغ تصویب شده باید عدد باشد",
"description": "توضیحات خود را وارد نمائید"
},
"UpdateDialog": {
diff --git a/src/components/dashboard/bank-management/Form/Edit/EditContent.jsx b/src/components/dashboard/bank-management/Form/Edit/EditContent.jsx
index cee3fcc..79b1961 100644
--- a/src/components/dashboard/bank-management/Form/Edit/EditContent.jsx
+++ b/src/components/dashboard/bank-management/Form/Edit/EditContent.jsx
@@ -3,25 +3,40 @@ import useRequest from "@/lib/app/hooks/useRequest";
import {Button, DialogActions, DialogContent, Stack,} from "@mui/material"
import {useFormik} from "formik";
import {useTranslations} from "next-intl";
-import {CONFIRM_TRANSPORTATION_ASSISTANCE} from "@/core/data/apiRoutes";
+import {EDIT_APPROVED_AMOUNT} from "@/core/data/apiRoutes";
import * as Yup from "yup";
import PriceField from "@/core/components/PriceField";
-const EditContent = ({rowId, row, mutate, setOpenEditDialog}) => {
+const vehicle_amount = {
+ "اتوبوس": 7000,
+ "مینی بوس": 2000,
+}
+
+const EditContent = ({rowId, row, mutate, setOpenEditDialog, vehicle_type}) => {
const t = useTranslations();
const requestServer = useRequest({auth: true, notification: false});
const {update_notification} = useNotification();
const validationSchema = Yup.object().shape({
- approved_amount: Yup.string().required(`${t("EditDialog.edit_approved_amount_required")}`)
+ approved_amount: Yup.mixed().test(
+ "is-number",
+ `${t("EditDialog.approved_amount_number")}`,
+ (value) => !isNaN(value)
+ ).test("max-amount", `${t("EditDialog.max_amount", {value: parseInt(vehicle_amount[vehicle_type]).toLocaleString('en')})}`,
+ (value) => value <= vehicle_amount[vehicle_type])
+ .test("positive", `${t("EditDialog.approved_amount_positive")}`, (value) => value >= 0)
+ .required(t("EditDialog.edit_approved_amount_required")),
})
const formik = useFormik({
initialValues: {
- approved_amount: String(row.original.approved_amount / 1000000),
+ approved_amount: String(row.original.approved_amount / 1000000)
}, validationSchema,
onSubmit: (values, {setSubmitting}) => {
- requestServer(`${CONFIRM_TRANSPORTATION_ASSISTANCE}/${rowId}`, 'post', {
+ requestServer(`${EDIT_APPROVED_AMOUNT}/${rowId}`, 'post', {
+ data: {
+ approved_amount: values.approved_amount
+ },
notification: true
}).then(() => {
setOpenEditDialog(false)
diff --git a/src/components/dashboard/bank-management/Form/Edit/index.jsx b/src/components/dashboard/bank-management/Form/Edit/index.jsx
index f443ef8..bc7a168 100644
--- a/src/components/dashboard/bank-management/Form/Edit/index.jsx
+++ b/src/components/dashboard/bank-management/Form/Edit/index.jsx
@@ -4,7 +4,7 @@ import {useState} from "react";
import EditIcon from '@mui/icons-material/Edit';
import EditContent from "@/components/dashboard/bank-management/Form/Edit/EditContent";
-const EditForm = ({rowId, row, mutate}) => {
+const EditForm = ({rowId, row, mutate, vehicle_type}) => {
const t = useTranslations();
const [openEditDialog, setOpenEditDialog] = useState(false);
@@ -30,6 +30,7 @@ const EditForm = ({rowId, row, mutate}) => {
{t("EditDialog.edit_approved_amount")}
>
diff --git a/src/components/dashboard/bank-management/TableRowActions.jsx b/src/components/dashboard/bank-management/TableRowActions.jsx
index 5fa249d..d11d62e 100644
--- a/src/components/dashboard/bank-management/TableRowActions.jsx
+++ b/src/components/dashboard/bank-management/TableRowActions.jsx
@@ -20,11 +20,16 @@ const TableRow = ({row, mutate}) => {
/>
)
}
-
+ {
+ row.original.bank_state == 8 && (
+
+ )
+ }
);
};
diff --git a/src/core/data/apiRoutes.js b/src/core/data/apiRoutes.js
index 7488c12..f7500f4 100644
--- a/src/core/data/apiRoutes.js
+++ b/src/core/data/apiRoutes.js
@@ -257,6 +257,7 @@ export const GET_BANK_STATEMENT = BASE_URL + "/dashboard/bank_referred_loans"
export const RESEND_BANK_STATEMENT = BASE_URL + "/dashboard/bank_referred_loans/send"
export const EXPORT_BANK_MANAGEMENT = BASE_URL + "/dashboard/bank_referred_loans/export"
export const REJECT_BANK_MANAGEMENT = BASE_URL + "/dashboard/bank_referred_loans/reject"
+export const EDIT_APPROVED_AMOUNT = BASE_URL + "/dashboard/bank_referred_loans/update"
// loan statistics
export const GET_LOAN_STATISTICS = BASE_URL + "/dashboard/reports/navgan/statistics"