2021-03-20 13:59:55 +00:00
|
|
|
<template>
|
|
|
|
<q-btn
|
2021-03-20 17:05:00 +00:00
|
|
|
v-if="pricePerVolume"
|
2021-03-20 13:59:55 +00:00
|
|
|
color="positive"
|
|
|
|
icon-right="add"
|
|
|
|
label="Abgabe hinzufügen"
|
|
|
|
size="xs"
|
|
|
|
>
|
|
|
|
<q-menu anchor="center middle" self="center middle">
|
|
|
|
<div class="row justify-around q-pa-sm">
|
|
|
|
<q-input
|
|
|
|
v-model.number="newVolume.volume"
|
|
|
|
filled
|
|
|
|
dense
|
|
|
|
label="Liter"
|
|
|
|
type="number"
|
2021-03-20 17:05:00 +00:00
|
|
|
min="0"
|
|
|
|
step="0.01"
|
2021-03-20 13:59:55 +00:00
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
<div class="row justify-between q-pa-sm">
|
|
|
|
<q-btn v-close-popup label="Abbrechen" @click="cancelAddVolume" />
|
2021-03-20 17:05:00 +00:00
|
|
|
<q-btn v-close-popup label="Speichern" color="primary" @click="addVolume(rows)" />
|
2021-03-20 13:59:55 +00:00
|
|
|
</div>
|
|
|
|
</q-menu>
|
|
|
|
</q-btn>
|
|
|
|
</template>
|
|
|
|
|
2021-03-20 17:05:00 +00:00
|
|
|
<script lang="ts">
|
2021-03-20 13:59:55 +00:00
|
|
|
import { DrinkPriceVolume } from '../../../store';
|
2021-03-20 17:05:00 +00:00
|
|
|
import { ref, defineComponent } from 'vue';
|
2021-03-20 13:59:55 +00:00
|
|
|
|
2021-03-20 17:05:00 +00:00
|
|
|
export default defineComponent({
|
2021-03-20 13:59:55 +00:00
|
|
|
name: 'NewVolume',
|
|
|
|
props: {
|
2021-03-20 17:05:00 +00:00
|
|
|
pricePerVolume: {
|
|
|
|
type: Number,
|
|
|
|
required: true,
|
|
|
|
},
|
2021-03-20 13:59:55 +00:00
|
|
|
},
|
2021-03-20 17:05:00 +00:00
|
|
|
emits: { addVolume: (val: DrinkPriceVolume) => !!val },
|
|
|
|
setup(_, { emit }) {
|
2021-03-20 13:59:55 +00:00
|
|
|
const emptyVolume: DrinkPriceVolume = {
|
|
|
|
id: -1,
|
|
|
|
_volume: 0,
|
2021-03-20 17:05:00 +00:00
|
|
|
min_prices: [{ percentage: 100 }, { percentage: 250 }, { percentage: 300 }],
|
2021-03-20 13:59:55 +00:00
|
|
|
prices: [],
|
|
|
|
ingredients: [],
|
|
|
|
};
|
|
|
|
const newVolume = ref<DrinkPriceVolume>(emptyVolume);
|
|
|
|
|
|
|
|
function cancelAddVolume() {
|
|
|
|
setTimeout(() => {
|
|
|
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
|
|
// @ts-ignore
|
|
|
|
newVolume.value = emptyVolume;
|
|
|
|
}, 200);
|
|
|
|
}
|
|
|
|
function addVolume() {
|
2021-03-20 17:05:00 +00:00
|
|
|
emit('addVolume', <DrinkPriceVolume>newVolume.value);
|
2021-03-20 13:59:55 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return {
|
|
|
|
addVolume,
|
|
|
|
cancelAddVolume,
|
|
|
|
newVolume,
|
2021-03-20 17:05:00 +00:00
|
|
|
};
|
|
|
|
},
|
|
|
|
});
|
2021-03-20 13:59:55 +00:00
|
|
|
</script>
|
|
|
|
|
2021-03-20 17:05:00 +00:00
|
|
|
<style scoped></style>
|