diff --git a/actions/questionnaireActions.js b/actions/questionnaireActions.js
index 199f5fa..a4fda95 100644
--- a/actions/questionnaireActions.js
+++ b/actions/questionnaireActions.js
@@ -8,6 +8,7 @@ import { eachSeries, each } from "async";
import * as actionTypes from '../constants/actionTypes';
import { getCitizenshipTitleByCode } from '../utils/citizenship';
+import { questionnaire_template } from '../reducers/initialState';
if(process.browser)
{
@@ -52,7 +53,7 @@ export const getQuestionnaire = ({ dispatch, id }) =>
.then((response) =>
{
console.log("ACTION", "questionnaire", "getQuestionnaire()", "response", response.data);
-
+
const founder_persons_template = {
signatory_id: null,
lastname: "",
@@ -97,24 +98,24 @@ export const getQuestionnaire = ({ dispatch, id }) =>
questionnaire.main.email = response.data.email;
questionnaire.main.websiteurl = response.data.websiteurl !== null ? response.data.websiteurl : "";
questionnaire.main.financial_loan = response.data.financial_loan !== null ? response.data.financial_loan : "";
-
+
questionnaire.contacts.address_type = response.data.inn.length > 10 ? "fact" : "legal";
questionnaire.contacts.fact_address = response.data.fact_address;
questionnaire.contacts.postal_address = response.data.postal_address;
questionnaire.contacts.legal_address = response.data.legal_address;
-
+
questionnaire.head_person = { ...questionnaire.head_person, ...response.data.head_person };
questionnaire.head_person.identity_document.citizenship = {
title: getCitizenshipTitleByCode(response.data.head_person.identity_document.citizenship_code),
code: response.data.head_person.identity_document.citizenship_code,
};
-
+
questionnaire.signatory_person = { ...questionnaire.signatory_person, ...response.data.signatory_person };
questionnaire.signatory_person.identity_document.citizenship = {
title: getCitizenshipTitleByCode(response.data.signatory_person.identity_document.citizenship_code),
code: response.data.signatory_person.identity_document.citizenship_code,
};
-
+
for(let i in response.data.founder_persons)
{
console.log("response.data.founder_persons", response.data.founder_persons);
@@ -124,9 +125,9 @@ export const getQuestionnaire = ({ dispatch, id }) =>
code: response.data.founder_persons[i].identity_document.citizenship_code,
};
}
-
+
//questionnaire.founder_persons = { ...questionnaire.head_person, ...response.data.head_person };
-
+
console.log("questionnairequestionnairequestionnaire FROM JSON", questionnaire);
updateQuestionnaire({ dispatch, questionnaire })
.then(() => {})
@@ -193,6 +194,17 @@ export const updateQuestionnaire = ({ dispatch, questionnaire }) =>
});
}
+export const resetQuestionnaire = ({ dispatch, id }) =>
+{
+ const template = JSON.parse(JSON.stringify(questionnaire_template));
+ dispatch({ type: actionTypes.QUESTIONNAIRE_UPDATE, data: { questionnaire: template, } });
+ saveQuestionnaire();
+ setTimeout(() =>
+ {
+ getQuestionnaire({ dispatch, id });
+ }, 10);
+}
+
export const uploadAttachmentFile = (file) =>
{
console.log("ACTION", "questionnaireActions", "uploadAttachmentFile()", { file });
@@ -222,6 +234,14 @@ export const uploadAttachmentFile = (file) =>
});
}
+export const removeAttachmentFiles = (files) =>
+{
+ for(let i in files)
+ {
+ removeAttachmentFile(files[i].id);
+ }
+}
+
export const removeAttachmentFile = (id) =>
{
console.log("ACTION", "questionnaireActions", "removeAttachmentFile()", { id });
diff --git a/components/questionnaire/forms/Form_1_Main/index.js b/components/questionnaire/forms/Form_1_Main/index.js
index 7fe95bd..b4b3abb 100644
--- a/components/questionnaire/forms/Form_1_Main/index.js
+++ b/components/questionnaire/forms/Form_1_Main/index.js
@@ -55,6 +55,7 @@ class Form_1_Main extends QuestionnaireForm
fin_goals_special: "",
},
step: 1,
+ status: "empty",
loading: false,
};
}
@@ -64,6 +65,7 @@ class Form_1_Main extends QuestionnaireForm
return {
main: nextProps.questionnaire.main,
step: nextProps.questionnaire.step,
+ status: nextProps.questionnaire.status,
};
}
@@ -109,8 +111,7 @@ class Form_1_Main extends QuestionnaireForm
{
event.preventDefault();
- this._handle_onFieldChange("status", "draft");
- this._handle_onCheckboxFieldChange("step", 2);
+ this._handle_onJoinChange({ status: "draft", step: 2 });
setTimeout(() =>
{
saveQuestionnaire();
@@ -134,7 +135,7 @@ class Form_1_Main extends QuestionnaireForm
render()
{
const { company, checking } = this.props;
- const { loading, main } = this.state;
+ const { loading, main, status } = this.state;
const firstLetter = /(?!.*[DFIOQU])[A-VXY]/i;
const letter = /(?!.*[DFIOQU])[A-Z]/i;
const digit = /[0-9]/;
@@ -146,7 +147,7 @@ class Form_1_Main extends QuestionnaireForm
1. Информация о лизингополучателе
-
+
-
+
{ company.inn.length < 11 && (
-
+
-
+
-
@@ -218,7 +218,7 @@ class Form_1_Main extends QuestionnaireForm
-
+
-
+
this._handle_onTextFieldChange(event.target.name, event.target.value) }
disabled={ checking }
@@ -275,12 +276,18 @@ class Form_1_Main extends QuestionnaireForm
) }
{ !checking && (
-
+
) }
diff --git a/components/questionnaire/forms/Form_2_Contacts/index.js b/components/questionnaire/forms/Form_2_Contacts/index.js
index 60ba90e..9e6937a 100644
--- a/components/questionnaire/forms/Form_2_Contacts/index.js
+++ b/components/questionnaire/forms/Form_2_Contacts/index.js
@@ -38,6 +38,7 @@ class Form_2_Contacts extends QuestionnaireForm
fias_id: null,
},
},
+ step: 1,
};
}
@@ -45,6 +46,8 @@ class Form_2_Contacts extends QuestionnaireForm
{
return {
contacts: nextProps.questionnaire.contacts,
+ step: nextProps.questionnaire.step,
+ status: nextProps.questionnaire.status,
};
}
@@ -63,7 +66,7 @@ class Form_2_Contacts extends QuestionnaireForm
{
event.preventDefault();
- this._handle_onCheckboxFieldChange("step", 3);
+ this._handle_onJoinChange({ status: "draft", step: 3 });
setTimeout(() =>
{
saveQuestionnaire();
@@ -98,7 +101,7 @@ class Form_2_Contacts extends QuestionnaireForm
render()
{
const { company, checking } = this.props;
- const { contacts, loading } = this.state;
+ const { contacts, loading, status, step } = this.state;
const { address_type, legal_address, fact_address, postal_address, } = contacts;
return (
@@ -107,13 +110,13 @@ class Form_2_Contacts extends QuestionnaireForm
2. Адреса лизингополучателя
-
+
this._handle_onTextFieldChange("contacts.fact_address", data) }
required={ address_type === "fact" ? true : false }
- disabled={ checking }
+ disabled={ checking ? true : address_type === "fact" ? false : true }
/>
для юр.диц - заполняется, если отличается от указанного в ЕГРЮЛ; для ИП - заполняется всегда
@@ -159,7 +162,7 @@ class Form_2_Contacts extends QuestionnaireForm
disabled={ checking }
/>
) }
diff --git a/components/questionnaire/forms/Form_3_Signer/index.js b/components/questionnaire/forms/Form_3_Signer/index.js
index 60cdffc..42fbe66 100644
--- a/components/questionnaire/forms/Form_3_Signer/index.js
+++ b/components/questionnaire/forms/Form_3_Signer/index.js
@@ -23,7 +23,7 @@ import AddressSuggests from "../../AddressSuggests";
import InputMask from 'react-input-mask';
import SuggestsInput from "../../SuggestsInput";
import { getCitizenshipTitleByCode } from "../../../../utils/citizenship";
-import { saveQuestionnaire } from "../../../../actions";
+import { removeAttachmentFiles, saveQuestionnaire } from "../../../../actions";
class Form_3_Signer extends QuestionnaireForm
{
@@ -114,13 +114,15 @@ class Form_3_Signer extends QuestionnaireForm
}
}
},
- individual_executive_files: [],
+ delegation_files: [],
head_person_files: [],
signatory_person_files: [],
personal_data_consent: false,
loading: false,
modal_show_personal_data: false,
+ step: 1,
+ status: "empty",
};
}
@@ -130,9 +132,10 @@ class Form_3_Signer extends QuestionnaireForm
main: nextProps.questionnaire.main,
head_person: nextProps.questionnaire.head_person,
head_person_files: nextProps.questionnaire.head_person_files,
- individual_executive_files: nextProps.questionnaire.individual_executive_files,
+ delegation_files: nextProps.questionnaire.delegation_files,
signatory_person: nextProps.questionnaire.signatory_person,
signatory_person_files: nextProps.questionnaire.signatory_person_files,
+ status: nextProps.questionnaire.status,
};
}
@@ -166,6 +169,30 @@ class Form_3_Signer extends QuestionnaireForm
}
}
+ _handle_onChangeDelegationAgreement = () =>
+ {
+ const { signatory_person, delegation_files } = this.state;
+
+ if(!signatory_person.delegation_agreement)
+ {
+ this._handle_onCheckboxFieldChange("signatory_person.delegation_agreement", true);
+ }
+ else
+ {
+ removeAttachmentFiles(delegation_files);
+
+ this._handle_onBranchChange([
+ { name: "signatory_person.delegation_agreement", value: false, },
+ { name: "main.individual_executive_inn", value: "", },
+ { name: "main.individual_executive_kpp", value: "", },
+ { name: "main.individual_executive_oop", value: "", },
+ { name: "main.individual_executive_docnum", value: "", },
+ { name: "main.individual_executive_docdate", value: "", },
+ { name: "delegation_files", value: [], },
+ ]);
+ }
+ }
+
_handle_onFormSubmit = (event) =>
{
event.preventDefault();
@@ -217,7 +244,7 @@ class Form_3_Signer extends QuestionnaireForm
}
//переданы
- if(signatory_person.not_head_person)
+ if(signatory_person.delegation_agreement)
{
const main_check = [
"individual_executive_inn",
@@ -237,7 +264,7 @@ class Form_3_Signer extends QuestionnaireForm
}
//иной подписант
- if(signatory_person.delegation_agreement)
+ if(signatory_person.not_head_person)
{
const signatory_person_check = [
"lastname",
@@ -301,14 +328,14 @@ class Form_3_Signer extends QuestionnaireForm
personal_data_consent,
head_person_files,
signatory_person_files,
- individual_executive_files,
+ delegation_files,
modal_show_personal_data,
} = this.state;
- console.log("individual_executive_files", individual_executive_files);
+ console.log("delegation_files", delegation_files);
const { loading, } = this.state;
- const { main, head_person, signatory_person } = this.state;
+ const { main, head_person, signatory_person, status } = this.state;
let head_person_citizenship = { label: getCitizenshipTitleByCode(head_person.identity_document.citizenship.code), code: head_person.identity_document.citizenship.code };
let signatory_person_citizenship = { label: getCitizenshipTitleByCode(signatory_person.identity_document.citizenship.code), code: signatory_person.identity_document.citizenship.code };
@@ -318,7 +345,7 @@ class Form_3_Signer extends QuestionnaireForm