added email icon and realized handler for send bill by email
This commit is contained in:
parent
1a586dc5dc
commit
bcfe5bea32
@ -1,9 +1,18 @@
|
|||||||
import { Box, IconButton, Typography, useMediaQuery, useTheme } from "@mui/material"
|
import {
|
||||||
|
Box,
|
||||||
|
IconButton,
|
||||||
|
Typography,
|
||||||
|
useMediaQuery,
|
||||||
|
useTheme
|
||||||
|
} from "@mui/material"
|
||||||
import CustomAccordion from "@components/CustomAccordion"
|
import CustomAccordion from "@components/CustomAccordion"
|
||||||
import File from "@components/icons/File"
|
import File from "@components/icons/File"
|
||||||
import { getDeclension } from "@utils/declension"
|
import {getDeclension} from "@utils/declension"
|
||||||
import { enqueueSnackbar } from "notistack"
|
import {enqueueSnackbar} from "notistack"
|
||||||
import { addTariffToCart } from "@root/stores/user"
|
import {addTariffToCart} from "@root/stores/user"
|
||||||
|
import ForwardToInboxOutlinedIcon
|
||||||
|
from "@mui/icons-material/ForwardToInboxOutlined";
|
||||||
|
import {makeRequest} from "@frontend/kitui";
|
||||||
|
|
||||||
export type History = {
|
export type History = {
|
||||||
title: string;
|
title: string;
|
||||||
@ -50,6 +59,18 @@ export default function AccordionWrapper({ content, last, first, createdAt, onCl
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function sendBillByEmail(tariffId: string) {
|
||||||
|
try {
|
||||||
|
await makeRequest({
|
||||||
|
url: process.env.REACT_APP_DOMAIN + `/customer/sendReport/${tariffId}`,
|
||||||
|
method: "POST",
|
||||||
|
});
|
||||||
|
enqueueSnackbar("Акт будет отправлен на почту, указанную при регистрации");
|
||||||
|
} catch (e) {
|
||||||
|
enqueueSnackbar("Извините, произошла ошибка");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
@ -64,7 +85,7 @@ export default function AccordionWrapper({ content, last, first, createdAt, onCl
|
|||||||
<Typography
|
<Typography
|
||||||
key={valuesByKey.id}
|
key={valuesByKey.id}
|
||||||
>
|
>
|
||||||
{e[1].Value} - {e[5].Value} {getDeclension(Number(e[5].Value), e[7].Value.toString())}
|
{e[1].Value} - {e[5].Value} {getDeclension(Number(e[5].Value), e[7].Value.toString())}
|
||||||
</Typography>)
|
</Typography>)
|
||||||
)}
|
)}
|
||||||
header={
|
header={
|
||||||
@ -144,7 +165,7 @@ export default function AccordionWrapper({ content, last, first, createdAt, onCl
|
|||||||
}}
|
}}
|
||||||
title={`>Способ оплаты: ${valuesByKey.payMethod}</Typography>}`}
|
title={`>Способ оплаты: ${valuesByKey.payMethod}</Typography>}`}
|
||||||
>
|
>
|
||||||
{valuesByKey.payMethod && <Typography
|
{valuesByKey.payMethod && <Typography
|
||||||
sx={{
|
sx={{
|
||||||
maxWidth: "300px",
|
maxWidth: "300px",
|
||||||
width: "300px",
|
width: "300px",
|
||||||
@ -178,9 +199,28 @@ export default function AccordionWrapper({ content, last, first, createdAt, onCl
|
|||||||
</Box>
|
</Box>
|
||||||
{!isMobile &&
|
{!isMobile &&
|
||||||
<>
|
<>
|
||||||
{/* <IconButton onClick={onClickMail}>
|
<IconButton
|
||||||
<EmailIcon fontSize={"large"}/>
|
onClick={(e) => {
|
||||||
</IconButton> */}
|
e.stopPropagation();
|
||||||
|
sendBillByEmail(valuesByKey.id);
|
||||||
|
}}
|
||||||
|
sx={{
|
||||||
|
ml: "20px",
|
||||||
|
bgcolor: "#EEE4FC",
|
||||||
|
stroke: "#7E2AEA",
|
||||||
|
borderRadius: 2,
|
||||||
|
"&:hover": {
|
||||||
|
bgcolor: "#7E2AEA",
|
||||||
|
stroke: "white",
|
||||||
|
},
|
||||||
|
"&:active": {
|
||||||
|
bgcolor: "black",
|
||||||
|
stroke: "white",
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<ForwardToInboxOutlinedIcon fontSize={"medium"} sx={{ opacity: 0.7 }}/>
|
||||||
|
</IconButton>
|
||||||
<IconButton
|
<IconButton
|
||||||
title="Добавить в корзину тариф"
|
title="Добавить в корзину тариф"
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
@ -211,9 +251,28 @@ export default function AccordionWrapper({ content, last, first, createdAt, onCl
|
|||||||
</Box>
|
</Box>
|
||||||
{isMobile &&
|
{isMobile &&
|
||||||
<>
|
<>
|
||||||
{/* <IconButton onClick={onClickMail}>
|
<IconButton
|
||||||
<EmailIcon fontSize={"large"}/>
|
onClick={(e) => {
|
||||||
</IconButton> */}
|
e.stopPropagation();
|
||||||
|
sendBillByEmail(valuesByKey.id);
|
||||||
|
}}
|
||||||
|
sx={{
|
||||||
|
m: "0 10px",
|
||||||
|
bgcolor: "#EEE4FC",
|
||||||
|
stroke: "#7E2AEA",
|
||||||
|
borderRadius: 2,
|
||||||
|
"&:hover": {
|
||||||
|
bgcolor: "#7E2AEA",
|
||||||
|
stroke: "white",
|
||||||
|
},
|
||||||
|
"&:active": {
|
||||||
|
bgcolor: "black",
|
||||||
|
stroke: "white",
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<ForwardToInboxOutlinedIcon fontSize={"medium"} sx={{ opacity: 0.7 }}/>
|
||||||
|
</IconButton>
|
||||||
<IconButton
|
<IconButton
|
||||||
title="Добавить в корзину тариф"
|
title="Добавить в корзину тариф"
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
|
@ -1,11 +1,19 @@
|
|||||||
import { Box, IconButton, Typography, useMediaQuery, useTheme } from "@mui/material";
|
import {
|
||||||
|
Box,
|
||||||
|
IconButton,
|
||||||
|
Typography,
|
||||||
|
useMediaQuery,
|
||||||
|
useTheme
|
||||||
|
} from "@mui/material";
|
||||||
import CustomAccordion from "@components/CustomAccordion";
|
import CustomAccordion from "@components/CustomAccordion";
|
||||||
import File from "@components/icons/File";
|
import File from "@components/icons/File";
|
||||||
import { getDeclension } from "@utils/declension";
|
import {getDeclension} from "@utils/declension";
|
||||||
import { enqueueSnackbar } from "notistack";
|
import {enqueueSnackbar} from "notistack";
|
||||||
import { addTariffToCart } from "@root/stores/user";
|
import {addTariffToCart} from "@root/stores/user";
|
||||||
import { Tariff } from "@frontend/kitui";
|
import {makeRequest, Tariff} from "@frontend/kitui";
|
||||||
import { currencyFormatter } from "@root/utils/currencyFormatter";
|
import {currencyFormatter} from "@root/utils/currencyFormatter";
|
||||||
|
import ForwardToInboxOutlinedIcon
|
||||||
|
from "@mui/icons-material/ForwardToInboxOutlined";
|
||||||
|
|
||||||
export type History = {
|
export type History = {
|
||||||
title: string;
|
title: string;
|
||||||
@ -40,6 +48,19 @@ export default function AccordionWrapper2({ tariff, price, last, first, createdA
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
async function sendBillByEmail(tariffId: string) {
|
||||||
|
try {
|
||||||
|
await makeRequest({
|
||||||
|
url: process.env.REACT_APP_DOMAIN + `/customer/sendReport/${tariffId}`,
|
||||||
|
method: "POST",
|
||||||
|
});
|
||||||
|
enqueueSnackbar("Акт будет отправлен на почту, указанную при регистрации");
|
||||||
|
} catch (e) {
|
||||||
|
enqueueSnackbar("Извините, произошла ошибка");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
@ -163,9 +184,28 @@ export default function AccordionWrapper2({ tariff, price, last, first, createdA
|
|||||||
</Box>
|
</Box>
|
||||||
{!isMobile &&
|
{!isMobile &&
|
||||||
<>
|
<>
|
||||||
{/* <IconButton onClick={onClickMail}>
|
<IconButton
|
||||||
<EmailIcon fontSize={"large"}/>
|
onClick={(e) => {
|
||||||
</IconButton> */}
|
e.stopPropagation();
|
||||||
|
sendBillByEmail(tariff._id);
|
||||||
|
}}
|
||||||
|
sx={{
|
||||||
|
ml: "20px",
|
||||||
|
bgcolor: "#EEE4FC",
|
||||||
|
stroke: "#7E2AEA",
|
||||||
|
borderRadius: 2,
|
||||||
|
"&:hover": {
|
||||||
|
bgcolor: "#7E2AEA",
|
||||||
|
stroke: "white",
|
||||||
|
},
|
||||||
|
"&:active": {
|
||||||
|
bgcolor: "black",
|
||||||
|
stroke: "white",
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<ForwardToInboxOutlinedIcon fontSize={"medium"} sx={{ opacity: 0.7 }}/>
|
||||||
|
</IconButton>
|
||||||
<IconButton
|
<IconButton
|
||||||
title="Добавить в корзину тариф"
|
title="Добавить в корзину тариф"
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
@ -196,9 +236,28 @@ export default function AccordionWrapper2({ tariff, price, last, first, createdA
|
|||||||
</Box>
|
</Box>
|
||||||
{isMobile &&
|
{isMobile &&
|
||||||
<>
|
<>
|
||||||
{/* <IconButton onClick={onClickMail}>
|
<IconButton
|
||||||
<EmailIcon fontSize={"large"}/>
|
onClick={(e) => {
|
||||||
</IconButton> */}
|
e.stopPropagation();
|
||||||
|
sendBillByEmail(tariff._id);
|
||||||
|
}}
|
||||||
|
sx={{
|
||||||
|
m: "0 10px",
|
||||||
|
bgcolor: "#EEE4FC",
|
||||||
|
stroke: "#7E2AEA",
|
||||||
|
borderRadius: 2,
|
||||||
|
"&:hover": {
|
||||||
|
bgcolor: "#7E2AEA",
|
||||||
|
stroke: "white",
|
||||||
|
},
|
||||||
|
"&:active": {
|
||||||
|
bgcolor: "black",
|
||||||
|
stroke: "white",
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<ForwardToInboxOutlinedIcon fontSize={"medium"} sx={{ opacity: 0.7 }}/>
|
||||||
|
</IconButton>
|
||||||
<IconButton
|
<IconButton
|
||||||
title="Добавить в корзину тариф"
|
title="Добавить в корзину тариф"
|
||||||
onClick={(e) => {
|
onClick={(e) => {
|
||||||
|
Loading…
Reference in New Issue
Block a user