Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
82
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.         let options = [];
  128.        
  129.         // funkar detta?
  130.         this.state.customersData.map(customers => {
  131.             return options.push({
  132.                 value: customers.Koncern,
  133.                 label: customers.Koncern
  134.             });
  135.         });
  136.  
  137.         return (
  138.             <div className="app-content block">
  139.                 <div className="block">
  140.                     <div className="columns content-head">
  141.                         <div className="column">
  142.                             <h2 className="title is-large">
  143.                                 Skapa ny försäkring
  144.                             </h2>
  145.                         </div>
  146.                     </div>
  147.                 </div>
  148.                 <div className="block"></div>
  149.                 <form onSubmit={this.addInsurance}>
  150.                     <div className="columns">
  151.                         <div className="column">
  152.                             <h6 className="title is-6">Bolagsinformation</h6>
  153.                         </div>
  154.                         <div className="column">
  155.                             <label className="label">Koncern
  156.  
  157.                             <div className="field">
  158.                                 <div className="control">
  159.                                     <span className="select-field">
  160.                                         <Select
  161.                                             placeholder="Koncern"
  162.                                             value={this.state.selectedValueCustomer}
  163.                                             onChange={this.handleChange}
  164.                                             options={options}
  165.                                         />
  166.                                     </span>
  167.                                 </div>
  168.                             </div>
  169.  
  170.                                 <div className="field">
  171.                                     <div className="control">
  172.                                         <input className="input" type="text" name="customerName" required onChange={this.onChange} /><br />
  173.                                     </div>
  174.                                 </div>
  175.                             </label>
  176.  
  177.                             <label className="label">Organisationsnummer
  178.                                 <div className="field">
  179.                                     <div className="control">
  180.                                         <input className="input" type="text" name="customerOrgNr" onChange={this.onChange} /><br />
  181.                                     </div>
  182.                                 </div>
  183.                             </label>
  184.                         </div>
  185.                         <div className="column">
  186.                             <label className="label">Dotterbolag
  187.                                 <div className="field">
  188.                                     <div className="control">
  189.                                         <input className="input" type="text" name="customerDotterbolag" onChange={this.onChange} /><br />
  190.                                     </div>
  191.                                 </div>
  192.                             </label>
  193.                             <label className="label">Organisationsnummer Dotterbolag
  194.                                 <div className="field">
  195.                                     <div className="control">
  196.                                         <input className="input" type="text" name="customerDotterbolagOrganisationsnummer" onChange={this.onChange} /><br />
  197.                                     </div>
  198.                                 </div>
  199.                             </label>
  200.                         </div>
  201.                         <div className="column is-3"></div>
  202.                     </div>
  203.  
  204.                     <div className="block"><hr /></div>
  205.  
  206.                     <div className="columns is-multiline">
  207.                         <div className="column is-3">
  208.                             <h6 className="title is-6">Uppdrag & Avtal</h6>
  209.                         </div>
  210.                         <div className="column is-3">
  211.                             <label className="label">Kundansvarig
  212.                                 <div className="field">
  213.                                     <div className="control">
  214.                                         <input className="input" type="text" name="customerKundansvarig" required onChange={this.onChange} /><br />
  215.                                     </div>
  216.                                 </div>
  217.                             </label>
  218.                         </div>
  219.                         <div className="column is-3">
  220.                             <label className="label">Arvode
  221.                                 <div className="field">
  222.                                     <div className="control">
  223.                                         <input className="input" type="text" name="customerArvode" onChange={this.onChange} /><br />
  224.                                     </div>
  225.                                 </div>
  226.                             </label>
  227.                         </div>
  228.                         <div className="column is-3">
  229.                             <label className="label">Arvode fakturerat
  230.                                 <div className="field">
  231.                                     <div className="control">
  232.                                         <input className="input" type="text" name="customerArvodeFakturerat" onChange={this.onChange} /><br />
  233.                                     </div>
  234.                                 </div>
  235.                             </label>
  236.                         </div>
  237.                         <div className="column is-3"></div>
  238.                         <div className="column is-3">
  239.                             <label className="label">Uppdragsavtalets utgång (2001-01-01)
  240.                                 <div className="field">
  241.                                     <div className="control">
  242.                                         <input className="input" type="text" name="customerUppdragUtgang" onChange={this.onChange} /><br />
  243.                                     </div>
  244.                                 </div>
  245.                             </label>
  246.                         </div>
  247.                         <div className="column is-3">
  248.                             <label className="label">Rörligt
  249.                                 <div className="field">
  250.                                     <div className="control">
  251.                                         <input className="input" type="text" name="customerRorligt" onChange={this.onChange} /><br />
  252.                                     </div>
  253.                                 </div>
  254.                             </label>
  255.                         </div>
  256.                         <div className="column is-3">
  257.                             <label className="label">Förnyelsedatum (2001-01-01)
  258.                                 <div className="field">
  259.                                     <div className="control">
  260.                                         <input className="input" type="text" name="customerFornyelse" onChange={this.onChange} /><br />
  261.                                     </div>
  262.                                 </div>
  263.                             </label>
  264.                         </div>
  265.                     </div>
  266.  
  267.                     <div className="block"><hr /></div>
  268.  
  269.                     <div className="columns is-multiline">
  270.                         <div className="column is-3">
  271.                             <h6 className="title is-6">Försäkring</h6>
  272.                         </div>
  273.                         <div className="column is-3">
  274.                             <label className="label">Försäkringsform
  275.                                 <div className="field">
  276.                                     <div className="control">
  277.                                         <input className="input" type="text" name="customerForsakringsform" onChange={this.onChange} /><br />
  278.                                     </div>
  279.                                 </div>
  280.                             </label>
  281.                         </div>
  282.                         <div className="column is-3">
  283.                             <label className="label">Projektförsäkring
  284.                                 <div className="field">
  285.                                     <div className="control">
  286.                                         <input className="input" type="text" name="customerProjektforsakring" onChange={this.onChange} /><br />
  287.                                     </div>
  288.                                 </div>
  289.                             </label>
  290.                         </div>
  291.                         <div className="column is-3"></div>
  292.                         <div className="column is-3"></div>
  293.                         <div className="column is-3">
  294.                             <label className="label">Försäkringsnummer
  295.                                 <div className="field">
  296.                                     <div className="control">
  297.                                         <input className="input" type="text" name="customerForsakringsnummer" onChange={this.onChange} /><br />
  298.                                     </div>
  299.                                 </div>
  300.                             </label>
  301.                         </div>
  302.                         <div className="column is-3">
  303.                             <label className="label">Försäkringsbolag
  304.                                 <div className="field">
  305.                                     <div className="control">
  306.                                         <input className="input" type="text" name="customerForsakringsbolag" onChange={this.onChange} /><br />
  307.                                     </div>
  308.                                 </div>
  309.                             </label>
  310.                         </div>
  311.                         <div className="column is-3"></div>
  312.                     </div>
  313.  
  314.                     <div className="block"><hr /></div>
  315.  
  316.                     <div className="columns">
  317.                         <div className="column is-3">
  318.                             <label className="label">
  319.                                 <h6 className="title is-6">Fakturering m.m.</h6>
  320.                             </label>
  321.                         </div>
  322.                         <div className="column is-3">
  323.                             <label className="label">Premier (kr)
  324.                                 <div className="field">
  325.                                     <div className="control">
  326.                                         <input className="input" type="text" name="customerPremieKr" onChange={this.onChange} /><br />
  327.                                     </div>
  328.                                 </div>
  329.                             </label>
  330.                         </div>
  331.                         <div className="column is-3">
  332.                             <label className="label">Provision %
  333.                                 <div className="field">
  334.                                     <div className="control">
  335.                                         <input className="input" type="text" name="customerProvisionProcent" onChange={this.onChange} /><br />
  336.                                     </div>
  337.                                 </div>
  338.                             </label>
  339.                         </div>
  340.                         <div className="column is-3">
  341.                             <label className="label">Provision kr
  342.                             {/* Percentage */}
  343.                                 <p>{procentValue ? procentValue : procentValueStart}</p><br />
  344.                             </label>
  345.                         </div>
  346.                     </div>
  347.  
  348.                     <div className="columns">
  349.                         <div className="column is-3"></div>
  350.                         <div className="column is-3">
  351.                             <label className="label">Särskild fakturarutin
  352.                                 <div className="field">
  353.                                     <div className="control">
  354.                                         <input className="input" type="text" name="customerSarskildFakturaRutin" onChange={this.onChange} />
  355.                                     </div>
  356.                                 </div>
  357.                             </label>
  358.                         </div>
  359.                         <div className="column">
  360.                             <label className="label">Övrig information
  361.                             <div className="field">
  362.                                     <div className="control">
  363.                                         <textarea className="textarea" name="customerOvrigInfo" placeholder="Övrig information" onChange={this.onChange}></textarea>
  364.                                     </div>
  365.                                 </div>
  366.                             </label>
  367.                         </div>
  368.                     </div>
  369.  
  370.                     <div className="block"><hr /></div>
  371.  
  372.                     <div className="block">
  373.                         {message && (
  374.                             <article className="message is-success">
  375.                                 <div className="message-body">
  376.                                     Försäkringen har skapats!
  377.                                     </div>
  378.                             </article>
  379.                         )}
  380.                         <button className="button is-primary is-outlined left">
  381.                             <Link
  382.                                 to={{
  383.                                     pathname: `/forsakringar`,
  384.                                 }}>
  385.                                 <FontAwesomeIcon icon="caret-left" /> Tillbaka till Försäkringar
  386.                             </Link>
  387.                         </button>
  388.                         <button className="button is-primary is-outlined right" type="submit"><FontAwesomeIcon icon="save" /> Spara försäkring</button>
  389.                     </div>
  390.                 </form>
  391.             </div>
  392.         );
  393.     }
  394. }
  395.  
  396. export default AddInsurance;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement