Ppn.vue 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <script setup>
  2. import { useState } from '../Composables/useState'
  3. import { useForm } from '@/composables/useForm'
  4. import AppInputText from '@/components/AppInputText.vue'
  5. const props = defineProps({
  6. ppn: Object,
  7. })
  8. const form = useForm({
  9. ppn: props.ppn.ppn,
  10. })
  11. const { state, setState } = useState()
  12. const onSubmit = () => {
  13. setState()
  14. if (!form.ppn) {
  15. form.ppn = 0
  16. }
  17. form.post(route('ppn.store'))
  18. }
  19. </script>
  20. <template>
  21. <div class="grid">
  22. <div class="col-12">
  23. <h1 class="text-lg">Pajak Pertambahan Nilai</h1>
  24. </div>
  25. <div class="col-12">
  26. <AppInputText
  27. label="PPN %"
  28. placeholder="ppn"
  29. type="number"
  30. :disabled="state.disable"
  31. :error="form.errors.ppn"
  32. v-model="form.ppn"
  33. />
  34. </div>
  35. <div class="col-12">
  36. <div class="flex flex-column sm:flex-row justify-content-end">
  37. <Button
  38. class="p-button-outlined"
  39. :icon="state.icon"
  40. :label="state.label"
  41. :disabled="form.processing"
  42. @click="onSubmit"
  43. />
  44. </div>
  45. </div>
  46. </div>
  47. </template>