Add conditional rendering for "Müdürlük" and "Çekiliş Görevlisi" fields in PiyangoOnay components. Update validation logic to require these fields based on "onayDurumuIslemTipiId". Enhance service layer to handle new fields and ensure proper data submission.

This commit is contained in:
burakovec
2025-12-17 16:04:20 +03:00
parent 4f29c18dab
commit bf9c2b25f9
4 changed files with 91 additions and 3 deletions

View File

@ -134,7 +134,8 @@
const showIzinVerildiFields = computed<boolean>(() => { const showIzinVerildiFields = computed<boolean>(() => {
return ( return (
piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId === 4 piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId === 4 ||
piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId === kapsamDisiId.value
) )
}) })

View File

@ -50,6 +50,26 @@
label="İzin Açıklaması" label="İzin Açıklaması"
@keyup="OnKeyup" /> @keyup="OnKeyup" />
</template> </template>
<template v-if="showIzinVerildiFields">
<form-select
label="Müdürlük"
:listData="mudurlukListesi"
listText="name"
listVal="id"
v-model="piyangoOnayStore.piyangoPanelOnayForm.mudurlukId"
required
:invalidText="piyangoOnayValidationStore.invalidTextsPanel.mudurlukId"
@change="OnKeyup" />
<form-select
label="Çekiliş Görevlisi"
:listData="cekilisGorevlisiListesi"
listText="name"
listVal="id"
v-model="piyangoOnayStore.piyangoPanelOnayForm.cekilisGorevlisiId"
required
:invalidText="piyangoOnayValidationStore.invalidTextsPanel.cekilisGorevlisiId"
@change="OnKeyup" />
</template>
<form-select <form-select
v-if="showKapsamDisiSebebi" v-if="showKapsamDisiSebebi"
label="Kapsam Dışı Sebebi" label="Kapsam Dışı Sebebi"
@ -98,6 +118,13 @@
) )
}) })
const showIzinVerildiFields = computed<boolean>(() => {
return (
piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === 4 ||
piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === kapsamDisiId.value
)
})
const showKapsamDisiSebebi = computed<boolean>(() => { const showKapsamDisiSebebi = computed<boolean>(() => {
return piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === kapsamDisiId.value return piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === kapsamDisiId.value
}) })
@ -114,6 +141,24 @@
{ id: 'Diğer', name: 'Diğer' } { id: 'Diğer', name: 'Diğer' }
]) ])
const cekilisGorevlisiListesi = ref<Record<string, any>[]>([
{ id: 1, name: 'Antalya Şube Müdürlüğü' },
{ id: 2, name: 'Gaziantep Şube Müdürlüğü' },
{ id: 3, name: 'Aksaray Şube Müdürlüğü' },
{ id: 4, name: 'Kadıköy Şube Müdürlüğü' },
{ id: 5, name: 'Karşıyaka Şube Müdürlüğü' },
{ id: 6, name: 'Muğla Şube Müdürlüğü' },
{ id: 7, name: 'Trabzon Şube Müdürlüğü' },
{ id: 8, name: 'Noter' },
{ id: 9, name: 'Başkanlık Personeli' }
])
const mudurlukListesi = ref<Record<string, any>[]>([
{ id: 1, name: '1 No\'lu Özel Çekilişler İzin ve Takip Şubesi Müdürlüğü' },
{ id: 2, name: '2 No\'lu Özel Çekilişler İzin ve Takip Şubesi Müdürlüğü' },
{ id: 3, name: '3 No\'lu Özel Çekilişler İzin ve Takip Şubesi Müdürlüğü' }
])
const OnKeyup = () => { const OnKeyup = () => {
piyangoOnayValidationStore.formChanged = true piyangoOnayValidationStore.formChanged = true
} }

View File

@ -39,7 +39,10 @@ export const usePiyangoOnayService = defineStore('piyangoOnayService', () => {
if (piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId !== getKapsamDisiId()) { if (piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId !== getKapsamDisiId()) {
piyangoOnayStore.piyangoOnayForm.kapsamDisiSebebi = null piyangoOnayStore.piyangoOnayForm.kapsamDisiSebebi = null
} }
if (piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId !== 4) { if (
piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId !== 4 &&
piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId !== getKapsamDisiId()
) {
piyangoOnayStore.piyangoOnayForm.mudurlukId = null piyangoOnayStore.piyangoOnayForm.mudurlukId = null
piyangoOnayStore.piyangoOnayForm.cekilisGorevlisiId = null piyangoOnayStore.piyangoOnayForm.cekilisGorevlisiId = null
} }
@ -109,6 +112,13 @@ export const usePiyangoOnayService = defineStore('piyangoOnayService', () => {
if (piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId !== getKapsamDisiId()) { if (piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId !== getKapsamDisiId()) {
piyangoOnayStore.piyangoPanelOnayForm.kapsamDisiSebebi = null piyangoOnayStore.piyangoPanelOnayForm.kapsamDisiSebebi = null
} }
if (
piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId !== 4 &&
piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId !== getKapsamDisiId()
) {
piyangoOnayStore.piyangoPanelOnayForm.mudurlukId = null
piyangoOnayStore.piyangoPanelOnayForm.cekilisGorevlisiId = null
}
dataForm.append('onayDurumuIslemTipiId', piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId) dataForm.append('onayDurumuIslemTipiId', piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId)
dataForm.append('id', piyangoOnayStore.piyangoPanelOnayForm.id) dataForm.append('id', piyangoOnayStore.piyangoPanelOnayForm.id)
dataForm.append('onayCekilisId', String(piyangoStore.selectedLottery)) dataForm.append('onayCekilisId', String(piyangoStore.selectedLottery))
@ -129,6 +139,18 @@ export const usePiyangoOnayService = defineStore('piyangoOnayService', () => {
? String(piyangoOnayStore.piyangoPanelOnayForm.kapsamDisiSebebi) ? String(piyangoOnayStore.piyangoPanelOnayForm.kapsamDisiSebebi)
: '' : ''
) )
dataForm.append(
'mudurluk',
piyangoOnayStore.piyangoPanelOnayForm.mudurlukId != null
? String(piyangoOnayStore.piyangoPanelOnayForm.mudurlukId)
: ''
)
dataForm.append(
'cekilisGorevlisi',
piyangoOnayStore.piyangoPanelOnayForm.cekilisGorevlisiId != null
? String(piyangoOnayStore.piyangoPanelOnayForm.cekilisGorevlisiId)
: ''
)
form = await dataStore.dataPut( form = await dataStore.dataPut(
'OnayDurumu/' + piyangoOnayStore.piyangoPanelOnayForm.id, 'OnayDurumu/' + piyangoOnayStore.piyangoPanelOnayForm.id,

View File

@ -51,7 +51,10 @@ export const usePiyangoOnayValidationStore = defineStore(
'İzin tarihi seçmelisiniz.' 'İzin tarihi seçmelisiniz.'
) )
} }
if (piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId === 4) { if (
piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId === 4 ||
piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId === kapsamDisiId.value
) {
validationStore.IsFieldEmpty( validationStore.IsFieldEmpty(
piyangoOnayStore.piyangoOnayForm, piyangoOnayStore.piyangoOnayForm,
invalidTexts, invalidTexts,
@ -100,6 +103,23 @@ export const usePiyangoOnayValidationStore = defineStore(
'İzin tarihi seçmelisiniz.' 'İzin tarihi seçmelisiniz.'
) )
} }
if (
piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === 4 ||
piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === kapsamDisiId.value
) {
validationStore.IsFieldEmpty(
piyangoOnayStore.piyangoPanelOnayForm,
invalidTextsPanel,
'mudurlukId',
'Müdürlük seçmelisiniz.'
)
validationStore.IsFieldEmpty(
piyangoOnayStore.piyangoPanelOnayForm,
invalidTextsPanel,
'cekilisGorevlisiId',
'Çekiliş görevlisi seçmelisiniz.'
)
}
if (piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === kapsamDisiId.value) { if (piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === kapsamDisiId.value) {
validationStore.IsFieldEmpty( validationStore.IsFieldEmpty(
piyangoOnayStore.piyangoPanelOnayForm, piyangoOnayStore.piyangoPanelOnayForm,