mirror of
https://github.com/betagouv/mon-entreprise
synced 2025-02-09 02:55:01 +00:00
Gros changements en perspective : - Supprime la notion de période, au bénéfice de celle d'unité (`période : mensuelle` devient `unité: €/mois`) - Améliore les rapports d'erreur avec des messages plus clair - Ajoute un avertissement lorsque des types ne sont pas compatible - Ajoute la conversion automatique d'unité dans le moteur - Ajoute une notion d'unité par défaut de la simulation, c'est l'unité vers laquelle les règles qui ne spécifient pas d'unité seront converties - Ajoute une notion d'unité par défaut des règles, qui spécifie l'unité de la règle qui prévaut lorsque qu'il n'y a pas d'unité par défaut de la simulation (utile pour les question ou pour s'assurer du bon type d'une règle)
84 lines
2.4 KiB
JavaScript
84 lines
2.4 KiB
JavaScript
import { T } from 'Components'
|
|
import Value from 'Components/Value'
|
|
import React from 'react'
|
|
import RuleLink from './RuleLink'
|
|
|
|
export let SalaireBrutSection = ({ getRule }) => {
|
|
let avantagesEnNature = getRule(
|
|
'contrat salarié . rémunération . avantages en nature'
|
|
),
|
|
indemnitésSalarié = getRule('contrat salarié . indemnités salarié'),
|
|
heuresSupplémentaires = getRule(
|
|
'contrat salarié . rémunération . heures supplémentaires'
|
|
),
|
|
salaireDeBase = getRule('contrat salarié . rémunération . brut de base'),
|
|
rémunérationBrute = getRule('contrat salarié . rémunération . brut'),
|
|
primes = getRule('contrat salarié . rémunération . primes')
|
|
return (
|
|
<div className="payslip__salarySection">
|
|
<h4 className="payslip__salaryTitle">
|
|
<T>Salaire</T>
|
|
</h4>
|
|
<Line rule={salaireDeBase} />
|
|
{!!avantagesEnNature?.nodeValue && (
|
|
<Line
|
|
rule={getRule(
|
|
'contrat salarié . rémunération . avantages en nature . montant'
|
|
)}
|
|
/>
|
|
)}
|
|
{!!indemnitésSalarié?.nodeValue && <Line rule={indemnitésSalarié} />}
|
|
{!!heuresSupplémentaires?.nodeValue && (
|
|
<Line rule={heuresSupplémentaires} />
|
|
)}
|
|
{!!primes?.nodeValue && <Line rule={primes} />}
|
|
{rémunérationBrute.nodeValue !== salaireDeBase.nodeValue && (
|
|
<Line rule={rémunérationBrute} />
|
|
)}
|
|
</div>
|
|
)
|
|
}
|
|
|
|
export let Line = ({ rule, ...props }) => (
|
|
<>
|
|
<RuleLink {...rule} />
|
|
<Value {...rule} nilValueSymbol="—" unit="€" {...props} />
|
|
</>
|
|
)
|
|
|
|
export let SalaireNetSection = ({ getRule }) => {
|
|
let avantagesEnNature = getRule(
|
|
'contrat salarié . rémunération . avantages en nature'
|
|
)
|
|
return (
|
|
<div className="payslip__salarySection">
|
|
<h4 className="payslip__salaryTitle">
|
|
<T>Salaire net</T>
|
|
</h4>
|
|
<Line rule={getRule('contrat salarié . rémunération . net imposable')} />
|
|
{avantagesEnNature.nodeValue && (
|
|
<>
|
|
{/* Salaire net de cotisations */}
|
|
<Line
|
|
rule={getRule(
|
|
'contrat salarié . rémunération . net de cotisations'
|
|
)}
|
|
/>
|
|
{/* Avantages en nature */}
|
|
<Line
|
|
negative
|
|
rule={getRule(
|
|
'contrat salarié . rémunération . avantages en nature . montant'
|
|
)}
|
|
/>
|
|
</>
|
|
)}
|
|
<Line rule={getRule('contrat salarié . rémunération . net')} />
|
|
|
|
<Line negative rule={getRule('impôt')} />
|
|
<Line
|
|
rule={getRule('contrat salarié . rémunération . net après impôt')}
|
|
/>
|
|
</div>
|
|
)
|
|
}
|