Edit.vue 1.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <script setup>
  2. import AppInputText from '@/components/AppInputText.vue'
  3. import DashboardLayout from '@/layouts/Dashboard/DashboardLayout.vue'
  4. const props = defineProps({
  5. product: Object,
  6. })
  7. const form = useForm({
  8. number: props.product.number,
  9. name: props.product.name,
  10. unit: props.product.unit,
  11. })
  12. const onSubmit = () => {
  13. form.put(route('products.update', props.product.id))
  14. }
  15. </script>
  16. <template>
  17. <DashboardLayout title="Ubah Produk">
  18. <div class="grid">
  19. <div class="col-12 lg:col-8">
  20. <Card>
  21. <template #title> Ubah Produk </template>
  22. <template #content>
  23. <div class="grid">
  24. <div class="col-12 md:col-6">
  25. <AppInputText
  26. disabled
  27. label="Nomor Produk"
  28. placeholder="nomor produk"
  29. :error="form.errors.number"
  30. v-model="form.number"
  31. />
  32. </div>
  33. <div class="col-12 md:col-6">
  34. <AppInputText
  35. label="Nama"
  36. placeholder="nama"
  37. :error="form.errors.name"
  38. v-model="form.name"
  39. />
  40. </div>
  41. <div class="col-12 md:col-6">
  42. <AppInputText
  43. label="Satuan"
  44. placeholder="satuan"
  45. :error="form.errors.unit"
  46. v-model="form.unit"
  47. />
  48. </div>
  49. </div>
  50. </template>
  51. <template #footer>
  52. <div class="flex flex-column md:flex-row justify-content-end">
  53. <Button
  54. label="Simpan"
  55. icon="pi pi-check"
  56. class="p-button-outlined"
  57. :disabled="form.processing"
  58. @click="onSubmit"
  59. />
  60. </div>
  61. </template>
  62. </Card>
  63. </div>
  64. </div>
  65. </DashboardLayout>
  66. </template>