You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
173 lines
7.8 KiB
173 lines
7.8 KiB
<template> |
|
<ClientOnly> |
|
<Card style="margin-top: 78px; min-height: 200px;"> |
|
<template #content> |
|
<Panel header="Maintainance / Measures" class="bg-white rounded-4 gap-3"> |
|
|
|
|
|
<div class="g-3 mb-20"> |
|
<div class="grid nested-grid"> |
|
<Card class="col-12"> |
|
<template #content> |
|
<div class="col-12 mb-20"> |
|
<div class="field"> |
|
<label for="kurz">Title</label> |
|
<InputText id="kurz" v-model.trim="measure.kurz" required="true" autofocus /> |
|
<small id="kurz-help" >Enter a short description for the measure</small> |
|
</div> |
|
</div> |
|
<table class="col-12 p-table-sm align-items-left measuretable"> |
|
<thead> |
|
<th>Measure:</th> |
|
<th>Value (in cm):</th> |
|
</thead> |
|
<tr> |
|
<td>Breast</td> |
|
<td> |
|
<InputText id="brust" v-model.trim="measure.brust" /> |
|
|
|
</td> |
|
</tr> |
|
<tr> |
|
<td>Length Top</td> |
|
<td> |
|
|
|
<InputText id="laenget" v-model.trim="measure.laenget" /> |
|
|
|
</td> |
|
</tr> |
|
<tr> |
|
<td>Shoulder Width</td> |
|
<td> |
|
|
|
<InputText id="schulterbreite" v-model.trim="measure.schulterbreite" /> |
|
|
|
</td> |
|
</tr> |
|
<tr> |
|
<td>Waist Girth Top</td> |
|
<td> |
|
|
|
<InputText id="taillenumfangt" v-model.trim="measure.taillenumfangt" /> |
|
|
|
</td> |
|
</tr> |
|
<tr> |
|
<td>Hip Girth</td> |
|
<td> |
|
|
|
<InputText id="hueftumfang" v-model.trim="measure.hueftumfang" /> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td>Inner Seam</td> |
|
<td> |
|
|
|
<InputText id="innennaht" v-model.trim="measure.innennaht" /> |
|
|
|
</td> |
|
</tr> |
|
<tr> |
|
<td>Length Bottom</td> |
|
<td> |
|
|
|
<InputText id="laengeb" v-model.trim="measure.laengeb" /> |
|
|
|
</td> |
|
</tr> |
|
<tr> |
|
<td>Waist Girth Bottom</td> |
|
<td> |
|
|
|
<InputText id="taillenumfangb" v-model.trim="measure.taillenumfangb" /> |
|
|
|
</td> |
|
</tr> |
|
</table> |
|
|
|
|
|
|
|
</template> |
|
|
|
<template #footer> |
|
|
|
<Button label="Save" icon="pi pi-check" text @click="onSubmit(measure)" /> |
|
</template> |
|
|
|
</Card> |
|
</div> |
|
</div> |
|
|
|
<template #fallback> |
|
<!-- this will be rendered on server side --> |
|
<p>Loading comments...</p> |
|
</template> |
|
</Panel> |
|
</template> |
|
</Card> |
|
</ClientOnly> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script setup lang="ts"> |
|
import { ref, onMounted } from "vue"; |
|
import { useToast } from 'primevue/usetoast'; |
|
|
|
let params : any; |
|
params = inject('dialogRef'); |
|
//const test = params.data; |
|
interface cMeasures { |
|
id: number; |
|
kurz: string; |
|
brust: number; |
|
laenget: number; |
|
schulterbreite: number; |
|
taillenumfangt: number; |
|
hueftumfang: number; |
|
innennaht: number; |
|
laengeb: number; |
|
taillenumfangb: number; |
|
} |
|
|
|
onMounted (() => { |
|
//const measure = ref({id: 0, kurz: '', brust:0, laenget:0, schulterbreite:0, taillenumfangt:0, hueftumfang:0, innennaht:0, laengeb:0, taillenumfangb:0}); |
|
console.log('Params: ', params.value); |
|
measure.value = params.value.data.mea; |
|
console.log('measure nach onMounted: ', measure); |
|
}); |
|
|
|
const toast = useToast(); |
|
const measure = ref({id: 0, kurz: '', brust:0, laenget:0, schulterbreite:0, taillenumfangt:0, hueftumfang:0, innennaht:0, laengeb:0, taillenumfangb:0}); |
|
|
|
|
|
async function onSubmit(m: cMeasures) { |
|
if(!m.brust) { |
|
m.brust = 0; |
|
} |
|
if(!m.laenget) { |
|
m.laenget = 0; |
|
} |
|
if(!m.schulterbreite) { |
|
m.schulterbreite = 0; |
|
} |
|
if(!m.taillenumfangt) { |
|
m.taillenumfangt = 0; |
|
} |
|
if(!m.hueftumfang) { |
|
m.hueftumfang = 0; |
|
} |
|
if(!m.innennaht) { |
|
m.innennaht = 0; |
|
} |
|
if(!m.laengeb) { |
|
m.laengeb = 0; |
|
} |
|
if(!m.taillenumfangb) { |
|
m.taillenumfangb = 0; |
|
} |
|
|
|
await this.params.close(m); |
|
} |
|
</script> |