From 30cf18fff04aa9612629643e60c33ac902001503 Mon Sep 17 00:00:00 2001 From: merelendor Date: Wed, 17 Aug 2022 23:52:07 +0300 Subject: [PATCH] graphic changes updates --- actions/contractActions.js | 20 +++++- pages/api/contract/change/graphic/sign.js | 7 +++ .../change/components/Comparison/index.js | 23 ++++--- .../contract/change/components/Final/index.js | 9 ++- pages/contract/change/index.js | 62 +++++++++++++------ pages/contract/documents.js | 41 +----------- pages/settings/admin.js | 32 +--------- pages/settings/password.js | 27 +------- pages/settings/phone.js | 31 +--------- pages/support/appeals.js | 1 - pages/support/index.js | 1 - pages/support/request.js | 32 +--------- 12 files changed, 92 insertions(+), 194 deletions(-) create mode 100644 pages/api/contract/change/graphic/sign.js diff --git a/actions/contractActions.js b/actions/contractActions.js index 85186c5..87a35b1 100644 --- a/actions/contractActions.js +++ b/actions/contractActions.js @@ -562,10 +562,26 @@ export const getContractGraphicChangeGetCalculated = ({ dispatch, calculation }) }); } -export const signContractGraphicChange = ({ dispatch, number }) => +export const signContractGraphicChange = (params) => { + console.log("ACTION", "signContractGraphicChange", params); + return new Promise((resolve, reject) => { - resolve(); + axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/contract/change/graphic/sign`, params, + { + withCredentials: true, + }) + .then(async (response) => + { + console.log("ACTION", "signContractGraphicChange", "response.data", response.data); + resolve(response.data.comment); + }) + .catch((error) => + { + console.error("ACTION", "signContractGraphicChange", "error"); + console.error(error); + reject(); + }); }); } \ No newline at end of file diff --git a/pages/api/contract/change/graphic/sign.js b/pages/api/contract/change/graphic/sign.js new file mode 100644 index 0000000..7a3a32d --- /dev/null +++ b/pages/api/contract/change/graphic/sign.js @@ -0,0 +1,7 @@ +// Next.js API route support: https://nextjs.org/docs/api-routes/introduction +import CRMRequestPost from '../../../../../lib/CRMRequestPost'; + +export default async function handler(req, res) +{ + await CRMRequestPost(req, res, `${ process.env.CRM_API_HOST }/lk/add-contract/Signing?addcontract_number=${ req.body.addcontract_number }`, req.body); +} \ No newline at end of file diff --git a/pages/contract/change/components/Comparison/index.js b/pages/contract/change/components/Comparison/index.js index 9d6429a..3daaffb 100644 --- a/pages/contract/change/components/Comparison/index.js +++ b/pages/contract/change/components/Comparison/index.js @@ -14,10 +14,6 @@ export default class Comparison extends React.Component super(props); this.state = { date: null, - car: null, - contract_date: null, - agreement: null, - rules: null, loading: false, calculation: null, today: moment(), @@ -70,17 +66,24 @@ export default class Comparison extends React.Component _handle_onOptions = () => { - this.props.onOptions(); + if(this.props.editable) + { + this.props.onOptions(); + } + else + { + this.props.onBack(); + } } _handle_onSignPaper = () => { - + this.props.onSign(0); } - _handle_onSignEDMS = () => + _handle_onSignEDO = () => { - + this.props.onSign(1); } _handle_onMixedPayment = (index) => @@ -293,9 +296,11 @@ export default class Comparison extends React.Component - + {*/} ); diff --git a/pages/contract/change/components/Final/index.js b/pages/contract/change/components/Final/index.js index 1f99fe2..d49c37d 100644 --- a/pages/contract/change/components/Final/index.js +++ b/pages/contract/change/components/Final/index.js @@ -12,15 +12,14 @@ export default class Comparison extends React.Component render() { - const { number, signer, signatories } = this.props; + const { number, comment } = this.props; return (
-

- Дополнительное соглашение отправлено на согласование. После согласования документ появится на странице
- «Документы по договору» -

+

{ comment }

+
+

Перейти в раздел «Документы по договору»

); diff --git a/pages/contract/change/index.js b/pages/contract/change/index.js index 811b59c..058eebe 100644 --- a/pages/contract/change/index.js +++ b/pages/contract/change/index.js @@ -1,5 +1,4 @@ import React from "react"; -import * as ReactDOM from 'react-dom'; import Head from "next/head"; import Image from "next/image"; import { connect } from "react-redux"; @@ -29,7 +28,8 @@ import { getContractGraphicChangeGetCurrent, getContractGraphicChangeGetCalculated, getContractGraphicChangeSignatories, - getContractGraphicChangeCalculationsList, + getContractGraphicChangeCalculationsList, + signContractGraphicChange, } from "../../../actions"; import Options from "./components/Options"; import Comparison from "./components/Comparison"; @@ -42,9 +42,6 @@ class ChangeGraphicPage extends React.Component this.state = { date: null, car: null, - contract_date: null, - agreement: null, - rules: null, loading: false, mode_options: false, mode_comparison: false, @@ -71,6 +68,8 @@ class ChangeGraphicPage extends React.Component options: null, current: null, calculated: null, + comment: null, + editable: false, }; } @@ -80,9 +79,6 @@ class ChangeGraphicPage extends React.Component return { date: nextProps.date, car: nextProps.car, - contract_date: nextProps.contract_date, - agreement: nextProps.agreement, - rules: nextProps.rules, signatories: nextProps.signatories, calculations: nextProps.calculations, variants: nextProps.variants, @@ -195,6 +191,11 @@ class ChangeGraphicPage extends React.Component }); } + _handle_onBack = () => + { + this.setState({ mode_options: false, mode_comparison: false }); + } + _handle_onOptions = () => { this.setState({ mode_options: true, mode_comparison: false }); @@ -205,6 +206,30 @@ class ChangeGraphicPage extends React.Component this.setState({ signer: signer_id }); } + _handle_onSign = (type) => + { + const { calculation_id, signer, } = this.state; + const { number, } = this.props; + + this.setState({ loading: true }, () => + { + signContractGraphicChange({ + contract_number: number, + addcontract_number: calculation_id, + signatoryid: signer, + type + }) + .then((comment) => + { + this.setState({ loading: false, mode_final: true, mode_options: false, mode_comparison: false, comment }); + }) + .catch(() => + { + this.setState({ loading: false, }); + }); + }); + } + _handle_onCalculate = (calculation_id) => { const { dispatch, number } = this.props; @@ -214,17 +239,17 @@ class ChangeGraphicPage extends React.Component { setTimeout(() => { - this._handle_onCalculation(calculation_id); + this._handle_onCalculation(calculation_id, true); }, 100); }) .catch(() => { - }); + }); } - _handle_onCalculation = (calculation_id) => + _handle_onCalculation = (calculation_id, editable = false) => { - this.setState({ loading: true, mode_options: false, calculation_id: calculation_id }, () => + this.setState({ editable: editable, loading: true, mode_options: false, calculation_id: calculation_id }, () => { const { dispatch, number } = this.props; @@ -241,7 +266,7 @@ class ChangeGraphicPage extends React.Component render() { - const { loading, mode_options, mode_comparison, mode_calculation, mode_final, date, car, contract_date, agreement, rules, signer, signatories, calculations, calculation_id, variants, variants_loading, variants_selected, variants_types, variants_unavailable, options, current, calculated, } = this.state; + const { loading, mode_options, mode_comparison, mode_calculation, mode_final, date, car, signer, signatories, calculations, calculation_id, editable, variants, variants_loading, variants_selected, variants_types, variants_unavailable, options, current, calculated, comment } = this.state; const { number } = this.props; return ( @@ -280,7 +305,7 @@ class ChangeGraphicPage extends React.Component <> { mode_final ? (
- +
) : (
@@ -289,9 +314,13 @@ class ChangeGraphicPage extends React.Component signatories={ signatories } calculations={ calculations } calculation_id={ calculation_id } + editable={ editable } current={ current } calculated={ calculated } - onOptions={ this._handle_onOptions } onSigner={ this._handle_onSigner } + onBack={ this._handle_onBack } + onOptions={ this._handle_onOptions } + onSigner={ this._handle_onSigner } + onSign={ this._handle_onSign } />
) } @@ -372,11 +401,8 @@ class ChangeGraphicPage extends React.Component function mapStateToProps(state, ownProps) { return { - contract_date: state.contract.date, date: state.contract.date, car: state.contract.car, - agreement: state.contract.agreement, - rules: state.contract.rules, signatories: state.contract.change.signatories, calculations: state.contract.change.calculations, variants: state.contract.change.variants, diff --git a/pages/contract/documents.js b/pages/contract/documents.js index cf16e76..75572ae 100644 --- a/pages/contract/documents.js +++ b/pages/contract/documents.js @@ -1,5 +1,4 @@ import React from "react"; -import * as ReactDOM from 'react-dom'; import Head from "next/head"; import Image from "next/image"; @@ -186,8 +185,6 @@ class ContractDocumentsPage extends React.Component _handle_onPeriodDate_end = (date) => { - console.log("_handle_onPeriodDate_end", "date", date); - const { valid_date_start, valid_date_end, @@ -227,7 +224,6 @@ class ContractDocumentsPage extends React.Component _handle_onGroup = (group) => { - console.log("group", group); const opened = [...this.state.opened]; if (opened.indexOf(group) < 0) @@ -266,8 +262,6 @@ class ContractDocumentsPage extends React.Component .slice(0, opened.indexOf(type) > -1 ? documents.length : 3) .map((doc, index) => { - console.log("doc", doc); - return (

{ - console.log("_handle_onPenaltiesShow", "date", date); const { number } = this.props; window.scrollTo(0, 0); this.setState({ penalties: true, penalties_date: date, penalties_result: undefined }, () => { - ReactDOM.findDOMNode(this).parentNode.style.height = "100%"; - ReactDOM.findDOMNode(this).parentNode.style.display = "flex"; - ReactDOM.findDOMNode(this).parentNode.style.flexDirection = "column"; - ReactDOM.findDOMNode(this).parentNode.style.justifyContent = "spaceBetween"; - ReactDOM.findDOMNode(this).parentNode.style.alignItems = "stretch"; - - document.documentElement.style.height = "100%"; - document.documentElement.style.display = "flex"; - document.documentElement.style.flexDirection = "column"; - document.body.style.height = "100%"; - document.body.style.display = "flex"; - document.body.style.flexDirection = "column"; - getContractPenalties({ number, date }) .then((result) => { - console.log("result", result); this.setState({ penalties_result: result }); }) .catch(() => @@ -373,18 +352,6 @@ class ContractDocumentsPage extends React.Component { this.setState({ penalties: false, penalties_result: undefined }, () => { - ReactDOM.findDOMNode(this).parentNode.style.height = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.display = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.flexDirection = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.justifyContent = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.alignItems = "unset"; - - document.documentElement.style.height = "unset"; - document.documentElement.style.display = "unset"; - document.documentElement.style.flexDirection = "unset"; - document.body.style.height = "unset"; - document.body.style.display = "unset"; - document.body.style.flexDirection = "unset"; }); } @@ -409,12 +376,6 @@ class ContractDocumentsPage extends React.Component penalties_result, } = this.state; - console.log("documentsdocumentsdocumentsdocumentsdocuments"); - console.log(documents); - - console.log("opened"); - console.log(opened); - return ( @@ -423,7 +384,7 @@ class ContractDocumentsPage extends React.Component

{ penalties ? ( -
+
diff --git a/pages/settings/admin.js b/pages/settings/admin.js index 52d26a9..c1c00c8 100644 --- a/pages/settings/admin.js +++ b/pages/settings/admin.js @@ -1,5 +1,4 @@ import React from "react"; -import * as ReactDOM from 'react-dom'; import Head from 'next/head'; import Image from 'next/image'; import Link from "next/link"; @@ -42,19 +41,6 @@ class IndexPage extends React.Component componentDidMount() { - ReactDOM.findDOMNode(this).parentNode.style.height = "100%"; - ReactDOM.findDOMNode(this).parentNode.style.display = "flex"; - ReactDOM.findDOMNode(this).parentNode.style.flexDirection = "column"; - ReactDOM.findDOMNode(this).parentNode.style.justifyContent = "spaceBetween"; - ReactDOM.findDOMNode(this).parentNode.style.alignItems = "stretch"; - - document.documentElement.style.height = "100%"; - document.documentElement.style.display = "flex"; - document.documentElement.style.flexDirection = "column"; - document.body.style.height = "100%"; - document.body.style.display = "flex"; - document.body.style.flexDirection = "column"; - this.setState({ loading: true }, () => { getUsers({ dispatch: this.props.dispatch }) @@ -69,22 +55,6 @@ class IndexPage extends React.Component }); } - componentWillUnmount() - { - ReactDOM.findDOMNode(this).parentNode.style.height = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.display = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.flexDirection = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.justifyContent = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.alignItems = "unset"; - - document.documentElement.style.height = "unset"; - document.documentElement.style.display = "unset"; - document.documentElement.style.flexDirection = "unset"; - document.body.style.height = "unset"; - document.body.style.display = "unset"; - document.body.style.flexDirection = "unset"; - } - render() { const { user, users } = this.state; @@ -99,7 +69,7 @@ class IndexPage extends React.Component />
-
+
diff --git a/pages/settings/password.js b/pages/settings/password.js index 2a87f89..d557f84 100644 --- a/pages/settings/password.js +++ b/pages/settings/password.js @@ -1,5 +1,4 @@ import React from "react"; -import * as ReactDOM from 'react-dom'; import Head from 'next/head'; import Image from 'next/image'; import Link from "next/link"; @@ -46,34 +45,10 @@ class IndexPage extends React.Component componentDidMount() { - ReactDOM.findDOMNode(this).parentNode.style.height = "100%"; - ReactDOM.findDOMNode(this).parentNode.style.display = "flex"; - ReactDOM.findDOMNode(this).parentNode.style.flexDirection = "column"; - ReactDOM.findDOMNode(this).parentNode.style.justifyContent = "spaceBetween"; - ReactDOM.findDOMNode(this).parentNode.style.alignItems = "stretch"; - - document.documentElement.style.height = "100%"; - document.documentElement.style.display = "flex"; - document.documentElement.style.flexDirection = "column"; - document.body.style.height = "100%"; - document.body.style.display = "flex"; - document.body.style.flexDirection = "column"; } componentWillUnmount() { - ReactDOM.findDOMNode(this).parentNode.style.height = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.display = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.flexDirection = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.justifyContent = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.alignItems = "unset"; - - document.documentElement.style.height = "unset"; - document.documentElement.style.display = "unset"; - document.documentElement.style.flexDirection = "unset"; - document.body.style.height = "unset"; - document.body.style.display = "unset"; - document.body.style.flexDirection = "unset"; } _handle_onPasswordSubmit = (event) => @@ -163,7 +138,7 @@ class IndexPage extends React.Component />
-
+
diff --git a/pages/settings/phone.js b/pages/settings/phone.js index 4618bb3..7743a71 100644 --- a/pages/settings/phone.js +++ b/pages/settings/phone.js @@ -1,5 +1,4 @@ import React from "react"; -import * as ReactDOM from 'react-dom'; import Head from 'next/head'; import Image from 'next/image'; import Link from "next/link"; @@ -52,34 +51,6 @@ class IndexPage extends React.Component componentDidMount() { - ReactDOM.findDOMNode(this).parentNode.style.height = "100%"; - ReactDOM.findDOMNode(this).parentNode.style.display = "flex"; - ReactDOM.findDOMNode(this).parentNode.style.flexDirection = "column"; - ReactDOM.findDOMNode(this).parentNode.style.justifyContent = "spaceBetween"; - ReactDOM.findDOMNode(this).parentNode.style.alignItems = "stretch"; - - document.documentElement.style.height = "100%"; - document.documentElement.style.display = "flex"; - document.documentElement.style.flexDirection = "column"; - document.body.style.height = "100%"; - document.body.style.display = "flex"; - document.body.style.flexDirection = "column"; - } - - componentWillUnmount() - { - ReactDOM.findDOMNode(this).parentNode.style.height = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.display = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.flexDirection = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.justifyContent = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.alignItems = "unset"; - - document.documentElement.style.height = "unset"; - document.documentElement.style.display = "unset"; - document.documentElement.style.flexDirection = "unset"; - document.body.style.height = "unset"; - document.body.style.display = "unset"; - document.body.style.flexDirection = "unset"; } _handle_onPhoneSubmit = (event) => @@ -194,7 +165,7 @@ class IndexPage extends React.Component />
-
+
diff --git a/pages/support/appeals.js b/pages/support/appeals.js index 58d19e8..22fce94 100644 --- a/pages/support/appeals.js +++ b/pages/support/appeals.js @@ -1,5 +1,4 @@ import React from "react"; -import * as ReactDOM from 'react-dom'; import Head from "next/head"; import Image from "next/image"; import { connect } from "react-redux"; diff --git a/pages/support/index.js b/pages/support/index.js index d731346..34c45b2 100644 --- a/pages/support/index.js +++ b/pages/support/index.js @@ -1,5 +1,4 @@ import React from "react"; -import * as ReactDOM from 'react-dom'; import Head from "next/head"; import Image from "next/image"; import { connect } from "react-redux"; diff --git a/pages/support/request.js b/pages/support/request.js index 495fc28..805c633 100644 --- a/pages/support/request.js +++ b/pages/support/request.js @@ -1,5 +1,4 @@ import React from "react"; -import * as ReactDOM from 'react-dom'; import Head from "next/head"; import Image from "next/image"; import { connect } from "react-redux"; @@ -49,19 +48,6 @@ class SupportRequestPage extends React.Component { console.log("CDM", "SupportRequestPage", this.state); - ReactDOM.findDOMNode(this).parentNode.style.height = "100%"; - ReactDOM.findDOMNode(this).parentNode.style.display = "flex"; - ReactDOM.findDOMNode(this).parentNode.style.flexDirection = "column"; - ReactDOM.findDOMNode(this).parentNode.style.justifyContent = "spaceBetween"; - ReactDOM.findDOMNode(this).parentNode.style.alignItems = "stretch"; - - document.documentElement.style.height = "100%"; - document.documentElement.style.display = "flex"; - document.documentElement.style.flexDirection = "column"; - document.body.style.height = "100%"; - document.body.style.display = "flex"; - document.body.style.flexDirection = "column"; - if (!this.state.loading) { this.setState({ loading: true }, () => @@ -79,22 +65,6 @@ class SupportRequestPage extends React.Component } } - componentWillUnmount() - { - ReactDOM.findDOMNode(this).parentNode.style.height = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.display = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.flexDirection = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.justifyContent = "unset"; - ReactDOM.findDOMNode(this).parentNode.style.alignItems = "unset"; - - document.documentElement.style.height = "unset"; - document.documentElement.style.display = "unset"; - document.documentElement.style.flexDirection = "unset"; - document.body.style.height = "unset"; - document.body.style.display = "unset"; - document.body.style.flexDirection = "unset"; - } - componentDidUpdate(prevProps, prevState) { } @@ -171,7 +141,7 @@ class SupportRequestPage extends React.Component
-
+