corrige le dispositif ZFU pour les indeps
parent
91d0989a87
commit
22bcda8e2a
|
@ -52,46 +52,48 @@ function StepsTable({ rules, onClose }) {
|
|||
return (
|
||||
<table>
|
||||
<tbody>
|
||||
{rules.map(rule => (
|
||||
<tr
|
||||
key={rule.dottedName}
|
||||
css={`
|
||||
background: var(--lightestColor);
|
||||
`}
|
||||
>
|
||||
<td>
|
||||
<RuleLink {...rule} />
|
||||
</td>
|
||||
<td>
|
||||
<button
|
||||
className="answer"
|
||||
css={`
|
||||
display: inline-block;
|
||||
padding: 0.6rem;
|
||||
color: inherit;
|
||||
font-size: inherit;
|
||||
width: 100%;
|
||||
text-align: start;
|
||||
font-weight: 500;
|
||||
> span {
|
||||
border-bottom: 1px dashed blue;
|
||||
border-bottom-color: var(--textColorOnWhite);
|
||||
padding: 0.05em 0em;
|
||||
{rules
|
||||
.filter(rule => rule.nodeValue !== undefined)
|
||||
.map(rule => (
|
||||
<tr
|
||||
key={rule.dottedName}
|
||||
css={`
|
||||
background: var(--lightestColor);
|
||||
`}
|
||||
>
|
||||
<td>
|
||||
<RuleLink {...rule} />
|
||||
</td>
|
||||
<td>
|
||||
<button
|
||||
className="answer"
|
||||
css={`
|
||||
display: inline-block;
|
||||
}
|
||||
`}
|
||||
onClick={() => {
|
||||
dispatch(goToQuestion(rule.dottedName))
|
||||
onClose()
|
||||
}}
|
||||
>
|
||||
<span className="answerContent">
|
||||
<Value {...rule} />
|
||||
</span>
|
||||
</button>{' '}
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
padding: 0.6rem;
|
||||
color: inherit;
|
||||
font-size: inherit;
|
||||
width: 100%;
|
||||
text-align: start;
|
||||
font-weight: 500;
|
||||
> span {
|
||||
border-bottom: 1px dashed blue;
|
||||
border-bottom-color: var(--textColorOnWhite);
|
||||
padding: 0.05em 0em;
|
||||
display: inline-block;
|
||||
}
|
||||
`}
|
||||
onClick={() => {
|
||||
dispatch(goToQuestion(rule.dottedName))
|
||||
onClose()
|
||||
}}
|
||||
>
|
||||
<span className="answerContent">
|
||||
<Value {...rule} />
|
||||
</span>
|
||||
</button>{' '}
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
</tbody>
|
||||
</table>
|
||||
)
|
||||
|
|
|
@ -8,7 +8,6 @@ import SendButton from './SendButton'
|
|||
|
||||
const DateField = styled.input`
|
||||
border: none;
|
||||
text-align: center;
|
||||
color: inherit;
|
||||
font-size: inherit;
|
||||
margin: 0 0.1rem;
|
||||
|
@ -83,6 +82,7 @@ export default FormDecorator('input')(function DateInput({
|
|||
<DateField
|
||||
autoFocus
|
||||
placeholder="JJ"
|
||||
css="text-align: right;"
|
||||
type="tel"
|
||||
onChange={({ target: { value } }) => {
|
||||
if (+value > 31) {
|
||||
|
@ -99,6 +99,7 @@ export default FormDecorator('input')(function DateInput({
|
|||
<DateField
|
||||
type="tel"
|
||||
placeholder="MM"
|
||||
css="text-align: center;"
|
||||
ref={monthInput}
|
||||
onChange={({ target: { value } }) => {
|
||||
if (+value > 12) {
|
||||
|
@ -114,6 +115,7 @@ export default FormDecorator('input')(function DateInput({
|
|||
/
|
||||
<DateField
|
||||
type="tel"
|
||||
css="text-align: left;"
|
||||
ref={yearInput}
|
||||
placeholder="AAAA"
|
||||
onChange={({ target: { value } }) => {
|
||||
|
|
|
@ -19,5 +19,3 @@ questions:
|
|||
unités par défaut: [€/an]
|
||||
situation:
|
||||
dirigeant: 'auto-entrepreneur'
|
||||
entreprise . catégorie d'activité: 'libérale'
|
||||
entreprise . catégorie d'activité . libérale règlementée: non
|
||||
|
|
|
@ -1,7 +1,8 @@
|
|||
import { ShowValuesConsumer } from 'Components/rule/ShowValuesContext'
|
||||
import RuleLink from 'Components/RuleLink'
|
||||
import { formatPercentage, formatValue } from 'Engine/format'
|
||||
import { formatValue } from 'Engine/format'
|
||||
import { sortObjectByKeys } from 'Engine/mecanismViews/common'
|
||||
import { serialiseUnit } from 'Engine/units'
|
||||
import React from 'react'
|
||||
import { Trans, useTranslation } from 'react-i18next'
|
||||
import { BarèmeAttributes } from './Barème'
|
||||
|
@ -37,8 +38,9 @@ let Comp = function Barème({ nodeValue, explanation, unit }) {
|
|||
<td key="tranche">
|
||||
<SeuilFormatteur
|
||||
value={Number(seuil)}
|
||||
unit={explanation.assiette.unit}
|
||||
multiplicateur={
|
||||
explanation.multiplicateur.explanation
|
||||
explanation.multiplicateur?.explanation
|
||||
}
|
||||
/>
|
||||
</td>
|
||||
|
@ -52,7 +54,7 @@ let Comp = function Barème({ nodeValue, explanation, unit }) {
|
|||
<b>
|
||||
<Trans>Votre taux </Trans> :{' '}
|
||||
</b>
|
||||
{formatPercentage(explanation.taux)}
|
||||
<NodeValuePointer data={100 * explanation.taux} unit="%" />
|
||||
</span>
|
||||
)}
|
||||
{explanation.returnRate && (
|
||||
|
@ -68,7 +70,7 @@ let Comp = function Barème({ nodeValue, explanation, unit }) {
|
|||
)
|
||||
}
|
||||
|
||||
function SeuilFormatteur({ value, multiplicateur }) {
|
||||
function SeuilFormatteur({ value, multiplicateur, unit }) {
|
||||
const { language } = useTranslation().i18n
|
||||
if (value === 0) {
|
||||
return '0'
|
||||
|
@ -78,19 +80,20 @@ function SeuilFormatteur({ value, multiplicateur }) {
|
|||
{formatValue({
|
||||
value,
|
||||
language
|
||||
})}
|
||||
})}{' '}
|
||||
{serialiseUnit(unit)}
|
||||
{multiplicateur && (
|
||||
<>
|
||||
|
||||
<RuleLink {...multiplicateur} title={multiplicateur.name}>
|
||||
{multiplicateur.acronyme}
|
||||
</RuleLink>
|
||||
<NodeValuePointer
|
||||
data={value * multiplicateur.nodeValue}
|
||||
unit={multiplicateur.unit}
|
||||
/>
|
||||
</>
|
||||
)}{' '}
|
||||
<NodeValuePointer
|
||||
data={value * multiplicateur.nodeValue}
|
||||
unit={multiplicateur.unit}
|
||||
/>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -1,15 +1,35 @@
|
|||
import { defaultNode, evaluateObject, parseObject } from 'Engine/evaluation'
|
||||
import { decompose } from 'Engine/mecanisms/utils'
|
||||
import variations from 'Engine/mecanisms/variations'
|
||||
import BarèmeContinu from 'Engine/mecanismViews/BarèmeContinu'
|
||||
import { anyNull, val } from 'Engine/traverse-common-functions'
|
||||
import { parseUnit } from 'Engine/units'
|
||||
import { aperture, last, pipe, reduce, reduced, sort, toPairs } from 'ramda'
|
||||
|
||||
import {
|
||||
aperture,
|
||||
isEmpty,
|
||||
last,
|
||||
pipe,
|
||||
reduce,
|
||||
reduced,
|
||||
sort,
|
||||
toPairs
|
||||
} from 'ramda'
|
||||
export default (recurse, k, v) => {
|
||||
if (v.composantes) {
|
||||
return decompose(recurse, k, v)
|
||||
}
|
||||
if (v.variations) {
|
||||
return variations(recurse, k, v, true)
|
||||
}
|
||||
if (!v.points || typeof v.points !== 'object' || isEmpty(v.points)) {
|
||||
throw new Error(
|
||||
'Le mécanisme `barème linéaire` doit avoir un paramètre `points` valide'
|
||||
)
|
||||
}
|
||||
let objectShape = {
|
||||
assiette: false,
|
||||
multiplicateur: defaultNode(1)
|
||||
}
|
||||
|
||||
let returnRate = v['retourne seulement le taux'] === 'oui'
|
||||
let effect = ({ assiette, multiplicateur, points }) => {
|
||||
if (anyNull([assiette, multiplicateur])) return null
|
||||
|
|
|
@ -1732,6 +1732,8 @@ entreprise . effectif:
|
|||
unité: employé
|
||||
formule:
|
||||
variations:
|
||||
- si: entreprise . effectif . seuil = 'moins de 5'
|
||||
alors: 4 employés
|
||||
- si: entreprise . effectif . seuil = 'moins de 11'
|
||||
alors: 10 employés
|
||||
- si: entreprise . effectif . seuil = 'moins de 20'
|
||||
|
@ -1755,13 +1757,15 @@ entreprise . effectif . seuil:
|
|||
une possibilité:
|
||||
choix obligatoire: oui
|
||||
possibilités:
|
||||
- moins de 5
|
||||
- moins de 11
|
||||
- moins de 20
|
||||
- moins de 50
|
||||
- moins de 250
|
||||
- 251 et plus
|
||||
par défaut: moins de 11
|
||||
par défaut: moins de 5
|
||||
|
||||
entreprise . effectif . seuil . moins de 5:
|
||||
entreprise . effectif . seuil . moins de 11:
|
||||
entreprise . effectif . seuil . moins de 20:
|
||||
entreprise . effectif . seuil . moins de 50:
|
||||
|
@ -3152,9 +3156,9 @@ entreprise . date de création:
|
|||
question: Quand avez-vous créé votre entreprise ?
|
||||
par défaut: 01/01/2019
|
||||
suggestions:
|
||||
Janvier 2020: 01/01/2020
|
||||
Janvier 2019: 01/01/2019
|
||||
Janvier 2018: 01/01/2018
|
||||
Début 2020: 01/01/2020
|
||||
Début 2019: 01/01/2019
|
||||
Fin 2017: 31/12/2017
|
||||
type: date
|
||||
contrôles:
|
||||
- si: date de création > 01/2020
|
||||
|
@ -4205,7 +4209,7 @@ dirigeant . indépendant . cotisations et contributions . exonérations . ZFU .
|
|||
assiette: établissement . ZFU . durée d'implantation en fin d'année [an]
|
||||
retourne seulement le taux: oui
|
||||
variations:
|
||||
- si: entreprise . effectif
|
||||
- si: entreprise . effectif < 5
|
||||
alors:
|
||||
points:
|
||||
0: 100%
|
||||
|
|
Loading…
Reference in New Issue