Edit.vue 2.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <script setup>
  2. import { Head, useForm } from '@inertiajs/inertia-vue3'
  3. import AppTextInput from '@/components/AppTextInput.vue'
  4. import AppSelectInput from '@/components/AppSelectInput.vue'
  5. import AppButtonCreate from '@/components/AppButtonCreate.vue'
  6. import AppButtonDelete from '@/components/AppButtonDelete.vue'
  7. import AppButtonAction from '@/components/AppButtonAction.vue'
  8. import AppModalAlert from '@/components/AppModalAlert.vue'
  9. import DefaultLayout from '@/layouts/DefaultLayout.vue'
  10. const props = defineProps({
  11. customer: Object,
  12. })
  13. const form = useForm({
  14. customer_number: props.customer.customer_number,
  15. name: props.customer.name,
  16. phone: props.customer.phone,
  17. address: props.customer.address,
  18. gender: props.customer.gender,
  19. })
  20. const submit = () => {
  21. form.put(route('customers.update', props.customer.id))
  22. }
  23. </script>
  24. <template>
  25. <Head title="Ubah Customer" />
  26. <DefaultLayout v-slot="{ toggleModalAlert }">
  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. <CFormLabel>Id Customer</CFormLabel>
  34. <CFormInput disabled v-model="form.customer_number" />
  35. </CCol>
  36. <CCol md="6" class="mb-4">
  37. <AppTextInput label="Nama" placeholder="nama" :error="form.errors.name" v-model="form.name" />
  38. </CCol>
  39. <CCol md="6" class="mb-4">
  40. <AppTextInput label="Nomor HP" placeholder="nomor hp" :error="form.errors.phone" v-model="form.phone" />
  41. </CCol>
  42. <CCol md="6" class="mb-4">
  43. <AppTextInput label="Alamat" placeholder="alamat" :error="form.errors.address" v-model="form.address" />
  44. </CCol>
  45. <CCol md="6" class="mb-4">
  46. <AppSelectInput label="Jenis Kelamin" :error="form.errors.gender" v-model="form.gender">
  47. <option value="1">Perempuan</option>
  48. <option value="2">Laki-laki</option>
  49. </AppSelectInput>
  50. </CCol>
  51. </CRow>
  52. <CCardFooter class="d-flex justify-content-between align-items-center">
  53. <AppButtonAction @click="toggleModalAlert">Hapus Customer</AppButtonAction>
  54. <AppModalAlert>
  55. Anda yakin ingin mengahapus customer ini?
  56. <template #footer>
  57. <AppButtonDelete :href="route('customers.destroy', customer.id)">Hapus Customer</AppButtonDelete>
  58. </template>
  59. </AppModalAlert>
  60. <AppButtonCreate :disabled="form.processing">Ubah Customer</AppButtonCreate>
  61. </CCardFooter>
  62. </CForm>
  63. </CCard>
  64. </CCol>
  65. </CRow>
  66. </DefaultLayout>
  67. </template>