проверка верификации орг имени при генерации актов

This commit is contained in:
Tamara 2024-05-18 02:19:32 +03:00
parent 155d6f327b
commit 3ce8cd6f7b
3 changed files with 72 additions and 43 deletions

@ -78,7 +78,7 @@ export default function UserFields({
<InputTextfield
TextfieldProps={{
placeholder: "ООО Фирма",
value: settingsFields.orgname.value || user?.email || "",
value: settingsFields.orgname.value || "",
helperText: settingsFields.orgname.touched && settingsFields.orgname.error,
error: settingsFields.orgname.touched && Boolean(settingsFields.orgname.error),
}}

@ -9,11 +9,13 @@ import CustomAccordion from "@components/CustomAccordion"
import File from "@components/icons/File"
import {getDeclension} from "@utils/declension"
import {enqueueSnackbar} from "notistack"
import {addTariffToCart} from "@root/stores/user"
import {addTariffToCart, useUserStore} from "@root/stores/user"
import ForwardToInboxOutlinedIcon
from "@mui/icons-material/ForwardToInboxOutlined";
import {makeRequest} from "@frontend/kitui";
import {KeyValue, RawDetails} from "@api/history";
import {useNavigate} from "react-router-dom"
import {VerificationStatus} from "@root/model/account"
export type History = {
title: string;
@ -38,6 +40,9 @@ export default function AccordionWrapper({ content, last, first, createdAt, onCl
const upSm = useMediaQuery(theme.breakpoints.up("sm"))
const isTablet = useMediaQuery(theme.breakpoints.down(900))
const isMobile = useMediaQuery(theme.breakpoints.down(560))
const navigate = useNavigate();
const verificationStatus = useUserStore((state) => state.verificationStatus)
const OrgName = useUserStore((state) => state.userAccount?.name.orgname)
const valuesByKey: any = {}
if (Array.isArray(content[0].Value) && Array.isArray(content[0].Value[0])) {
@ -61,14 +66,25 @@ 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("Извините, произошла ошибка");
if(verificationStatus === VerificationStatus.VERIFICATED && OrgName){
try {
await makeRequest({
url: process.env.REACT_APP_DOMAIN + `/customer/sendReport`,
body: {id: tariffId},
method: "POST",
});
enqueueSnackbar("Акт будет отправлен на почту, указанную при регистрации");
} catch (e) {
enqueueSnackbar("Извините, произошла ошибка");
}
}
navigate("/settings")
if(verificationStatus !== VerificationStatus.VERIFICATED && !OrgName){
enqueueSnackbar("Пройдите верификацию и заполните название организации");
} else if(!OrgName){
enqueueSnackbar("Заполните поле название организации");
}else if(verificationStatus !== VerificationStatus.VERIFICATED) {
enqueueSnackbar("Пройдите верификацию");
}
}
@ -208,19 +224,19 @@ export default function AccordionWrapper({ content, last, first, createdAt, onCl
sx={{
ml: "20px",
bgcolor: "#EEE4FC",
stroke: "#7E2AEA",
color: "#7E2AEA",
borderRadius: 2,
"&:hover": {
bgcolor: "#7E2AEA",
stroke: "white",
color: "white",
},
"&:active": {
bgcolor: "black",
stroke: "white",
color: "white",
}
}}
>
<ForwardToInboxOutlinedIcon fontSize={"medium"} sx={{ opacity: 0.7 }}/>
<ForwardToInboxOutlinedIcon fontSize={"medium"} sx={{ opacity: 0.9 }}/>
</IconButton>
<IconButton
title="Добавить в корзину тариф"
@ -260,19 +276,19 @@ export default function AccordionWrapper({ content, last, first, createdAt, onCl
sx={{
m: "0 10px",
bgcolor: "#EEE4FC",
stroke: "#7E2AEA",
color: "#7E2AEA",
borderRadius: 2,
"&:hover": {
bgcolor: "#7E2AEA",
stroke: "white",
color: "white",
},
"&:active": {
bgcolor: "black",
stroke: "white",
color: "white",
}
}}
>
<ForwardToInboxOutlinedIcon fontSize={"medium"} sx={{ opacity: 0.7 }}/>
<ForwardToInboxOutlinedIcon fontSize={"medium"} sx={{ opacity: 0.9 }}/>
</IconButton>
<IconButton
title="Добавить в корзину тариф"

@ -9,11 +9,12 @@ import CustomAccordion from "@components/CustomAccordion";
import File from "@components/icons/File";
import {getDeclension} from "@utils/declension";
import {enqueueSnackbar} from "notistack";
import {addTariffToCart} from "@root/stores/user";
import {addTariffToCart, useUserStore} from "@root/stores/user"
import {makeRequest, Tariff} from "@frontend/kitui";
import {currencyFormatter} from "@root/utils/currencyFormatter";
import ForwardToInboxOutlinedIcon
from "@mui/icons-material/ForwardToInboxOutlined";
import ForwardToInboxIcon from '@mui/icons-material/ForwardToInbox';
import {VerificationStatus} from "@root/model/account"
import {useNavigate} from "react-router-dom"
export type History = {
title: string;
@ -38,7 +39,9 @@ export default function AccordionWrapper2({ tariff, price, last, first, createdA
const upSm = useMediaQuery(theme.breakpoints.up("sm"));
const isTablet = useMediaQuery(theme.breakpoints.down(900));
const isMobile = useMediaQuery(theme.breakpoints.down(560));
const navigate = useNavigate();
const verificationStatus = useUserStore((state) => state.verificationStatus)
const OrgName = useUserStore((state) => state.userAccount?.name.orgname)
async function handleTariffItemClick(tariffId: string) {
const { patchCartError } = await addTariffToCart(tariffId);
if (patchCartError) {
@ -47,18 +50,28 @@ export default function AccordionWrapper2({ tariff, price, last, first, createdA
enqueueSnackbar("Тариф добавлен в корзину");
}
}
console.log(OrgName)
async function sendBillByEmail(tariffId: string) {
try {
await makeRequest({
url: process.env.REACT_APP_DOMAIN + `/customer/sendReport`,
body: {id: tariffId},
method: "POST",
});
enqueueSnackbar("Акт будет отправлен на почту, указанную при регистрации");
} catch (e) {
enqueueSnackbar("Извините, произошла ошибка");
if(verificationStatus === VerificationStatus.VERIFICATED && OrgName){
try {
await makeRequest({
url: process.env.REACT_APP_DOMAIN + `/customer/sendReport`,
body: {id: tariffId},
method: "POST",
});
enqueueSnackbar("Акт будет отправлен на почту, указанную при регистрации");
} catch (e) {
enqueueSnackbar("Извините, произошла ошибка");
}
}
navigate("/settings")
if(verificationStatus !== VerificationStatus.VERIFICATED && !OrgName){
enqueueSnackbar("Пройдите верификацию и заполните название организации");
} else if(!OrgName){
enqueueSnackbar("Заполните поле название организации");
}else if(verificationStatus !== VerificationStatus.VERIFICATED) {
enqueueSnackbar("Пройдите верификацию");
}
}
@ -193,19 +206,19 @@ export default function AccordionWrapper2({ tariff, price, last, first, createdA
sx={{
ml: "20px",
bgcolor: "#EEE4FC",
stroke: "#7E2AEA",
color: "#7E2AEA",
borderRadius: 2,
"&:hover": {
bgcolor: "#7E2AEA",
stroke: "white",
bgcolor: "#7E2AEA",
color: "white",
},
"&:active": {
bgcolor: "black",
stroke: "white",
color: "white",
}
}}
>
<ForwardToInboxOutlinedIcon fontSize={"medium"} sx={{ opacity: 0.7 }}/>
<ForwardToInboxIcon fontSize={"medium"} sx={{ opacity: 0.9 }}/>
</IconButton>
<IconButton
title="Добавить в корзину тариф"
@ -237,7 +250,7 @@ export default function AccordionWrapper2({ tariff, price, last, first, createdA
</Box>
{isMobile &&
<>
{/* <IconButton
<IconButton
onClick={(e) => {
e.stopPropagation();
sendBillByEmail(tariff._id);
@ -245,20 +258,20 @@ export default function AccordionWrapper2({ tariff, price, last, first, createdA
sx={{
m: "0 10px",
bgcolor: "#EEE4FC",
stroke: "#7E2AEA",
color: "#7E2AEA",
borderRadius: 2,
"&:hover": {
bgcolor: "#7E2AEA",
stroke: "white",
color: "white",
},
"&:active": {
bgcolor: "black",
stroke: "white",
color: "white",
}
}}
>
<ForwardToInboxOutlinedIcon fontSize={"medium"} sx={{ opacity: 0.7 }}/>
</IconButton> */}
<ForwardToInboxIcon fontSize={"medium"} sx={{ opacity: 0.9 }}/>
</IconButton>
<IconButton
title="Добавить в корзину тариф"
onClick={(e) => {