Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Lägg till användare
  2. import React, { Component } from 'react';
  3. //import { Redirect } from 'react-router-dom';
  4. import Link from "react-router-dom/Link";
  5. import Select from 'react-select';
  6. import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
  7. import axios from 'axios';
  8. import { getApiUrl } from '../config/Axios';
  9.  
  10. class AddInsurance extends Component {
  11.     constructor(props) {
  12.         super(props);
  13.  
  14.         this.state = {
  15.             customers: [],
  16.             customersData: [],
  17.             customerKoncern: [],
  18.             customerOrgNr: '',
  19.             customerName: '',
  20.             customerDotterbolag: '',
  21.             customerDotterbolagOrganisationsnummer: '',
  22.             customerForsakringsform: '',
  23.  
  24.             customerForsakringsnummer: '',
  25.             customerProjektforsakring: '',
  26.             customerForsakringsbolag: '',
  27.             customerKundansvarig: '',
  28.             customerUppdragUtgang: '',
  29.  
  30.             customerOvrigInfo: '',
  31.             customerArvode: '',
  32.             customerRorligt: '',
  33.             customerArvodeFakturerat: '',
  34.             customerFornyelse: '',
  35.  
  36.             customerPremieKr: '',
  37.             customerProvisionProcent: '',
  38.             customerProvisionKr: '',
  39.             customerSarskildFakturaRutin: '',
  40.             customerAPS1: '',
  41.  
  42.             customerAPS2AF: '',
  43.             customerAPS2BU: '',
  44.             customerAPS3P: '',
  45.             customerArchived: 0,
  46.             showSuccess: false,
  47.             procentValue: 0
  48.         };
  49.  
  50.         this.addInsurance = this.addInsurance.bind(this);
  51.         this.onChange = this.onChange.bind(this);
  52.     }
  53.  
  54.     addInsurance(event) {
  55.         event.preventDefault();
  56.         var self = this;
  57.  
  58.         axios.post(getApiUrl() + '/public/addInsurance', {
  59.             Organisationsnummer: this.state.customerOrgNr,
  60.             Koncern: this.state.customerName,
  61.             Organisationsnummer_Dotterbolag: this.state.customerDotterbolagOrganisationsnummer,
  62.             Dotterbolag: this.state.customerDotterbolag,
  63.             Uppdragsavtalets_utgang: this.state.customerUppdragUtgang,
  64.  
  65.             Ovrig_information: this.state.customerOvrigInfo,
  66.             Arvode: this.state.customerArvode,
  67.             Rorligt: this.state.customerRorligt,
  68.             Arvode_fakturerat: this.state.customerArvodeFakturerat,
  69.             Kundansvarig: this.state.customerKundansvarig,
  70.  
  71.             Forsakringsform: this.state.customerForsakringsform,
  72.             Projektforsakring: this.state.customerProjektforsakring,
  73.             Forsakringsnr: this.state.customerForsakringsnummer,
  74.             Fornyelse: this.state.customerFornyelse,
  75.             Forsakringsbolag: this.state.customerForsakringsbolag,
  76.  
  77.             Premie_kr: this.state.customerPremieKr,
  78.             Provision_procent: this.state.customerProvisionProcent,
  79.             Provision_kr: (this.state.customerPremieKr/100) * this.state.customerProvisionProcent,
  80.             Sarskild_faktura_rutin: this.state.customerSarskildFakturaRutin,
  81.             ARBETSPROCESS_STEG_1: this.state.customerAPS1,
  82.  
  83.             ARBETSPROCESS_STEG_2_A_FORNYELSE: this.state.customerAPS2AF,
  84.             ARBETSPROCESS_STEG_2_B_UPPHANDLING: this.state.customerAPS2BU,
  85.             ARBETSPROCESS_STEG_3_PLACERING: this.state.customerAPS3P,
  86.             ARBETSPROCESS_STEG_4_ANDRING: this.state.customerAPS4P,
  87.             Arkiverad: this.state.customerArchived
  88.         })
  89.             .then(function () {
  90.                 self.setState({
  91.                     showSuccess: true
  92.                 }, () => {
  93.                     setInterval(function () {
  94.                         self.setState({
  95.                             showSuccess: false
  96.                         });
  97.                     }, 3000);
  98.                 });
  99.             })
  100.             .catch(function (error) {
  101.                 console.log(error);
  102.             });
  103.     }
  104.  
  105.     componentDidMount() {
  106.         this.getCustomerData();
  107.         // const customersData = JSON.stringify(this.state.customers);
  108.         //this.setState({ customerKoncern: customersData.Koncern });
  109.     }
  110.  
  111.     getCustomerData() {
  112.         axios.get(getApiUrl() + '/public/getcustomersdata')
  113.             .then(response => JSON.parse(JSON.stringify(response)))
  114.             .then(customersdata => this.setState({ customersData: customersdata.data.customersData }))
  115.             .catch(err => console.error('Error ', err.toString()));
  116.     }
  117.  
  118.     onChange(e) {
  119.         this.setState({ [e.target.name]: e.target.value });
  120.     }
  121.  
  122.     render() {
  123.         const message = this.state.showSuccess;
  124.  
  125.         let procentValueStart = 0;
  126.         let procentValue = (this.state.customerPremieKr/100) * this.state.customerProvisionProcent;
  127.  
  128.         // funkar detta?
  129.         const options = this.state.customersData.map(customers => ({
  130.             value: customers.Koncern,
  131.             label: customers.Koncern
  132.         }));
  133.        
  134.         return (
  135.             <div className="app-content block">
  136.                 <div className="block">
  137.                     <div className="columns content-head">
  138.                         <div className="column">
  139.                             <h2 className="title is-large">
  140.                                 Skapa ny försäkring
  141.                             </h2>
  142.                         </div>
  143.                     </div>
  144.                 </div>
  145.                 <div className="block"></div>
  146.                 <form onSubmit={this.addInsurance}>
  147.                     <div className="columns">
  148.                         <div className="column">
  149.                             <h6 className="title is-6">Bolagsinformation</h6>
  150.                         </div>
  151.                         <div className="column">
  152.                             <label className="label">Koncern
  153.  
  154.                             <div className="field">
  155.                                 <div className="control">
  156.                                     <span className="select-field">
  157.                                         <Select
  158.                                             placeholder="Koncern"
  159.                                             value={this.state.selectedValueCustomer}
  160.                                             onChange={this.handleChange}
  161.                                             options={options}
  162.                                         />
  163.                                     </span>
  164.                                 </div>
  165.                             </div>
  166.  
  167.                                 <div className="field">
  168.                                     <div className="control">
  169.                                         <input className="input" type="text" name="customerName" required onChange={this.onChange} /><br />
  170.                                     </div>
  171.                                 </div>
  172.                             </label>
  173.  
  174.                             <label className="label">Organisationsnummer
  175.                                 <div className="field">
  176.                                     <div className="control">
  177.                                         <input className="input" type="text" name="customerOrgNr" onChange={this.onChange} /><br />
  178.                                     </div>
  179.                                 </div>
  180.                             </label>
  181.                         </div>
  182.                         <div className="column">
  183.                             <label className="label">Dotterbolag
  184.                                 <div className="field">
  185.                                     <div className="control">
  186.                                         <input className="input" type="text" name="customerDotterbolag" onChange={this.onChange} /><br />
  187.                                     </div>
  188.                                 </div>
  189.                             </label>
  190.                             <label className="label">Organisationsnummer Dotterbolag
  191.                                 <div className="field">
  192.                                     <div className="control">
  193.                                         <input className="input" type="text" name="customerDotterbolagOrganisationsnummer" onChange={this.onChange} /><br />
  194.                                     </div>
  195.                                 </div>
  196.                             </label>
  197.                         </div>
  198.                         <div className="column is-3"></div>
  199.                     </div>
  200.  
  201.                     <div className="block"><hr /></div>
  202.  
  203.                     <div className="columns is-multiline">
  204.                         <div className="column is-3">
  205.                             <h6 className="title is-6">Uppdrag & Avtal</h6>
  206.                         </div>
  207.                         <div className="column is-3">
  208.                             <label className="label">Kundansvarig
  209.                                 <div className="field">
  210.                                     <div className="control">
  211.                                         <input className="input" type="text" name="customerKundansvarig" required onChange={this.onChange} /><br />
  212.                                     </div>
  213.                                 </div>
  214.                             </label>
  215.                         </div>
  216.                         <div className="column is-3">
  217.                             <label className="label">Arvode
  218.                                 <div className="field">
  219.                                     <div className="control">
  220.                                         <input className="input" type="text" name="customerArvode" onChange={this.onChange} /><br />
  221.                                     </div>
  222.                                 </div>
  223.                             </label>
  224.                         </div>
  225.                         <div className="column is-3">
  226.                             <label className="label">Arvode fakturerat
  227.                                 <div className="field">
  228.                                     <div className="control">
  229.                                         <input className="input" type="text" name="customerArvodeFakturerat" onChange={this.onChange} /><br />
  230.                                     </div>
  231.                                 </div>
  232.                             </label>
  233.                         </div>
  234.                         <div className="column is-3"></div>
  235.                         <div className="column is-3">
  236.                             <label className="label">Uppdragsavtalets utgång (2001-01-01)
  237.                                 <div className="field">
  238.                                     <div className="control">
  239.                                         <input className="input" type="text" name="customerUppdragUtgang" onChange={this.onChange} /><br />
  240.                                     </div>
  241.                                 </div>
  242.                             </label>
  243.                         </div>
  244.                         <div className="column is-3">
  245.                             <label className="label">Rörligt
  246.                                 <div className="field">
  247.                                     <div className="control">
  248.                                         <input className="input" type="text" name="customerRorligt" onChange={this.onChange} /><br />
  249.                                     </div>
  250.                                 </div>
  251.                             </label>
  252.                         </div>
  253.                         <div className="column is-3">
  254.                             <label className="label">Förnyelsedatum (2001-01-01)
  255.                                 <div className="field">
  256.                                     <div className="control">
  257.                                         <input className="input" type="text" name="customerFornyelse" onChange={this.onChange} /><br />
  258.                                     </div>
  259.                                 </div>
  260.                             </label>
  261.                         </div>
  262.                     </div>
  263.  
  264.                     <div className="block"><hr /></div>
  265.  
  266.                     <div className="columns is-multiline">
  267.                         <div className="column is-3">
  268.                             <h6 className="title is-6">Försäkring</h6>
  269.                         </div>
  270.                         <div className="column is-3">
  271.                             <label className="label">Försäkringsform
  272.                                 <div className="field">
  273.                                     <div className="control">
  274.                                         <input className="input" type="text" name="customerForsakringsform" onChange={this.onChange} /><br />
  275.                                     </div>
  276.                                 </div>
  277.                             </label>
  278.                         </div>
  279.                         <div className="column is-3">
  280.                             <label className="label">Projektförsäkring
  281.                                 <div className="field">
  282.                                     <div className="control">
  283.                                         <input className="input" type="text" name="customerProjektforsakring" onChange={this.onChange} /><br />
  284.                                     </div>
  285.                                 </div>
  286.                             </label>
  287.                         </div>
  288.                         <div className="column is-3"></div>
  289.                         <div className="column is-3"></div>
  290.                         <div className="column is-3">
  291.                             <label className="label">Försäkringsnummer
  292.                                 <div className="field">
  293.                                     <div className="control">
  294.                                         <input className="input" type="text" name="customerForsakringsnummer" onChange={this.onChange} /><br />
  295.                                     </div>
  296.                                 </div>
  297.                             </label>
  298.                         </div>
  299.                         <div className="column is-3">
  300.                             <label className="label">Försäkringsbolag
  301.                                 <div className="field">
  302.                                     <div className="control">
  303.                                         <input className="input" type="text" name="customerForsakringsbolag" onChange={this.onChange} /><br />
  304.                                     </div>
  305.                                 </div>
  306.                             </label>
  307.                         </div>
  308.                         <div className="column is-3"></div>
  309.                     </div>
  310.  
  311.                     <div className="block"><hr /></div>
  312.  
  313.                     <div className="columns">
  314.                         <div className="column is-3">
  315.                             <label className="label">
  316.                                 <h6 className="title is-6">Fakturering m.m.</h6>
  317.                             </label>
  318.                         </div>
  319.                         <div className="column is-3">
  320.                             <label className="label">Premier (kr)
  321.                                 <div className="field">
  322.                                     <div className="control">
  323.                                         <input className="input" type="text" name="customerPremieKr" onChange={this.onChange} /><br />
  324.                                     </div>
  325.                                 </div>
  326.                             </label>
  327.                         </div>
  328.                         <div className="column is-3">
  329.                             <label className="label">Provision %
  330.                                 <div className="field">
  331.                                     <div className="control">
  332.                                         <input className="input" type="text" name="customerProvisionProcent" onChange={this.onChange} /><br />
  333.                                     </div>
  334.                                 </div>
  335.                             </label>
  336.                         </div>
  337.                         <div className="column is-3">
  338.                             <label className="label">Provision kr
  339.                             {/* Percentage */}
  340.                                 <p>{procentValue ? procentValue : procentValueStart}</p><br />
  341.                             </label>
  342.                         </div>
  343.                     </div>
  344.  
  345.                     <div className="columns">
  346.                         <div className="column is-3"></div>
  347.                         <div className="column is-3">
  348.                             <label className="label">Särskild fakturarutin
  349.                                 <div className="field">
  350.                                     <div className="control">
  351.                                         <input className="input" type="text" name="customerSarskildFakturaRutin" onChange={this.onChange} />
  352.                                     </div>
  353.                                 </div>
  354.                             </label>
  355.                         </div>
  356.                         <div className="column">
  357.                             <label className="label">Övrig information
  358.                             <div className="field">
  359.                                     <div className="control">
  360.                                         <textarea className="textarea" name="customerOvrigInfo" placeholder="Övrig information" onChange={this.onChange}></textarea>
  361.                                     </div>
  362.                                 </div>
  363.                             </label>
  364.                         </div>
  365.                     </div>
  366.  
  367.                     <div className="block"><hr /></div>
  368.  
  369.                     <div className="block">
  370.                         {message && (
  371.                             <article className="message is-success">
  372.                                 <div className="message-body">
  373.                                     Försäkringen har skapats!
  374.                                     </div>
  375.                             </article>
  376.                         )}
  377.                         <button className="button is-primary is-outlined left">
  378.                             <Link
  379.                                 to={{
  380.                                     pathname: `/forsakringar`,
  381.                                 }}>
  382.                                 <FontAwesomeIcon icon="caret-left" /> Tillbaka till Försäkringar
  383.                             </Link>
  384.                         </button>
  385.                         <button className="button is-primary is-outlined right" type="submit"><FontAwesomeIcon icon="save" /> Spara försäkring</button>
  386.                     </div>
  387.                 </form>
  388.             </div>
  389.         );
  390.     }
  391. }
  392.  
  393. export default AddInsurance;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement