Create.vue 2.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <script setup>
  2. import { useForm } from '@/composables/useForm'
  3. import AppInputText from '@/components/AppInputText.vue'
  4. import DashboardLayout from '@/layouts/Dashboard/DashboardLayout.vue'
  5. const form = useForm({
  6. name: null,
  7. address: null,
  8. email: null,
  9. phone: null,
  10. npwp: null,
  11. })
  12. const onSubmit = () => {
  13. form.post(route('suppliers.store'), { onSuccess: () => form.reset() })
  14. }
  15. </script>
  16. <template>
  17. <DashboardLayout title="Tambah Supplier">
  18. <div class="grid">
  19. <div class="col-12">
  20. <Card>
  21. <template #title> Tambah Supplier </template>
  22. <template #content>
  23. <div class="grid">
  24. <div class="col-12 md:col-6">
  25. <AppInputText
  26. label="Nama"
  27. placeholder="nama"
  28. :error="form.errors.name"
  29. v-model="form.name"
  30. />
  31. </div>
  32. <div class="col-12 md:col-6">
  33. <AppInputText
  34. label="Alamat"
  35. placeholder="alamat"
  36. :error="form.errors.address"
  37. v-model="form.address"
  38. />
  39. </div>
  40. <div class="col-12 md:col-6">
  41. <AppInputText
  42. label="Surel"
  43. placeholder="surel"
  44. :error="form.errors.email"
  45. v-model="form.email"
  46. />
  47. </div>
  48. <div class="col-12 md:col-6">
  49. <AppInputText
  50. label="No HP"
  51. placeholder="no hp"
  52. type="number"
  53. :error="form.errors.phone"
  54. v-model="form.phone"
  55. />
  56. </div>
  57. <div class="col-12 md:col-6">
  58. <AppInputText
  59. label="NPWP"
  60. placeholder="npwp"
  61. type="number"
  62. :error="form.errors.npwp"
  63. v-model="form.npwp"
  64. />
  65. </div>
  66. </div>
  67. </template>
  68. <template #footer>
  69. <div class="flex flex-column md:flex-row justify-content-end">
  70. <Button
  71. label="Simpan"
  72. icon="pi pi-check"
  73. class="p-button-outlined"
  74. :disabled="form.processing"
  75. @click="onSubmit"
  76. />
  77. </div>
  78. </template>
  79. </Card>
  80. </div>
  81. </div>
  82. </DashboardLayout>
  83. </template>