Changes in Workingtimes
This commit is contained in:
@@ -107,17 +107,18 @@ export const useCreateWorkingTimesPdf = async (input,backgroundSourceBuffer) =>
|
||||
y: getCoordinatesForPDFLib(20,75,pages[pageCounter -1]).y,
|
||||
size: 10,
|
||||
})
|
||||
pages[pageCounter - 1].drawText(`Soll Stunden: ${Math.floor(input.monthlyWorkingMinutes/60)}:${String(input.monthlyWorkingMinutes % 60).padStart(2,"0")} Std`,{
|
||||
|
||||
pages[pageCounter - 1].drawText(`Feiertagsausgleich: ${Math.floor(input.sumWorkingMinutesRecreationDays/60)}:${String(input.sumWorkingMinutesRecreationDays % 60).padStart(2,"0")} Std`,{
|
||||
x: getCoordinatesForPDFLib(20,80,pages[pageCounter -1]).x,
|
||||
y: getCoordinatesForPDFLib(20,80,pages[pageCounter -1]).y,
|
||||
size: 10,
|
||||
})
|
||||
pages[pageCounter - 1].drawText(`Feiertagsausgleich: ${Math.floor(input.sumWorkingMinutesRecreationDays/60)}:${String(input.sumWorkingMinutesRecreationDays % 60).padStart(2,"0")} Std`,{
|
||||
pages[pageCounter - 1].drawText(`Urlaubsausgleich: ${Math.floor(input.sumWorkingMinutesVacationDays/60)}:${String(input.sumWorkingMinutesVacationDays % 60).padStart(2,"0")} Std`,{
|
||||
x: getCoordinatesForPDFLib(20,85,pages[pageCounter -1]).x,
|
||||
y: getCoordinatesForPDFLib(20,85,pages[pageCounter -1]).y,
|
||||
size: 10,
|
||||
})
|
||||
pages[pageCounter - 1].drawText(`Urlaubsausgleich: ${Math.floor(input.sumWorkingMinutesVacationDays/60)}:${String(input.sumWorkingMinutesVacationDays % 60).padStart(2,"0")} Std`,{
|
||||
pages[pageCounter - 1].drawText(`Soll Stunden: ${Math.floor(input.workingMinutesTarget/60)}:${String(input.workingMinutesTarget % 60).padStart(2,"0")} Std`,{
|
||||
x: getCoordinatesForPDFLib(20,90,pages[pageCounter -1]).x,
|
||||
y: getCoordinatesForPDFLib(20,90,pages[pageCounter -1]).y,
|
||||
size: 10,
|
||||
|
||||
@@ -161,6 +161,17 @@ const addToNewsletter = async () => {
|
||||
console.log(data)
|
||||
}
|
||||
|
||||
const calcWeeklyWorkingHours = () => {
|
||||
itemInfo.value.weeklyWorkingHours =
|
||||
itemInfo.value.weeklyRegularWorkingHours[1] +
|
||||
itemInfo.value.weeklyRegularWorkingHours[2] +
|
||||
itemInfo.value.weeklyRegularWorkingHours[3] +
|
||||
itemInfo.value.weeklyRegularWorkingHours[4] +
|
||||
itemInfo.value.weeklyRegularWorkingHours[5] +
|
||||
itemInfo.value.weeklyRegularWorkingHours[6] +
|
||||
itemInfo.value.weeklyRegularWorkingHours[7]
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@@ -191,9 +202,9 @@ const addToNewsletter = async () => {
|
||||
label: 'Informationen'
|
||||
},{
|
||||
label: 'Logbuch'
|
||||
},{
|
||||
},/*{
|
||||
label: 'Zeiterfassung'
|
||||
},{
|
||||
},*/{
|
||||
label: 'Vertragsdaten'
|
||||
},{
|
||||
label: 'Dokumente'
|
||||
@@ -307,6 +318,7 @@ const addToNewsletter = async () => {
|
||||
:element-id="itemInfo.id"
|
||||
/>
|
||||
</div>
|
||||
<!--
|
||||
<div v-if="item.label === 'Zeiterfassung'">
|
||||
<Toolbar>
|
||||
<UFormGroup
|
||||
@@ -400,6 +412,7 @@ const addToNewsletter = async () => {
|
||||
|
||||
|
||||
</div>
|
||||
-->
|
||||
<div v-if="item.label === 'Vertragsdaten'">
|
||||
<Toolbar>
|
||||
<UButton
|
||||
@@ -415,16 +428,17 @@ const addToNewsletter = async () => {
|
||||
>
|
||||
<UInput
|
||||
v-model="itemInfo.weeklyWorkingHours"
|
||||
type="number"
|
||||
/>
|
||||
</UFormGroup>
|
||||
<UFormGroup
|
||||
<!-- <UFormGroup
|
||||
label="Durchschnittliche Arbeitstage pro Woche"
|
||||
class="flex-auto"
|
||||
>
|
||||
<UInput
|
||||
v-model="itemInfo.weeklyWorkingDays"
|
||||
/>
|
||||
</UFormGroup>
|
||||
</UFormGroup>-->
|
||||
<UFormGroup
|
||||
label="Urlaubstage"
|
||||
class="flex-auto"
|
||||
@@ -434,7 +448,7 @@ const addToNewsletter = async () => {
|
||||
/>
|
||||
</UFormGroup>
|
||||
</InputGroup>
|
||||
<UDivider>Regelarbeitszeiten</UDivider>
|
||||
<UDivider class="my-3">Regelarbeitszeiten</UDivider>
|
||||
<InputGroup class="w-full">
|
||||
<UFormGroup
|
||||
label="Montag"
|
||||
@@ -443,6 +457,7 @@ const addToNewsletter = async () => {
|
||||
<UInput
|
||||
v-model="itemInfo.weeklyRegularWorkingHours[1]"
|
||||
type="number"
|
||||
@change="calcWeeklyWorkingHours"
|
||||
|
||||
/>
|
||||
</UFormGroup><UFormGroup
|
||||
@@ -452,6 +467,7 @@ const addToNewsletter = async () => {
|
||||
<UInput
|
||||
v-model="itemInfo.weeklyRegularWorkingHours[2]"
|
||||
type="number"
|
||||
@change="calcWeeklyWorkingHours"
|
||||
|
||||
/>
|
||||
</UFormGroup>
|
||||
@@ -462,6 +478,7 @@ const addToNewsletter = async () => {
|
||||
<UInput
|
||||
v-model="itemInfo.weeklyRegularWorkingHours[3]"
|
||||
type="number"
|
||||
@change="calcWeeklyWorkingHours"
|
||||
|
||||
/>
|
||||
</UFormGroup>
|
||||
@@ -472,6 +489,7 @@ const addToNewsletter = async () => {
|
||||
<UInput
|
||||
v-model="itemInfo.weeklyRegularWorkingHours[4]"
|
||||
type="number"
|
||||
@change="calcWeeklyWorkingHours"
|
||||
|
||||
/>
|
||||
</UFormGroup>
|
||||
@@ -482,6 +500,7 @@ const addToNewsletter = async () => {
|
||||
<UInput
|
||||
v-model="itemInfo.weeklyRegularWorkingHours[5]"
|
||||
type="number"
|
||||
@change="calcWeeklyWorkingHours"
|
||||
|
||||
/>
|
||||
</UFormGroup>
|
||||
@@ -492,6 +511,18 @@ const addToNewsletter = async () => {
|
||||
<UInput
|
||||
v-model="itemInfo.weeklyRegularWorkingHours[6]"
|
||||
type="number"
|
||||
@change="calcWeeklyWorkingHours"
|
||||
|
||||
/>
|
||||
</UFormGroup>
|
||||
<UFormGroup
|
||||
label="Sonntag"
|
||||
class="flex-auto"
|
||||
>
|
||||
<UInput
|
||||
v-model="itemInfo.weeklyRegularWorkingHours[7]"
|
||||
type="number"
|
||||
@change="calcWeeklyWorkingHours"
|
||||
|
||||
/>
|
||||
</UFormGroup>
|
||||
|
||||
@@ -52,7 +52,7 @@ setupPage()
|
||||
<h1
|
||||
v-if="itemInfo"
|
||||
class="text-xl font-medium"
|
||||
>{{itemInfo.id ? 'Anwesenheite bearbeiten' : 'Anwesenheit erstellen'}}</h1>
|
||||
>{{itemInfo.id ? 'Anwesenheit bearbeiten' : 'Anwesenheit erstellen'}}</h1>
|
||||
</template>
|
||||
<template #right>
|
||||
<UButton
|
||||
|
||||
@@ -74,16 +74,21 @@ const workingTimeInfo = computed(() => {
|
||||
let times = workingtimes.value
|
||||
|
||||
//times = times.filter(i => dayjs(i.date).isBetween(dayjs(selectedStartDay.value).subtract(1,"days"),selectedEndDay.value,'day') && i.end)
|
||||
times = times.filter(i => dayjs(i.startDate).isSameOrAfter(selectedStartDay.value) && dayjs(i.endDate).isSameOrBefore(selectedEndDay.value))
|
||||
times = times.filter(i => dayjs(i.startDate).isSameOrAfter(selectedStartDay.value) && dayjs(i.endDate).subtract(1,"day").isSameOrBefore(selectedEndDay.value))
|
||||
|
||||
|
||||
let weekFactor = 4.33
|
||||
let monthlyWorkingMinutes = itemInfo.value.weeklyWorkingHours * weekFactor * 60
|
||||
|
||||
let workingMinutesTarget = Math.ceil(Number((Number(dayjs(selectedEndDay.value).add(1,"days").diff(dayjs(selectedStartDay.value),'month',true).toFixed(2)) * 4.33 * itemInfo.value.weeklyWorkingHours * 60).toFixed(2)))
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//Eingreicht
|
||||
let sumWorkingMinutesEingereicht = 0
|
||||
times.filter(i => !i.approved).forEach(time => {
|
||||
times.forEach(time => {
|
||||
const minutes = dayjs(time.endDate).diff(dayjs(time.startDate),'minutes')
|
||||
sumWorkingMinutesEingereicht = sumWorkingMinutesEingereicht + minutes
|
||||
})
|
||||
@@ -140,11 +145,12 @@ const workingTimeInfo = computed(() => {
|
||||
|
||||
|
||||
//Saldo
|
||||
let saldo = (sumWorkingMinutesApproved + sumWorkingMinutesRecreationDays +sumWorkingMinutesVacationDays - monthlyWorkingMinutes).toFixed(2)
|
||||
let saldoInOfficial = (sumWorkingMinutesApproved + sumWorkingMinutesEingereicht + sumWorkingMinutesRecreationDays + sumWorkingMinutesVacationDays - monthlyWorkingMinutes).toFixed(2)
|
||||
let saldo = (sumWorkingMinutesApproved + sumWorkingMinutesRecreationDays +sumWorkingMinutesVacationDays - workingMinutesTarget).toFixed(2)
|
||||
let saldoInOfficial = (sumWorkingMinutesApproved + sumWorkingMinutesEingereicht + sumWorkingMinutesRecreationDays + sumWorkingMinutesVacationDays - workingMinutesTarget).toFixed(2)
|
||||
|
||||
return {
|
||||
monthlyWorkingMinutes,
|
||||
workingMinutesTarget,
|
||||
sumWorkingMinutesEingereicht,
|
||||
sumWorkingMinutesApproved,
|
||||
sumWorkingMinutesRecreationDays,
|
||||
@@ -302,7 +308,7 @@ changeRange()
|
||||
<p>Genehmigt: {{Math.floor(workingTimeInfo.sumWorkingMinutesApproved/60)}}:{{String(workingTimeInfo.sumWorkingMinutesApproved % 60).padStart(2,"0")}} h</p>
|
||||
<p>Feiertagsausgleich: {{Math.floor(workingTimeInfo.sumWorkingMinutesRecreationDays/60)}}:{{String(workingTimeInfo.sumWorkingMinutesRecreationDays % 60).padStart(2,"0")}} h / {{workingTimeInfo.sumRecreationDays}} Tage</p>
|
||||
<p>Urlaubsausgleich: {{Math.floor(workingTimeInfo.sumWorkingMinutesVacationDays/60)}}:{{String(workingTimeInfo.sumWorkingMinutesVacationDays % 60).padStart(2,"0")}} h / {{workingTimeInfo.sumVacationDays}} Tage</p>
|
||||
<p>Soll Stunden: {{Math.floor(workingTimeInfo.monthlyWorkingMinutes/60)}}:{{String(workingTimeInfo.monthlyWorkingMinutes % 60).padStart(2,"0")}} h</p>
|
||||
<p>Soll Stunden: {{Math.floor(workingTimeInfo.workingMinutesTarget/60)}}:{{String(workingTimeInfo.workingMinutesTarget % 60 ).padStart(2,"0")}} h</p>
|
||||
|
||||
<!-- <p>Abwesend: </p>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user