diff --git a/components/DealsStatus/components/DocumentsForm.js b/components/DealsStatus/components/DocumentsForm.js
index 0d972ed..5bbd812 100644
--- a/components/DealsStatus/components/DocumentsForm.js
+++ b/components/DealsStatus/components/DocumentsForm.js
@@ -4,11 +4,96 @@ import { SpinnerCircular } from "spinners-react";
import FileDropzoneDeals from "../../FileDropzoneDeals";
-import { attachDealDocument, removeDealDocument, sendDealDocuments, } from "../../../actions";
+import { attachDealDocument, createQuestionnaire, removeDealDocument, sendDealDocuments, } from "../../../actions";
import Step from "./Step";
import md5 from "md5";
+class QuestionnaireForm extends React.Component
+{
+ constructor(props)
+ {
+ super(props);
+ this.state = {
+ loading: false
+ }
+ }
+
+ _handle_onQuestionnaire = (event) =>
+ {
+ event.preventDefault();
+ const { onQuestionnaire } = this.props;
+
+ onQuestionnaire();
+ }
+
+ _handle_onCreateQuestionnaire = (event) =>
+ {
+ event.preventDefault();
+ const { onQuestionnaire, deal_id } = this.props;
+
+ this.setState({ loading: true, }, () =>
+ {
+ createQuestionnaire(deal_id)
+ .then(() =>
+ {
+ onQuestionnaire();
+ });
+ });
+ }
+
+ render()
+ {
+ const { loading } = this.state;
+ const { questionnaire_status } = this.props;
+
+ switch(questionnaire_status)
+ {
+ case "need_to_fill":
+ {
+ return (
+
+
Требуется обновить данные в анкете
+
+
+ )
+ }
+
+ case "need_to_create":
+ {
+ return (
+
+
Требуется предоставить данные в анкете клиента
+
+
+ )
+ }
+
+ case "up_to_date":
+ {
+
+
Вам не требуется актуализация данных анкеты Клиента
+
+ }
+
+ default:
+ {
+ return (
+
+
Проводится проверка анкеты Вашей организации
+
+ )
+ }
+ }
+ }
+}
+
export default class DocumentsForm extends Step
{
constructor(props)
@@ -20,6 +105,7 @@ export default class DocumentsForm extends Step
uploading: false,
completed: false,
loading: true,
+ questionnaire_loading: false,
};
this.status = 102;
}
@@ -61,34 +147,33 @@ export default class DocumentsForm extends Step
event.stopPropagation();
const { dealSelected, onDealsUpdate } = this.props;
- this.setState({ loading: true }, () =>
+ this.props.onFocusDeal();
+ setTimeout(() =>
{
- sendDealDocuments({ deal_id: dealSelected })
- .then(() =>
+ this.setState({ loading: true }, () =>
{
- onDealsUpdate();
- })
- .catch(() =>
- {
-
+ sendDealDocuments({ deal_id: dealSelected })
+ .then(() =>
+ {
+ onDealsUpdate();
+ })
+ .catch(() =>
+ {
+
+ });
});
- })
+ }, 100);
}
_onSendFileStats = (group, index) =>
{
- console.log("_onSendFileStats", { group, index });
-
return new Promise((resolve) =>
{
const uploaded = { ...this.state.uploaded };
-
uploaded[group].files[index].uploaded = true;
this.setState({ uploaded }, () =>
{
- console.log("_onSendFileStats", { uploaded });
-
resolve();
});
})
@@ -97,8 +182,6 @@ export default class DocumentsForm extends Step
_handle_onAddFile = ({ document_id, document_name, files, update }) =>
{
const existed_files = { ...this.state.uploaded };
- console.log({ document_id, document_name, files, update });
- console.log("_handle_onAddFile", { existed_files });
const group = md5(`${ document_id }_${ document_name }`);
const document_files = existed_files[ group ] === undefined ? [] : existed_files[ group ].files;
@@ -114,39 +197,21 @@ export default class DocumentsForm extends Step
for(let nf in files)
{
- console.log("_handle_onAddFile", { files });
- //let e = false;
- //for(let ef in document_files)
- //{
- // if(document_files[ef].name === files[nf].name) { e = true; }
- //}
+ files[nf].document_id = document_id;
+ files[nf].group = group;
+ files[nf].group_name = document_name;
+ files[nf].uploaded = false;
+ files[nf].update = update;
- //if(!e)
- //{
-// const ei = parseInt(existed_files[ document_id ].files.length, 10) > 0 ? parseInt(existed_files[ document_id ].files.length, 10) : 0;
-// const new_index = ei + parseInt(nf, 10);
-// console.log({ new_index });
-
-// files[nf].index = new_index;
- files[nf].document_id = document_id;
- files[nf].group = group;
- files[nf].group_name = document_name;
- files[nf].uploaded = false;
- files[nf].update = update;
-
- document_files.push(files[nf]);
- //}
+ document_files.push(files[nf]);
existed_files[ group ].files = document_files;
}
this.setState({ uploaded: existed_files, uploading: true }, () =>
{
- console.log({ existed_files });
const { opp_number } = this.props;
- console.log("DOUBLE", { files });
-
eachSeries(files, (file, callback) =>
{
const payload = {
@@ -187,27 +252,6 @@ export default class DocumentsForm extends Step
uploaded[group].files = list;
- /*
- for(let i in uploaded[document_id].files)
- {
- if(uploaded[document_id].files[i].name !== file.name)
- {
- list.push(uploaded[document_id].files[i]);
- }
- }
- */
-
- /*
- if(list.length > 0)
- {
- uploaded[document_id].files = list;
- }
- else
- {
- delete uploaded[document_id];
- }
- */
-
this.setState({ uploaded }, () =>
{
const completed = this._checkFilesCompleted();
@@ -218,49 +262,39 @@ export default class DocumentsForm extends Step
});
}
- _handle_onQuestionnaire = (event) =>
- {
- const { onQuestionnaire } = this.props;
-
- event.preventDefault();
- onQuestionnaire();
- }
-
_checkFilesCompleted = () =>
{
-// const documents_length = this.props.documents.length;
-// const files_length = Object.keys(this.state.files).length;
-// const c = files_length >= documents_length ? true : false;
-
const { uploaded } = this.state;
- const { documents } = this.props;
+ const { documents, questionnaire_status, } = this.props;
let c = true;
- if(documents !== undefined)
+ if(questionnaire_status !== "need_to_fill" && questionnaire_status !== "need_to_create")
{
- for(let g in documents)
+ if(documents !== undefined)
{
- if(!documents[g].add)
+ for(let g in documents)
{
- continue;
- }
-
- const group = md5(`${ documents[g].doc_id }_${ documents[g].name }`);
- console.log({ g: documents[g], group });
-
- if(uploaded[group] === undefined || uploaded[group].files.length === 0)
- {
- c = false;
- break;
- }
- else
- {
- for(let f in uploaded[group].files)
+ if(!documents[g].add)
{
- if(!uploaded[group].files[f].uploaded)
+ continue;
+ }
+
+ const group = md5(`${ documents[g].doc_id }_${ documents[g].name }`);
+
+ if(uploaded[group] === undefined || uploaded[group].files.length === 0)
+ {
+ c = false;
+ break;
+ }
+ else
+ {
+ for(let f in uploaded[group].files)
{
- c = false;
- break;
+ if(!uploaded[group].files[f].uploaded)
+ {
+ c = false;
+ break;
+ }
}
}
}
@@ -274,31 +308,9 @@ export default class DocumentsForm extends Step
return c;
}
- /*
- _renderHeaderButtons = () =>
- {
- const { open, uploading, completed, loading, } = this.state;
- const { statuscode_id } = this.props;
-
- if(open && !uploading && !loading)
- {
- if(this.status === statuscode_id)
- {
- return (
-
-
-
- )
- }
- }
-
- return null;
- }
- */
-
render()
{
- const { index, statuscode_id, dealSelected, documents, questionnaire_status, } = this.props;
+ const { index, statuscode_id, dealSelected, documents, questionnaire_status, onQuestionnaire, } = this.props;
const { open, uploaded, uploading, loading, completed } = this.state;
return (
@@ -319,24 +331,11 @@ export default class DocumentsForm extends Step
Анкета клиента: