updatef for personal document validation, digital sign zip archive
This commit is contained in:
parent
38092fdaf9
commit
1cfbd39e1a
@ -180,7 +180,7 @@ export const getQuestionnaire = ({ dispatch, id }) =>
|
||||
{
|
||||
console.log("error");
|
||||
console.error(error);
|
||||
|
||||
|
||||
reject();
|
||||
});
|
||||
}
|
||||
|
||||
@ -81,4 +81,25 @@ export const getSuggests = (type, payload) =>
|
||||
reject();
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export const checkDocumentData = (payload) =>
|
||||
{
|
||||
return new Promise((resolve, reject) =>
|
||||
{
|
||||
axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/suggests/document/check`, payload, {
|
||||
withCredentials: true,
|
||||
})
|
||||
.then((response) =>
|
||||
{
|
||||
resolve(response.data);
|
||||
})
|
||||
.catch((error) =>
|
||||
{
|
||||
console.log("error");
|
||||
console.error(error);
|
||||
|
||||
reject();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@ -61,10 +61,11 @@ export default class AddressSuggests extends React.Component
|
||||
const { fias, focused } = this.state;
|
||||
const { onChange } = this.props;
|
||||
|
||||
this.setState({ focused: false }, () =>
|
||||
onChange({ name: value, fias_id: fias[value] });
|
||||
setTimeout(() =>
|
||||
{
|
||||
onChange({ name: value, fias_id: fias[value] });
|
||||
});
|
||||
this.setState({ focused: false });
|
||||
}, 100);
|
||||
}
|
||||
|
||||
_handle_onFocus = (event) =>
|
||||
|
||||
@ -81,10 +81,11 @@ export default class DocumentIssuerSuggestsInput extends React.Component
|
||||
console.log("DocumentIssuerSuggestsInput", "_handle_onSelect", { option });
|
||||
const { onChange } = this.props;
|
||||
|
||||
this.setState({ focused: false }, () =>
|
||||
onChange(option);
|
||||
setTimeout(() =>
|
||||
{
|
||||
onChange(option);
|
||||
});
|
||||
this.setState({ focused: false });
|
||||
}, 100);
|
||||
}
|
||||
|
||||
_handle_onFocus = () =>
|
||||
@ -187,11 +188,17 @@ export default class DocumentIssuerSuggestsInput extends React.Component
|
||||
disabled={ disabled }
|
||||
/>
|
||||
{ focused && options.length > 0 && (
|
||||
<div className="react-select__menu" style={{ position: "absolute", zIndex: 1, background: "#fff", width: "100%", left: "0px", top: "40px" }}>
|
||||
<div className="react-select__menu" style={{ position: "absolute", zIndex: 1000, background: "#fff", width: "100%", left: "0px", top: "40px" }}>
|
||||
<div className="react-select__menu-list">
|
||||
{ options.map((option, index) =>
|
||||
(
|
||||
<div className="react-select__option" aria-disabled="false" tab-index="-1" key={ index } onClick={ () => this._handle_onSelect(option) }>{ option.value }</div>
|
||||
<div
|
||||
className="react-select__option"
|
||||
style={{ minHeight: "26px", background: "#FFF", lineHeight: "18px", margin: "0px", padding: "5px 5px 5px 5px", }}
|
||||
key={ index }
|
||||
onMouseDown={ (event) => { event.preventDefault(); this._handle_onSelect(option); } }
|
||||
onTouchStart={ (event) => { event.preventDefault(); this._handle_onSelect(option); } }
|
||||
><span>{ option.value }</span></div>
|
||||
)) }
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -69,10 +69,12 @@ export default class SuggestsInput extends React.Component
|
||||
const { onChange } = this.props;
|
||||
|
||||
onChange(value);
|
||||
this.setState({ focused: true }, () =>
|
||||
this._getValue(value);
|
||||
|
||||
setTimeout(() =>
|
||||
{
|
||||
this._getValue(value);
|
||||
});
|
||||
this.setState({ focused: false });
|
||||
}, 100);
|
||||
}
|
||||
|
||||
_handle_onSelect = (value) =>
|
||||
|
||||
@ -94,10 +94,20 @@ class Form_1_Main extends QuestionnaireForm
|
||||
|
||||
for(let i in check)
|
||||
{
|
||||
if(main[check[i]] === "")
|
||||
if(check[i] === "telephone")
|
||||
{
|
||||
errors.push(`main.${ check[i] }`);
|
||||
if(main.telephone === "" || main.telephone === null || isNaN(parseInt(main.telephone.replace(/[^\d]+/g, ''), 10)) || parseInt(main.telephone.replace(/[^\d]+/g, ''), 10).toString().length < 11)
|
||||
{
|
||||
errors.push(`main.telephone`);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(main[check[i]] === null || main[check[i]] === "")
|
||||
{
|
||||
errors.push(`main.${ check[i] }`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(main.websiteurl !== null && main.websiteurl !== "")
|
||||
@ -112,7 +122,10 @@ class Form_1_Main extends QuestionnaireForm
|
||||
this.setState({ errors }, () =>
|
||||
{
|
||||
window.scroll(0, 0);
|
||||
this.ref_submit.current.click();
|
||||
if(errors.length === 0)
|
||||
{
|
||||
this.ref_submit.current.click();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -276,7 +289,7 @@ class Form_1_Main extends QuestionnaireForm
|
||||
placeholder="Укажите сумму"
|
||||
decimalSeparator="."
|
||||
groupSeparator=" "
|
||||
suffix=" ₽"
|
||||
//suffix=" ₽"
|
||||
maxLength={ 12 }
|
||||
onValueChange={ (value, name) => { this._removeError(name); this._handle_onTextFieldChange(name, value); } }
|
||||
required={ true }
|
||||
|
||||
@ -26,7 +26,7 @@ import AddressSuggests from "../../AddressSuggests";
|
||||
import InputMask from 'react-input-mask';
|
||||
import SuggestsInput from "../../SuggestsInput";
|
||||
import { getCitizenshipTitleByCode } from "../../../../utils/citizenship";
|
||||
import { removeAttachmentFiles, saveQuestionnaire, getSuggests } from "../../../../actions";
|
||||
import { removeAttachmentFiles, saveQuestionnaire, getSuggests, checkDocumentData } from "../../../../actions";
|
||||
import DocumentIssuerSuggestsInput from "../../DocumentIssuerSuggestsInput";
|
||||
import FormMessage from "../FormMessage";
|
||||
|
||||
@ -246,6 +246,7 @@ class Form_3_Signer extends QuestionnaireForm
|
||||
const { head_person } = this.state;
|
||||
const indefinite = !head_person.evo_indefinite ? true : false;
|
||||
this._handle_onCheckboxFieldChange("head_person.evo_indefinite", indefinite);
|
||||
this._removeError("head_person.evo_credentials_dateend");
|
||||
|
||||
if(!indefinite)
|
||||
{
|
||||
@ -322,206 +323,238 @@ class Form_3_Signer extends QuestionnaireForm
|
||||
_handle_onNextPage = (event) =>
|
||||
{
|
||||
event.preventDefault();
|
||||
|
||||
const errors = [];
|
||||
const { main, head_person, signatory_person,
|
||||
delegation_files, head_person_files, signatory_person_files, signatory_corporate_files,
|
||||
} = this.state;
|
||||
|
||||
const head_person_check = [
|
||||
"lastname",
|
||||
"firstname",
|
||||
"jobtitle",
|
||||
"email",
|
||||
"identity_document.seria",
|
||||
"identity_document.docnumber",
|
||||
"identity_document.issuedate",
|
||||
"identity_document.placebirth",
|
||||
"identity_document.citizenship_code",
|
||||
"identity_document.registration_address.name",
|
||||
"evo_assignment_date",
|
||||
];
|
||||
|
||||
if(parseInt(_get(head_person, "identity_document.doctype"), 10) === 100000000)
|
||||
this.setState({ loading: true }, async () =>
|
||||
{
|
||||
head_person_check.push("identity_document.code");
|
||||
head_person_check.push("identity_document.issueby");
|
||||
}
|
||||
const errors = [];
|
||||
const { main, head_person, signatory_person,
|
||||
delegation_files, head_person_files, signatory_person_files, signatory_corporate_files,
|
||||
} = this.state;
|
||||
|
||||
for(let i in head_person_check)
|
||||
{
|
||||
const v = _get(head_person, head_person_check[i]);
|
||||
|
||||
if(v === "" || v === null)
|
||||
{
|
||||
errors.push(`head_person.${ head_person_check[i] }`);
|
||||
}
|
||||
}
|
||||
|
||||
if(head_person.evo_assignment_date !== undefined && head_person.evo_assignment_date !== null && head_person.evo_assignment_date !== "")
|
||||
{
|
||||
try
|
||||
{
|
||||
const date = moment(head_person.evo_assignment_date);
|
||||
const today = moment();
|
||||
|
||||
if(date > today)
|
||||
{
|
||||
errors.push(`head_person.evo_assignment_date`);
|
||||
errors.push(`head_person.evo_assignment_date_invalid`);
|
||||
}
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
errors.push(`head_person.evo_assignment_date`);
|
||||
errors.push(`head_person.evo_assignment_date_invalid`);
|
||||
}
|
||||
}
|
||||
|
||||
if(!head_person.evo_indefinite)
|
||||
{
|
||||
if(head_person.evo_credentials_dateend === "")
|
||||
{
|
||||
errors.push(`head_person.evo_credentials_dateend`);
|
||||
}
|
||||
|
||||
if(head_person.evo_credentials_dateend !== undefined && head_person.evo_credentials_dateend !== null && head_person.evo_credentials_dateend !== "")
|
||||
{
|
||||
try
|
||||
{
|
||||
const date = moment(head_person.evo_credentials_dateend);
|
||||
const today = moment();
|
||||
|
||||
if(date < today)
|
||||
{
|
||||
errors.push(`head_person.evo_credentials_dateend`);
|
||||
errors.push(`head_person.evo_credentials_dateend_invalid`);
|
||||
}
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
errors.push(`head_person.evo_credentials_dateend`);
|
||||
errors.push(`head_person.evo_credentials_dateend_invalid`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(head_person.telephone === "" || head_person.telephone === null || isNaN(parseInt(head_person.telephone.replace(/[^\d]+/g, ''), 10)) || parseInt(head_person.telephone.replace(/[^\d]+/g, ''), 10).toString().length < 11)
|
||||
{
|
||||
errors.push(`head_person.telephone`);
|
||||
}
|
||||
|
||||
const email_regex = new RegExp(/[^@\s]+@[^@\s]+\.[^@\s]+/);
|
||||
if(!email_regex.test(head_person.email))
|
||||
{
|
||||
errors.push(`head_person.email`);
|
||||
}
|
||||
|
||||
//переданы
|
||||
if(signatory_person.delegation_agreement)
|
||||
{
|
||||
const main_check = [
|
||||
"individual_executive_inn",
|
||||
"individual_executive_kpp",
|
||||
"individual_executive_oop",
|
||||
"individual_executive_docnum",
|
||||
"individual_executive_docdate",
|
||||
];
|
||||
|
||||
for(let i in main_check)
|
||||
{
|
||||
let v = _get(main, main_check[i]);
|
||||
|
||||
if(main_check[i] === "individual_executive_inn")
|
||||
{
|
||||
if(!is_valid_inn(v.replace(/[^\d]+/g, '')))
|
||||
{
|
||||
errors.push(`main.individual_executive_inn`);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(v === "" || v === null)
|
||||
{
|
||||
errors.push(`main.${ main_check[i] }`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(delegation_files.length === 0) { errors.push(`delegation_files`); }
|
||||
}
|
||||
|
||||
//иной подписант
|
||||
if(signatory_person.not_head_person)
|
||||
{
|
||||
const signatory_person_check = [
|
||||
const head_person_check = [
|
||||
"lastname",
|
||||
"firstname",
|
||||
"jobtitle",
|
||||
"signer_rule_basic",
|
||||
"email",
|
||||
"identity_document.seria",
|
||||
"identity_document.docnumber",
|
||||
"identity_document.issuedate",
|
||||
"identity_document.placebirth",
|
||||
"identity_document.citizenship.code",
|
||||
"identity_document.citizenship_code",
|
||||
"identity_document.registration_address.name",
|
||||
"evo_assignment_date",
|
||||
];
|
||||
|
||||
if(parseInt(_get(signatory_person, "identity_document.doctype"), 10) === 100000000)
|
||||
if(parseInt(_get(head_person, "identity_document.doctype"), 10) === 100000000)
|
||||
{
|
||||
signatory_person_check.push("identity_document.code");
|
||||
signatory_person_check.push("identity_document.issueby");
|
||||
head_person_check.push("identity_document.code");
|
||||
head_person_check.push("identity_document.issueby");
|
||||
}
|
||||
|
||||
if(parseInt(signatory_person.signer_rule_basic, 10) === 100000003)
|
||||
for(let i in head_person_check)
|
||||
{
|
||||
signatory_person_check.push("signer_rule_basic_add");
|
||||
}
|
||||
|
||||
if(signatory_person.telephone === "" || signatory_person.telephone === null || isNaN(parseInt(signatory_person.telephone.replace(/[^\d]+/g, ''), 10)) || parseInt(signatory_person.telephone.replace(/[^\d]+/g, ''), 10).toString().length < 11)
|
||||
{
|
||||
errors.push(`signatory_person.telephone`);
|
||||
}
|
||||
|
||||
const email_regex = new RegExp(/[^@\s]+@[^@\s]+\.[^@\s]+/);
|
||||
if(!email_regex.test(signatory_person.email))
|
||||
{
|
||||
errors.push(`signatory_person.email`);
|
||||
}
|
||||
|
||||
if(signatory_person_files.length === 0) { errors.push(`signatory_person_files`); }
|
||||
|
||||
if(parseInt(signatory_person.signer_rule_basic, 10) === 100000000 || parseInt(signatory_person.signer_rule_basic, 10) === 100000003)
|
||||
{
|
||||
signatory_person_check.push("docdate");
|
||||
signatory_person_check.push("docnumber");
|
||||
|
||||
if(signatory_corporate_files.length === 0) { errors.push(`signatory_corporate_files`); }
|
||||
}
|
||||
|
||||
for(let i in signatory_person_check)
|
||||
{
|
||||
let v = _get(signatory_person, signatory_person_check[i]);
|
||||
const v = _get(head_person, head_person_check[i]);
|
||||
|
||||
if(v === "" || v === null)
|
||||
{
|
||||
errors.push(`signatory_person.${ signatory_person_check[i] }`);
|
||||
errors.push(`head_person.${ head_person_check[i] }`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(head_person_files.length === 0) { errors.push(`head_person_files`); }
|
||||
|
||||
this.setState({ errors }, () =>
|
||||
{
|
||||
console.log("_handle_onNextPage", { errors });
|
||||
|
||||
window.scroll(0, 0);
|
||||
if(errors.length === 0)
|
||||
if(head_person.evo_assignment_date !== undefined && head_person.evo_assignment_date !== null && head_person.evo_assignment_date !== "")
|
||||
{
|
||||
this.ref_submit.current.click();
|
||||
try
|
||||
{
|
||||
const date = moment(head_person.evo_assignment_date);
|
||||
const today = moment();
|
||||
|
||||
if(date > today)
|
||||
{
|
||||
errors.push(`head_person.evo_assignment_date`);
|
||||
errors.push(`head_person.evo_assignment_date_invalid`);
|
||||
}
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
errors.push(`head_person.evo_assignment_date`);
|
||||
errors.push(`head_person.evo_assignment_date_invalid`);
|
||||
}
|
||||
}
|
||||
|
||||
if(!head_person.evo_indefinite)
|
||||
{
|
||||
if(head_person.evo_credentials_dateend === undefined || head_person.evo_credentials_dateend === null || head_person.evo_credentials_dateend === "")
|
||||
{
|
||||
errors.push(`head_person.evo_credentials_dateend`);
|
||||
}
|
||||
|
||||
if(head_person.evo_credentials_dateend !== undefined && head_person.evo_credentials_dateend !== null && head_person.evo_credentials_dateend !== "")
|
||||
{
|
||||
try
|
||||
{
|
||||
const date = moment(head_person.evo_credentials_dateend);
|
||||
const today = moment();
|
||||
|
||||
if(date < today)
|
||||
{
|
||||
errors.push(`head_person.evo_credentials_dateend`);
|
||||
errors.push(`head_person.evo_credentials_dateend_invalid`);
|
||||
}
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
errors.push(`head_person.evo_credentials_dateend`);
|
||||
errors.push(`head_person.evo_credentials_dateend_invalid`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(head_person.telephone === "" || head_person.telephone === null || isNaN(parseInt(head_person.telephone.replace(/[^\d]+/g, ''), 10)) || parseInt(head_person.telephone.replace(/[^\d]+/g, ''), 10).toString().length < 11)
|
||||
{
|
||||
errors.push(`head_person.telephone`);
|
||||
}
|
||||
|
||||
const email_regex = new RegExp(/[^@\s]+@[^@\s]+\.[^@\s]+/);
|
||||
if(!email_regex.test(head_person.email))
|
||||
{
|
||||
errors.push(`head_person.email`);
|
||||
}
|
||||
|
||||
//8004
|
||||
//930118
|
||||
if(parseInt(_get(head_person, "identity_document.doctype"), 10) === 100000000 && errors.indexOf("head_persor.identity_document.seria") < 0 && errors.indexOf("head_persor.identity_document.docnumber") < 0)
|
||||
{
|
||||
const head_person_document_check_response = await checkDocumentData({
|
||||
seria: head_person.identity_document.seria,
|
||||
number: head_person.identity_document.docnumber,
|
||||
});
|
||||
|
||||
if(head_person_document_check_response[0] !== undefined && head_person_document_check_response[0].qc !== 0)
|
||||
{
|
||||
errors.push(`head_person.identity_document.invalid`);
|
||||
errors.push(`head_person.identity_document.seria`);
|
||||
errors.push(`head_person.identity_document.docnumber`);
|
||||
}
|
||||
}
|
||||
|
||||
//переданы
|
||||
if(signatory_person.delegation_agreement)
|
||||
{
|
||||
const main_check = [
|
||||
"individual_executive_inn",
|
||||
"individual_executive_kpp",
|
||||
"individual_executive_oop",
|
||||
"individual_executive_docnum",
|
||||
"individual_executive_docdate",
|
||||
];
|
||||
|
||||
for(let i in main_check)
|
||||
{
|
||||
let v = _get(main, main_check[i]);
|
||||
|
||||
if(main_check[i] === "individual_executive_inn")
|
||||
{
|
||||
if(!is_valid_inn(v.replace(/[^\d]+/g, '')))
|
||||
{
|
||||
errors.push(`main.individual_executive_inn`);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(v === "" || v === null)
|
||||
{
|
||||
errors.push(`main.${ main_check[i] }`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(delegation_files.length === 0) { errors.push(`delegation_files`); }
|
||||
}
|
||||
|
||||
//иной подписант
|
||||
if(signatory_person.not_head_person)
|
||||
{
|
||||
const signatory_person_check = [
|
||||
"lastname",
|
||||
"firstname",
|
||||
"jobtitle",
|
||||
"signer_rule_basic",
|
||||
"email",
|
||||
"identity_document.seria",
|
||||
"identity_document.docnumber",
|
||||
"identity_document.issuedate",
|
||||
"identity_document.placebirth",
|
||||
"identity_document.citizenship.code",
|
||||
"identity_document.registration_address.name",
|
||||
];
|
||||
|
||||
if(parseInt(_get(signatory_person, "identity_document.doctype"), 10) === 100000000)
|
||||
{
|
||||
signatory_person_check.push("identity_document.code");
|
||||
signatory_person_check.push("identity_document.issueby");
|
||||
}
|
||||
|
||||
if(parseInt(signatory_person.signer_rule_basic, 10) === 100000003)
|
||||
{
|
||||
signatory_person_check.push("signer_rule_basic_add");
|
||||
}
|
||||
|
||||
if(signatory_person.telephone === "" || signatory_person.telephone === null || isNaN(parseInt(signatory_person.telephone.replace(/[^\d]+/g, ''), 10)) || parseInt(signatory_person.telephone.replace(/[^\d]+/g, ''), 10).toString().length < 11)
|
||||
{
|
||||
errors.push(`signatory_person.telephone`);
|
||||
}
|
||||
|
||||
const email_regex = new RegExp(/[^@\s]+@[^@\s]+\.[^@\s]+/);
|
||||
if(!email_regex.test(signatory_person.email))
|
||||
{
|
||||
errors.push(`signatory_person.email`);
|
||||
}
|
||||
|
||||
if(signatory_person_files.length === 0) { errors.push(`signatory_person_files`); }
|
||||
|
||||
if(parseInt(signatory_person.signer_rule_basic, 10) === 100000000 || parseInt(signatory_person.signer_rule_basic, 10) === 100000003)
|
||||
{
|
||||
signatory_person_check.push("docdate");
|
||||
signatory_person_check.push("docnumber");
|
||||
|
||||
if(signatory_corporate_files.length === 0) { errors.push(`signatory_corporate_files`); }
|
||||
}
|
||||
|
||||
for(let i in signatory_person_check)
|
||||
{
|
||||
let v = _get(signatory_person, signatory_person_check[i]);
|
||||
|
||||
if(v === "" || v === null)
|
||||
{
|
||||
errors.push(`signatory_person.${ signatory_person_check[i] }`);
|
||||
}
|
||||
}
|
||||
|
||||
if(parseInt(_get(signatory_person, "identity_document.doctype"), 10) === 100000000 && errors.indexOf("signatory_person.identity_document.seria") < 0 && errors.indexOf("signatory_person.identity_document.docnumber") < 0)
|
||||
{
|
||||
const signatory_person_document_check_response = await checkDocumentData({
|
||||
seria: signatory_person.identity_document.seria,
|
||||
number: signatory_person.identity_document.docnumber,
|
||||
});
|
||||
|
||||
if(signatory_person_document_check_response[0] !== undefined && signatory_person_document_check_response[0].qc !== 0)
|
||||
{
|
||||
errors.push(`signatory_person.identity_document.invalid`);
|
||||
errors.push(`signatory_person.identity_document.seria`);
|
||||
errors.push(`signatory_person.identity_document.docnumber`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(head_person_files.length === 0) { errors.push(`head_person_files`); }
|
||||
|
||||
this.setState({ errors, loading: false }, () =>
|
||||
{
|
||||
window.scroll(0, 0);
|
||||
if(errors.length === 0)
|
||||
{
|
||||
this.ref_submit.current.click();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@ -619,6 +652,11 @@ class Form_3_Signer extends QuestionnaireForm
|
||||
/>
|
||||
</div>
|
||||
|
||||
{ errors.indexOf("head_person.identity_document.invalid") > -1 &&
|
||||
(
|
||||
<FormMessage type="error" title="Ошибка" message="Указаны недействительные паспортные данные."/>
|
||||
) }
|
||||
|
||||
<div className="formgroup">
|
||||
<div className="form_field">
|
||||
<label>Серия паспорта <sup className="required_label">*</sup></label>
|
||||
@ -629,7 +667,7 @@ class Form_3_Signer extends QuestionnaireForm
|
||||
name="head_person.identity_document.seria"
|
||||
value={ this._checkStrValue(head_person.identity_document.seria) }
|
||||
placeholder="Введите серию"
|
||||
onChange={ (event) => { this._removeError("head_person.identity_document.seria"); this._handle_onTextFieldChange(event.target.name, event.target.value) } }
|
||||
onChange={ (event) => { this._removeError(["head_person.identity_document.seria", "head_person.identity_document.invalid"]); this._handle_onTextFieldChange(event.target.name, event.target.value) } }
|
||||
required={ true }
|
||||
disabled={ checking }
|
||||
/>
|
||||
@ -643,7 +681,7 @@ class Form_3_Signer extends QuestionnaireForm
|
||||
name="head_person.identity_document.docnumber"
|
||||
value={ this._checkStrValue(head_person.identity_document.docnumber) }
|
||||
placeholder="Введите номер"
|
||||
onChange={ (event) => { this._removeError("head_person.identity_document.docnumber"); this._handle_onTextFieldChange(event.target.name, event.target.value) } }
|
||||
onChange={ (event) => { this._removeError(["head_person.identity_document.docnumber", "head_person.identity_document.invalid"]); this._handle_onTextFieldChange(event.target.name, event.target.value) } }
|
||||
required={ true }
|
||||
disabled={ checking }>
|
||||
</InputMask>
|
||||
@ -1069,6 +1107,11 @@ class Form_3_Signer extends QuestionnaireForm
|
||||
/>
|
||||
</div>
|
||||
|
||||
{ errors.indexOf("signatory_person.identity_document.invalid") > -1 &&
|
||||
(
|
||||
<FormMessage type="error" title="Ошибка" message="Указаны недействительные паспортные данные."/>
|
||||
) }
|
||||
|
||||
<div className="formgroup">
|
||||
<div className="form_field">
|
||||
<label>Серия паспорта <sup className="required_label">*</sup></label>
|
||||
|
||||
@ -19,7 +19,7 @@ import { reduxWrapper } from '../../../../store';
|
||||
import AddressSuggests from "../../AddressSuggests";
|
||||
import InputMask from 'react-input-mask';
|
||||
import { getCitizenshipTitleByCode } from "../../../../utils/citizenship";
|
||||
import { saveQuestionnaire } from "../../../../actions";
|
||||
import { checkDocumentData, saveQuestionnaire } from "../../../../actions";
|
||||
import SuggestsInput from "../../SuggestsInput";
|
||||
import DocumentIssuerSuggestsInput from "../../DocumentIssuerSuggestsInput";
|
||||
import moment from "moment";
|
||||
@ -38,8 +38,6 @@ class ShareholderForm extends React.Component
|
||||
|
||||
_handle_onCitizenshipChange = (name, value) =>
|
||||
{
|
||||
console.log("_handle_onCitizenshipChange", value);
|
||||
|
||||
let citizenship = getCitizenshipTitleByCode(value);
|
||||
this._handle_onFieldChange(name, {
|
||||
title: citizenship,
|
||||
@ -52,10 +50,7 @@ class ShareholderForm extends React.Component
|
||||
const { index, shareholder, checking, errors } = this.props;
|
||||
|
||||
let citizenship = { label: getCitizenshipTitleByCode(shareholder.identity_document.citizenship.code), code: shareholder.identity_document.citizenship.code };
|
||||
console.log("shareholder", "citizenship", citizenship);
|
||||
console.log("shareholder", shareholder);
|
||||
|
||||
console.log("shareholder errors", errors);
|
||||
console.log({ errors });
|
||||
|
||||
return (
|
||||
<React.Fragment>
|
||||
@ -166,6 +161,11 @@ class ShareholderForm extends React.Component
|
||||
/>
|
||||
</div>
|
||||
|
||||
{ errors.indexOf("identity_document.invalid") > -1 &&
|
||||
(
|
||||
<FormMessage type="error" title="Ошибка" message="Указаны недействительные паспортные данные."/>
|
||||
) }
|
||||
|
||||
<div className="form_field ">
|
||||
<div className="form_field">
|
||||
<label>Серия и номер паспорта <sup className="required_label">*</sup></label>
|
||||
@ -178,7 +178,7 @@ class ShareholderForm extends React.Component
|
||||
name={ `founder_persons[${ index }].identity_document.seria` }
|
||||
value={ this._checkStrValue(shareholder.identity_document.seria) }
|
||||
placeholder="Введите серию"
|
||||
onChange={ (event) => { this._removeError("identity_document.seria"); this._handle_onTextFieldChange(event.target.name, event.target.value) } }
|
||||
onChange={ (event) => { this._removeError(["identity_document.seria", "identity_document.invalid"]); this._handle_onTextFieldChange(event.target.name, event.target.value) } }
|
||||
required={ true }
|
||||
disabled={ checking }
|
||||
/>
|
||||
@ -191,7 +191,7 @@ class ShareholderForm extends React.Component
|
||||
name={ `founder_persons[${ index }].identity_document.docnumber` }
|
||||
value={ this._checkStrValue(shareholder.identity_document.docnumber) }
|
||||
placeholder="Введите номер"
|
||||
onChange={ (event) => { this._removeError("identity_document.docnumber"); this._handle_onTextFieldChange(event.target.name, event.target.value); } }
|
||||
onChange={ (event) => { this._removeError(["identity_document.docnumber", "identity_document.invalid"]); this._handle_onTextFieldChange(event.target.name, event.target.value); } }
|
||||
required={ true }
|
||||
disabled={ checking }
|
||||
/>
|
||||
@ -298,6 +298,10 @@ class ShareholderForm extends React.Component
|
||||
/>
|
||||
</div>
|
||||
|
||||
{ index === 0 && errors.indexOf("founder_part_total") > -1 && (
|
||||
<FormMessage type="error" title="Ошибка" message="Сумма долей учредителей более 100%"/>
|
||||
) }
|
||||
|
||||
<div className="form_field">
|
||||
<label>Доля в уставном капитале (%) <sup className="required_label">*</sup></label>
|
||||
<InputMask
|
||||
@ -440,7 +444,7 @@ class Shareholder extends React.Component
|
||||
id={ `founder_persons[${ index }].contact_${ hash }` }
|
||||
name={ `founder_persons[${ index }].contact_${ hash }` }
|
||||
checked={ hash === shareholder.hash }
|
||||
onChange={ () => changeFounderSelectionFromList(`founder_persons[${ index }]`, { ...shareholder, ...contact, ...{
|
||||
onChange={ () => changeFounderSelectionFromList(index, `founder_persons[${ index }]`, { ...shareholder, ...contact, ...{
|
||||
founder_from_list: false,
|
||||
founder_number: shareholders.length,
|
||||
} }) }
|
||||
@ -535,8 +539,6 @@ class Form_4_Shareholders extends QuestionnaireForm
|
||||
|
||||
componentDidMount()
|
||||
{
|
||||
console.log("Form_4_Shareholders", "this.state", this.state);
|
||||
console.log("Form_4_Shareholders", "global.store.getState()", global.store.getState());
|
||||
const founder_persons_template = JSON.parse(JSON.stringify(this.state.founder_persons_template));
|
||||
|
||||
if(this.state.founder_persons.length === 0)
|
||||
@ -549,13 +551,9 @@ class Form_4_Shareholders extends QuestionnaireForm
|
||||
|
||||
_handle_onAddShareholder = () =>
|
||||
{
|
||||
console.log("_handle_onAddShareholder");
|
||||
|
||||
const founder_persons = [ ...this.state.founder_persons ];
|
||||
const founder_persons_template = JSON.parse(JSON.stringify(this.state.founder_persons_template));
|
||||
|
||||
console.log("_handle_onAddShareholder", { founder_persons_template });
|
||||
|
||||
if(founder_persons.length < 4)
|
||||
{
|
||||
founder_persons.push(founder_persons_template);
|
||||
@ -581,16 +579,16 @@ class Form_4_Shareholders extends QuestionnaireForm
|
||||
{
|
||||
const founder_persons_template = JSON.parse(JSON.stringify(this.state.founder_persons_template));
|
||||
const update = { ...founder_persons_template , ...values };
|
||||
console.log("_handle_onClearFounderFromListSelection", update);
|
||||
|
||||
this._handle_onFieldChange(name, update );
|
||||
}
|
||||
|
||||
_handle_onChangeFounderSelectionFromList = (name, values) =>
|
||||
_handle_onChangeFounderSelectionFromList = (index, name, values) =>
|
||||
{
|
||||
console.log("_handle_onChangeFounderSelectionFromList");
|
||||
console.log(name, values);
|
||||
|
||||
this._handle_onFieldChange(name, { ...values } );
|
||||
const { errors } = this.state;
|
||||
errors.splice(index, 1);
|
||||
this.setState({ errors });
|
||||
}
|
||||
|
||||
_handle_onIssuerCodeChange = (branch, index, option) =>
|
||||
@ -640,7 +638,6 @@ class Form_4_Shareholders extends QuestionnaireForm
|
||||
_handle_onFormSubmit = (event) =>
|
||||
{
|
||||
event.preventDefault();
|
||||
console.log("Form_4_Shareholders", "_handle_onFormSubmit");
|
||||
|
||||
this._handle_onCheckboxFieldChange("step", 5);
|
||||
setTimeout(() =>
|
||||
@ -650,8 +647,9 @@ class Form_4_Shareholders extends QuestionnaireForm
|
||||
}, 10);
|
||||
}
|
||||
|
||||
_handle_onNextPage = () =>
|
||||
_handle_onNextPage = (event) =>
|
||||
{
|
||||
event.preventDefault();
|
||||
const errors = [
|
||||
[], [], [], []
|
||||
];
|
||||
@ -674,54 +672,98 @@ class Form_4_Shareholders extends QuestionnaireForm
|
||||
"identity_document.registration_address.name",
|
||||
];
|
||||
|
||||
if(parseInt(_get("signatory_person.identity_document.doctype"), 10) === 100000000)
|
||||
this.setState({ loading: true }, async () =>
|
||||
{
|
||||
}
|
||||
|
||||
for(let f in founder_persons)
|
||||
{
|
||||
for(let i in check)
|
||||
if(parseInt(_get("signatory_person.identity_document.doctype"), 10) === 100000000)
|
||||
{
|
||||
const v = _get(founder_persons[f], check[i]);
|
||||
if(check[i] === "telephone")
|
||||
}
|
||||
|
||||
let total_parts = 0;
|
||||
|
||||
for(let f in founder_persons)
|
||||
{
|
||||
for(let i in check)
|
||||
{
|
||||
if(v === "" || v === null || isNaN(parseInt(v.replace(/[^\d]+/g, ''), 10)) || parseInt(v.replace(/[^\d]+/g, ''), 10).toString().length < 11)
|
||||
const v = _get(founder_persons[f], check[i]);
|
||||
if(check[i] === "telephone")
|
||||
{
|
||||
errors[f].push(`telephone`);
|
||||
if(v === "" || v === null || isNaN(parseInt(v.replace(/[^\d]+/g, ''), 10)) || parseInt(v.replace(/[^\d]+/g, ''), 10).toString().length < 11)
|
||||
{
|
||||
errors[f].push(`telephone`);
|
||||
}
|
||||
}
|
||||
else if(check[i] === "email")
|
||||
{
|
||||
const r = new RegExp(/[^@\s]+@[^@\s]+\.[^@\s]+/);
|
||||
if(!r.test(v))
|
||||
{
|
||||
errors[f].push(`email`);
|
||||
}
|
||||
}
|
||||
else if(check[i] === "founder_part")
|
||||
{
|
||||
if(v !== "" || v !== null || !isNaN(parseInt(v, 10)))
|
||||
{
|
||||
total_parts = total_parts + parseInt(v, 10)
|
||||
}
|
||||
else
|
||||
{
|
||||
errors[f].push(`founder_part`);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(v === "" || v === null)
|
||||
{
|
||||
errors[f].push(check[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(check[i] === "email")
|
||||
|
||||
if(total_parts > 100)
|
||||
{
|
||||
const r = new RegExp(/[^@\s]+@[^@\s]+\.[^@\s]+/);
|
||||
if(!r.test(v))
|
||||
{
|
||||
errors[f].push(`email`);
|
||||
}
|
||||
errors[0].push(`founder_part_total`);
|
||||
}
|
||||
else
|
||||
|
||||
if(parseInt(_get(founder_persons[f], "identity_document.doctype"), 10) === 100000000 && errors.indexOf("identity_document.seria") < 0 && errors.indexOf("identity_document.docnumber") < 0)
|
||||
{
|
||||
if(v === "" || v === null)
|
||||
const founder_document_check_response = await checkDocumentData({
|
||||
seria: _get(founder_persons[f], "identity_document.seria"),
|
||||
number: _get(founder_persons[f], "identity_document.docnumber"),
|
||||
});
|
||||
|
||||
if(founder_document_check_response[0] !== undefined && founder_document_check_response[0].qc !== 0)
|
||||
{
|
||||
errors[f].push(check[i]);
|
||||
errors[f].push(`identity_document.invalid`);
|
||||
errors[f].push(`identity_document.seria`);
|
||||
errors[f].push(`identity_document.docnumber`);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.setState({ errors }, () =>
|
||||
{
|
||||
window.scroll(0, 0);
|
||||
if(errors.length === 0)
|
||||
this.setState({ errors, loading: false }, () =>
|
||||
{
|
||||
this.ref_submit.current.click();
|
||||
}
|
||||
window.scroll(0, 0);
|
||||
let errnum = 0;
|
||||
for(let i in errors)
|
||||
{
|
||||
for(let e in errors[i])
|
||||
{
|
||||
errnum++;
|
||||
}
|
||||
}
|
||||
|
||||
if(errnum === 0)
|
||||
{
|
||||
this.ref_submit.current.click();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
_onRemoveError = (index, name) =>
|
||||
{
|
||||
const errors = [ ...this.state.errors ];
|
||||
console.log("_onRemoveError", { index, name, errors });
|
||||
|
||||
if(typeof name === "string")
|
||||
{
|
||||
@ -764,8 +806,6 @@ class Form_4_Shareholders extends QuestionnaireForm
|
||||
const { checking } = this.props;
|
||||
const { founder_persons, client_contacts, loading, address, status, errors, } = this.state;
|
||||
|
||||
//console.log("questionnaire", questionnaire);
|
||||
|
||||
return (
|
||||
<form ref={ this.ref_form } onSubmit={ this._handle_onFormSubmit } onKeyDown={(e) => {if (e.key === 'Enter') e.preventDefault() }} className={`questionnaire questionnaire_4 ${ checking && "disabled" }`}>
|
||||
<p className="title">4. Сведения об участниках (акционерах) и бенефициарных владельцах</p>
|
||||
@ -809,7 +849,7 @@ class Form_4_Shareholders extends QuestionnaireForm
|
||||
) : (
|
||||
<div></div>
|
||||
) }
|
||||
<div>
|
||||
<div className="questionnaire_button_continue">
|
||||
<button type="submit" className="button button-blue" onClick={ this._handle_onNextPage } disabled={ founder_persons.length === 0 ? true : founder_persons[0].founder_from_list ? true : false }>
|
||||
{ loading ? (
|
||||
<SpinnerCircular size={24} thickness={100} speed={100} color="rgba(255, 255, 255, 1)" secondaryColor="rgba(255, 255, 255, 0.5)" style={{ marginTop: "4px" }}/>
|
||||
|
||||
@ -191,7 +191,7 @@ class Form_5_Regulatory extends QuestionnaireForm
|
||||
{ !checking && (
|
||||
<div className="action">
|
||||
<div></div>
|
||||
<div>
|
||||
<div className="questionnaire_button_continue">
|
||||
<button type="submit" className="button button-blue" onClick={ this._handle_onNextPage }>
|
||||
{ loading ? (
|
||||
<SpinnerCircular size={24} thickness={100} speed={100} color="rgba(255, 255, 255, 1)" secondaryColor="rgba(255, 255, 255, 0.5)" style={{ marginTop: "4px" }}/>
|
||||
|
||||
@ -1080,6 +1080,9 @@
|
||||
}
|
||||
}
|
||||
/* questionnaire */
|
||||
.questionnaire .button-blue {
|
||||
min-width: 80px;
|
||||
}
|
||||
.questionnaire:not(:last-child) {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
@ -1384,6 +1387,9 @@
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
.questionnaire .files_list {
|
||||
padding-bottom: 30px;
|
||||
}
|
||||
@media all and (max-width: 720px) {
|
||||
.questionnaire .files_list .dosc_list {
|
||||
width: 100% !important;
|
||||
@ -1641,3 +1647,8 @@
|
||||
margin-top: 10px;
|
||||
}
|
||||
}
|
||||
@media all and (max-width: 720px) {
|
||||
.questionnaire_button_continue {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1289,6 +1289,7 @@
|
||||
/* questionnaire */
|
||||
.questionnaire {
|
||||
|
||||
.button-blue { min-width: 80px; }
|
||||
&:not(:last-child) {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
@ -1630,7 +1631,9 @@
|
||||
}
|
||||
|
||||
.files_list {
|
||||
@media all and (max-width: 720px) {
|
||||
padding-bottom: 30px;
|
||||
|
||||
@media all and (max-width: 720px) {
|
||||
.dosc_list {
|
||||
width: 100% !important;
|
||||
|
||||
@ -1913,4 +1916,10 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.questionnaire_button_continue {
|
||||
@media all and (max-width: 720px) {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@ -12,6 +12,7 @@
|
||||
"@mpth/react-no-ssr": "^1.0.1",
|
||||
"@nano-sql/core": "^2.3.7",
|
||||
"@pdf-lib/fontkit": "^1.1.1",
|
||||
"archiver": "^5.3.1",
|
||||
"async": "^3.2.2",
|
||||
"axios": "^0.24.0",
|
||||
"cookie": "^0.4.1",
|
||||
|
||||
@ -12,6 +12,7 @@ import { inspect } from 'util';
|
||||
import multer from 'multer';
|
||||
import { get as _get, pick as _pick } from 'lodash';
|
||||
import { eachSeries } from 'async';
|
||||
import archiver from 'archiver';
|
||||
|
||||
import { fileTypeFromBuffer } from "file-type";
|
||||
//import { MIMEType } from 'util';
|
||||
@ -22,6 +23,8 @@ import RedisClient from '../../../lib/RedisClient';
|
||||
const storage = multer.memoryStorage();
|
||||
const upload = multer({ storage: storage });
|
||||
|
||||
const uploads = `${ __dirname }/../../../../../uploads/`;
|
||||
|
||||
function checkNullEmpty(value)
|
||||
{
|
||||
if(value === null) { return false; }
|
||||
@ -30,13 +33,53 @@ function checkNullEmpty(value)
|
||||
return true;
|
||||
}
|
||||
|
||||
function zipDigitalContent(zip_filename, files)
|
||||
{
|
||||
return new Promise((resolve) =>
|
||||
{
|
||||
const output = fs.createWriteStream(`${ uploads }${ zip_filename }`);
|
||||
const archive = archiver('zip', {
|
||||
zlib: { level: 9 } // Sets the compression level.
|
||||
});
|
||||
|
||||
output.on('end', function()
|
||||
{
|
||||
console.log('Data has been drained');
|
||||
});
|
||||
|
||||
archive.on('warning', function(err)
|
||||
{
|
||||
if (err.code === 'ENOENT')
|
||||
{
|
||||
// log warning
|
||||
} else {
|
||||
// throw error
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
|
||||
archive.on('error', function(err)
|
||||
{
|
||||
throw err;
|
||||
});
|
||||
|
||||
archive.pipe(output);
|
||||
|
||||
for(let i in files)
|
||||
{
|
||||
archive.append(fs.createReadStream(files[i].path), { name: files[i].name });
|
||||
}
|
||||
archive.finalize();
|
||||
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
export default async function handler(req, res)
|
||||
{
|
||||
console.log("API", "questionnaire", "send");
|
||||
await cors(req, res);
|
||||
|
||||
const uploads = `${ __dirname }/../../../../../uploads/`;
|
||||
|
||||
return new Promise((resolve) =>
|
||||
{
|
||||
if(req.headers.cookie !== undefined)
|
||||
@ -64,9 +107,11 @@ export default async function handler(req, res)
|
||||
const filetype = await fileTypeFromBuffer(file.buffer);
|
||||
console.log("fileTypeFromBuffer", filetype);
|
||||
|
||||
const timemark = moment().format("YYYY_MM_DD_HH_mm_ss");
|
||||
|
||||
const local_filename = digital
|
||||
? `${ client_jwt_decoded.acc_number }_questionnaire_${ moment().format("YYYY_MM_DD_HH:mm:ss") }.sig`
|
||||
: `${ client_jwt_decoded.acc_number }_signed_questionnaire_${ moment().format("YYYY_MM_DD_HH:mm:ss") }.${ filetype.ext }`;
|
||||
? `${ client_jwt_decoded.acc_number }_questionnaire_${ timemark }.sig`
|
||||
: `${ client_jwt_decoded.acc_number }_signed_questionnaire_${ timemark }.${ filetype.ext }`;
|
||||
|
||||
const key = md5(`questionnaire_${ client_jwt_decoded.acc_number }`);
|
||||
const questionnaire = await RedisClient.get(key);
|
||||
@ -201,15 +246,38 @@ export default async function handler(req, res)
|
||||
files_to_send.push({ ...parsed.signatory_corporate_files[i], ...{ number: 22, } })
|
||||
}
|
||||
|
||||
/*
|
||||
files_to_send.push({ ...{
|
||||
name: `${ client_jwt_decoded.acc_number }_questionnaire.pdf`,
|
||||
filename: `${ client_jwt_decoded.acc_number }_questionnaire.pdf`,
|
||||
}, ...{ number: 18, } });
|
||||
*/
|
||||
|
||||
files_to_send.push({ ...{
|
||||
name: local_filename,
|
||||
filename: local_filename,
|
||||
}, ...{ number: digital ? 162 : 161, } });
|
||||
if(digital)
|
||||
{
|
||||
const zip_filename = `${ client_jwt_decoded.acc_number }_questionnaire.zip`;
|
||||
await zipDigitalContent(zip_filename, [{
|
||||
name: `${ client_jwt_decoded.acc_number }_questionnaire_${ timemark }.pdf`,
|
||||
path: `${ uploads }${ client_jwt_decoded.acc_number }_questionnaire.pdf`,
|
||||
},
|
||||
{
|
||||
name: local_filename,
|
||||
path: `${ uploads }${ local_filename }`,
|
||||
}
|
||||
]);
|
||||
|
||||
files_to_send.push({ ...{
|
||||
name: zip_filename,
|
||||
filename: zip_filename,
|
||||
}, ...{ number: 162 } });
|
||||
}
|
||||
else
|
||||
{
|
||||
files_to_send.push({ ...{
|
||||
name: local_filename,
|
||||
filename: local_filename,
|
||||
}, ...{ number: 161, } });
|
||||
}
|
||||
|
||||
console.log("@".repeat(200));
|
||||
console.log(payload);
|
||||
|
||||
@ -40,6 +40,8 @@ class QuestionnairePage extends React.Component
|
||||
signatories: [],
|
||||
company: {},
|
||||
nko: false,
|
||||
moderation: false,
|
||||
loading: true,
|
||||
};
|
||||
}
|
||||
|
||||
@ -70,7 +72,15 @@ class QuestionnairePage extends React.Component
|
||||
|
||||
console.log("-".repeat(50));
|
||||
console.log(company);
|
||||
getQuestionnaire({ dispatch, id: company.questionnaire_id });
|
||||
getQuestionnaire({ dispatch, id: company.questionnaire_id })
|
||||
.then(() =>
|
||||
{
|
||||
this.setState({ loading: false, });
|
||||
})
|
||||
.catch(() =>
|
||||
{
|
||||
this.setState({ loading: false, moderation: true });
|
||||
});
|
||||
}
|
||||
|
||||
_check_fields_disabled = (values) =>
|
||||
@ -113,7 +123,7 @@ class QuestionnairePage extends React.Component
|
||||
|
||||
render()
|
||||
{
|
||||
const { company, nko, phone, phone_check_loading, phone_number_format_error } = this.state;
|
||||
const { loading, moderation, company, nko, phone, phone_check_loading, phone_number_format_error } = this.state;
|
||||
const route = this.props.router.asPath;
|
||||
|
||||
return (
|
||||
@ -130,14 +140,42 @@ class QuestionnairePage extends React.Component
|
||||
</div>
|
||||
</div>
|
||||
<NoSSR>
|
||||
<div className={ `aside_container ${ route.indexOf("#status") < 0 ? "about" : "" }` }>
|
||||
{ route.indexOf("#status") < 0 && (
|
||||
<InnerMenu company={ company } nko={ nko } { ...this.props }/>
|
||||
) }
|
||||
<article>
|
||||
{ this._renderForm() }
|
||||
</article>
|
||||
</div>
|
||||
{ loading ? (
|
||||
<div className="container" style={{ display: "flex", alignItems: "center", justifyContent: "center", }}>
|
||||
<SpinnerCircular size={ 90 } thickness={ 51 } speed={ 100 } color="rgba(28, 1, 169, 1)" secondaryColor="rgba(236, 239, 244, 1)" />
|
||||
</div>
|
||||
) : (
|
||||
<React.Fragment>
|
||||
{ moderation ? (
|
||||
<React.Fragment>
|
||||
<div className="questionnaire message moderate">
|
||||
<svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M22 38.5C31.1127 38.5 38.5 31.1127 38.5 22C38.5 12.8873 31.1127 5.5 22 5.5C12.8873 5.5 5.5 12.8873 5.5 22C5.5 31.1127 12.8873 38.5 22 38.5Z" fill="white"/>
|
||||
<path d="M23.0322 14.699L28.301 19.9678L29.0537 22.9785L25.2903 26.7419M14.0478 23.779L19.221 28.9522M18.957 29H14.7527C14.5531 29 14.3616 28.9207 14.2205 28.7795C14.0793 28.6384 14 28.4469 14 28.2473V24.043C14 23.9441 14.0195 23.8463 14.0573 23.7549C14.0951 23.6636 14.1506 23.5806 14.2205 23.5107L25.5107 12.2205C25.6519 12.0793 25.8433 12 26.043 12C26.2426 12 26.434 12.0793 26.5752 12.2205L30.7795 16.4248C30.9207 16.566 31 16.7574 31 16.957C31 17.1567 30.9207 17.3481 30.7795 17.4893L19.4893 28.7795C19.4194 28.8494 19.3364 28.9049 19.2451 28.9427C19.1537 28.9805 19.0559 29 18.957 29Z" stroke="#8E94A7" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round"/>
|
||||
</svg>
|
||||
<p>
|
||||
<b>Анкета подписана и находится на проверке</b>
|
||||
При необходимости сотрудник Отдела по работе с клиентами свяжется с Вами.
|
||||
</p>
|
||||
</div>
|
||||
<div className="questionnaire status_action">
|
||||
<>
|
||||
<button className="button button-blue" style={{ width: "100%", minWidth: "255px" }} onClick={ () => this.props.router.push("/") }>Перейти на главную страницу </button>
|
||||
</>
|
||||
</div>
|
||||
</React.Fragment>
|
||||
) : (
|
||||
<div className={ `aside_container ${ route.indexOf("#status") < 0 ? "about" : "" }` }>
|
||||
{ route.indexOf("#status") < 0 && (
|
||||
<InnerMenu company={ company } nko={ nko } { ...this.props }/>
|
||||
) }
|
||||
<article>
|
||||
{ this._renderForm() }
|
||||
</article>
|
||||
</div>
|
||||
) }
|
||||
</React.Fragment>
|
||||
) }
|
||||
</NoSSR>
|
||||
</AccountLayout>
|
||||
<Footer/>
|
||||
|
||||
191
yarn.lock
191
yarn.lock
@ -647,6 +647,35 @@ append-field@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/append-field/-/append-field-1.0.0.tgz#1e3440e915f0b1203d23748e78edd7b9b5b43e56"
|
||||
integrity sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==
|
||||
|
||||
archiver-utils@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-2.1.0.tgz#e8a460e94b693c3e3da182a098ca6285ba9249e2"
|
||||
integrity sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==
|
||||
dependencies:
|
||||
glob "^7.1.4"
|
||||
graceful-fs "^4.2.0"
|
||||
lazystream "^1.0.0"
|
||||
lodash.defaults "^4.2.0"
|
||||
lodash.difference "^4.5.0"
|
||||
lodash.flatten "^4.4.0"
|
||||
lodash.isplainobject "^4.0.6"
|
||||
lodash.union "^4.6.0"
|
||||
normalize-path "^3.0.0"
|
||||
readable-stream "^2.0.0"
|
||||
|
||||
archiver@^5.3.1:
|
||||
version "5.3.1"
|
||||
resolved "https://registry.yarnpkg.com/archiver/-/archiver-5.3.1.tgz#21e92811d6f09ecfce649fbefefe8c79e57cbbb6"
|
||||
integrity sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==
|
||||
dependencies:
|
||||
archiver-utils "^2.1.0"
|
||||
async "^3.2.3"
|
||||
buffer-crc32 "^0.2.1"
|
||||
readable-stream "^3.6.0"
|
||||
readdir-glob "^1.0.0"
|
||||
tar-stream "^2.2.0"
|
||||
zip-stream "^4.1.0"
|
||||
|
||||
argparse@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
|
||||
@ -803,7 +832,7 @@ async-each@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.6.tgz#52f1d9403818c179b7561e11a5d1b77eb2160e77"
|
||||
integrity sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==
|
||||
|
||||
async@^3.2.2:
|
||||
async@^3.2.2, async@^3.2.3:
|
||||
version "3.2.4"
|
||||
resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
|
||||
integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
|
||||
@ -1421,7 +1450,7 @@ balanced-match@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
||||
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
|
||||
|
||||
base64-js@^1.0.2:
|
||||
base64-js@^1.0.2, base64-js@^1.3.1:
|
||||
version "1.5.1"
|
||||
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
|
||||
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
|
||||
@ -1468,6 +1497,15 @@ bindings@^1.5.0:
|
||||
dependencies:
|
||||
file-uri-to-path "1.0.0"
|
||||
|
||||
bl@^4.0.3:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
|
||||
integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
|
||||
dependencies:
|
||||
buffer "^5.5.0"
|
||||
inherits "^2.0.4"
|
||||
readable-stream "^3.4.0"
|
||||
|
||||
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9:
|
||||
version "4.12.0"
|
||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
|
||||
@ -1486,6 +1524,13 @@ brace-expansion@^1.1.7:
|
||||
balanced-match "^1.0.0"
|
||||
concat-map "0.0.1"
|
||||
|
||||
brace-expansion@^2.0.1:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
|
||||
integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
|
||||
dependencies:
|
||||
balanced-match "^1.0.0"
|
||||
|
||||
braces@^1.8.2:
|
||||
version "1.8.5"
|
||||
resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
|
||||
@ -1674,6 +1719,11 @@ browserslist@4.16.6:
|
||||
escalade "^3.1.1"
|
||||
node-releases "^1.1.71"
|
||||
|
||||
buffer-crc32@^0.2.1, buffer-crc32@^0.2.13:
|
||||
version "0.2.13"
|
||||
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
|
||||
integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==
|
||||
|
||||
buffer-equal-constant-time@1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
|
||||
@ -1706,6 +1756,14 @@ buffer@^4.1.0, buffer@^4.3.0:
|
||||
ieee754 "^1.1.4"
|
||||
isarray "^1.0.0"
|
||||
|
||||
buffer@^5.5.0:
|
||||
version "5.7.1"
|
||||
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
|
||||
integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
|
||||
dependencies:
|
||||
base64-js "^1.3.1"
|
||||
ieee754 "^1.1.13"
|
||||
|
||||
builtin-status-codes@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
|
||||
@ -1974,6 +2032,16 @@ component-emitter@^1.2.1:
|
||||
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0"
|
||||
integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==
|
||||
|
||||
compress-commons@^4.1.0:
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-4.1.1.tgz#df2a09a7ed17447642bad10a85cc9a19e5c42a7d"
|
||||
integrity sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==
|
||||
dependencies:
|
||||
buffer-crc32 "^0.2.13"
|
||||
crc32-stream "^4.0.2"
|
||||
normalize-path "^3.0.0"
|
||||
readable-stream "^3.6.0"
|
||||
|
||||
concat-map@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
||||
@ -2091,6 +2159,19 @@ cosmiconfig@^7.0.0:
|
||||
path-type "^4.0.0"
|
||||
yaml "^1.10.0"
|
||||
|
||||
crc-32@^1.2.0:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff"
|
||||
integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==
|
||||
|
||||
crc32-stream@^4.0.2:
|
||||
version "4.0.2"
|
||||
resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-4.0.2.tgz#c922ad22b38395abe9d3870f02fa8134ed709007"
|
||||
integrity sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==
|
||||
dependencies:
|
||||
crc-32 "^1.2.0"
|
||||
readable-stream "^3.4.0"
|
||||
|
||||
create-ecdh@^4.0.0:
|
||||
version "4.0.4"
|
||||
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
|
||||
@ -2465,6 +2546,13 @@ encoding@0.1.13, encoding@^0.1.11:
|
||||
dependencies:
|
||||
iconv-lite "^0.6.2"
|
||||
|
||||
end-of-stream@^1.4.1:
|
||||
version "1.4.4"
|
||||
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
|
||||
integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
|
||||
dependencies:
|
||||
once "^1.4.0"
|
||||
|
||||
enquire.js@^2.1.6:
|
||||
version "2.1.6"
|
||||
resolved "https://registry.yarnpkg.com/enquire.js/-/enquire.js-2.1.6.tgz#3e8780c9b8b835084c3f60e166dbc3c2a3c89814"
|
||||
@ -3123,6 +3211,11 @@ fragment-cache@^0.2.1:
|
||||
dependencies:
|
||||
map-cache "^0.2.2"
|
||||
|
||||
fs-constants@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
|
||||
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
|
||||
|
||||
fs-readdir-recursive@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27"
|
||||
@ -3258,7 +3351,7 @@ glob@7.1.7:
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
glob@^7.0.5, glob@^7.1.0, glob@^7.1.2, glob@^7.1.3, glob@^7.2.0:
|
||||
glob@^7.0.5, glob@^7.1.0, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.2.0:
|
||||
version "7.2.3"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
|
||||
integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
|
||||
@ -3294,7 +3387,7 @@ globby@^11.0.3, globby@^11.1.0:
|
||||
merge2 "^1.4.1"
|
||||
slash "^3.0.0"
|
||||
|
||||
graceful-fs@^4.1.11, graceful-fs@^4.1.4:
|
||||
graceful-fs@^4.1.11, graceful-fs@^4.1.4, graceful-fs@^4.2.0:
|
||||
version "4.2.11"
|
||||
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
|
||||
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
|
||||
@ -3503,7 +3596,7 @@ iconv-lite@^0.6.2:
|
||||
dependencies:
|
||||
safer-buffer ">= 2.1.2 < 3.0.0"
|
||||
|
||||
ieee754@^1.1.4, ieee754@^1.2.1:
|
||||
ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
|
||||
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
|
||||
@ -4179,6 +4272,13 @@ language-tags@^1.0.5:
|
||||
dependencies:
|
||||
language-subtag-registry "~0.3.2"
|
||||
|
||||
lazystream@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.1.tgz#494c831062f1f9408251ec44db1cba29242a2638"
|
||||
integrity sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==
|
||||
dependencies:
|
||||
readable-stream "^2.0.5"
|
||||
|
||||
levenshtein-edit-distance@^2.0.4:
|
||||
version "2.0.5"
|
||||
resolved "https://registry.yarnpkg.com/levenshtein-edit-distance/-/levenshtein-edit-distance-2.0.5.tgz#a066eca8afb350e4d9054aed9ffeef66e78ffc83"
|
||||
@ -4252,6 +4352,11 @@ lodash.defaults@^4.2.0:
|
||||
resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c"
|
||||
integrity sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==
|
||||
|
||||
lodash.difference@^4.5.0:
|
||||
version "4.5.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.difference/-/lodash.difference-4.5.0.tgz#9ccb4e505d486b91651345772885a2df27fd017c"
|
||||
integrity sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==
|
||||
|
||||
lodash.flatten@^4.4.0:
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f"
|
||||
@ -4312,6 +4417,11 @@ lodash.sortby@^4.7.0:
|
||||
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
|
||||
integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==
|
||||
|
||||
lodash.union@^4.6.0:
|
||||
version "4.6.0"
|
||||
resolved "https://registry.yarnpkg.com/lodash.union/-/lodash.union-4.6.0.tgz#48bb5088409f16f1821666641c44dd1aaae3cd88"
|
||||
integrity sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==
|
||||
|
||||
lodash@^4.17.21, lodash@^4.17.4:
|
||||
version "4.17.21"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
|
||||
@ -4481,6 +4591,13 @@ minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2:
|
||||
dependencies:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimatch@^5.1.0:
|
||||
version "5.1.6"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
|
||||
integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
|
||||
dependencies:
|
||||
brace-expansion "^2.0.1"
|
||||
|
||||
minimist@^1.1.0:
|
||||
version "1.2.8"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
|
||||
@ -4889,7 +5006,7 @@ object.values@^1.1.5:
|
||||
define-properties "^1.1.3"
|
||||
es-abstract "^1.19.1"
|
||||
|
||||
once@^1.3.0:
|
||||
once@^1.3.0, once@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||
integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
|
||||
@ -5506,6 +5623,19 @@ read-only-stream@^2.0.0:
|
||||
dependencies:
|
||||
readable-stream "^2.0.2"
|
||||
|
||||
readable-stream@^2.0.0, readable-stream@^2.0.5, readable-stream@~2.3.6:
|
||||
version "2.3.8"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
|
||||
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
|
||||
dependencies:
|
||||
core-util-is "~1.0.0"
|
||||
inherits "~2.0.3"
|
||||
isarray "~1.0.0"
|
||||
process-nextick-args "~2.0.0"
|
||||
safe-buffer "~5.1.1"
|
||||
string_decoder "~1.1.1"
|
||||
util-deprecate "~1.0.1"
|
||||
|
||||
readable-stream@^2.0.2, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6:
|
||||
version "2.3.7"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
|
||||
@ -5519,6 +5649,15 @@ readable-stream@^2.0.2, readable-stream@^2.2.2, readable-stream@^2.3.3, readable
|
||||
string_decoder "~1.1.1"
|
||||
util-deprecate "~1.0.1"
|
||||
|
||||
readable-stream@^3.1.1, readable-stream@^3.4.0:
|
||||
version "3.6.2"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
|
||||
integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
|
||||
dependencies:
|
||||
inherits "^2.0.3"
|
||||
string_decoder "^1.1.1"
|
||||
util-deprecate "^1.0.1"
|
||||
|
||||
readable-stream@^3.5.0, readable-stream@^3.6.0:
|
||||
version "3.6.0"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
|
||||
@ -5540,19 +5679,6 @@ readable-stream@~2.0.0:
|
||||
string_decoder "~0.10.x"
|
||||
util-deprecate "~1.0.1"
|
||||
|
||||
readable-stream@~2.3.6:
|
||||
version "2.3.8"
|
||||
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
|
||||
integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
|
||||
dependencies:
|
||||
core-util-is "~1.0.0"
|
||||
inherits "~2.0.3"
|
||||
isarray "~1.0.0"
|
||||
process-nextick-args "~2.0.0"
|
||||
safe-buffer "~5.1.1"
|
||||
string_decoder "~1.1.1"
|
||||
util-deprecate "~1.0.1"
|
||||
|
||||
readable-web-to-node-stream@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz#5d52bb5df7b54861fd48d015e93a2cb87b3ee0bb"
|
||||
@ -5560,6 +5686,13 @@ readable-web-to-node-stream@^3.0.2:
|
||||
dependencies:
|
||||
readable-stream "^3.6.0"
|
||||
|
||||
readdir-glob@^1.0.0:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/readdir-glob/-/readdir-glob-1.1.3.tgz#c3d831f51f5e7bfa62fa2ffbe4b508c640f09584"
|
||||
integrity sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==
|
||||
dependencies:
|
||||
minimatch "^5.1.0"
|
||||
|
||||
readdirp@^2.0.0:
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
|
||||
@ -6379,6 +6512,17 @@ syntax-error@^1.1.1:
|
||||
dependencies:
|
||||
acorn-node "^1.2.0"
|
||||
|
||||
tar-stream@^2.2.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
|
||||
integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
|
||||
dependencies:
|
||||
bl "^4.0.3"
|
||||
end-of-stream "^1.4.1"
|
||||
fs-constants "^1.0.0"
|
||||
inherits "^2.0.3"
|
||||
readable-stream "^3.1.1"
|
||||
|
||||
text-table@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
|
||||
@ -6940,3 +7084,12 @@ yocto-queue@^0.1.0:
|
||||
version "0.1.0"
|
||||
resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
|
||||
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
|
||||
|
||||
zip-stream@^4.1.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-4.1.0.tgz#51dd326571544e36aa3f756430b313576dc8fc79"
|
||||
integrity sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==
|
||||
dependencies:
|
||||
archiver-utils "^2.1.0"
|
||||
compress-commons "^4.1.0"
|
||||
readable-stream "^3.6.0"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user