add error display on layout

This commit is contained in:
merelendor 2023-10-27 14:58:24 +03:00
parent 0f20d0d952
commit 498f2335f7
24 changed files with 299 additions and 39 deletions

View File

@ -67,6 +67,9 @@ export const getDeals = ({ dispatch, update = false }) =>
console.error("ACTION", "deals", "getDeals()", "ERROR"); console.error("ACTION", "deals", "getDeals()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода ConsiderationOpportunity" } });
window.dispatchEvent(eventMessage);
dispatch({ dispatch({
type: actionTypes.DEALS_LIST, type: actionTypes.DEALS_LIST,
data: { data: {
@ -110,6 +113,9 @@ export const getDealOffers = ({ dispatch, deal_id }) =>
console.error("ACTION", "deals", "getDealOffers()", "ERROR"); console.error("ACTION", "deals", "getDealOffers()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода quote" } });
window.dispatchEvent(eventMessage);
dispatch({ dispatch({
type: actionTypes.DEAL_OFFERS_LIST, type: actionTypes.DEAL_OFFERS_LIST,
data: { data: {
@ -143,6 +149,9 @@ export const downloadDealOffer = ({ quote_number, filename }) =>
console.error("ACTION", "sign", "downloadDealOffer()", "ERROR"); console.error("ACTION", "sign", "downloadDealOffer()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода offerprintform" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });
@ -171,6 +180,9 @@ export const acceptDealOffers = ({ deal_id, offers }) =>
console.error("ACTION", "deals", "acceptDealOffers()", "ERROR"); console.error("ACTION", "deals", "acceptDealOffers()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода quote accept" } });
window.dispatchEvent(eventMessage);
reject(); reject();
}); });
}); });
@ -208,6 +220,9 @@ export const getDealDocuments = ({ dispatch, deal_id }) =>
console.error("ACTION", "deals", "getDealDocuments()", "ERROR"); console.error("ACTION", "deals", "getDealDocuments()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода document" } });
window.dispatchEvent(eventMessage);
dispatch({ dispatch({
type: actionTypes.DEAL_DOCUMENTS_LIST, type: actionTypes.DEAL_DOCUMENTS_LIST,
data: { data: {
@ -246,6 +261,10 @@ export const sendDealDocuments = ({ deal_id }) =>
.catch((error) => .catch((error) =>
{ {
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при отправке пакета документов для сделки" } });
window.dispatchEvent(eventMessage);
reject(); reject();
}); });
}); });
@ -282,6 +301,9 @@ export const getDealContracts = ({ dispatch, deal_id }) =>
console.error("ACTION", "deals", "getDealContracts()", "ERROR"); console.error("ACTION", "deals", "getDealContracts()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода contract" } });
window.dispatchEvent(eventMessage);
dispatch({ dispatch({
type: actionTypes.DEAL_CONTRACTS_LIST, type: actionTypes.DEAL_CONTRACTS_LIST,
data: { data: {
@ -329,6 +351,10 @@ export const attachDealDocument = ({ deal_id, document_id, document_name, group,
.catch((error) => .catch((error) =>
{ {
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при загрузке документа" } });
window.dispatchEvent(eventMessage);
reject(); reject();
}); });
}); });
@ -357,6 +383,10 @@ export const removeDealDocument = ({ deal_id, group, index, }) =>
.catch((error) => .catch((error) =>
{ {
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при удалении документа" } });
window.dispatchEvent(eventMessage);
reject(); reject();
}); });
}); });

View File

@ -55,6 +55,9 @@ export const getEDOOperatorList = ({ dispatch, update = false }) =>
console.error("ACTION", "edo", "getEDOOperatorList()", "ERROR"); console.error("ACTION", "edo", "getEDOOperatorList()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода GetEdoBox" } });
window.dispatchEvent(eventMessage);
dispatch({ dispatch({
type: actionTypes.EDO_OPERATORS_LIST, type: actionTypes.EDO_OPERATORS_LIST,
data: { data: {
@ -97,6 +100,9 @@ export const getEDOInvitesList = ({ dispatch, update = false }) =>
console.error("ACTION", "edo", "getEDOInvitesList()", "ERROR"); console.error("ACTION", "edo", "getEDOInvitesList()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода GetInviteEdoBox" } });
window.dispatchEvent(eventMessage);
dispatch({ dispatch({
type: actionTypes.EDO_INVITES_LIST, type: actionTypes.EDO_INVITES_LIST,
data: { data: {
@ -131,6 +137,9 @@ export const inviteToEDO = () =>
console.error("ACTION", "edo", "inviteToEDO()", "ERROR"); console.error("ACTION", "edo", "inviteToEDO()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода InviteEdoBox" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });
@ -158,6 +167,9 @@ export const createEDOProject = (payload) =>
console.error("ACTION", "edo", "createEDOProject()", "ERROR"); console.error("ACTION", "edo", "createEDOProject()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода CreateEDOProject" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });
@ -194,6 +206,9 @@ export const docEDOSign = (payload) =>
console.error(error); console.error(error);
} }
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода SignEDODocument" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });
@ -221,6 +236,9 @@ export const docEDOCancel = (payload) =>
console.error("ACTION", "edo", "docEDOCancel()", "ERROR"); console.error("ACTION", "edo", "docEDOCancel()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода CancelDocument" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });
@ -257,6 +275,9 @@ export const docEDOConnect = (payload) =>
console.error(error); console.error(error);
} }
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода DocEdoConnect" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });
@ -293,6 +314,9 @@ export const docEDOStatus = (payload) =>
console.error(error); console.error(error);
} }
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода GetEdoProjectID" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });

View File

@ -30,6 +30,9 @@ export const signCheckCreatePrintForm = (payload) =>
{ {
console.error("ACTION", "sign", "signCheckCreatePrintForm()", "ERROR"); console.error("ACTION", "sign", "signCheckCreatePrintForm()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода CheckCreatePrintForm" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
@ -58,6 +61,9 @@ export const signGetGUIDEntity = (payload) =>
console.error("ACTION", "sign", "signGetGUIDEntity()", "ERROR"); console.error("ACTION", "sign", "signGetGUIDEntity()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода GetGUIDEntity" } });
window.dispatchEvent(eventMessage);
resolve(response.data); resolve(response.data);
}); });
}); });
@ -82,6 +88,9 @@ export const signCheckPowerAttorneyClient = (payload) =>
console.error("ACTION", "sign", "signCheckPowerAttorneyClient()", "ERROR"); console.error("ACTION", "sign", "signCheckPowerAttorneyClient()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода CheckPowerAttorneyClient" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });
@ -106,6 +115,9 @@ export const signGetPowerAttorneyClient = (payload) =>
console.error("ACTION", "sign", "signGetPowerAttorneyClient()", "ERROR"); console.error("ACTION", "sign", "signGetPowerAttorneyClient()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода GetPowerAttorneyClient" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });
@ -130,6 +142,9 @@ export const signGetWMDoc = (payload) =>
console.error("ACTION", "sign", "signGetWMDoc()", "ERROR"); console.error("ACTION", "sign", "signGetWMDoc()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода GetWMDoc" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });
@ -155,6 +170,9 @@ export const signDownloadFile = ({ payload, filename }) =>
console.error("ACTION", "sign", "signDownloadFile()", "ERROR"); console.error("ACTION", "sign", "signDownloadFile()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода GetWMDoc" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });
@ -180,6 +198,9 @@ export const signGetFileContractProject = (payload) =>
console.error("ACTION", "sign", "signGetFileContractProject()", "ERROR"); console.error("ACTION", "sign", "signGetFileContractProject()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода GetFileContractProject" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });
@ -205,6 +226,9 @@ export const signCheckDownloadContractProject = (payload) =>
console.error("ACTION", "sign", "signCheckDownloadContractProject()", "ERROR"); console.error("ACTION", "sign", "signCheckDownloadContractProject()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода CheckDownloadContractProject" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });
@ -246,6 +270,9 @@ export const signUploadPaperDocument = (contract_number, deal_id, files) =>
console.error("ACTION", "sign", "signUploadPaperDocument()", "ERROR"); console.error("ACTION", "sign", "signUploadPaperDocument()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при отправке подписанного пакета документов" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });
@ -273,6 +300,9 @@ export const signCheckCancelDocument = (payload) =>
console.error("ACTION", "sign", "signCheckCancelDocument()", "ERROR"); console.error("ACTION", "sign", "signCheckCancelDocument()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода CheckCancelDocument" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });
@ -300,6 +330,9 @@ export const signCancelDocument = (payload) =>
console.error("ACTION", "sign", "signCancelDocument()", "ERROR"); console.error("ACTION", "sign", "signCancelDocument()", "ERROR");
console.error(error); console.error(error);
const eventMessage = new CustomEvent("_message", { detail: { type: "error", title: "Ошибка", content: "Ошибка при вызове метода CancelDocument" } });
window.dispatchEvent(eventMessage);
reject(error.data); reject(error.data);
}); });
}); });

View File

@ -72,9 +72,11 @@ class DealContractsSignEDO extends React.Component
for(let i in documents) for(let i in documents)
{ {
console.log({ fin: documents[i] }); console.log({ fin: documents[i] });
if(!documents[i].completed) if(!documents[i].error && !documents[i].completed)
completed = false; {
break; completed = false;
break;
}
} }
return completed; return completed;

View File

@ -3723,7 +3723,6 @@ main .dropdown_blocks_list .dropdown_block .block_body .fines_detail ul li {
} }
@media all and (max-width: 960px) { @media all and (max-width: 960px) {
.helpBox_wrapper .helpBox .content { .helpBox_wrapper .helpBox .content {
width: 100%;
margin-top: 10px; margin-top: 10px;
} }
} }

View File

@ -4153,7 +4153,7 @@ main .dropdown_blocks_list .dropdown_block .block_body {
} }
@media all and (max-width: 960px) { @media all and (max-width: 960px) {
width: 100%; // width: 100%;
margin-top: 10px; margin-top: 10px;
} }
} }

View File

@ -642,3 +642,43 @@ div {
margin-top: 35px; margin-top: 35px;
margin-bottom: 35px; margin-bottom: 35px;
} }
.messages_overlay {
position: fixed;
top: 0px;
right: 0px;
width: 30%;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: flex-start;
z-index: 100;
gap: 10px 10px;
margin: 10px;
}
.messages_overlay .overlay_message_error {
position: relative;
width: 100%;
background-color: #df2525;
padding: 10px 15px;
font-size: 12px;
}
.messages_overlay .overlay_message_error h4,
.messages_overlay .overlay_message_error p {
color: #fff;
}
.messages_overlay .overlay_message_error h4 {
padding: 0px;
margin: 0px;
margin-bottom: 2px;
}
.messages_overlay .overlay_message_error .button {
position: absolute;
top: 8px;
right: 8px;
width: 16px;
height: 16px;
padding: 0;
border: 0;
background: url("/assets/images/icons/close-white.svg") no-repeat center;
background-size: 16px;
}

View File

@ -687,4 +687,48 @@ div {
line-height: 35px; line-height: 35px;
margin-top: 35px; margin-top: 35px;
margin-bottom: 35px; margin-bottom: 35px;
}
.messages_overlay {
position: fixed;
top: 0px;
right: 0px;
width: 30%;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: flex-start;
z-index: 100;
gap: 10px 10px;
margin: 10px;
.overlay_message_error {
position: relative;
width: 100%;
background-color: #df2525;
padding: 10px 15px;
font-size: 12px;
h4, p {
color: #fff;
}
h4 {
padding: 0px;
margin: 0px;
margin-bottom: 2px;
}
.button {
position: absolute;
top: 8px;
right: 8px;
width: 16px;
height: 16px;
padding: 0;
border: 0;
background: url("/assets/images/icons/close-white.svg") no-repeat center;
background-size: 16px;
}
}
} }

View File

@ -7,7 +7,7 @@ import jwt from 'jsonwebtoken';
import { cors } from '../cors'; import { cors } from '../cors';
import { inspect } from 'util'; import { inspect } from 'util';
export default async function CRMRequestPost(req, res, path, params, array = false) export default async function CRMRequestPost({ req, res, path, params, headers = {}, options = {}, array = false, log = false })
{ {
await cors(req, res); await cors(req, res);
@ -15,18 +15,17 @@ export default async function CRMRequestPost(req, res, path, params, array = fal
{ {
const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : ""); const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : "");
//console.log("-".repeat(50));
//console.log("CRMRequestPost", "req.body");
//console.log(req.body);
if(cookies.jwt !== undefined && cookies.jwt !== null) if(cookies.jwt !== undefined && cookies.jwt !== null)
{ {
//console.log("cookies.jwt");
//console.log(cookies.jwt);
var client_jwt_decoded = jwt.verify(cookies.jwt, process.env.JWT_SECRET_CLIENT); var client_jwt_decoded = jwt.verify(cookies.jwt, process.env.JWT_SECRET_CLIENT);
var crm_jwt = jwt.sign({ acc_number: client_jwt_decoded.acc_number }, process.env.JWT_SECRET_CRM, { noTimestamp: true }); var crm_jwt = jwt.sign({ acc_number: client_jwt_decoded.acc_number }, process.env.JWT_SECRET_CRM, { noTimestamp: true });
if(log)
{
console.log("client_jwt_decoded", client_jwt_decoded);
console.log("crm_jwt", crm_jwt);
}
let payload; let payload;
if(array) if(array)
{ {
@ -36,24 +35,22 @@ export default async function CRMRequestPost(req, res, path, params, array = fal
{ {
payload = { ...{ acc_number: client_jwt_decoded.acc_number }, ...params }; payload = { ...{ acc_number: client_jwt_decoded.acc_number }, ...params };
} }
//console.log("path", path);
try try
{ {
await axios.post(path, payload, await axios.post(path, payload,
{ {
headers: { headers: { ...{ "Content-Type": "application/json", "Authorization": `Bearer ${ crm_jwt }` }, ...headers },
"Content-Type": "application/json",
"Authorization": `Bearer ${ crm_jwt }`,
},
withCredentials: true, withCredentials: true,
}) })
.then((crm_response) => .then((crm_response) =>
{ {
//console.log("crm_response for", path); if(log)
{
//console.log(inspect(crm_response.data, true, null, true)); console.log("crm_response for", path);
console.log("payload", payload);
console.log(inspect(crm_response.data, true, null, true));
}
res.status(200).json(crm_response.data); res.status(200).json(crm_response.data);
}) })

View File

@ -7,5 +7,10 @@ export default async function handler(req, res)
console.log(req.body); console.log(req.body);
console.log("-".repeat(50)); console.log("-".repeat(50));
await CRMRequestPost(req, res, `${ process.env.CRM_API_HOST }/lk/add-contract/CreateCalculation?contract_number=${ req.body.contract_number }`, req.body); await CRMRequestPost({
req, res,
path: `${ process.env.CRM_API_HOST }/lk/add-contract/CreateCalculation?contract_number=${ req.body.contract_number }`,
params: req.body,
log: true,
});
} }

View File

@ -7,5 +7,10 @@ export default async function handler(req, res)
console.log(req.body); console.log(req.body);
console.log("-".repeat(50)); console.log("-".repeat(50));
await CRMRequestPost(req, res, `${ process.env.CRM_API_HOST }/lk/add-contract/Signing?addcontract_number=${ req.body.addcontract_number }`, req.body); await CRMRequestPost({
req, res,
path: `${ process.env.CRM_API_HOST }/lk/add-contract/Signing?addcontract_number=${ req.body.addcontract_number }`,
params: req.body,
log: true,
});
} }

View File

@ -2,7 +2,7 @@ import CRMRequestGet from '../../../../lib/CRMRequestGet';
export default async function handler(req, res) export default async function handler(req, res)
{ {
console.log("\n\n", "API", "SIGN", "/check"); console.log("\n\n", "API", "SIGN", "api/contract/sign/check");
const { contract_number, addcontract_number, sign_type } = req.body; const { contract_number, addcontract_number, sign_type } = req.body;
const payload = { const payload = {

View File

@ -2,7 +2,7 @@ import CRMRequestGet from '../../../../../lib/CRMRequestGet';
export default async function handler(req, res) export default async function handler(req, res)
{ {
console.log("\n\n", "API", "SIGN", "/document/connect"); console.log("\n\n", "API", "SIGN", "/sign/document/connect");
const { contract_number, addcontract_number, } = req.body; const { contract_number, addcontract_number, } = req.body;
const payload = { const payload = {

View File

@ -1,4 +1,4 @@
import CRMRequestGet from '../../../../../lib/CRMRequestGet'; import CRMRequestPost from '../../../../../lib/CRMRequestPost';
export default async function handler(req, res) export default async function handler(req, res)
{ {
@ -17,9 +17,9 @@ export default async function handler(req, res)
console.log({ payload }); console.log({ payload });
await CRMRequestGet({ req, res, await CRMRequestPost({ req, res,
path: `${ process.env.CRM_API_HOST }/File/GetWMDoc`, path: `${ process.env.CRM_API_HOST }/File/GetWMDoc`,
data: JSON.stringify(payload), params: payload,
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
log: true, log: true,
}); });

View File

@ -2,7 +2,7 @@ import CRMRequestGet from '../../../../../lib/CRMRequestGet';
export default async function handler(req, res) export default async function handler(req, res)
{ {
console.log("\n\n", "API", "SIGN", "/document/status"); console.log("\n\n", "API", "SIGN", "/sign/document/status");
const { contract_number, addcontract_number, } = req.body; const { contract_number, addcontract_number, } = req.body;
const payload = { const payload = {

View File

@ -16,5 +16,11 @@ export default async function handler(req, res)
console.log("/accept"); console.log("/accept");
console.log({ offers }); console.log({ offers });
await CRMRequestPost(req, res, `${ process.env.CRM_API_HOST }/lk/ConsiderationOpportunity/quote?opp_number=${ deal_id }`, offers, true); await CRMRequestPost({
req, res,
path: `${ process.env.CRM_API_HOST }/lk/ConsiderationOpportunity/quote?opp_number=${ deal_id }`,
params: offers,
array: true,
log: true,
});
} }

View File

@ -5,7 +5,7 @@ import CRMRequestGet from '../../../lib/CRMRequestGet';
export default async function handler(req, res) export default async function handler(req, res)
{ {
console.log("\n\n", "API", "EDO", "/cancel"); console.log("\n\n", "API", "EDO", "/edo/cancel");
const { contract_number, addcontract_number, doc_type_id, } = req.body; const { contract_number, addcontract_number, doc_type_id, } = req.body;
const payload = { const payload = {

View File

@ -2,7 +2,7 @@ import CRMRequestGet from '../../../lib/CRMRequestGet';
export default async function handler(req, res) export default async function handler(req, res)
{ {
console.log("\n\n", "API", "EDO", "/project"); console.log("\n\n", "API", "EDO", "/edo/project");
const { contract_number, addcontract_number, power_attorney, power_attorney_number, edo_box, } = req.body; const { contract_number, addcontract_number, power_attorney, power_attorney_number, edo_box, } = req.body;
const payload = { const payload = {

View File

@ -2,7 +2,7 @@ import CRMRequestGet from '../../../lib/CRMRequestGet';
export default async function handler(req, res) export default async function handler(req, res)
{ {
console.log("\n\n", "API", "EDO", "/sign"); console.log("\n\n", "API", "EDO", "/edo/sign");
const { edoid } = req.body; const { edoid } = req.body;
const payload = { const payload = {

View File

@ -6,5 +6,11 @@ export default async function handler(req, res)
console.log(req.body); console.log(req.body);
console.log("-".repeat(50)); console.log("-".repeat(50));
await CRMRequestPost(req, res, `${ process.env.LOGS_API_HOST }/lk/DownloadDocumentFromLK`, req.body, true); await CRMRequestPost({
req, res,
path: `${ process.env.LOGS_API_HOST }/lk/DownloadDocumentFromLK`,
params: req.body,
array: true,
log: true,
});
} }

View File

@ -6,10 +6,62 @@ export default class AccountLayout extends React.Component
constructor(props) constructor(props)
{ {
super(props); super(props);
this.state = {
messages: [],
}
}
componentDidMount()
{
if(window !== undefined)
{
window.addEventListener("_track", this._handle_onTrack);
window.addEventListener("_move", this._handle_onMove);
window.addEventListener("_message", this._handle_onMessage);
}
console.log("CDM", { state: this.state });
}
componentWillUnmount()
{
if(window !== undefined)
{
window.removeEventListener("_track", this._handle_onTrack);
window.removeEventListener("_move", this._handle_onMove);
window.removeEventListener("_message", this._handle_onMessage);
}
}
_handle_onTrack = (event) =>
{
//event.detail.path
console.log("LAYOUT", "_handle_onTrack", { event, props: this.props });
}
_handle_onMove = (event) =>
{
this.props.router.push(event.detail.path);
}
_handle_onMessage = (event) =>
{
const messages = [ ...this.state.messages ];
messages.push(event.detail);
this.setState({ messages });
}
_handle_onMessageRemove = (index) =>
{
const messages = [ ...this.state.messages ];
messages.splice(index, 1);
this.setState({ messages });
} }
render() render()
{ {
const { messages } = this.state;
return ( return (
<main> <main>
<section> <section>
@ -21,6 +73,17 @@ export default class AccountLayout extends React.Component
</div> </div>
</section> </section>
<Manager/> <Manager/>
{ messages.length > 0 && (
<div className="messages_overlay">
{ messages.map((message, index) => (
<div className={ `overlay_message_${ message.type }` } key={ index }>
<h4>{ message.title }</h4>
<p>{ message.content }</p>
<div className="button" onClick={ () => this._handle_onMessageRemove(index) }></div>
</div>
))}
</div>
) }
</main> </main>
) )
} }

View File

@ -229,11 +229,17 @@ class SignEDO extends React.Component
} }
} }
_handle_onGoToEDOInvites = () =>
{
const eventLogin = new CustomEvent("_move", { detail: { path: "/settings/digital" } });
window.dispatchEvent(eventLogin);
}
_handle_onFormSubmit = (event) => _handle_onFormSubmit = (event) =>
{ {
event.preventDefault(); event.preventDefault();
const { onFinish, onCancel, onGoToEDOInvites } = this.props; const { onFinish, onCancel } = this.props;
const { operators, operator_selected, step, finished, error } = this.state; const { operators, operator_selected, step, finished, error } = this.state;
console.log("_handle_onFormSubmit"); console.log("_handle_onFormSubmit");
@ -241,7 +247,7 @@ class SignEDO extends React.Component
if(operators !== null && operators.length === 0) if(operators !== null && operators.length === 0)
{ {
onGoToEDOInvites(); this._handle_onGoToEDOInvites();
} }
else else
{ {

View File

@ -312,7 +312,7 @@ class ChangeGraphicPage extends React.Component
<meta name="description" content="ЛК Эволюция автолизинга" /> <meta name="description" content="ЛК Эволюция автолизинга" />
</Head> </Head>
<Header { ...this.props } /> <Header { ...this.props } />
<AccountLayout> <AccountLayout { ...this.props }>
<div className="title_wrapper"> <div className="title_wrapper">
<div className="left" style={{ flexDirection: "column" }}> <div className="left" style={{ flexDirection: "column" }}>
<ContractHeader number={ number } date={ date } car={ car }/> <ContractHeader number={ number } date={ date } car={ car }/>

View File

@ -288,7 +288,7 @@ class IndexPage extends React.Component
<meta name="description" content="ЛК Эволюция автолизинга" /> <meta name="description" content="ЛК Эволюция автолизинга" />
</Head> </Head>
<Header {...this.props} /> <Header {...this.props} />
<AccountLayout> <AccountLayout { ...this.props }>
<div className="title_wrapper"> <div className="title_wrapper">
<div className="left"> <div className="left">
<h1 className="section_title">Личный кабинет</h1> <h1 className="section_title">Личный кабинет</h1>