-
) : (
-
+
) }
>
) }
@@ -169,6 +171,7 @@ function mapStateToProps(state, ownProps)
{
return {
main: state.questionnaire.main,
+ company: state.company,
}
}
diff --git a/components/questionnaire/forms/QuestionnaireForm.js b/components/questionnaire/forms/QuestionnaireForm.js
index 17c22ab..7f31d53 100644
--- a/components/questionnaire/forms/QuestionnaireForm.js
+++ b/components/questionnaire/forms/QuestionnaireForm.js
@@ -9,7 +9,7 @@ import { SpinnerCircular } from 'spinners-react';
import debounce from 'debounce-promise';
import { set as _set, get as _get } from 'lodash';
-import { updateQuestionnaire, getAddress, getSuggests, resetQuestionnaire } from "../../../actions";
+import { updateQuestionnaire, getAddress, getSuggests, resetQuestionnaire, questionnaireSetSign } from "../../../actions";
const suggestsAddressDebounce = (query) =>
{
@@ -62,6 +62,16 @@ export default class QuestionnaireForm extends React.Component
})
}
+ _removeError = (name) =>
+ {
+ const errors = [ ...this.state.errors ];
+ if(errors.indexOf(name) > -1)
+ {
+ errors.splice(errors.indexOf(name), 1);
+ }
+ this.setState({ errors });
+ }
+
_handle_onTextFieldChange = (name, value) =>
{
//console.log("QuestionnaireForm", "_handle_onTextFieldChange", { name, value });
@@ -159,12 +169,23 @@ export default class QuestionnaireForm extends React.Component
_handle_onReset = (event) =>
{
event.preventDefault();
+ const { dispatch } = this.props;
const reset = window.confirm("Вы действительно хотите отменить изменения, внесенные в анкету? Состояние анкеты будет сброшено до версии, имеющейся у ООО \"ЛК Эволюция\"");
if(reset)
{
this.props.onNextStep("main");
- resetQuestionnaire({ dispatch: this.props.dispatch, id: this.props.company.questionnaire_id });
+ resetQuestionnaire({ dispatch, id: this.props.company.questionnaire_id });
}
}
+
+ _handle_onSignDigital = () =>
+ {
+ const { dispatch } = this.props;
+ questionnaireSetSign({ dispatch, sign: { digital: true, print: false, }});
+ setTimeout(() =>
+ {
+ this.props.onNextStep("status");
+ }, 10);
+ }
}
\ No newline at end of file
diff --git a/constants/actionTypes.js b/constants/actionTypes.js
index 71967a7..b7d22f0 100644
--- a/constants/actionTypes.js
+++ b/constants/actionTypes.js
@@ -43,4 +43,5 @@ export const SUPPORT_APPEAL = 'SUPPORT_APPEAL';
export const SUPPORT_RESET = 'SUPPORT_RESET';
export const QUESTIONNAIRE_UPDATE = 'QUESTIONNAIRE_UPDATE';
-export const QUESTIONNAIRE_RESET = 'QUESTIONNAIRE_RESET';
\ No newline at end of file
+export const QUESTIONNAIRE_RESET = 'QUESTIONNAIRE_RESET';
+export const QUESTIONNAIRE_SET_SIGN = 'QUESTIONNAIRE_SET_SIGN';
\ No newline at end of file
diff --git a/pages/api/questionnaire/send.js b/pages/api/questionnaire/send.js
index 5b3a1bf..034cebb 100644
--- a/pages/api/questionnaire/send.js
+++ b/pages/api/questionnaire/send.js
@@ -52,12 +52,15 @@ export default async function handler(req, res)
upload.single("file")(req, {}, async (err) =>
{
const { file } = req;
- const { id } = req.body;
+ const { id, digital } = req.body;
const path = `${ process.env.CRM_API_HOST }/lk/Questionnaire/PreQuestionnaire/`;
const filetype = await fileTypeFromBuffer(file.buffer);
console.log("fileTypeFromBuffer", filetype);
- const local_filename = `${ client_jwt_decoded.acc_number }_signed_questionnaire_${ moment().format("YYYY_MM_DD_HH:mm:ss") }.${ filetype.ext }`;
+
+ 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 }`;
const key = md5(`questionnaire_${ client_jwt_decoded.acc_number }`);
const questionnaire = await RedisClient.get(key);
@@ -255,7 +258,7 @@ export default async function handler(req, res)
console.error("crm_send_error");
console.error(crm_send_error);
- res.status(500).send();
+ res.status(500).json({ payload });
resolve();
});
diff --git a/reducers/questionnaireReducer.js b/reducers/questionnaireReducer.js
index a6f7eb8..510c236 100644
--- a/reducers/questionnaireReducer.js
+++ b/reducers/questionnaireReducer.js
@@ -30,6 +30,14 @@ const questionnaireReducer = (state = initialState.questionnaire, action) =>
};
}
+ case actionTypes.QUESTIONNAIRE_SET_SIGN:
+ {
+ return {
+ ...state,
+ sign: { ...state.sign, ...action.data.sign, },
+ };
+ }
+
case actionTypes.QUESTIONNAIRE_RESET:
{
return {