12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <script setup>
  2. import { useForm, Head } from '@inertiajs/inertia-vue3'
  3. import AppButtonCreate from '@/components/AppButtonCreate.vue'
  4. import AppTextInput from '@/components/AppTextInput.vue'
  5. import AppSelectInput from '@/components/AppSelectInput.vue'
  6. import DefaultLayout from '@/layouts/DefaultLayout.vue'
  7. defineProps({
  8. roles: Array,
  9. outlets: Array,
  10. })
  11. const form = useForm({
  12. name: '',
  13. phone: '',
  14. email: '',
  15. address: '',
  16. gender: '',
  17. outlet_id: '',
  18. role_id: '',
  19. })
  20. const submit = () => {
  21. form.post(route('users.store'))
  22. }
  23. </script>
  24. <template>
  25. <Head title="Tambah User" />
  26. <DefaultLayout>
  27. <CRow>
  28. <CCol md="8">
  29. <CCard color="light" class="border-light">
  30. <CForm @submit.prevent="submit">
  31. <CRow class="p-4">
  32. <CCol md="6" class="mb-4">
  33. <AppTextInput label="Nama" placeholder="nama" :error="form.errors.name" v-model="form.name" />
  34. </CCol>
  35. <CCol md="6" class="mb-4">
  36. <AppTextInput label="Nomor HP" placeholder="nomor hp" :error="form.errors.phone" v-model="form.phone" />
  37. </CCol>
  38. <CCol md="6" class="mb-4">
  39. <AppTextInput label="Email" placeholder="email" :error="form.errors.email" v-model="form.email" />
  40. </CCol>
  41. <CCol md="6" class="mb-4">
  42. <AppTextInput
  43. label="Address"
  44. placeholder="address"
  45. :error="form.errors.address"
  46. v-model="form.address"
  47. />
  48. </CCol>
  49. <CCol md="6" class="mb-4">
  50. <AppSelectInput label="Jenis Kelamin" :error="form.errors.gender" v-model="form.gender">
  51. <option value="1">Perempuan</option>
  52. <option value="2">Laki-laki</option>
  53. </AppSelectInput>
  54. </CCol>
  55. <CCol md="6" class="mb-4">
  56. <AppSelectInput label="Outlet" :error="form.errors.outlet_id" v-model="form.outlet_id">
  57. <option v-for="outlet in outlets" key="outlet.id" :value="outlet.id">{{ outlet.name }}</option>
  58. </AppSelectInput>
  59. </CCol>
  60. <CCol md="6">
  61. <AppSelectInput label="Hak Akses" :error="form.errors.role_id" v-model="form.role_id">
  62. <option v-for="role in roles" key="role.id" :value="role.id">{{ role.name }}</option>
  63. </AppSelectInput>
  64. </CCol>
  65. </CRow>
  66. <CCardFooter class="d-flex justify-content-end">
  67. <AppButtonCreate :disabled="form.processing">Tambah User</AppButtonCreate>
  68. </CCardFooter>
  69. </CForm>
  70. </CCard>
  71. </CCol>
  72. </CRow>
  73. </DefaultLayout>
  74. </template>