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.
59 lines
1.9 KiB
59 lines
1.9 KiB
<template>
|
|
<h1>{{ msg }}</h1>
|
|
<div>
|
|
<button
|
|
class="border border-purple-200 rounded-full font-semibold py-1 px-4 text-sm text-purple-600 hover:bg-purple-600 hover:border-transparent hover:text-white focus:outline-none focus:ring-2 focus:ring-purple-600 focus:ring-offset-2"
|
|
@click="addProduct"
|
|
>
|
|
order product n°{{ data.products }}
|
|
</button>
|
|
<button
|
|
class="border border-purple-200 rounded-full font-semibold py-1 px-4 text-sm text-purple-600 hover:bg-purple-600 hover:border-transparent hover:text-white focus:outline-none focus:ring-2 focus:ring-purple-600 focus:ring-offset-2"
|
|
@click="data.price++"
|
|
>
|
|
inc price {{ data.price }}€
|
|
</button>
|
|
<button
|
|
class="border border-purple-200 rounded-full font-semibold py-1 px-4 text-sm text-purple-600 hover:bg-purple-600 hover:border-transparent hover:text-white focus:outline-none focus:ring-2 focus:ring-purple-600 focus:ring-offset-2"
|
|
@click="decPrice"
|
|
>
|
|
dec price {{ data.price }}€
|
|
</button>
|
|
</div>
|
|
<p>TOTAL HT = {{ state.count }}€ <br /></p>
|
|
<p>TOTAL HT = {{ ttc }}€ <br /></p>
|
|
<button
|
|
class="border border-purple-200 rounded-full font-semibold py-1 px-4 text-sm text-purple-600 hover:bg-purple-600 hover:border-transparent hover:text-white focus:outline-none focus:ring-2 focus:ring-purple-600 focus:ring-offset-2"
|
|
@click="reset"
|
|
>
|
|
RESET
|
|
</button>
|
|
</template>
|
|
|
|
<script lang="ts">
|
|
import global from '@/stores/global'
|
|
import { defineComponent, reactive } from 'vue'
|
|
|
|
export default defineComponent({
|
|
props: {
|
|
msg: { type: String, required: true }
|
|
},
|
|
setup() {
|
|
const data = reactive({
|
|
products: 1,
|
|
price: 10
|
|
})
|
|
const { state, ttc, inc, reset } = global
|
|
|
|
function decPrice() {
|
|
if (data.price > 1) data.price--
|
|
}
|
|
|
|
const addProduct = () => {
|
|
data.products++
|
|
inc(data.price)
|
|
}
|
|
return { data, state, ttc, reset, decPrice, addProduct }
|
|
}
|
|
})
|
|
</script>
|