push rasad front on new repo
This commit is contained in:
@@ -0,0 +1,424 @@
|
||||
import {
|
||||
TimelineConnector,
|
||||
TimelineContent,
|
||||
TimelineDot,
|
||||
TimelineItem,
|
||||
TimelineOppositeContent,
|
||||
TimelineSeparator,
|
||||
} from "@mui/lab";
|
||||
import { Button, Typography } from "@mui/material";
|
||||
import React, { useEffect } from "react";
|
||||
import { PropTypes } from "prop-types";
|
||||
import { Grid } from "../../../../components/grid/Grid";
|
||||
import { SimpleTable } from "../../../../components/simple-table/SimpleTable";
|
||||
import { SPACING } from "../../../../data/spacing";
|
||||
import { formatTime } from "../../../../utils/formatTime";
|
||||
import moment from "moment";
|
||||
import { Timer } from "../../../../components/timer/Timer";
|
||||
import { useDispatch, useSelector } from "react-redux";
|
||||
import { avicultureGetChickenPrice } from "../../../aviculture/services/aviculture-get-chicken-price";
|
||||
import { getRoleFromUrl } from "../../../../utils/getRoleFromUrl";
|
||||
// import { useSelector } from "react-redux";
|
||||
import CloseIcon from "@mui/icons-material/Close";
|
||||
import { DRAWER } from "../../../../lib/redux/slices/appSlice";
|
||||
import { CloseFileSubmitInfo } from "../close-file-submit-info/CloseFileSubmitInfo";
|
||||
|
||||
const CloseFileFinancialInfo = ({ data, auction }) => {
|
||||
const dispatch = useDispatch();
|
||||
useEffect(() => {
|
||||
dispatch(avicultureGetChickenPrice());
|
||||
}, []);
|
||||
|
||||
const { avicultureChickenPrice } = useSelector(
|
||||
(state) => state.avicultureSlice
|
||||
);
|
||||
|
||||
const liveChickenPrice = avicultureChickenPrice?.liveChickenPrice;
|
||||
|
||||
let barInfoColumns,
|
||||
barInfoData,
|
||||
financialColumns,
|
||||
financialColumnsCash,
|
||||
financialData,
|
||||
financialDataCash;
|
||||
const paymentDate = moment(new Date(data.paymentDeadLine));
|
||||
const currentDate = moment();
|
||||
const diff = paymentDate.diff(currentDate);
|
||||
const paymentRemainedSeconds = moment.duration(diff).asSeconds();
|
||||
|
||||
if (auction) {
|
||||
// columns = [
|
||||
// "کشتارگاه",
|
||||
// "تعداد",
|
||||
// "نام راننده",
|
||||
// "ماشین",
|
||||
// "وزن بار",
|
||||
// "سند خودرو بدون بار",
|
||||
// "سند خودرو با بار",
|
||||
// "وضعیت",
|
||||
// ];
|
||||
// item = [
|
||||
// [
|
||||
// data.quantity + " قطعه",
|
||||
// data.cars.driverName + ` (${data.cars.driverMobile})`,
|
||||
// `${data.cars.typeCar} با پلاک ${data.cars.pelak}`,
|
||||
// data.barInfo.killHouseNetWeight + " کیلوگرم",
|
||||
// data.barInfo.killHouseNetWeight + " کیلوگرم",
|
||||
// <a
|
||||
// href={data.barInfo.killHouseImageWithoutLoad}
|
||||
// alt="دانلود سند خودرو بدون بار"
|
||||
// key="provinceKillRequests"
|
||||
// >
|
||||
// <img
|
||||
// src={data.barInfo.killHouseImageWithoutLoad}
|
||||
// width="50"
|
||||
// height="50"
|
||||
// alt="بدون بار"
|
||||
// className="images-file"
|
||||
// />
|
||||
// </a>,
|
||||
// <a
|
||||
// href={data.barInfo.killHouseImageWithLoad}
|
||||
// alt="دانلود سند خودرو با بار"
|
||||
// key="provinceKillRequests"
|
||||
// >
|
||||
// <img
|
||||
// src={data.barInfo.killHouseImageWithLoad}
|
||||
// width="50"
|
||||
// height="50"
|
||||
// alt="بدون بار"
|
||||
// className="images-file"
|
||||
// key="provinceKillRequests"
|
||||
// />
|
||||
// </a>,
|
||||
// !data.killHouseFactorToProvince && data.provinceFactorToKillHouse
|
||||
// ? "در انتظار پرداخت کشتارگاه"
|
||||
// : "پرداخت شده توسط کشتارگاه",
|
||||
// ],
|
||||
// ];
|
||||
} else {
|
||||
let state;
|
||||
state =
|
||||
!data.killHouseFactorToProvince && !data.provinceFactorToKillHouse
|
||||
? "در انتظار تایید مالی"
|
||||
: state;
|
||||
state =
|
||||
!data.killHouseFactorToProvince && data.provinceFactorToKillHouse
|
||||
? "در انتظار پرداخت کشتارگاه"
|
||||
: state;
|
||||
state =
|
||||
data.killHouseFactorToProvince && data.provinceFactorToKillHouse
|
||||
? "پرداخت شده توسط کشتارگاه"
|
||||
: state;
|
||||
|
||||
let timerState;
|
||||
const isFactorPayed =
|
||||
data.killHouseFactorToProvince?.factorState === "accepted" ||
|
||||
data.killHouseFactorToPoultry?.factorState === "accepted";
|
||||
|
||||
const timer = data && (
|
||||
<Timer
|
||||
key="finincalTimer"
|
||||
isFilePaymentTime={true}
|
||||
seconds={paymentRemainedSeconds}
|
||||
/>
|
||||
);
|
||||
const isPaymentFactorPending =
|
||||
!data.killHouseFactorToProvince &&
|
||||
!data.provinceFactorToKillHouseForPoultry;
|
||||
|
||||
const isPaymentPendingAndTimerEnabled = Boolean(data.paymentDeadLine);
|
||||
|
||||
// if (
|
||||
// !data.provinceFactorToKillHouse ||
|
||||
// !data.provinceFactorToKillHouseForPoultry
|
||||
// ) {
|
||||
// timerState = "در انتظار تایید مالی";
|
||||
// } else if (isFactorPayed) {
|
||||
// timerState = "پرداخت شده ✔";
|
||||
// } else if (isPaymentPendingAndTimerEnabled) {
|
||||
// timerState = timer;
|
||||
// } else if (isPaymentPending) {
|
||||
// timerState = "در انتظار صدور تمامی فاکتورها";
|
||||
// }
|
||||
|
||||
if (isPaymentPendingAndTimerEnabled) {
|
||||
timerState = timer;
|
||||
} else if (isPaymentFactorPending) {
|
||||
timerState = "در انتظار تایید مالی";
|
||||
} else {
|
||||
timerState = "در انتظار صدور تمامی فاکتورها";
|
||||
}
|
||||
if (isFactorPayed) {
|
||||
timerState = "پرداخت شده ✔";
|
||||
}
|
||||
|
||||
barInfoColumns = [
|
||||
"کشتارگاه",
|
||||
"نام راننده",
|
||||
"ماشین",
|
||||
"نوع خرید",
|
||||
"سند خودرو بدون بار",
|
||||
"سند خودرو با بار",
|
||||
"تعداد",
|
||||
"وزن بار",
|
||||
"میانگین وزن",
|
||||
"عملیات",
|
||||
];
|
||||
barInfoData = [
|
||||
[
|
||||
`${data.killHouseName} (${data.killHouseUserProvince}/${data.killHouseUserCity})`,
|
||||
data.cars?.driverName + ` (${data.cars?.driverMobile})`,
|
||||
`${data.cars?.typeCar} با پلاک ${data.cars?.pelak}`,
|
||||
`${data.paymentType === "credit" ? "زمان دار" : "نقدی"}`,
|
||||
<a
|
||||
style={{ textDecoration: "none", color: "black" }}
|
||||
href={data.barInfo.killHouseImageWithoutLoad}
|
||||
alt="دانلود سند خودرو بدون بار"
|
||||
key="provinceKillRequests"
|
||||
>
|
||||
<img
|
||||
src={data.barInfo.killHouseImageWithoutLoad}
|
||||
width="50"
|
||||
height="50"
|
||||
alt="بدون بار"
|
||||
className="images-file"
|
||||
/>
|
||||
<p>{data.barInfo.killHouseWeightWithoutLoad} کیلوگرم</p>
|
||||
</a>,
|
||||
<a
|
||||
style={{ textDecoration: "none", color: "black" }}
|
||||
href={data.barInfo.killHouseImageWithLoad}
|
||||
alt="دانلود سند خودرو با بار"
|
||||
key="provinceKillRequests"
|
||||
>
|
||||
<img
|
||||
src={data.barInfo.killHouseImageWithLoad}
|
||||
width="50"
|
||||
height="50"
|
||||
alt="بدون بار"
|
||||
className="images-file"
|
||||
key="provinceKillRequests"
|
||||
/>
|
||||
<p>{data.barInfo.killHouseWeightWithLoad} کیلوگرم</p>
|
||||
</a>,
|
||||
data.quantity + " قطعه",
|
||||
data.barInfo.killHouseNetWeight + " کیلوگرم",
|
||||
(data.barInfo.killHouseNetWeight / data.quantity).toFixed(2) +
|
||||
" کیلوگرم",
|
||||
<Button
|
||||
onClick={() => {
|
||||
dispatch(
|
||||
DRAWER({
|
||||
right: !(window.innerWidth <= 600),
|
||||
bottom: window.innerWidth <= 600,
|
||||
content: (
|
||||
<CloseFileSubmitInfo
|
||||
killHouseImageWithLoad={data.barInfo.killHouseImageWithLoad}
|
||||
killHouseWeightWithoutLoad={
|
||||
data.barInfo.killHouseWeightWithoutLoad
|
||||
}
|
||||
realQuantity={data.quantity}
|
||||
/>
|
||||
),
|
||||
title: " بستن پرونده",
|
||||
})
|
||||
);
|
||||
}}
|
||||
variant="outlined"
|
||||
key={"closefile"}
|
||||
startIcon={<CloseIcon />}
|
||||
>
|
||||
بستن پرونده
|
||||
</Button>,
|
||||
],
|
||||
];
|
||||
financialColumns = [
|
||||
"قیمت روز",
|
||||
"قیمت هرکیلو",
|
||||
"سهم مرغدار",
|
||||
"سهم اتحادیه",
|
||||
"مانده تا سررسید 30 روزه",
|
||||
"سهم مرغدار با ضریب سود",
|
||||
"سهم اتحادیه با ضریب سود",
|
||||
"جمع مبلغ قابل پرداخت",
|
||||
"وضعیت",
|
||||
"جریمه مرغدار",
|
||||
"جریمه کشتارگاه",
|
||||
];
|
||||
|
||||
let poultryShareWithProfit;
|
||||
if (data.provinceFactorToKillHouse?.poultryShareWithProfit) {
|
||||
poultryShareWithProfit =
|
||||
data.provinceFactorToKillHouse?.poultryShareWithProfit;
|
||||
} else if (
|
||||
data.provinceFactorToKillHouseForPoultry?.poultryShareWithProfit
|
||||
) {
|
||||
poultryShareWithProfit =
|
||||
data.provinceFactorToKillHouseForPoultry?.poultryShareWithProfit;
|
||||
}
|
||||
financialData = [
|
||||
[
|
||||
liveChickenPrice + " ﷼",
|
||||
data.provinceFactorToKillHouse
|
||||
? data.provinceFactorToKillHouse.provinceFactorFee + " ریال"
|
||||
: "نامشخص",
|
||||
data.provinceFactorToKillHouse
|
||||
? data.provinceFactorToKillHouse.provinceFactorFee *
|
||||
data.barInfo.killHouseNetWeight +
|
||||
" ریال"
|
||||
: "نامشخص",
|
||||
data.provinceFactorToKillHouse?.totalShareAllocation
|
||||
? data.provinceFactorToKillHouse?.totalShareAllocation + " ریال"
|
||||
: "نامشخص",
|
||||
timerState,
|
||||
poultryShareWithProfit ? `${poultryShareWithProfit} ریال` : "نامشخص",
|
||||
data.provinceFactorToKillHouse?.unionShareWithProfit
|
||||
? `${data.provinceFactorToKillHouse?.unionShareWithProfit} ریال`
|
||||
: "نامشخص",
|
||||
data.provinceFactorToKillHouse?.cost
|
||||
? `${
|
||||
data.provinceFactorToKillHouse?.cost +
|
||||
data.provinceFactorToKillHouse?.poultryShareWithProfit
|
||||
} ریال`
|
||||
: "نامشخص",
|
||||
state,
|
||||
],
|
||||
];
|
||||
|
||||
financialColumnsCash = [
|
||||
"قیمت روز",
|
||||
"قیمت هرکیلو",
|
||||
"سهم مرغدار",
|
||||
"سهم اتحادیه",
|
||||
"مبلغ قابل پرداخت",
|
||||
"وضعیت",
|
||||
];
|
||||
|
||||
let pricePayment;
|
||||
if (data.provinceFactorToKillHouse?.cost) {
|
||||
pricePayment = `${data.provinceFactorToKillHouse?.cost} ریال`;
|
||||
} else if (data.provinceFactorToKillHouseForPoultry?.cost) {
|
||||
pricePayment = `${data.provinceFactorToKillHouseForPoultry?.cost} ریال`;
|
||||
} else {
|
||||
pricePayment = "نامشخص";
|
||||
}
|
||||
|
||||
financialDataCash = [
|
||||
[
|
||||
liveChickenPrice + " ﷼",
|
||||
data.provinceFactorToKillHouse
|
||||
? data.provinceFactorToKillHouse.provinceFactorFee + " ریال"
|
||||
: "ندارد",
|
||||
// data.provinceFactorToKillHouse
|
||||
// ? data.provinceFactorToKillHouse.provinceFactorFee *
|
||||
// data.barInfo.killHouseNetWeight +
|
||||
// " ریال"
|
||||
// : "ندارد",
|
||||
poultryShareWithProfit ? `${poultryShareWithProfit} ریال` : "نامشخص",
|
||||
data.provinceFactorToKillHouse?.totalShareAllocation
|
||||
? data.provinceFactorToKillHouse?.totalShareAllocation + " ریال"
|
||||
: "نامشخص",
|
||||
pricePayment,
|
||||
state,
|
||||
],
|
||||
];
|
||||
|
||||
// remove payment fields for aviculture
|
||||
const urlRole = getRoleFromUrl();
|
||||
if (urlRole === "Poultry") {
|
||||
financialColumnsCash.splice(5, 3);
|
||||
financialDataCash[0]?.splice(5, 3);
|
||||
|
||||
financialColumns.splice(5, 4);
|
||||
financialData[0]?.splice(5, 4);
|
||||
}
|
||||
}
|
||||
return (
|
||||
<TimelineItem sx={{ alignSelf: "flex-start", width: "100%" }}>
|
||||
<TimelineSeparator>
|
||||
<TimelineDot />
|
||||
<TimelineConnector />
|
||||
</TimelineSeparator>
|
||||
<Grid container direction="column" flexWrap="nowrap" flex="1">
|
||||
<Grid container>
|
||||
<Grid>
|
||||
<TimelineOppositeContent>
|
||||
<Typography variant="body1" fontWeight="bold">
|
||||
مرحله مالی
|
||||
</Typography>
|
||||
</TimelineOppositeContent>
|
||||
</Grid>
|
||||
<Grid>
|
||||
<TimelineContent color="textSecondary">
|
||||
<Grid container gap={SPACING.SMALL}>
|
||||
{data.barInfo.killHouseAssignmentState === "pending" ? (
|
||||
<Typography
|
||||
variant="body2"
|
||||
display="flex"
|
||||
gap={SPACING.SMALL}
|
||||
>
|
||||
درخواست در انتظار تایید اپراتور مالی است.
|
||||
</Typography>
|
||||
) : (
|
||||
<>
|
||||
<Typography
|
||||
variant="body2"
|
||||
display="flex"
|
||||
gap={SPACING.SMALL}
|
||||
>
|
||||
درخواست در تاریخ
|
||||
</Typography>
|
||||
<Typography variant="body2" fontWeight="bold">
|
||||
{formatTime(new Date(data.barInfo.acceptRejectDate))}
|
||||
</Typography>
|
||||
<Typography
|
||||
variant="body2"
|
||||
display="flex"
|
||||
gap={SPACING.SMALL}
|
||||
>
|
||||
{data.barInfo.killHouseAssignmentState === "accepted"
|
||||
? "تایید شده است."
|
||||
: data.barInfo.killHouseAssignmentState === "pending"
|
||||
? "در انتظار تایید"
|
||||
: "رد شده است."}
|
||||
</Typography>
|
||||
</>
|
||||
)}
|
||||
</Grid>
|
||||
</TimelineContent>
|
||||
</Grid>
|
||||
</Grid>
|
||||
<Grid container>
|
||||
<Grid xs={12}>
|
||||
<SimpleTable
|
||||
name={`اطلاعات بار ${data.barcod}`}
|
||||
columns={barInfoColumns}
|
||||
data={barInfoData}
|
||||
/>
|
||||
{data.paymentType === "cash" ? (
|
||||
<SimpleTable
|
||||
name="اطلاعات مالی"
|
||||
columns={financialColumnsCash}
|
||||
data={financialDataCash}
|
||||
/>
|
||||
) : (
|
||||
<SimpleTable
|
||||
name="اطلاعات مالی"
|
||||
columns={financialColumns}
|
||||
data={financialData}
|
||||
/>
|
||||
)}
|
||||
</Grid>
|
||||
</Grid>
|
||||
</Grid>
|
||||
</TimelineItem>
|
||||
);
|
||||
};
|
||||
CloseFileFinancialInfo.propTypes = {
|
||||
item: PropTypes.array,
|
||||
data: PropTypes.any,
|
||||
auction: PropTypes.bool,
|
||||
};
|
||||
|
||||
export default CloseFileFinancialInfo;
|
||||
Reference in New Issue
Block a user