Dosya-Kapama-İkramiye-Listesi #13

Merged
erhan.kaya merged 3 commits from Dosya-Kapama-İkramiye-Listesi into main 2025-09-11 08:18:12 +00:00
13 changed files with 635 additions and 21 deletions
Showing only changes of commit fdc2372288 - Show all commits

View File

@ -1,10 +1,14 @@
<template>
<div class="form-content">
<div class="form-inner-content form-inner-content-left">
<form-piyango-dosya-kapama/>
<form-piyango-dosya-kapama />
</div>
<div class="form-inner-content form-inner-content-left">
<form-piyango-dosya-kapama-ikramiye-listesi />
</div>
</div>
</template>
<script setup lang="ts">
import FormPiyangoDosyaKapama from './form/FormPiyangoDosyaKapama.vue'
import FormPiyangoDosyaKapamaIkramiyeListesi from './form/FormPiyangoDosyaKapamaIkramiyeListesi.vue'
</script>

View File

@ -0,0 +1,78 @@
<template>
<div class="form-part section-list" v-if="piyangoDosyaKapamaStore.loaded">
<list-table-content
title="Dosya Kapama İkramiye Listesi"
icon="draws"
:tableHeader="ikramiyeTableHeader"
:rowAction="EditIkramiye"
listText="İkramiye"
:addAction="NewIkramiye"
:apiList="'DosyaKapama/Ikramiye/' + piyangoStore.selectedLottery"
apiText="Dosya Kapama İkramiye Listesi"
v-model:refresh="piyangoDosyaKapamaStore.dosyaKapamaIkramiyeListesiRefresh"
rowNumber/>
</div>
<panel-wrapper
wide
v-if="piyangoDosyaKapamaStore.dosyaKapamaIkramiyePanel"
v-model="piyangoDosyaKapamaStore.dosyaKapamaIkramiyePanel"
:panel-title="piyangoDosyaKapamaStore.isDosyaKapamaIkramiyeUpdate ? 'İkramiye Düzenle' : 'İkramiye Ekle'">
<template #panelContent>
<panel-piyango-dosya-kapama-ikramiye />
</template>
<template #footerButton>
<div class="button-c button-save" @click="piyangoDosyaKapamaService.SaveDosyaKapamaIkramiye">
{{ piyangoDosyaKapamaStore.isDosyaKapamaIkramiyeUpdate ? 'Kaydet' : 'Ekle' }}
</div>
</template>
</panel-wrapper>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import { usePiyangoStore } from '../../stores/piyangoStore'
const piyangoStore = usePiyangoStore()
import { usePiyangoDosyaKapamaStore } from '../../stores/piyangoDosyaKapamaStore'
const piyangoDosyaKapamaStore = usePiyangoDosyaKapamaStore()
import { usePiyangoDosyaKapamaService } from '../../service/piyangoDosyaKapamaService'
const piyangoDosyaKapamaService = usePiyangoDosyaKapamaService()
import PanelPiyangoDosyaKapamaIkramiye from '../panel/PanelPiyangoDosyaKapamaIkramiye.vue'
import PanelWrapper from '@/components/PanelWrapper.vue'
const ikramiyeTableHeader = ref<Record<string, any>[]>([
{
name: 'taahhutEdilenIkramiye',
title: 'Taahhüt Edilen İkramiye',
style: { width: '20%' }
},
{
name: 'teslimEdilenIkramiye',
title: 'Teslim Edilen İkramiye',
style: { width: '20%' }
},
{
name: 'alinmayanIkramiye',
title: 'Alınmayan İkramiye',
style: { width: '20%' }
},
{
name: 'aciklama',
title: 'Açıklama'
}
])
const NewIkramiye = () => {
piyangoDosyaKapamaStore.ResetIkramiyeFormData()
piyangoDosyaKapamaStore.isDosyaKapamaIkramiyeUpdate = false
piyangoDosyaKapamaStore.dosyaKapamaIkramiyePanel = true
}
const EditIkramiye = (d: Record<string, any>) => {
Object.assign(piyangoDosyaKapamaStore.dosyaKapamaIkramiyeData, d)
piyangoDosyaKapamaStore.dosyaKapamaIkramiyePanel = true
piyangoDosyaKapamaStore.isDosyaKapamaIkramiyeUpdate = true
}
</script>

View File

@ -29,15 +29,9 @@
</panel-wrapper>
</template>
<script setup lang="ts">
import { ref, reactive, onBeforeMount, watch } from 'vue'
import { useDateStore } from '@/stores/dateStore'
const dateStore = useDateStore()
import { ref, onBeforeMount, watch } from 'vue'
import { useGlobalStore } from '@/stores/globalStore'
const globalStore = useGlobalStore()
import { useDataStore } from '@/stores/dataStore'
const dataStore = useDataStore()
import { useValidationStore } from '@/stores/validationStore'
const validationStore = useValidationStore()
import { useUsersStore } from '@/stores/usersStore'
const usersStore = useUsersStore()
import { usePiyangoStore } from '../../stores/piyangoStore'

View File

@ -0,0 +1,41 @@
<template>
<form-input
v-model="piyangoDosyaKapamaStore.dosyaKapamaIkramiyeData.taahhutEdilenIkramiye"
label="Taahhüt Edilen İkramiye"
modelKey="taahhutEdilenIkramiye"
minlength="2"
required
:invalidText="
piyangoDosyaKapamaValidationStore.ikramiyeInvalidTexts.taahhutEdilenIkramiye
" />
<form-input
v-model="piyangoDosyaKapamaStore.dosyaKapamaIkramiyeData.teslimEdilenIkramiye"
label="Teslim Edilen İkramiye"
modelKey="teslimEdilenIkramiye"
minlength="2"
required
:invalidText="
piyangoDosyaKapamaValidationStore.ikramiyeInvalidTexts.teslimEdilenIkramiye
" />
<form-input
v-model="piyangoDosyaKapamaStore.dosyaKapamaIkramiyeData.alinmayanIkramiye"
label="Alınmayan İkramiye"
modelKey="alinmayanIkramiye"
minlength="2"
required
:invalidText="
piyangoDosyaKapamaValidationStore.ikramiyeInvalidTexts.alinmayanIkramiye
" />
<form-input
v-model="piyangoDosyaKapamaStore.dosyaKapamaIkramiyeData.aciklama"
label="Açıklama"
modelKey="aciklama" />
</template>
<script setup lang="ts">
import { useValidationStore } from '@/stores/validationStore'
const validationStore = useValidationStore()
import { usePiyangoDosyaKapamaStore } from '../../stores/piyangoDosyaKapamaStore'
const piyangoDosyaKapamaStore = usePiyangoDosyaKapamaStore()
import { usePiyangoDosyaKapamaValidationStore } from '../../validation/piyangoDosyaKapamaValidationStore'
const piyangoDosyaKapamaValidationStore = usePiyangoDosyaKapamaValidationStore()
</script>

View File

@ -31,9 +31,6 @@ export const usePiyangoDosyaKapamaService = defineStore(
const SaveDosyaKapama = async () => {
let dt: any
dataStore.panelData.yayinlanacagiTarih = new Date(
dataStore.panelData.yayinlanacagiTarih
)
if (!piyangoDosyaKapamaStore.isUpdate) {
dt = await dataStore.dataPost('TeminatIadeEvrakKontrol', {
data: piyangoDosyaKapamaStore.dosyaKapamaData
@ -52,6 +49,32 @@ export const usePiyangoDosyaKapamaService = defineStore(
}
}
return { GetDosyaKapama, SaveDosyaKapama }
const SaveDosyaKapamaIkramiye = async () => {
if (piyangoDosyaKapamaValidationStore.IkramiyeFormCheck()) {
let dt: any
if (!piyangoDosyaKapamaStore.isDosyaKapamaIkramiyeUpdate) {
dt = await dataStore.dataPost('TeminatIadeEvrakKontrol', {
data: piyangoDosyaKapamaStore.dosyaKapamaIkramiyeData
})
} else {
dt = await dataStore.dataPut(
'TeminatIadeEvrakKontrol/' +
piyangoDosyaKapamaStore.dosyaKapamaIkramiyeData.id,
{
data: piyangoDosyaKapamaStore.dosyaKapamaIkramiyeData
}
)
}
if (dt !== 'errorfalse') {
piyangoDosyaKapamaStore.isDosyaKapamaIkramiyeUpdate = false
piyangoDosyaKapamaStore.dosyaKapamaIkramiyePanel = false
piyangoDosyaKapamaStore.dosyaKapamaIkramiyeListesiRefresh = true
}
} else {
piyangoDosyaKapamaValidationStore.isIkramiyeFormValid = true
}
}
return { GetDosyaKapama, SaveDosyaKapama, SaveDosyaKapamaIkramiye }
}
)

View File

@ -38,6 +38,12 @@ export const usePiyangoDosyaKapamaStore = defineStore('piyangoDosyaKapamaStore',
ikramiyelerinSonTeslimTarihi: '',
teminatIadeTarihi: ''
})
const baseDosyaKapamaIkramiyeData = reactive<Record<string, any>>({
taahhutEdilenIkramiye: '',
teslimEdilenIkramiye: '',
alinmayanIkramiye: '',
aciklama: ''
})
const dosyaKapamaData = reactive<Record<string, any>>({})
const safeDosyaKapamaData = reactive<Record<string, any>>({})
const isNew = ref<boolean>(false)
@ -45,6 +51,13 @@ export const usePiyangoDosyaKapamaStore = defineStore('piyangoDosyaKapamaStore',
const formChanged = ref<boolean>(false)
const loaded = ref<boolean>(false)
const dosyaKapamaIkramiyeData = reactive<Record<string, any>>({})
const safeDosyaKapamaIkramiyeData = reactive<Record<string, any>>({})
const isDosyaKapamaIkramiyeUpdate = ref<boolean>(false)
const isDosyaKapamaIkramiyeFormChanged = ref<boolean>(false)
const isDosyaKapamaIkramiyeLoaded = ref<boolean>(false)
const dosyaKapamaIkramiyeListesiRefresh = ref<boolean>(false)
const dosyaKapamaIkramiyePanel = ref<boolean>(false)
const ResetFormData = () => {
globalStore.ResetObject(dosyaKapamaData, baseDosyaKapamaData)
@ -56,6 +69,11 @@ export const usePiyangoDosyaKapamaStore = defineStore('piyangoDosyaKapamaStore',
Object.assign(dosyaKapamaData, safeDosyaKapamaData)
}
const ResetIkramiyeFormData = () => {
globalStore.ResetObject(dosyaKapamaIkramiyeData, baseDosyaKapamaIkramiyeData)
Object.assign(dosyaKapamaIkramiyeData, baseDosyaKapamaIkramiyeData)
}
return {
baseDosyaKapamaData,
dosyaKapamaData,
@ -64,7 +82,16 @@ export const usePiyangoDosyaKapamaStore = defineStore('piyangoDosyaKapamaStore',
isUpdate,
formChanged,
loaded,
baseDosyaKapamaIkramiyeData,
dosyaKapamaIkramiyeData,
safeDosyaKapamaIkramiyeData,
isDosyaKapamaIkramiyeUpdate,
isDosyaKapamaIkramiyeFormChanged,
isDosyaKapamaIkramiyeLoaded,
dosyaKapamaIkramiyeListesiRefresh,
dosyaKapamaIkramiyePanel,
ResetFormData,
RestoreFormData
RestoreFormData,
ResetIkramiyeFormData
}
})

View File

@ -8,9 +8,11 @@ export const usePiyangoDosyaKapamaValidationStore = defineStore(
() => {
const piyangoDosyaKapamaStore = usePiyangoDosyaKapamaStore()
const validationStore = useValidationStore()
const isFormValid = ref<boolean>(true)
const invalidTexts = reactive<Record<string, any>>({})
const isIkramiyeFormValid = ref<boolean>(true)
const ikramiyeInvalidTexts = reactive<Record<string, any>>({})
const FormCheck = (): boolean => {
Object.assign(invalidTexts, {})
@ -26,10 +28,39 @@ export const usePiyangoDosyaKapamaValidationStore = defineStore(
return isFormValid.value
}
const IkramiyeFormCheck = (): boolean => {
Object.assign(ikramiyeInvalidTexts, {})
validationStore.IsFieldEmpty(
piyangoDosyaKapamaStore.dosyaKapamaIkramiyeData,
ikramiyeInvalidTexts,
'taahhutEdilenIkramiye',
'Lütfen taahhüt edilen ikramiyeyi giriniz.'
)
validationStore.IsFieldEmpty(
piyangoDosyaKapamaStore.dosyaKapamaIkramiyeData,
ikramiyeInvalidTexts,
'teslimEdilenIkramiye',
'Lütfen teslim edilen ikramiyeyi giriniz.'
)
validationStore.IsFieldEmpty(
piyangoDosyaKapamaStore.dosyaKapamaIkramiyeData,
ikramiyeInvalidTexts,
'alinmayanIkramiye',
'Lütfen alınmayan ikramiyeyi giriniz.'
)
isIkramiyeFormValid.value = Object.keys(ikramiyeInvalidTexts).length === 0
return isIkramiyeFormValid.value
}
return {
isFormValid,
invalidTexts,
FormCheck
isIkramiyeFormValid,
ikramiyeInvalidTexts,
FormCheck,
IkramiyeFormCheck
}
}
)