Refactor PiyangoOnay components to consolidate conditional rendering for "Müdürlük" and "Çekiliş Görevlisi" fields. Update validation and service logic to ensure proper handling based on "onayDurumuIslemTipiId". This enhances the user experience by streamlining form interactions and data management.

This commit is contained in:
burakovec
2025-12-18 15:01:55 +03:00
parent edb1d23d71
commit 078a5a020a
4 changed files with 58 additions and 48 deletions

View File

@ -61,8 +61,8 @@
label="İzin Açıklaması" label="İzin Açıklaması"
@keyup="OnKeyup" /> @keyup="OnKeyup" />
</template> </template>
<template v-if="showIzinVerildiFields">
<form-select <form-select
v-if="showIzinVerildiFields || showMudurlukFields"
label="Müdürlük" label="Müdürlük"
:listData="mudurlukListesi" :listData="mudurlukListesi"
listText="name" listText="name"
@ -72,6 +72,7 @@
:invalidText="piyangoOnayValidationStore.invalidTexts.mudurlukId" :invalidText="piyangoOnayValidationStore.invalidTexts.mudurlukId"
@change="OnKeyup" /> @change="OnKeyup" />
<form-select <form-select
v-if="showIzinVerildiFields"
label="Çekiliş Görevlisi" label="Çekiliş Görevlisi"
:listData="cekilisGorevlisiListesi" :listData="cekilisGorevlisiListesi"
listText="name" listText="name"
@ -80,7 +81,6 @@
required required
:invalidText="piyangoOnayValidationStore.invalidTexts.cekilisGorevlisiId" :invalidText="piyangoOnayValidationStore.invalidTexts.cekilisGorevlisiId"
@change="OnKeyup" /> @change="OnKeyup" />
</template>
<form-select <form-select
v-if="showKapsamDisiSebebi" v-if="showKapsamDisiSebebi"
label="Kapsam Dışı Sebebi" label="Kapsam Dışı Sebebi"
@ -133,10 +133,11 @@
}) })
const showIzinVerildiFields = computed<boolean>(() => { const showIzinVerildiFields = computed<boolean>(() => {
return ( return piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId === 4
piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId === 4 || })
piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId === kapsamDisiId.value
) const showMudurlukFields = computed<boolean>(() => {
return piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId === kapsamDisiId.value
}) })
const showKapsamDisiSebebi = computed<boolean>(() => { const showKapsamDisiSebebi = computed<boolean>(() => {

View File

@ -50,8 +50,8 @@
label="İzin Açıklaması" label="İzin Açıklaması"
@keyup="OnKeyup" /> @keyup="OnKeyup" />
</template> </template>
<template v-if="showIzinVerildiFields">
<form-select <form-select
v-if="showIzinVerildiFields || showMudurlukFields"
label="Müdürlük" label="Müdürlük"
:listData="mudurlukListesi" :listData="mudurlukListesi"
listText="name" listText="name"
@ -61,6 +61,7 @@
:invalidText="piyangoOnayValidationStore.invalidTextsPanel.mudurlukId" :invalidText="piyangoOnayValidationStore.invalidTextsPanel.mudurlukId"
@change="OnKeyup" /> @change="OnKeyup" />
<form-select <form-select
v-if="showIzinVerildiFields"
label="Çekiliş Görevlisi" label="Çekiliş Görevlisi"
:listData="cekilisGorevlisiListesi" :listData="cekilisGorevlisiListesi"
listText="name" listText="name"
@ -69,7 +70,6 @@
required required
:invalidText="piyangoOnayValidationStore.invalidTextsPanel.cekilisGorevlisiId" :invalidText="piyangoOnayValidationStore.invalidTextsPanel.cekilisGorevlisiId"
@change="OnKeyup" /> @change="OnKeyup" />
</template>
<form-select <form-select
v-if="showKapsamDisiSebebi" v-if="showKapsamDisiSebebi"
label="Kapsam Dışı Sebebi" label="Kapsam Dışı Sebebi"
@ -119,10 +119,11 @@
}) })
const showIzinVerildiFields = computed<boolean>(() => { const showIzinVerildiFields = computed<boolean>(() => {
return ( return piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === 4
piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === 4 || })
piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === kapsamDisiId.value
) const showMudurlukFields = computed<boolean>(() => {
return piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === kapsamDisiId.value
}) })
const showKapsamDisiSebebi = computed<boolean>(() => { const showKapsamDisiSebebi = computed<boolean>(() => {

View File

@ -44,6 +44,8 @@ export const usePiyangoOnayService = defineStore('piyangoOnayService', () => {
piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId !== getKapsamDisiId() piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId !== getKapsamDisiId()
) { ) {
piyangoOnayStore.piyangoOnayForm.mudurlukId = null piyangoOnayStore.piyangoOnayForm.mudurlukId = null
}
if (piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId !== 4) {
piyangoOnayStore.piyangoOnayForm.cekilisGorevlisiId = null piyangoOnayStore.piyangoOnayForm.cekilisGorevlisiId = null
} }
dataForm.append( dataForm.append(
@ -117,6 +119,8 @@ export const usePiyangoOnayService = defineStore('piyangoOnayService', () => {
piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId !== getKapsamDisiId() piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId !== getKapsamDisiId()
) { ) {
piyangoOnayStore.piyangoPanelOnayForm.mudurlukId = null piyangoOnayStore.piyangoPanelOnayForm.mudurlukId = null
}
if (piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId !== 4) {
piyangoOnayStore.piyangoPanelOnayForm.cekilisGorevlisiId = null piyangoOnayStore.piyangoPanelOnayForm.cekilisGorevlisiId = null
} }
dataForm.append('onayDurumuIslemTipiId', piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId) dataForm.append('onayDurumuIslemTipiId', piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId)

View File

@ -61,6 +61,8 @@ export const usePiyangoOnayValidationStore = defineStore(
'mudurlukId', 'mudurlukId',
'Müdürlük seçmelisiniz.' 'Müdürlük seçmelisiniz.'
) )
}
if (piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId === 4) {
validationStore.IsFieldEmpty( validationStore.IsFieldEmpty(
piyangoOnayStore.piyangoOnayForm, piyangoOnayStore.piyangoOnayForm,
invalidTexts, invalidTexts,
@ -113,6 +115,8 @@ export const usePiyangoOnayValidationStore = defineStore(
'mudurlukId', 'mudurlukId',
'Müdürlük seçmelisiniz.' 'Müdürlük seçmelisiniz.'
) )
}
if (piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === 4) {
validationStore.IsFieldEmpty( validationStore.IsFieldEmpty(
piyangoOnayStore.piyangoPanelOnayForm, piyangoOnayStore.piyangoPanelOnayForm,
invalidTextsPanel, invalidTextsPanel,