HistoryProduct.vue 1.6KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <script setup>
  2. import { watchEffect, watch, computed, inject } from 'vue'
  3. import { Inertia } from '@inertiajs/inertia'
  4. import AppInputText from '@/components/AppInputText.vue'
  5. import AppInputNumber from '@/components/AppInputNumber.vue'
  6. const props = defineProps({
  7. productPurchase: Object,
  8. })
  9. const form = inject('form')
  10. watchEffect(() => {
  11. if (props.productPurchase?.number) {
  12. form.price = props.productPurchase.price
  13. form.qty = props.productPurchase.qty
  14. } else {
  15. form.price = null
  16. }
  17. })
  18. watch(
  19. () => form.product,
  20. () => {
  21. if (form.product?.number) {
  22. Inertia.reload({
  23. data: {
  24. productNumber: form.product.number,
  25. supplierId: form.supplier.id,
  26. },
  27. only: ['productPurchase'],
  28. })
  29. }
  30. }
  31. )
  32. const productPurchasePrice = computed(() => props.productPurchase?.price)
  33. const productPurchasePpn = computed(() => props.productPurchase?.ppn)
  34. const productPurchaseQty = computed(() => props.productPurchase?.qty)
  35. </script>
  36. <template>
  37. <div class="col-12">
  38. <h3 class="text-lg">Riwayat Produk Sebelumnya</h3>
  39. </div>
  40. <div class="col-12 md:col-6">
  41. <AppInputNumber
  42. disabled
  43. class="mb-0"
  44. label="Harga "
  45. placeholder="harga"
  46. v-model="productPurchasePrice"
  47. />
  48. <span v-if="productPurchasePpn" class="text-xs">
  49. Harga sudah termasuk PPN {{ ppn }} %
  50. </span>
  51. </div>
  52. <div class="col-12 md:col-6">
  53. <AppInputText
  54. disabled
  55. label="Kuantitas"
  56. placeholder="kuantitas"
  57. type="number"
  58. v-model="productPurchaseQty"
  59. />
  60. </div>
  61. </template>