Edit.vue 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <script setup>
  2. import { useForm } from '@/composables/useForm'
  3. import { optionStatus } from './config'
  4. import AppDropdown from '@/components/AppDropdown.vue'
  5. import AppInputNumber from '@/components/AppInputNumber.vue'
  6. import AppInputText from '@/components/AppInputText.vue'
  7. import Details from './Components/Details.vue'
  8. import DashboardLayout from '@/layouts/Dashboard/DashboardLayout.vue'
  9. const props = defineProps({
  10. sale: Object,
  11. })
  12. const form = useForm({
  13. status: props.sale.status,
  14. price: props.sale.price,
  15. qty: props.sale.qty,
  16. })
  17. const onSubmit = () => {
  18. form.put(route('sales.update', props.sale.id))
  19. }
  20. </script>
  21. <template>
  22. <DashboardLayout title="Ubah Penjualan">
  23. <div class="grid">
  24. <div class="col-12 lg:col-8">
  25. <Card>
  26. <template #title> Ubah Penjualan </template>
  27. <template #content>
  28. <div class="grid">
  29. <div class="col-12 md:col-6">
  30. <AppDropdown
  31. label="Status"
  32. placeholder="status"
  33. :options="optionStatus"
  34. :error="form.errors.status"
  35. v-model="form.status"
  36. />
  37. </div>
  38. <div class="col-12 md:col-6">
  39. <AppInputNumber
  40. label="Harga"
  41. placeholder="harga"
  42. :error="form.errors.price"
  43. v-model="form.price"
  44. />
  45. </div>
  46. <div class="col-12 md:col-6">
  47. <AppInputText
  48. label="Kuantitas"
  49. placeholder="kuantitas"
  50. type="number"
  51. :error="form.errors.qty"
  52. v-model="form.qty"
  53. />
  54. </div>
  55. </div>
  56. </template>
  57. <template #footer>
  58. <div class="flex flex-column md:flex-row justify-content-end">
  59. <Button
  60. label="Simpan"
  61. icon="pi pi-check"
  62. class="p-button-outlined"
  63. :disabled="form.processing"
  64. @click="onSubmit"
  65. />
  66. </div>
  67. </template>
  68. </Card>
  69. </div>
  70. <div class="col-12 lg:col-4">
  71. <Details
  72. title="Detail Penjualan"
  73. :number="sale.number"
  74. :price="form.price"
  75. :qty="form.qty"
  76. :ppn="sale.ppn"
  77. :status="form.status"
  78. :person="sale.customer"
  79. :product="sale.product"
  80. />
  81. </div>
  82. </div>
  83. </DashboardLayout>
  84. </template>