diff --git a/components/CalendarDatePicker/index.js b/components/CalendarDatePicker/index.js new file mode 100644 index 0000000..40284b5 --- /dev/null +++ b/components/CalendarDatePicker/index.js @@ -0,0 +1,100 @@ +import React from "react"; +import DatePicker from "react-widgets/DatePicker"; +import "react-widgets/styles.css"; +import moment from "moment"; + +const messages = { + moveToday: "Сегодня", + moveBack: "Назад", + moveForward: "Вперед", + dateButton: "Выбрать дату", +}; + +const formats = [ + 'DD.MM.YYYY' +]; + +export default class CalendarDatePicker extends React.Component +{ + constructor(props) + { + super(props); + this.state = { + readonly: true, + }; + } + + _handle_onChange = (date) => + { + if(this.props.onChange !== undefined) + { + console.log("date.getTime", date.toJSON()); + this.props.onChange(date.getTime !== undefined ? date.toJSON() : ""); + } + } + + _handle_onFocus = () => + { + this.setState({ readonly: false }); + } + + _handle_onBlur = () => + { + this.setState({ readonly: true }); + } + + render() + { + const { id, placeholder, value, min, max, disabled, plain, style } = this.props; + const { readonly } = this.state; + + if(disabled) + { + return ( +
+ { plain ? ( + moment(value).format("DD.MM.YYYY") + ) : ( + <> + { return moment(str, 'DD.MM.YYYY').toDate() } } + id={ id } + placeholder={ placeholder } + value={ value !== "" && value !== null ? new Date(value) : null } + min={ min } + max={ max } + onChange={ this._handle_onChange } + /> +
{ event.stopPropagation(); event.preventDefault(); } }/> + + ) } +
+ ) + } + else + { + console.log("FUCK", value); + return ( +
+ { return moment(str, 'DD.MM.YYYY').toDate() } } + id={ id } + placeholder={ placeholder } + value={ value !== "" && value !== null ? new Date(value) : null } + min={ min } + max={ max } + onChange={ this._handle_onChange } + /> +
+ ) + } + } +} \ No newline at end of file diff --git a/pages/components/DatePicker/index.js b/components/DatePicker/index.js similarity index 81% rename from pages/components/DatePicker/index.js rename to components/DatePicker/index.js index abf973c..e25a621 100644 --- a/pages/components/DatePicker/index.js +++ b/components/DatePicker/index.js @@ -28,7 +28,8 @@ export default class DateInput extends React.Component { if(this.props.onChange !== undefined) { - this.props.onChange(date); + console.log("date.getTime", date.toJSON()); + this.props.onChange(date.getTime !== undefined ? date : ""); } } @@ -44,13 +45,13 @@ export default class DateInput extends React.Component render() { - const { id, placeholder, value, min, max, disabled, plain } = this.props; + const { id, placeholder, value, min, max, disabled, plain, style } = this.props; const { readonly } = this.state; if(disabled) { return ( -
+
{ plain ? ( moment(value).format("DD.MM.YYYY") ) : ( @@ -60,13 +61,13 @@ export default class DateInput extends React.Component messages={ messages } onFocus={ this._handle_onFocus } onBlur={ this._handle_onBlur } - parse={ formats } + parse={ str => { return moment(str, 'DD.MM.YYYY').toDate() } } id={ id } placeholder={ placeholder } value={ value } min={ min } max={ max } - onChange={ this._handle_onChange } + onChange={ this._handle_onChange } />
{ event.stopPropagation(); event.preventDefault(); } }/> @@ -76,6 +77,7 @@ export default class DateInput extends React.Component } else { + console.log("FUCK", value); return (
{ return moment(str, 'DD.MM.YYYY').toDate(); } } + parse={ str => { return moment(str, 'DD.MM.YYYY').toDate() } } id={ id } placeholder={ placeholder } value={ value } diff --git a/components/questionnaire/InnerMenu/index.js b/components/questionnaire/InnerMenu/index.js index 4d91ada..7608e1d 100644 --- a/components/questionnaire/InnerMenu/index.js +++ b/components/questionnaire/InnerMenu/index.js @@ -13,12 +13,14 @@ class InnerMenu extends React.Component this.state = { menuOpened: false, + step: 1, }; } static getDerivedStateFromProps(nextProps, prevState) { return { + step: nextProps.questionnaire.step, }; } @@ -54,7 +56,7 @@ class InnerMenu extends React.Component render() { console.log("questionnaire", this.props.questionnaire); - const { menuOpened, } = this.state; + const { menuOpened, step, } = this.state; const { questionnaire } = this.props; console.log("this.props.router.asPath", this.props.router.asPath); @@ -68,42 +70,42 @@ class InnerMenu extends React.Component diff --git a/components/questionnaire/forms/AddressSuggestsSelect.js b/components/questionnaire/forms/AddressSuggestsSelect.js index 0ca375e..0f320dc 100644 --- a/components/questionnaire/forms/AddressSuggestsSelect.js +++ b/components/questionnaire/forms/AddressSuggestsSelect.js @@ -35,6 +35,7 @@ export default class AddressSuggestsSelect extends React.Component componentDidMount() { + console.log("AddressSuggestsSelect", "this.props", this.props); //console.log("AddressSuggestsSelect", this.props); this.setState({ value: this.props.value, custom: this.props.value !== "" ? true : false }); } @@ -50,7 +51,8 @@ export default class AddressSuggestsSelect extends React.Component _handle_onChange = (data) => { - //console.log("_handle_onChange"); + //console.log("AddressSuggestsSelect", "_handle_onChange"); + const { fias } = this.state; this.setState({ value_selected: data.value, value: data.value, custom: false, }, () => { @@ -60,6 +62,7 @@ export default class AddressSuggestsSelect extends React.Component _handle_onBlur = (data, action) => { + //console.log("AddressSuggestsSelect", "_handle_onBlur"); const { value, value_selected } = this.state; //console.log("_handle_onBlur", { value, value_selected }, { action }); @@ -70,31 +73,64 @@ export default class AddressSuggestsSelect extends React.Component //else //{ //console.log("this", value); - this.props.onChange({ title: value, fias_id: "" }); + //this.props.onChange({ title: value, fias_id: "" }); //} } _handle_onInputChange = (value, action) => { - //console.log("_handle_onInputChange", { value }, action); + //console.log("AddressSuggestsSelect", "_handle_onInputChange", action, { value }); + + if(action.action === "input-blur") + { + setTimeout(() => + { + console.log("this.state.value_selected", this.state.value_selected); + if(this.state.value_selected === "") + { + this.setState({ custom: true }, () => + { + this.props.onChange({ title: action.prevInputValue, fias_id: "" }); + }); + } + }, 10); + } + else + { + if(action.action === "input-change") + { + this.setState({ value }); + } + } + /* if (action.action !== "input-blur" && action.action !== "menu-close") { this.setState({ value }); + console.log("AddressSuggestsSelect", "_handle_onInputChange", 1); } else { if(action.action === "input-blur" && action.prevInputValue !== "" && value === "") { - this.setState({ value: action.prevInputValue, custom: true, }); + this.setState({ value: action.prevInputValue, custom: true, }, () => + { + console.log("AddressSuggestsSelect", "_handle_onInputChange", 2, "[", action.prevInputValue, "]"); + this.props.onChange({ title: action.prevInputValue, fias_id: "" }); + }); } else { if(value === "" && action.prevInputValue === "") { - this.setState({ value, value_selected: "", custom: false, }); + this.setState({ value, value_selected: "", custom: false, }, () => + { + console.log("AddressSuggestsSelect", "_handle_onInputChange", 3, "[", value, "]", "{", action.prevInputValue, "}"); + this.props.onChange({ title: action.prevInputValue, fias_id: "" }); + }); } } } + */ //this.setState({ value }); } @@ -139,7 +175,8 @@ export default class AddressSuggestsSelect extends React.Component render() { - const { value, value_selected, custom, disabled } = this.state; + const { value, value_selected, custom } = this.state; + const { disabled } = this.props; //console.log(">>>>>>>>>>|", value, "|", value_selected); if(custom) @@ -159,7 +196,7 @@ export default class AddressSuggestsSelect extends React.Component onChange={ this._handle_onChange } //onBlur={ this._handle_onBlur } onInputChange={ this._handle_onInputChange } - isDisabled={ disabled ? true : false } + //isDisabled={ disabled ? true : false } /> ) } @@ -181,7 +218,7 @@ export default class AddressSuggestsSelect extends React.Component onChange={ this._handle_onChange } //onBlur={ this._handle_onBlur } onInputChange={ this._handle_onInputChange } - isDisabled={ disabled ? true : false } + //isDisabled={ disabled ? true : false } /> ) } diff --git a/components/questionnaire/forms/DigitalSignaturesList.js b/components/questionnaire/forms/DigitalSignaturesList.js index 6331d40..c066ec0 100644 --- a/components/questionnaire/forms/DigitalSignaturesList.js +++ b/components/questionnaire/forms/DigitalSignaturesList.js @@ -110,6 +110,7 @@ export default class DigitalSignaturesList extends React.Component

{ certificate?.info?.subjectName }

+ { certificate.info.subjectFields.map((field) => field.fieldName === "Имя" ? { field.value } : null)} Подпись действительна до { certificate?.info?.validToDate }

diff --git a/components/questionnaire/forms/FilesList.js b/components/questionnaire/forms/FilesList.js index 20d27ac..e7e3743 100644 --- a/components/questionnaire/forms/FilesList.js +++ b/components/questionnaire/forms/FilesList.js @@ -53,7 +53,7 @@ export default class FilesList extends React.Component render() { - const { files, } = this.props; + const { files, checking } = this.props; console.log("FilesList", "files", files); @@ -65,29 +65,33 @@ export default class FilesList extends React.Component

{ this._renderFileName(file.name) }{/*}Постановление{*/}

-
this._handle_onRemoveFile(file.name) }> - -
+ { !checking && ( +
this._handle_onRemoveFile(file.name) }> + +
+ ) }
)) } - this._handle_onAddFile(acceptedFiles) }> - { ({getRootProps, getInputProps}) => ( -
-
-
- - - - - - - + { !checking && ( + this._handle_onAddFile(acceptedFiles) }> + { ({getRootProps, getInputProps}) => ( +
+
+
+ + + + + + + +
+
- -
- ) } - + ) } + + ) }
) diff --git a/components/questionnaire/forms/Form_1_Main/index.js b/components/questionnaire/forms/Form_1_Main/index.js index dc19647..88a3f0a 100644 --- a/components/questionnaire/forms/Form_1_Main/index.js +++ b/components/questionnaire/forms/Form_1_Main/index.js @@ -38,6 +38,7 @@ class Form_1_Main extends QuestionnaireForm individual_executive: "", other_control: "", nko: false, + accept: false, }, loading: false, }; @@ -74,7 +75,12 @@ class Form_1_Main extends QuestionnaireForm { event.preventDefault(); console.log("Form_1_Main", "_handle_onFormSubmit"); - const { address, phone_code, code_check_loading } = this.state; + + this._handle_onCheckboxFieldChange("step", 2); + setTimeout(() => + { + this.props.onNextStep("contacts"); + }, 10); } _check_fields_disabled = (values) => @@ -92,11 +98,12 @@ class Form_1_Main extends QuestionnaireForm render() { + const { checking } = this.props; const { loading, main } = this.state; return ( -
+

1. Информация о лизингополучателе

@@ -107,7 +114,8 @@ class Form_1_Main extends QuestionnaireForm value={ main.title } placeholder="Введите наименование" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + required={ true } + disabled={ checking } />
@@ -120,7 +128,8 @@ class Form_1_Main extends QuestionnaireForm value={ main.inn } placeholder="Введите ИНН" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + required={ true } + disabled={ checking } />
@@ -131,7 +140,8 @@ class Form_1_Main extends QuestionnaireForm value={ main.kpp } placeholder="Введите КПП" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + required={ true } + disabled={ checking } />
@@ -145,7 +155,8 @@ class Form_1_Main extends QuestionnaireForm value={ main.telephone } placeholder="Введите номер" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + required={ true } + disabled={ checking } />
@@ -157,6 +168,7 @@ class Form_1_Main extends QuestionnaireForm value={ main.websiteurl } placeholder="Введите адрес сайта, если есть" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } + disabled={ checking } />
@@ -169,6 +181,7 @@ class Form_1_Main extends QuestionnaireForm value={ main.email } placeholder="Укажите адрес электронной почты" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } + disabled={ checking } />

может использоваться для отправки лизингодателем юридически значимых сообщений в соответсвии с условиями договора лизинга, а так же для операций в электронном ПТС/ПСМ

@@ -181,6 +194,7 @@ class Form_1_Main extends QuestionnaireForm value={ main.financial_loan } placeholder="Укажите сумму" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } + disabled={ checking } />

сумма текущих ежемесячных платежей по действующим кредитам/договорам лизинга

@@ -195,6 +209,7 @@ class Form_1_Main extends QuestionnaireForm id="main.nko_0" name="main.nko" onChange={ (event) => this._handle_onCheckboxFieldChange(event.target.name, !main.nko ? true : false) } + disabled={ main.nko && checking } /> @@ -205,19 +220,22 @@ class Form_1_Main extends QuestionnaireForm id="main.nko_1" name="main.nko" onChange={ (event) => this._handle_onCheckboxFieldChange(event.target.name, !main.nko ? true : false) } + disabled={ !main.nko && checking } /> -
- -
+ { !checking && ( +
+ +
+ ) } ) diff --git a/components/questionnaire/forms/Form_2_Contacts/index.js b/components/questionnaire/forms/Form_2_Contacts/index.js index 7c6d4b8..c29e8db 100644 --- a/components/questionnaire/forms/Form_2_Contacts/index.js +++ b/components/questionnaire/forms/Form_2_Contacts/index.js @@ -55,13 +55,30 @@ class Form_2_Contacts extends QuestionnaireForm { event.preventDefault(); console.log("Form_2_Contacts", "_handle_onFormSubmit"); + + this._handle_onCheckboxFieldChange("step", 3); + setTimeout(() => + { + this.props.onNextStep("signer"); + }, 10); } - _check_fields_disabled = (values) => + _checkDisabled = () => { - for(let i in values) + const { contacts } = this.state; + const check = ["fact_address", "legal_address", "postal_address"]; + + if(contacts.address_type === "fact") { - if(values[i] === "") + if(contacts.fact_address.name === "") + { + return true; + } + } + + if(contacts.address_type === "postal") + { + if(contacts.postal_address.name === "") { return true; } @@ -72,12 +89,13 @@ class Form_2_Contacts extends QuestionnaireForm render() { + const { checking } = this.props; const { contacts, loading } = this.state; const { address_type, legal_address, fact_address, postal_address, } = contacts; return ( -
+

2. Адреса лизингополучателя

@@ -86,6 +104,7 @@ class Form_2_Contacts extends QuestionnaireForm value={ fact_address.title } fias={ fact_address.fias_id } onChange={ (data) => this._handle_onTextFieldChange("contacts.fact_address", data) } + disabled={ checking } />

для юр.диц - заполняется, если отличается от указанного в ЕГРЮЛ; для ИП - заполняется всегда

@@ -101,6 +120,7 @@ class Form_2_Contacts extends QuestionnaireForm name="contacts.address_type" checked={ address_type === "legal" ? true : false } onChange={ (event) => this._handle_onCheckboxFieldChange(event.target.name, event.target.value) } + disabled={ checking } /> @@ -112,6 +132,7 @@ class Form_2_Contacts extends QuestionnaireForm name="contacts.address_type" checked={ address_type === "fact" ? true : false } onChange={ (event) => this._handle_onCheckboxFieldChange(event.target.name, event.target.value) } + disabled={ checking } /> @@ -122,7 +143,8 @@ class Form_2_Contacts extends QuestionnaireForm id="contacts.address_type_postal" name="contacts.address_type" checked={ address_type === "postal" ? true : false } - onChange={ (event) => this._handle_onCheckboxFieldChange(event.target.name, event.target.value) } + onChange={ (event) => this._handle_onCheckboxFieldChange(event.target.name, event.target.value) } + disabled={ checking } /> -
- -
+ { !checking && ( +
+ +
+ ) }
) diff --git a/components/questionnaire/forms/Form_3_Signer/index.js b/components/questionnaire/forms/Form_3_Signer/index.js index cd5c050..9037e1d 100644 --- a/components/questionnaire/forms/Form_3_Signer/index.js +++ b/components/questionnaire/forms/Form_3_Signer/index.js @@ -9,15 +9,17 @@ import { SpinnerCircular } from 'spinners-react'; import Select from 'react-select'; import { connect } from "react-redux"; import { withRouter } from 'next/router'; +import { get as _get } from 'lodash'; import QuestionnaireForm from "../QuestionnaireForm"; -import DateInput from '../../../../pages/components/DatePicker'; +import CalendarDatePicker from '../../../CalendarDatePicker'; import FilesList from "../FilesList"; import Modal from "../../../../pages/components/Modal/modal"; import AddressSuggestsSelect from "../AddressSuggestsSelect"; import countries from "../../../../lib/countries.json"; import citizenships from "../../../../lib/citizenships.json"; import { reduxWrapper } from '../../../../store'; +import moment from "moment"; class Form_3_Signer extends QuestionnaireForm { @@ -124,6 +126,7 @@ class Form_3_Signer extends QuestionnaireForm individual_executive_files: nextProps.questionnaire.individual_executive_files, signatory_person: nextProps.questionnaire.signatory_person, signatory_person_files: nextProps.questionnaire.signatory_person_files, + personal_data_consent: nextProps.questionnaire.personal_data_consent, }; } @@ -135,23 +138,144 @@ class Form_3_Signer extends QuestionnaireForm { event.preventDefault(); console.log("Form_3_Signer", "_handle_onFormSubmit"); + + this._handle_onCheckboxFieldChange("step", 4); + setTimeout(() => + { + this.props.onNextStep("shareholders"); + }, 10); } - _check_fields_disabled = (values) => + _checkDisabled = () => { - for(let i in values) + const { main, head_person, signatory_person, personal_data_consent } = this.state; + + const head_person_check = [ + "lastname", + "firstname", + "jobtitle", + "telephone", + "email", + "identity_document.seria", + "identity_document.docnumber", + "identity_document.issuedate", + "identity_document.code", + "identity_document.issueby", + "identity_document.placebirth", + "identity_document.citizenship_code", + "identity_document.registration_address.title", + "evo_assignment_date", + ]; + + for(let i in head_person_check) { - if(values[i] === "") + if(_get(head_person, head_person_check[i]) === "") { + console.log("DISABLED", "head_person", head_person_check[i]); return true; } } + console.log("head_person.evo_indefinite", head_person.evo_indefinite, "head_person.evo_credentials_dateend", head_person.evo_credentials_dateend); + + if(!head_person.evo_indefinite) + { + if(head_person.evo_credentials_dateend === "") + { + console.log("DISABLED", "head_person.evo_credentials_dateend === ''"); + return true; + } + } + + //переданы + console.log("main.not_head_personmain.not_head_personmain.not_head_personmain.not_head_person", main.not_head_person); + if(signatory_person.not_head_person) + { + const main_check = [ + "individual_executive_inn", + "individual_executive_kpp", + "individual_executive_oop", + "individual_executive_docnum", + "individual_executive_docdate", + ]; + + for(let i in main_check) + { + if(_get(main, main_check[i]) === "") + { + console.log("DISABLED", "main", main_check[i]); + return true; + } + } + } + + //иной подписант + if(signatory_person.delegation_agreement) + { + const signatory_person_check = [ + "lastname", + "firstname", + "jobtitle", + "signer_rule_basis", + "signer_rule_basis_add", + "docdate", + "docnumber", + "telephone", + "email", + "identity_document.seria", + "identity_document.docnumber", + "identity_document.issuedate", + "identity_document.icode", + "identity_document.issueby", + "identity_document.placebirth", + "identity_document.citizenship_code", + "identity_document.registration_address.title", + ]; + + for(let i in signatory_person_check) + { + if(_get(signatory_person, signatory_person_check[i]) === "") + { + console.log("DISABLED", "signatory_person", signatory_person_check[i]); + return true; + } + } + } + + if(!personal_data_consent) + { + return true; + } + return false; } + /* + _checkDisabled = () => + { + const { main } = this.state; + const check = ["high_level", "board_of_directors", "collective_executive", "individual_executive"]; + + for(let i in check) + { + if(main[check[i]] === "") + { + return true; + } + } + + if(!main.accept) + { + return true; + } + + return false; + } + */ + render() { + const { checking } = this.props; const { personal_data_consent, head_person_files, @@ -165,9 +289,33 @@ class Form_3_Signer extends QuestionnaireForm const { loading, } = this.state; const { main, head_person, signatory_person } = this.state; + let head_person_citizenship = undefined; + if(head_person.identity_document.citizenship_code !== "") + { + for(let i in citizenships) + { + if(parseInt(citizenships[i].value, 10) === parseInt(head_person.identity_document.citizenship_code, 10)) + { + head_person_citizenship = citizenships[i]; + } + } + } + + let signatory_person_citizenship = undefined; + if(signatory_person.identity_document.citizenship_code !== "") + { + for(let i in citizenships) + { + if(parseInt(citizenships[i].value, 10) === parseInt(signatory_person.identity_document.citizenship_code, 10)) + { + signatory_person_citizenship = citizenships[i]; + } + } + } + return ( -
+

3. Информация о единоличном исполнительном органе, подписанте договора лизинга

@@ -177,7 +325,8 @@ class Form_3_Signer extends QuestionnaireForm value={ head_person.lastname } placeholder="Введите фамилию" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + required={ true } + disabled={ checking } />
@@ -188,7 +337,8 @@ class Form_3_Signer extends QuestionnaireForm value={ head_person.firstname } placeholder="Введите имя" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + required={ true } + disabled={ checking } />
@@ -199,7 +349,7 @@ class Form_3_Signer extends QuestionnaireForm value={ head_person.middlename } placeholder="Введите отчество" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + disabled={ checking } />
@@ -211,7 +361,8 @@ class Form_3_Signer extends QuestionnaireForm value={ head_person.identity_document.seria } placeholder="Введите серию" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + required={ true } + disabled={ checking } />
@@ -222,19 +373,22 @@ class Form_3_Signer extends QuestionnaireForm value={ head_person.identity_document.docnumber } placeholder="Введите номер" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + required={ true } + disabled={ checking } />
- this._handle_onTextFieldChange("head_person.identity_document.issuedate", date) } required={ true } + disabled={ checking } />
@@ -245,7 +399,8 @@ class Form_3_Signer extends QuestionnaireForm value={ head_person.identity_document.code } placeholder="Введите номер" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + required={ true } + disabled={ checking } />
@@ -257,18 +412,19 @@ class Form_3_Signer extends QuestionnaireForm value={ head_person.identity_document.issueby } placeholder="Введите наименование подразделения выдавшего документ" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + required={ true } + disabled={ checking } />
- this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + placeholder="Укажите место рождения" + onChange={ (data) => this._handle_onTextFieldChange("head_person.identity_document.placebirth", data.title) } + required={ true } + disabled={ checking } />
@@ -282,8 +438,10 @@ class Form_3_Signer extends QuestionnaireForm isSearchable={ true } className="autocomlete" classNamePrefix="react-select" + value={ head_person_citizenship } onChange={ (element) => this._handle_onTextFieldChange("head_person.identity_document.citizenship_code", element.value) } required={ true } + disabled={ checking } />
@@ -291,7 +449,9 @@ class Form_3_Signer extends QuestionnaireForm this._handle_onTextFieldChange("head_person.identity_document.registration_address", data) } + disabled={ checking } />
@@ -302,24 +462,56 @@ class Form_3_Signer extends QuestionnaireForm value={ head_person.jobtitle } placeholder="Укажите должность" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + required={ true } + disabled={ checking } />
+ +
+ + this._handle_onTextFieldChange(event.target.name, event.target.value) } + required={ true } + disabled={ checking } + /> +
+ +
+ + this._handle_onTextFieldChange(event.target.name, event.target.value) } + required={ true } + disabled={ checking } + /> +
+
- this._handle_onTextFieldChange("head_person.evo_assignment_date", date) } required={ true } + disabled={ checking } />
this._handle_onCheckboxFieldChange(event.target.name, !head_person.evo_indefinite ? true : false) } + disabled={ checking } />
@@ -329,11 +521,13 @@ class Form_3_Signer extends QuestionnaireForm
- this._handle_onTextFieldChange("head_person.evo_credentials_dateend", date) } + value={ head_person.evo_credentials_dateend !== "" ? head_person.evo_credentials_dateend : null } + onChange={ (date) => { console.log("date", date); this._handle_onTextFieldChange("head_person.evo_credentials_dateend", date) } } required={ true } + disabled={ checking } />
@@ -344,6 +538,7 @@ class Form_3_Signer extends QuestionnaireForm files={ head_person_files } onAddFile={ this._handle_onAddFile } onRemoveFile={ this._handle_onRemoveFile } + checking={ checking } />
@@ -352,7 +547,9 @@ class Form_3_Signer extends QuestionnaireForm hidden="" id="signatory_person.not_head_person" name="signatory_person.not_head_person" + checked={ signatory_person.not_head_person } onChange={ (event) => this._handle_onCheckboxFieldChange(event.target.name, !signatory_person.not_head_person ? true : false) } + disabled={ checking } />
@@ -371,6 +568,7 @@ class Form_3_Signer extends QuestionnaireForm placeholder="Укажите управляющую организацию" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } />
@@ -384,7 +582,8 @@ class Form_3_Signer extends QuestionnaireForm value={ main.individual_executive_inn } placeholder="Введите ИНН" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + required={ true } + disabled={ checking } />
@@ -397,7 +596,8 @@ class Form_3_Signer extends QuestionnaireForm value={ main.individual_executive_kpp } placeholder="Введите КПП" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + required={ true } + disabled={ checking } /> @@ -412,6 +612,7 @@ class Form_3_Signer extends QuestionnaireForm value={ main.individual_executive_docnum } placeholder="Номер договора" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } + disabled={ checking } /> @@ -428,12 +629,14 @@ class Form_3_Signer extends QuestionnaireForm required={ true } /> {*/} - this._handle_onTextFieldChange("main.individual_executive_docdate", date) } required={ true } + disabled={ checking } /> @@ -443,6 +646,7 @@ class Form_3_Signer extends QuestionnaireForm files={ individual_executive_files } onAddFile={ this._handle_onAddFile } onRemoveFile={ this._handle_onRemoveFile } + checking={ checking } /> @@ -454,7 +658,9 @@ class Form_3_Signer extends QuestionnaireForm hidden="" id="signatory_person.delegation_agreement" name="signatory_person.delegation_agreement" - onChange={ (event) => this._handle_onCheckboxFieldChange(event.target.name, !signatory_person.delegation_agreement ? true : false) } + checked={ signatory_person.delegation_agreement } + onChange={ (event) => this._handle_onCheckboxFieldChange(event.target.name, !signatory_person.delegation_agreement ? true : false) } + disabled={ checking } /> @@ -473,6 +679,7 @@ class Form_3_Signer extends QuestionnaireForm placeholder="Введите фамилию" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } /> @@ -485,6 +692,7 @@ class Form_3_Signer extends QuestionnaireForm placeholder="Введите имя" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } /> @@ -496,7 +704,7 @@ class Form_3_Signer extends QuestionnaireForm value={ signatory_person.middlename } placeholder="Введите отчество" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } - required={ true } + disabled={ checking } /> @@ -510,6 +718,7 @@ class Form_3_Signer extends QuestionnaireForm placeholder="Введите серию" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } /> @@ -522,6 +731,7 @@ class Form_3_Signer extends QuestionnaireForm placeholder="Введите номер" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } /> @@ -529,13 +739,14 @@ class Form_3_Signer extends QuestionnaireForm
- this._handle_onTextFieldChange(event.target.name, event.target.value) } + id={ "signatory_person.identity_document.issuedate" } + value={ signatory_person.identity_document.issuedate !== "" ? signatory_person.identity_document.issuedate : null } + onChange={ (date) => this._handle_onTextFieldChange("signatory_person.identity_document.issuedate", date) } required={ true } + disabled={ checking } />
@@ -548,6 +759,7 @@ class Form_3_Signer extends QuestionnaireForm placeholder="Введите номер" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } />
@@ -561,18 +773,19 @@ class Form_3_Signer extends QuestionnaireForm placeholder="Введите наименование подразделения выдавшего документ" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } />
- this._handle_onTextFieldChange(event.target.name, event.target.value) } + placeholder="Укажите место рождения" + onChange={ (data) => this._handle_onTextFieldChange("signatory_person.identity_document.placebirth", data.title) } required={ true } + disabled={ checking } />
@@ -587,8 +800,10 @@ class Form_3_Signer extends QuestionnaireForm isSearchable={ true } className="autocomlete" classNamePrefix="react-select" + value={ signatory_person_citizenship } onChange={ (element) => this._handle_onTextFieldChange("signatory_person.identity_document.citizenship_code", element.value) } required={ true } + disabled={ checking } /> @@ -598,6 +813,7 @@ class Form_3_Signer extends QuestionnaireForm value={ signatory_person.identity_document.registration_address.title } fias={ signatory_person.identity_document.registration_address.fias_id } onChange={ (data) => this._handle_onTextFieldChange("signatory_person.identity_document.registration_address", data) } + disabled={ checking } /> {/*} @@ -615,19 +831,20 @@ class Form_3_Signer extends QuestionnaireForm
this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } />

Реквизиты документа подтверждающие полномочия на подписание договора лизинга

- + this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } />
@@ -647,31 +865,34 @@ class Form_3_Signer extends QuestionnaireForm placeholder="Наименование документа" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } />
- + this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } />
- this._handle_onTextFieldChange(event.target.name, event.target.value) } + this._handle_onTextFieldChange("signatory_person.docdate", date) } required={ true } + disabled={ checking } />
@@ -686,6 +907,7 @@ class Form_3_Signer extends QuestionnaireForm placeholder="Телефон" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } /> @@ -698,6 +920,7 @@ class Form_3_Signer extends QuestionnaireForm placeholder="E-mail" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } /> @@ -707,6 +930,7 @@ class Form_3_Signer extends QuestionnaireForm files={ signatory_person_files } onAddFile={ this._handle_onAddFile } onRemoveFile={ this._handle_onRemoveFile } + checking={ checking } /> {/*} @@ -725,18 +949,22 @@ class Form_3_Signer extends QuestionnaireForm hidden="" id="personal_data_consent" name="personal_data_consent" - onChange={ (event) => this._handle_onCheckboxFieldChange(event.target.name, !personal_data_consent ? true : false) } + checked={ personal_data_consent } + onChange={ (event) => this._handle_onCheckboxFieldChange(event.target.name, !personal_data_consent ? true : false) } + disabled={ checking } /> -
- -
+ { !checking && ( +
+ +
+ ) } this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } /> @@ -60,6 +62,7 @@ class ShareholderForm extends React.Component placeholder="Введите имя" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } /> @@ -71,7 +74,46 @@ class ShareholderForm extends React.Component value={ shareholder.middlename } placeholder="Введите отчество" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } + disabled={ checking } + /> + + +
+ + this._handle_onTextFieldChange(event.target.name, event.target.value) } + required={ false } + disabled={ checking } + /> +
+ +
+ + this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } + /> +
+ +
+ + this._handle_onTextFieldChange(event.target.name, event.target.value) } + required={ true } + disabled={ checking } />
@@ -87,6 +129,7 @@ class ShareholderForm extends React.Component placeholder="Введите серию" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } />
@@ -97,6 +140,7 @@ class ShareholderForm extends React.Component placeholder="Введите номер" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } />
@@ -108,13 +152,14 @@ class ShareholderForm extends React.Component
- this._handle_onTextFieldChange(`founded_persons[${ index }].identity_document.issuedate`, date) } required={ true } + disabled={ checking } />
@@ -125,6 +170,7 @@ class ShareholderForm extends React.Component placeholder="Код подразделения" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } />
@@ -140,6 +186,7 @@ class ShareholderForm extends React.Component placeholder="Введите наименование подразделения выдавшего документ" onChange={ (event) => this._handle_onTextFieldChange(event.target.name, event.target.value) } required={ true } + disabled={ checking } /> @@ -147,8 +194,9 @@ class ShareholderForm extends React.Component this._handle_onTextFieldChange(`founded_persons[${ index }].identity_document.placebirth`, data.title) } + disabled={ checking } /> @@ -166,6 +214,7 @@ class ShareholderForm extends React.Component classNamePrefix="react-select" onChange={ (element) => this._handle_onTextFieldChange(`founded_persons[${ index }].identity_document.citizenship_code`, element.value) } required={ true } + disabled={ checking } /> @@ -176,6 +225,7 @@ class ShareholderForm extends React.Component value={ shareholder.identity_document.registration_address.title } fias={ shareholder.identity_document.registration_address.fias_id } onChange={ (data) => this._handle_onTextFieldChange(`founded_persons[${ index }].identity_document.registration_address`, data) } + disabled={ checking } /> @@ -211,7 +261,7 @@ class Shareholder extends React.Component render() { - const { index, shareholders, removeShareholder, signatories, changeSignatorySelection, clearSignatorySelection, } = this.props; + const { index, shareholders, removeShareholder, signatories, changeSignatorySelection, clearSignatorySelection, checking } = this.props; const shareholder = shareholders[index]; return ( @@ -223,26 +273,29 @@ class Shareholder extends React.Component
-
- clearSignatorySelection(`founded_persons[${ index }]`, { founder_from_list: !shareholder.founder_from_list ? true : false, lastname: "", firstname: "", middlename: "", no_middle_name: false, }) } - /> - -
- - + { !checking && ( +
+ clearSignatorySelection(`founded_persons[${ index }]`, { founder_from_list: !shareholder.founder_from_list ? true : false, lastname: "", firstname: "", middlename: "", no_middle_name: false, }) } + /> + +
+ ) } + { !checking && ( + + ) }
) } @@ -253,8 +306,17 @@ class Shareholder extends React.Component
- { signatories.map((signatory, s_index) => { + { signatories !== undefined && signatories !== null && signatories.map((signatory, s_index) => { const disabled = signatory.signatoryid !== shareholder.signatory_id ? this._checkSignatoryDisabled(signatory.signatoryid) : false; + + if(checking) + { + if(shareholder.signatory_id !== signatory.signatoryid) + { + return null; + } + } + return (
+ { + this.props.onNextStep("regulatory"); + }, 10); } - _check_fields_disabled = (values) => + _checkDisabled = () => { - for(let i in values) + const { founded_persons } = this.state; + const check_all = [ + "founder_part", + ]; + + const check = [ + "lastname", + "firstname", + "telephone", + "email", + "identity_document.seria", + "identity_document.docnumber", + "identity_document.issuedate", + "identity_document.icode", + "identity_document.issueby", + "identity_document.placebirth", + "identity_document.citizenship_code", + "identity_document.registration_address.title", + ]; + + for(let f in founded_persons) { - if(values[i] === "") + for(let i in check_all) { - return true; + if(_get(founded_persons[f], check_all[i]) === "") + { + console.log("1. EMPTY", f, check_all[i]); + return true; + } + } + + if(!founded_persons[f].founder_from_list) + { + for(let i in check) + { + if(_get(founded_persons[f], check[i]) === "") + { + console.log("2. EMPTY", f, check[i]); + return true; + } + } + } + else + { + if(founded_persons[f].signatory_id === null) + { + console.log("3. EMPTY", f, "signatory_id"); + console.log("founded_persons[f]"); + console.log(founded_persons[f]); + + return true; + } } } @@ -427,11 +542,11 @@ class Form_4_Shareholders extends QuestionnaireForm render() { - const { signatories } = this.props; + const { signatories, checking } = this.props; const { founded_persons, loading, address, } = this.state; return ( -
+

4. Сведения об участниках (акционерах) и бенефициарных владельцах

– физических лицах, владеющих долей в уставном капитале более 25% *бенефициарный владелец (в соответствии с Федеральным законом от 07.08.2001 No115-ФЗ «О противодействии легализации (отмыванию) доходов, полученных преступным путем, и финансированию терроризма») — @@ -448,22 +563,24 @@ class Form_4_Shareholders extends QuestionnaireForm address={ address } _handle_onTextFieldChange={ this._handle_onTextFieldChange } _handle_onCheckboxFieldChange={ this._handle_onCheckboxFieldChange } - selectSignatory={ this._handle_onSelectSignatory } removeShareholder={ this._handle_onRemoveShareholder } clearSignatorySelection={ this._handle_onClearSignatorySelection } changeSignatorySelection={ this._handle_onChangeSignatorySelection } signatories={ signatories } + checking={ checking } /> )) } -

- - -
+ { !checking && ( +
+ + +
+ ) } ) } @@ -472,8 +589,7 @@ class Form_4_Shareholders extends QuestionnaireForm function mapStateToProps(state, ownProps) { return { - founded_persons: state.questionnaire.founded_persons, - founded_persons_template: state.questionnaire.founded_persons_template, + questionnaire: state.questionnaire, } } diff --git a/components/questionnaire/forms/Form_5_Regulatory/index.js b/components/questionnaire/forms/Form_5_Regulatory/index.js index bd1165b..39af908 100644 --- a/components/questionnaire/forms/Form_5_Regulatory/index.js +++ b/components/questionnaire/forms/Form_5_Regulatory/index.js @@ -18,10 +18,6 @@ class Form_5_Regulatory extends QuestionnaireForm { super(props); this.state = { - address: "", - phone_check_loading: false, - phone_number_format_error: false, - main: { title: "", inn: "", @@ -51,7 +47,7 @@ class Form_5_Regulatory extends QuestionnaireForm static getDerivedStateFromProps(nextProps, prevState) { return { - main: nextProps.main, + main: nextProps.questionnaire.main, }; } @@ -63,28 +59,43 @@ class Form_5_Regulatory extends QuestionnaireForm { event.preventDefault(); console.log("Form_5_Regulatory", "_handle_onFormSubmit"); + + this._handle_onCheckboxFieldChange("step", 6); + setTimeout(() => + { + this.props.onNextStep("non-profit"); + }, 10); } - _check_fields_disabled = (values) => + _checkDisabled = () => { - for(let i in values) + const { main } = this.state; + const check = ["high_level", "board_of_directors", "collective_executive", "individual_executive"]; + + for(let i in check) { - if(values[i] === "") + if(main[check[i]] === "") { return true; } } + if(!main.accept) + { + return true; + } + return false; } render() { + const { checking } = this.props; const { main, loading } = this.state; return ( -
+

5. Сведения об органах управления

Заполняется юридическими лицами, индивидуальными предпринимателями не заполняется

@@ -191,14 +202,16 @@ class Form_5_Regulatory extends QuestionnaireForm
  • Сведения об источниках происхождения денежных средств — приносящая доход деятельность (кроме НКО и физ.лиц).
  • -
    -
    - -
    + { !checking && ( +
    +
    + +
    + ) }
    ) @@ -208,7 +221,7 @@ class Form_5_Regulatory extends QuestionnaireForm function mapStateToProps(state, ownProps) { return { - main: state.questionnaire.main, + questionnaire: state.questionnaire, } } diff --git a/components/questionnaire/forms/Form_6_NonProfit/index.js b/components/questionnaire/forms/Form_6_NonProfit/index.js index 0e5dc08..8a495fa 100644 --- a/components/questionnaire/forms/Form_6_NonProfit/index.js +++ b/components/questionnaire/forms/Form_6_NonProfit/index.js @@ -36,7 +36,7 @@ class Form_6_NonProfit extends QuestionnaireForm static getDerivedStateFromProps(nextProps, prevState) { return { - non_profit: nextProps.non_profit, + non_profit: nextProps.questionnaire.non_profit, }; } @@ -48,28 +48,51 @@ class Form_6_NonProfit extends QuestionnaireForm { event.preventDefault(); console.log("Form_6_NonProfit", "_handle_onFormSubmit"); + + this._handle_onCheckboxFieldChange("step", 7); + setTimeout(() => + { + this.props.onNextStep("check"); + }, 10); } - _check_fields_disabled = (values) => + _checkDisabled = () => { - for(let i in values) + const { non_profit } = this.state; + const check = ["fin_goals_cars", "fin_goals_trucks", "fin_goals_special"]; + + for(let i in check) { - if(values[i] === "") + if(non_profit[check[i]] === "") { return true; } } + if(non_profit.fin_source_another) + { + if(non_profit.fin_source_another_description === "") + { + return true; + } + } + + if(!non_profit.fin_source_business && !non_profit.fin_source_donate && !non_profit.fin_source_fees) + { + return true; + } + return false; } render() { + const { checking } = this.props; const { non_profit, loading } = this.state; return ( -
    +

    6. Данные о некомерческой организации

    Источники происхождения денежных средств, из которых будут осуществляться лизинговые платежи:

    @@ -192,13 +215,15 @@ class Form_6_NonProfit extends QuestionnaireForm />
    -
    - -
    + { !checking && ( +
    + +
    + ) } ) @@ -208,7 +233,7 @@ class Form_6_NonProfit extends QuestionnaireForm function mapStateToProps(state, ownProps) { return { - non_profit: state.questionnaire.non_profit, + questionnaire: state.questionnaire, } } diff --git a/components/questionnaire/forms/Form_7_Check/index.js b/components/questionnaire/forms/Form_7_Check/index.js index f304cee..39d6be6 100644 --- a/components/questionnaire/forms/Form_7_Check/index.js +++ b/components/questionnaire/forms/Form_7_Check/index.js @@ -11,6 +11,12 @@ import { withRouter } from 'next/router'; import QuestionnaireForm from "../QuestionnaireForm"; import { reduxWrapper } from '../../../../store'; +import Form_1_Main from "../Form_1_Main"; +import Form_2_Contacts from "../Form_2_Contacts"; +import Form_3_Signer from "../Form_3_Signer"; +import Form_4_Shareholders from "../Form_4_Shareholders"; +import Form_5_Regulatory from "../Form_5_Regulatory"; +import Form_6_NonProfit from "../Form_6_NonProfit"; class Form_7_Check extends QuestionnaireForm { @@ -19,7 +25,7 @@ class Form_7_Check extends QuestionnaireForm super(props); this.state = { address: "", - phone_check_loading: false, + loading: false, phone_number_format_error: false, step: 7, @@ -64,6 +70,13 @@ class Form_7_Check extends QuestionnaireForm { event.preventDefault(); console.log("FormAddress", "_handle_onFormSubmit"); + + this._handle_onCheckboxFieldChange("step", 8); + setTimeout(() => + { + this.props.onNextStep("signing"); + }, 10); + } _handle_onAddressChange = (value) => @@ -88,10 +101,19 @@ class Form_7_Check extends QuestionnaireForm render() { - const { address, phone_check_loading, phone_number_format_error } = this.state; + const { signatories } = this.props; + const { address, loading, phone_number_format_error } = this.state; return ( + + + + + + + + {/*}

    1. Информация о лизингополучателе

    @@ -151,7 +173,9 @@ class Form_7_Check extends QuestionnaireForm
    + {*/} + {/*}

    2. Адреса лизингополучателя

    @@ -185,7 +209,9 @@ class Form_7_Check extends QuestionnaireForm
    + {*/} + {/*}

    3. Информация о единоличном исполнительном органе, подписанте договора лизинга

    @@ -433,7 +459,9 @@ class Form_7_Check extends QuestionnaireForm
    + {*/} + {/*}

    4. Сведения об участниках (акционерах) и бенефициарных владельцах

    – физических лицах, владеющих долей в уставном капитале более 25% @@ -535,7 +563,9 @@ class Form_7_Check extends QuestionnaireForm

    + {*/} + {/*}

    5. Сведения об органах управления

    Заполняется юридическими лицами, индивидуальными предпринимателями не заполняется

    @@ -600,7 +630,9 @@ class Form_7_Check extends QuestionnaireForm
  • Сведения об источниках происхождения денежных средств — приносящая доход деятельность (кроме НКО и физ.лиц).
  • + {*/} + {/*}

    6. Данные о некомерческой организации

    Источники происхождения денежных средств, из которых будут осуществляться лизинговые платежи:

    @@ -671,6 +703,16 @@ class Form_7_Check extends QuestionnaireForm
    + {*/} +
    +
    + +
    +
    ) } diff --git a/components/questionnaire/forms/QuestionnaireForm.js b/components/questionnaire/forms/QuestionnaireForm.js index 81b92f4..d12112b 100644 --- a/components/questionnaire/forms/QuestionnaireForm.js +++ b/components/questionnaire/forms/QuestionnaireForm.js @@ -108,8 +108,6 @@ export default class QuestionnaireForm extends React.Component console.log("QuestionnaireForm", "_handle_onCheckboxFieldChange", { name, value }); const update = { ...this.state }; - console.log("update", "BEFORE", update); - _set(update, name, value); /* diff --git a/pages/contract/__change.js b/pages/contract/__change.js index 5a1144f..544659a 100644 --- a/pages/contract/__change.js +++ b/pages/contract/__change.js @@ -12,7 +12,7 @@ import Header from "../components/Header"; import Footer from "../components/Footer"; import Company from "../components/Company"; import InnerMenu from "./components/InnerMenu"; -import DateInput from "../components/DatePicker"; +import DateInput from "../../components/DatePicker"; import SignatoriesList from "./change/components/SignatoriesList"; import CalculationsList from "./change/components/CalculationsList"; diff --git a/pages/contract/change/components/Options/index.js b/pages/contract/change/components/Options/index.js index d2440e7..627d365 100644 --- a/pages/contract/change/components/Options/index.js +++ b/pages/contract/change/components/Options/index.js @@ -4,7 +4,7 @@ import moment from "moment"; import pluralize from 'pluralize-ru'; import numeral from "numeral"; -import DateInput from "../../../../components/DatePicker"; +import DateInput from "../../../../../components/DatePicker"; import { getContractGraphicChangeOptions, getContractGraphicChangeCalculate } from "../../../../../actions"; diff --git a/pages/contract/change/components/VariantsList/index.js b/pages/contract/change/components/VariantsList/index.js index 8750392..998db9a 100644 --- a/pages/contract/change/components/VariantsList/index.js +++ b/pages/contract/change/components/VariantsList/index.js @@ -1,6 +1,6 @@ import React from "react"; import { SpinnerCircular } from "spinners-react"; -import DateInput from "../../../../components/DatePicker"; +import DateInput from "../../../../../components/DatePicker"; export default class VariantsList extends React.Component { diff --git a/pages/contract/change/index.js b/pages/contract/change/index.js index 34e687a..7a0be4f 100644 --- a/pages/contract/change/index.js +++ b/pages/contract/change/index.js @@ -11,7 +11,6 @@ import { reduxWrapper } from "../../../store"; import Header from "../../components/Header"; import Footer from "../../components/Footer"; import Company from "../../components/Company"; -import DateInput from "../../components/DatePicker"; import InnerMenu from "./../components/InnerMenu"; diff --git a/pages/contract/compare.js b/pages/contract/compare.js index 83f602c..7b3690b 100644 --- a/pages/contract/compare.js +++ b/pages/contract/compare.js @@ -11,8 +11,6 @@ import { reduxWrapper } from "../../store"; import Header from "../components/Header"; import Footer from "../components/Footer"; import Company from "../components/Company"; -import InnerMenu from "./components/InnerMenu"; -import DateInput from "./../components/DatePicker"; import { getContractInfo, diff --git a/pages/contract/components/PenaltiesCalculatorForm/index.js b/pages/contract/components/PenaltiesCalculatorForm/index.js index 00577b9..4df584f 100644 --- a/pages/contract/components/PenaltiesCalculatorForm/index.js +++ b/pages/contract/components/PenaltiesCalculatorForm/index.js @@ -1,7 +1,7 @@ import React from "react"; import moment from "moment"; -import DateInput from "../../../components/DatePicker"; +import DateInput from "../../../../components/DatePicker"; export default class PenaltiesCalculatorForm extends React.Component { diff --git a/pages/contract/components/ReconciliationForm/index.js b/pages/contract/components/ReconciliationForm/index.js index 801f52b..8f97a21 100644 --- a/pages/contract/components/ReconciliationForm/index.js +++ b/pages/contract/components/ReconciliationForm/index.js @@ -2,7 +2,7 @@ import React from "react"; import moment from "moment"; import { SpinnerCircular } from "spinners-react"; -import DateInput from "../../../components/DatePicker"; +import DateInput from "../../../../components/DatePicker"; import { getReconciliationFile } from "../../../../actions"; diff --git a/pages/contract/documents.js b/pages/contract/documents.js index a30de04..8e9e189 100644 --- a/pages/contract/documents.js +++ b/pages/contract/documents.js @@ -17,9 +17,7 @@ import Header from "../components/Header"; import Footer from "../components/Footer"; import InnerMenu from "./components/InnerMenu"; import Company from "../components/Company"; -import DateInput from "../components/DatePicker"; import DownloadPrintFormPdfButton from "../components/DownloadPrintFormPdfButton"; -import DownloadFinesPdfButton from "../components/DownloadFinesPdfButton"; import PenaltiesCalculatorForm from "./components/PenaltiesCalculatorForm"; diff --git a/pages/contract/fines.js b/pages/contract/fines.js index c235fb3..f44b9e8 100644 --- a/pages/contract/fines.js +++ b/pages/contract/fines.js @@ -14,8 +14,6 @@ import Header from "../components/Header"; import Footer from "../components/Footer"; import InnerMenu from "./components/InnerMenu"; import Company from "../components/Company"; -import DateInput from "../components/DatePicker"; -import DownloadPrintFormPdfButton from "../components/DownloadPrintFormPdfButton"; import DownloadFinesPdfButton from "../components/DownloadFinesPdfButton"; import { diff --git a/pages/contract/penalties.js b/pages/contract/penalties.js index 28a1a31..12bae67 100644 --- a/pages/contract/penalties.js +++ b/pages/contract/penalties.js @@ -11,9 +11,6 @@ import { reduxWrapper } from "../../store"; import Header from "../components/Header"; import Footer from "../components/Footer"; -import Company from "../components/Company"; -import InnerMenu from "./components/InnerMenu"; -import DateInput from "../components/DatePicker"; import { getContractInfo, diff --git a/pages/documents/reconciliations.js b/pages/documents/reconciliations.js index 7ef005e..32dfe2a 100644 --- a/pages/documents/reconciliations.js +++ b/pages/documents/reconciliations.js @@ -12,7 +12,7 @@ import Header from '../components/Header'; import Footer from '../components/Footer'; import InnerMenu from "./components/InnerMenu"; import Company from "../components/Company"; -import DateInput from '../components/DatePicker'; +import DateInput from '../../components/DatePicker'; import { getContractsList, getReconciliationFile } from '../../actions'; diff --git a/pages/index.js b/pages/index.js index 14bed39..1b62190 100644 --- a/pages/index.js +++ b/pages/index.js @@ -14,7 +14,7 @@ import { reduxWrapper } from '../store'; import Header from './components/Header'; import Footer from './components/Footer'; import Company from "./components/Company"; -import DateInput from './components/DatePicker'; +import DateInput from '../components/DatePicker'; import Pagination from './components/Pagination'; import Manager from "./components/Manager"; import AccountLayout from "./components/Layout/Account"; diff --git a/pages/questionnaire/index.js b/pages/questionnaire/index.js index 789afad..cb00ffe 100644 --- a/pages/questionnaire/index.js +++ b/pages/questionnaire/index.js @@ -67,21 +67,27 @@ class QuestionnairePage extends React.Component return false; } + _handle_onNextStep = (path) => + { + window.scrollTo(0, 0); + this.props.router.push(`/questionnaire#${ path }`); + } + _renderForm = () => { const { signatories } = this.state; const route = this.props.router.asPath; - if (route.indexOf("#main") > -1) return (); - if (route.indexOf("#contacts") > -1) return (); - if (route.indexOf("#signer") > -1) return (); - if (route.indexOf("#shareholders") > -1) return (); - if (route.indexOf("#regulatory") > -1) return (); - if (route.indexOf("#non-profit") > -1) return (); - if (route.indexOf("#check") > -1) return (); + if (route.indexOf("#main") > -1) return (); + if (route.indexOf("#contacts") > -1) return (); + if (route.indexOf("#signer") > -1) return (); + if (route.indexOf("#shareholders") > -1) return (); + if (route.indexOf("#regulatory") > -1) return (); + if (route.indexOf("#non-profit") > -1) return (); + if (route.indexOf("#check") > -1) return (); if (route.indexOf("#signing") > -1) return (); - return (); + return (); } render() diff --git a/reducers/initialState.js b/reducers/initialState.js index e0ab4d5..896f22c 100644 --- a/reducers/initialState.js +++ b/reducers/initialState.js @@ -123,7 +123,7 @@ export const defaultState = { accept: false, }, questionnaire: { - step: 9, + step: 1, main: { title: "", inn: "", @@ -234,7 +234,7 @@ export const defaultState = { telephone: "", email: "", founder_from_list: true, - founder_number: "", + founder_number: 0, founder_part: "", is_beneficial: false, identity_document: @@ -299,6 +299,7 @@ export const defaultState = { fin_goals_trucks: "", fin_goals_special: "", }, + personal_data_consent: false, }, }; diff --git a/store/index.js b/store/index.js index 423b147..4711c28 100644 --- a/store/index.js +++ b/store/index.js @@ -48,7 +48,7 @@ const makeStore = (context) => const persistConfig = { key: 'lkevoleasing', - whitelist: [ 'auth', 'user', 'company', 'events', 'companies', 'contracts_info', 'contract_events', 'contract_fines', ], + whitelist: [ 'auth', 'user', 'company', 'events', 'companies', 'contracts_info', 'contract_events', 'contract_fines', 'questionnaire'], storage };