Feat: presentation and edit months
This commit is contained in:
parent
091cee308a
commit
5e241dadb8
@ -1,31 +1,31 @@
|
|||||||
<template>
|
<template>
|
||||||
<form>
|
<form>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<label for="ca-theo">CA théorique</label>
|
<label for="ca-theo">CA théorique</label>
|
||||||
<input type="number" id="ca-theo">
|
<input type="number" id="ca-theo">
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<label for="ca-retro">CA rétrocession</label>
|
<label for="ca-retro">CA rétrocession</label>
|
||||||
<input type="number" id="ca-retro">
|
<input type="number" id="ca-retro">
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<label for="ca-react">CA réactualisé</label>
|
<label for="ca-react">CA réactualisé</label>
|
||||||
<input type="number" id="ca-react">
|
<input type="number" id="ca-react">
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<label for="nbr-seance">Nombre de séances effectuées</label>
|
<label for="nbr-seance">Nombre de séances effectuées</label>
|
||||||
<input type="number" id="nbr-seance">
|
<input type="number" id="nbr-seance">
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<label for="retro">Montant de la rétrocession</label>
|
<label for="retro">Montant de la rétrocession</label>
|
||||||
<input type="number" id="retro">
|
<input type="number" id="retro">
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<label for="remumeration">Rémunération effectuée</label>
|
<label for="remumeration">Rémunération effectuée</label>
|
||||||
<input type="number" id="remumeration">
|
<input type="number" id="remumeration">
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</form>
|
</form>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -34,6 +34,7 @@ import { mapGetters } from 'vuex'
|
|||||||
export default {
|
export default {
|
||||||
name: 'MonthForm',
|
name: 'MonthForm',
|
||||||
props: {
|
props: {
|
||||||
|
editMonth: {}
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters({
|
...mapGetters({
|
||||||
|
@ -1,72 +1,128 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="month-presentation">
|
<div class="month-presentation">
|
||||||
<div class="date">
|
<div class="date">
|
||||||
{{ month.date }}
|
{{ TheDate }}
|
||||||
</div>
|
</div>
|
||||||
<div class="infos">
|
<div id="display">
|
||||||
<ul>
|
<ul>
|
||||||
<li> <span class="label"> CA théorique </span> <span class="value">{{ month.ca_theo ?? "∅"}}€</span></li>
|
<li>
|
||||||
<li> <span class="label"> CA à la rétrocession </span> <span class="value">{{ month.ca_retro ?? "∅"}}€</span></li>
|
<label for="ca-theo">CA théorique</label>
|
||||||
<li> <span class="label"> CA réactualisé </span> <span class="value">{{ month.ca_react ?? "∅"}}€</span></li>
|
<span class="value" v-show="!editing">{{ TheMonth.ca_theo ?? "∅"}}€</span>
|
||||||
<li> <span class="label"> Nombre de séances effectuée</span> <span class="value">{{ month.nbr_seances ?? "∅"}}</span></li>
|
<input type="number" v-model="monthCopy.ca_theo" id="ca-theo" class="value" v-show="editing">
|
||||||
<li> <span class="label"> Montant de la rétrocession </span> <span class="value">{{ month.retro ?? "∅"}}€</span></li>
|
</li>
|
||||||
<li> <span class="label"> Rémunération effectuée </span> <span class="value">{{ month.remumeration ?? "∅"}}€</span></li>
|
<li>
|
||||||
|
<label for="ca-retro">CA rétrocession</label>
|
||||||
|
<span class="value" v-show="!editing">{{ TheMonth.ca_retro ?? "∅"}}€</span>
|
||||||
|
<input type="number" v-model="monthCopy.ca_retro" id="ca-retro" class="value" v-show="editing">
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<label for="ca-react">CA réactualisé</label>
|
||||||
|
<span class="value" v-show="!editing">{{ TheMonth.ca_react ?? "∅"}}€</span>
|
||||||
|
<input type="number" v-model="monthCopy.ca_react" id="ca-react" class="value" v-show="editing">
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<label for="nbr-seances">Nombre de séances effectuées</label>
|
||||||
|
<span class="value" v-show="!editing">{{ TheMonth.nbr_seances ?? "∅"}}</span>
|
||||||
|
<input type="number" v-model="monthCopy.nbr_seances" id="nbr-seances" class="value" v-show="editing">
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<label for="retro">Montant de la rétrocession</label>
|
||||||
|
<span class="value" v-show="!editing">{{ TheMonth.retro ?? "∅"}}€</span>
|
||||||
|
<input type="number" v-model="monthCopy.retro" id="retro" class="value" v-show="editing">
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<label for="remumeration">Rémunération effectuée</label>
|
||||||
|
<span class="value" v-show="!editing">{{ TheMonth.remumeration ?? "∅"}}€</span>
|
||||||
|
<input type="number" v-model="monthCopy.remumeration" id="remumeration" class="value" v-show="editing">
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
<button class="edit"> Éditer </button>
|
<button class="edit" @click="toggleEdit" v-show="!editing"> Éditer </button>
|
||||||
|
<button class="validate" @click="save" v-show="editing"> Valider </button>
|
||||||
|
<button class="cancel" @click="cancel" v-show="editing"> Annuler </button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { mapActions } from 'vuex'
|
||||||
export default {
|
export default {
|
||||||
name: 'MonthPresentation',
|
name: 'MonthPresentation',
|
||||||
props: {
|
props: {
|
||||||
month: {
|
TheDate: String,
|
||||||
|
TheMonth: {
|
||||||
type: Object,
|
type: Object,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
editing: false,
|
||||||
|
monthCopy: Object,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted: function () {
|
||||||
|
this.monthCopy = {...this.TheMonth}
|
||||||
|
},
|
||||||
computed: {
|
computed: {
|
||||||
},
|
},
|
||||||
|
methods: {
|
||||||
|
...mapActions('travail', {
|
||||||
|
'updateMonth': 'updateMonth',
|
||||||
|
}),
|
||||||
|
toggleEdit: function () {
|
||||||
|
this.editing = !this.editing
|
||||||
|
},
|
||||||
|
save: function () {
|
||||||
|
this.updateMonth({date: this.TheDate, month: this.monthCopy})
|
||||||
|
this.toggleEdit()
|
||||||
|
},
|
||||||
|
cancel: function () {
|
||||||
|
this.monthCopy = {...this.TheMonth}
|
||||||
|
this.toggleEdit()
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
||||||
<style scoped>
|
<style scoped>
|
||||||
.month-presentation {
|
.month-presentation {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
background-color: mintcream;
|
background-color: mintcream;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
|
}
|
||||||
|
.month-presentation > * {
|
||||||
|
margin: 20px;
|
||||||
}
|
}
|
||||||
.month-presentation > * {
|
|
||||||
margin: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.date {
|
.date {
|
||||||
font-size: 1.5em;
|
font-size: 1.5em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul {
|
ul {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: row wrap;
|
flex-flow: row wrap;
|
||||||
}
|
}
|
||||||
li {
|
li {
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
width: 30%;
|
width: 30%;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column-reverse;
|
flex-direction: column-reverse;
|
||||||
}
|
}
|
||||||
.value {
|
.value {
|
||||||
font-size: 1.5em;
|
font-size: 1.5em;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.novisible {
|
||||||
|
display: None;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<ul>
|
<ul>
|
||||||
<li v-for="month in months" :key="month.date">
|
<li v-for="date in dates" :key="date">
|
||||||
<month-presentation :month=month></month-presentation>
|
<month-presentation :TheDate=date :TheMonth=getMonth(date)></month-presentation>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
@ -19,7 +19,8 @@ export default {
|
|||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapGetters({
|
...mapGetters({
|
||||||
months: "travail/Months",
|
dates: "travail/MonthsDate",
|
||||||
|
getMonth: "travail/getMonth",
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -3,81 +3,86 @@ const travail = {
|
|||||||
state () {
|
state () {
|
||||||
return {
|
return {
|
||||||
empty: {
|
empty: {
|
||||||
date: "",
|
|
||||||
ca_theo: null, // ca théorique basé sur les séances effectuées
|
ca_theo: null, // ca théorique basé sur les séances effectuées
|
||||||
nbr_seances: 0, // Nombre de séances effectuées sur le mois
|
nbr_seances: null, // Nombre de séances effectuées sur le mois
|
||||||
ca_retro: null, // ca au moment de la rétrocession
|
ca_retro: null, // ca au moment de la rétrocession
|
||||||
ca_react: null, // ca réactualisé
|
ca_react: null, // ca réactualisé
|
||||||
retro: 0, // montant de la rétrocession
|
retro: 0, // montant de la rétrocession
|
||||||
remumeration: 0, // rémunération décidée
|
remumeration: 0, // rémunération décidée
|
||||||
},
|
},
|
||||||
months: [
|
months: {
|
||||||
{
|
"2021/01": {
|
||||||
date: "2021/01",
|
|
||||||
ca_theo: null, // ca théorique basé sur les séances effectuées
|
ca_theo: null, // ca théorique basé sur les séances effectuées
|
||||||
nbr_seances: 0, // Nombre de séances effectuées sur le mois
|
nbr_seances: null, // Nombre de séances effectuées sur le mois
|
||||||
ca_retro: 6747, // ca au moment de la rétrocession
|
ca_retro: 6747, // ca au moment de la rétrocession
|
||||||
ca_react: null, // ca réactualisé
|
ca_react: null, // ca réactualisé
|
||||||
retro: 893, // montant de la rétrocession
|
retro: 893, // montant de la rétrocession
|
||||||
remumeration: 2000, // rémunération décidée
|
remumeration: 2000, // rémunération décidée
|
||||||
},
|
},
|
||||||
{
|
"2021/02": {
|
||||||
date: "2021/02",
|
|
||||||
ca_theo: null, // ca théorique basé sur les séances effectuées
|
ca_theo: null, // ca théorique basé sur les séances effectuées
|
||||||
nbr_seances: 0, // Nombre de séances effectuées sur le mois
|
nbr_seances: null, // Nombre de séances effectuées sur le mois
|
||||||
ca_retro: 5183, // ca au moment de la rétrocession
|
ca_retro: 5183, // ca au moment de la rétrocession
|
||||||
ca_react: null, // ca réactualisé
|
ca_react: null, // ca réactualisé
|
||||||
retro: 665, // montant de la rétrocession
|
retro: 665, // montant de la rétrocession
|
||||||
remumeration: 1500, // rémunération décidée
|
remumeration: 1500, // rémunération décidée
|
||||||
},
|
},
|
||||||
{
|
"2021/03": {
|
||||||
date: "2021/03",
|
|
||||||
ca_theo: null, // ca théorique basé sur les séances effectuées
|
ca_theo: null, // ca théorique basé sur les séances effectuées
|
||||||
nbr_seances: 0, // Nombre de séances effectuées sur le mois
|
nbr_seances: null, // Nombre de séances effectuées sur le mois
|
||||||
ca_retro: 7088, // ca au moment de la rétrocession
|
ca_retro: 7088, // ca au moment de la rétrocession
|
||||||
ca_react: null, // ca réactualisé
|
ca_react: null, // ca réactualisé
|
||||||
retro: 855, // montant de la rétrocession
|
retro: 855, // montant de la rétrocession
|
||||||
remumeration: 2000, // rémunération décidée
|
remumeration: 2000, // rémunération décidée
|
||||||
},
|
},
|
||||||
{
|
"2021/04": {
|
||||||
date: "2021/04",
|
|
||||||
ca_theo: null, // ca théorique basé sur les séances effectuées
|
ca_theo: null, // ca théorique basé sur les séances effectuées
|
||||||
nbr_seances: 0, // Nombre de séances effectuées sur le mois
|
nbr_seances: null, // Nombre de séances effectuées sur le mois
|
||||||
ca_retro: 4194, // ca au moment de la rétrocession
|
ca_retro: 4194, // ca au moment de la rétrocession
|
||||||
ca_react: 5630, // ca réactualisé
|
ca_react: 5630, // ca réactualisé
|
||||||
retro: 627, // montant de la rétrocession
|
retro: 627, // montant de la rétrocession
|
||||||
remumeration: 2000, // rémunération décidée
|
remumeration: 2000, // rémunération décidée
|
||||||
},
|
},
|
||||||
{
|
"2021/05": {
|
||||||
date: "2021/05",
|
|
||||||
ca_theo: null, // ca théorique basé sur les séances effectuées
|
ca_theo: null, // ca théorique basé sur les séances effectuées
|
||||||
nbr_seances: 0, // Nombre de séances effectuées sur le mois
|
nbr_seances: null, // Nombre de séances effectuées sur le mois
|
||||||
ca_retro: 5564, // ca au moment de la rétrocession
|
ca_retro: 5564, // ca au moment de la rétrocession
|
||||||
ca_react: 6335, // ca réactualisé
|
ca_react: 6335, // ca réactualisé
|
||||||
retro: 699, // montant de la rétrocession
|
retro: 699, // montant de la rétrocession
|
||||||
remumeration: 2800, // rémunération décidée
|
remumeration: 2800, // rémunération décidée
|
||||||
},
|
},
|
||||||
{
|
"2021/06": {
|
||||||
date: "2021/06",
|
|
||||||
ca_theo: null, // ca théorique basé sur les séances effectuées
|
ca_theo: null, // ca théorique basé sur les séances effectuées
|
||||||
nbr_seances: 0, // Nombre de séances effectuées sur le mois
|
nbr_seances: null, // Nombre de séances effectuées sur le mois
|
||||||
ca_retro: 5442, // ca au moment de la rétrocession
|
ca_retro: 5442, // ca au moment de la rétrocession
|
||||||
ca_react: 6335, // ca réactualisé
|
ca_react: 6335, // ca réactualisé
|
||||||
retro: 638, // montant de la rétrocession
|
retro: 638, // montant de la rétrocession
|
||||||
remumeration: 2800, // rémunération décidée
|
remumeration: 2800, // rémunération décidée
|
||||||
},
|
},
|
||||||
],
|
},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
cCount (state) {return state.months.length},
|
Count (state) {return state.months.length},
|
||||||
TheEmptyMonth (state) {return state.empty},
|
TheEmptyMonth (state) {return state.empty},
|
||||||
Months (state) {
|
MonthsDate (state) {
|
||||||
return state.months.sort((a, b) => new Date(b.date) - new Date(a.date))
|
return Object.keys(state.months).sort()
|
||||||
|
//return state.months.sort((a, b) => new Date(b.date) - new Date(a.date))
|
||||||
|
},
|
||||||
|
getMonth: (state) => (date) => {
|
||||||
|
return state.months[date]
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mutations: {
|
mutations: {
|
||||||
}
|
updateMonth (state, {date, month}) {
|
||||||
|
state.months[date] = month
|
||||||
|
}
|
||||||
|
},
|
||||||
|
actions: {
|
||||||
|
updateMonth (context, {date, month}) {
|
||||||
|
context.commit('updateMonth', {date, month})
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
export default travail
|
export default travail
|
||||||
|
Loading…
Reference in New Issue
Block a user