From 7ea4c52966b6c92b9cb8480f2858ea523feea8c2 Mon Sep 17 00:00:00 2001 From: Denis Date: Tue, 12 Jul 2022 20:58:54 +0300 Subject: [PATCH] =?UTF-8?q?=D1=81=D1=82=D1=80=D0=B0=D0=BD=D0=B8=D1=86?= =?UTF-8?q?=D0=B0=20=D1=81=D0=BE=D0=B1=D1=8B=D1=82=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/components/Events/InnerMenu/index.js | 80 ++++++++ pages/events.js | 210 +++++++++++++++++++++ 2 files changed, 290 insertions(+) create mode 100644 pages/components/Events/InnerMenu/index.js create mode 100644 pages/events.js diff --git a/pages/components/Events/InnerMenu/index.js b/pages/components/Events/InnerMenu/index.js new file mode 100644 index 0000000..c4ff803 --- /dev/null +++ b/pages/components/Events/InnerMenu/index.js @@ -0,0 +1,80 @@ +import React from "react"; +import Link from "next/link"; + +export default class InnerMenu extends React.Component +{ + constructor(props) + { + super(props); + this.menuRef = React.createRef(); + } + + componentDidMount() + { + let l = 0; + let m = 0; + const menu = ["payments", "services", "agreement", "documents", "materials","events","change"]; + + for(let i in menu) + { + if(this.props.router.asPath.indexOf(menu[i]) > -1) + { + m = i; + } + } + + for(let i = 0; i < m; i++) + { + l = l + this.menuRef.current.children[i].getBoundingClientRect().width; + } + + this.menuRef.current.scrollLeft = l - 50; + } + + render() + { + const { number } = this.props; + + return ( + + ) + } +} \ No newline at end of file diff --git a/pages/events.js b/pages/events.js new file mode 100644 index 0000000..aefc74e --- /dev/null +++ b/pages/events.js @@ -0,0 +1,210 @@ +import React from "react"; +import Head from "next/head"; +import Image from "next/image"; +import { connect } from "react-redux"; +import { withRouter } from "next/router"; +import moment from "moment"; +import { SpinnerCircular } from "spinners-react"; + +import { reduxWrapper } from "../store"; + +import Header from "./components/Header"; +import Footer from "./components/Footer"; +import Company from "./components/Company"; +import InnerMenu from "./components/Events/InnerMenu"; + +import { + getContractInfo, + getContractAgreement, + getContractRules, + getFile, +} from "../actions"; + +class ContractPage extends React.Component { + constructor(props) { + super(props); + this.state = { + date: null, + car: null, + contract_date: null, + agreement: null, + rules: null, + loading: false, + search: "" + }; + } + + static getDerivedStateFromProps(nextProps, prevState) { + return { + date: nextProps.date, + car: nextProps.car, + contract_date: nextProps.contract_date, + agreement: nextProps.agreement, + rules: nextProps.rules, + }; + } + + componentDidMount() { + if (!this.state.loading && this.props.number !== undefined) { + this.setState({ loading: true }, () => { + getContractInfo({ + dispatch: this.props.dispatch, + number: this.props.number, + }) + .then((info) => { + console.log("info", info); + + getContractRules({ + dispatch: this.props.dispatch, + date: moment(info.date, "YYYY-MM-DD").format("DD.MM.YYYY"), + }) + .then(() => {}) + .catch(() => {}); + }) + .catch(() => {}); + + getContractAgreement({ + dispatch: this.props.dispatch, + number: this.props.number, + }) + .then(() => { + this.setState({ loading: false }); + }) + .catch(() => {}); + }); + } + } + + render() { + const { loading, date, car, contract_date, agreement, rules, search } = this.state; + const { number } = this.props; + + console.log("rules", rules); + + const types = { + contracts: "Договор", + redemptions: "Выкупные документы", + agreements: "Дополнительное соглашение", + assignments: "Договор цессии", + }; + + return ( + + + ЛК Эволюция автолизинга + + +
+
+
+
+
+
+
+

События

+
+ {date !== undefined && date !== null && date !== null && ( + <> от {moment(date).format("DD.MM.YYYY")} + )} + {car !== undefined && car !== null + ? ` - ${car.brand.name} ${car.model.name} | ${ + car.reg_number !== null + ? car.reg_number + : "без рег. номера" + } | ${ + car.vin_number !== null + ? car.vin_number + : "без VIN номера" + }` + : ""} +
+
+ +
+
+ +
+
+
{ event.preventDefault(); } }> +
+ { + this._handle_onChange_search(event.target.value); + } }/> +
+ +
+
+ +
+
+
+
+
+