create-order.vue 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <script sepup>
  2. import { useCookie } from 'nuxt/app';
  3. import { ref } from 'vue';
  4. const nameorder = ref(''), date = ref(''), pay = ref('');
  5. let errorForm = ref('');
  6. const online = useCookie('online');
  7. const user_id = online.id
  8. if(nameorder.value && date.value && pay.value){
  9. const submitForm = async (event) => {
  10. try {
  11. const data = await $fetch('/api/create-order', {
  12. method: 'post',
  13. body: {
  14. user_id: user_id,
  15. nameorder: nameorder.value,
  16. date: date.value,
  17. pay: pay.value,
  18. }
  19. })
  20. return await navigateTo('/order')
  21. } catch (error) {
  22. console.log('signUp', error);
  23. }
  24. }
  25. }else{
  26. errorForm.value = 'Заполните все поля'
  27. }
  28. </script>
  29. <template>
  30. <section class="d-flex flex-column">
  31. <h1>Index</h1>
  32. <form @submit.prifent="submitForm()" class="d-flex flex-column gap-3">
  33. <p>{{ errorForm }}</p>
  34. <input type="text" placeholder="Наименование курса" v-model="nameorder">
  35. <input type="date" placeholder="Дата начала" v-model="date">
  36. <section class="d-flex flex-column">
  37. <label>Способ оплаты</label>
  38. <output>
  39. <select v-model="pay">Картой</select>
  40. <select v-model="pay">По номеру телифона</select>
  41. </output>
  42. </section>
  43. <button type="submit" class="btn btn-primary">Создать заявку</button>
  44. </form>
  45. </section>
  46. </template>
  47. <style scoped>
  48. </style>