Edit.vue 2.5KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <script setup>
  2. import { useForm } from '@/components/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 SaleDetails from './Components/SaleDetails.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. <SaleDetails
  72. :sale-number="sale.number"
  73. :sale-price="form.price"
  74. :sale-qty="form.qty"
  75. :sale-ppn="sale.ppn"
  76. :sale-status="form.status"
  77. :customer="sale.customer"
  78. :product="sale.product"
  79. />
  80. </div>
  81. </div>
  82. </DashboardLayout>
  83. </template>