- izin bedeli toplam bedel toplam düzenleme

- Onay Durumları edit özelliği eklendi
This commit is contained in:
M. Bestami
2025-10-01 10:44:34 +03:00
parent 060cfab843
commit 6e2f77f576
8 changed files with 195 additions and 48 deletions

View File

@ -55,16 +55,7 @@
</div>
</template>
<script setup lang="ts">
import { ref, reactive, onBeforeMount } from 'vue'
import { useDataStore } from '@/stores/dataStore'
const dataStore = useDataStore()
import { useUsersStore } from '@/stores/usersStore'
const usersStore = useUsersStore()
import { useValidationStore } from '@/stores/validationStore'
const validationStore = useValidationStore()
import { usePiyangoStore } from '../../stores/piyangoStore'
const piyangoStore = usePiyangoStore()
import { onBeforeMount } from 'vue'
import { usePiyangoOnayStore } from '../../stores/piyangoOnayStore'
const piyangoOnayStore = usePiyangoOnayStore()
import { usePiyangoOnayValidationStore } from '../../validation/piyangoOnayValidationStore'

View File

@ -2,28 +2,44 @@
<list-table-content
v-if="loaded"
:tableHeader="tableHeader"
:rowAction="EditOnay"
formTitle="Piyango Onay Durumları"
listText="Kayıt"
:apiList="'OnayDurumu/GetSonOnayDurumlariList/' + piyangoStore.selectedLottery"
apiText="Piyango Onay Log Listesi"
page="form"
:refresh="piyangoOnayStore.refreshList" />
<panel-wrapper
v-if="piyangoOnayStore.onayFormPanel"
v-model="piyangoOnayStore.onayFormPanel"
panel-title="Onay Durumunu Düzenle">
<template #panelContent>
<panel-piyango-onay />
</template>
<template #footerButton>
<div class="button-c button-save" @click="piyangoOnayService.SaveOnayDurumPanel">
Kaydet
</div>
</template>
</panel-wrapper>
</template>
<script setup lang="ts">
import { ref, onBeforeMount, computed } from 'vue'
import axios from 'axios'
import PanelPiyangoOnay from '../panel/PanelPiyangoOnay.vue'
import PanelWrapper from '@/components/PanelWrapper.vue'
import { useDateStore } from '@/stores/dateStore'
const dateStore = useDateStore()
import { useGlobalStore } from '@/stores/globalStore'
const globalStore = useGlobalStore()
import { usePiyangoOnayStore } from '../../stores/piyangoOnayStore'
const piyangoOnayStore = usePiyangoOnayStore()
import { usePiyangoOnayService } from '../../service/piyangoOnayService'
const piyangoOnayService = usePiyangoOnayService()
import { usePiyangoStore } from '../../stores/piyangoStore'
const piyangoStore = usePiyangoStore()
import { usePiyangoDataStore } from '../../stores/piyangoDataStore'
const piyangoDataStore = usePiyangoDataStore()
import { usePiyangoServices } from '../../service/piyangoServices'
const piyangoServices = usePiyangoServices()
const loaded = ref<boolean>(false)
@ -82,6 +98,11 @@
}
])
const EditOnay = (d: Record<string, any>) => {
Object.assign(piyangoOnayStore.piyangoPanelOnayForm, d)
piyangoOnayStore.onayFormPanel = true
}
onBeforeMount(async () => {
loaded.value = true
})

View File

@ -11,26 +11,15 @@
</template>
<script setup lang="ts">
import { ref, onBeforeMount, computed } from 'vue'
import axios from 'axios'
import { useDateStore } from '@/stores/dateStore'
const dateStore = useDateStore()
import { useGlobalStore } from '@/stores/globalStore'
const globalStore = useGlobalStore()
import { usePiyangoOnayStore } from '../../stores/piyangoOnayStore'
const piyangoOnayStore = usePiyangoOnayStore()
import { usePiyangoStore } from '../../stores/piyangoStore'
const piyangoStore = usePiyangoStore()
import { usePiyangoDataStore } from '../../stores/piyangoDataStore'
const piyangoDataStore = usePiyangoDataStore()
import { usePiyangoServices } from '../../service/piyangoServices'
const piyangoServices = usePiyangoServices()
const loaded = ref<boolean>(false)
const piyangoOnayDurumlari = computed<Record<string, any>[]>(() => {
return piyangoDataStore.piyangoOnayDurumlari
})
const tableHeader = ref<Record<string, any>[]>([
{
name: 'tarih',
@ -54,11 +43,11 @@
},
{
name: 'eskiDurum',
title: 'Eski Durum',
title: 'Eski Durum'
},
{
name: 'yeniDurum',
title: 'Yeni Durum',
title: 'Yeni Durum'
},
{
name: 'aciklama',

View File

@ -0,0 +1,65 @@
<template>
<div class="form-part-content" v-if="piyangoOnayStore.onayPanelLoaded">
<form-select
label="İşlem"
:listData="piyangoDataStore.piyangoOnayDurumlari"
listText="tipAdi"
listVal="islemId"
v-model="piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId"
required
:invalidText="piyangoOnayValidationStore.invalidTextsPanel.onayDurumuIslemTipiId" />
<template v-if="piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === 4">
<form-input
modelKey="izinSayisi"
v-model="piyangoOnayStore.piyangoPanelOnayForm.izinSayisi"
required
label="İzin Sayı No"
placeholder="İzin Sayı No"
:invalidText="piyangoOnayValidationStore.invalidTextsPanel.izinSayisi"
@keyup="OnKeyup" />
<form-date
type="date"
required
modelKey="izinTarihi"
v-model="piyangoOnayStore.piyangoPanelOnayForm.izinTarihi"
label="İzin Tarihi"
:invalidText="piyangoOnayValidationStore.invalidTextsPanel.izinTarihi"
@change="OnKeyup" />
<form-textarea
v-model="piyangoOnayStore.piyangoPanelOnayForm.izinAciklamasi"
:invalidText="piyangoOnayValidationStore.invalidTextsPanel.izinAciklamasi"
label="İzin Açıklaması"
@keyup="OnKeyup" />
</template>
<form-file
v-model="piyangoOnayStore.piyangoPanelOnayForm.file"
elclass="panel-documents-item"
:invalidText="piyangoOnayValidationStore.invalidTextsPanel.file" />
<form-textarea
v-model="piyangoOnayStore.piyangoPanelOnayForm.aciklama"
:invalidText="piyangoOnayValidationStore.invalidTextsPanel.aciklama"
label="Açıklama"
@keyup="OnKeyup" />
</div>
</template>
<script setup lang="ts">
import { onBeforeMount } from 'vue'
import { usePiyangoOnayStore } from '../../stores/piyangoOnayStore'
const piyangoOnayStore = usePiyangoOnayStore()
import { usePiyangoOnayValidationStore } from '../../validation/piyangoOnayValidationStore'
const piyangoOnayValidationStore = usePiyangoOnayValidationStore()
import { usePiyangoDataStore } from '../../stores/piyangoDataStore'
const piyangoDataStore = usePiyangoDataStore()
import { usePiyangoServices } from '../../service/piyangoServices'
const piyangoServices = usePiyangoServices()
const OnKeyup = () => {
piyangoOnayValidationStore.formChanged = true
}
onBeforeMount(async () => {
await piyangoServices.GetPiyangoOnayDurumList()
piyangoDataStore.RemoveOnayDurumIncelemeBekleniyor()
piyangoOnayStore.onayPanelLoaded = true
})
</script>

View File

@ -55,5 +55,48 @@ export const usePiyangoOnayService = defineStore('piyangoOnayService', () => {
piyangoOnayValidationStore.isFormValid = true
}
}
return { SaveOnayDurum }
const SaveOnayDurumPanel = async () => {
if (piyangoOnayValidationStore.FormPanelCheck()) {
let form: any
let dataForm = new FormData()
if (piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId !== 4) {
piyangoOnayStore.piyangoPanelOnayForm.izinSayisi = ''
piyangoOnayStore.piyangoPanelOnayForm.izinTarihi = ''
piyangoOnayStore.piyangoPanelOnayForm.izinAciklamasi = ''
}
dataForm.append(
'onayDurumuIslemTipiId',
piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId
)
dataForm.append('id', piyangoOnayStore.piyangoPanelOnayForm.id)
dataForm.append('onayCekilisId', String(piyangoStore.selectedLottery))
dataForm.append('kisiId', String(usersStore.userId))
dataForm.append('file', piyangoOnayStore.piyangoPanelOnayForm.file)
dataForm.append('aciklama', piyangoOnayStore.piyangoPanelOnayForm.aciklama)
dataForm.append('izinSayisi', piyangoOnayStore.piyangoPanelOnayForm.izinSayisi)
dataForm.append('izinTarihi', piyangoOnayStore.piyangoPanelOnayForm.izinTarihi)
dataForm.append(
'izinAciklamasi',
piyangoOnayStore.piyangoPanelOnayForm.izinAciklamasi
)
form = await dataStore.dataPut(
'OnayDurumu/' + piyangoOnayStore.piyangoPanelOnayForm.id,
{
data: dataForm,
headers: { 'Content-Type': 'multipart/form-data' },
toast: { toast: 'Onay durumu başarıyla kaydedildi', type: 'success' }
}
)
if (form !== 'errorfalse') {
piyangoOnayStore.refreshList = true
}
} else {
piyangoOnayValidationStore.isPanelFormValid = true
}
}
return { SaveOnayDurum, SaveOnayDurumPanel }
})

View File

@ -18,10 +18,13 @@ export const usePiyangoOnayStore = defineStore('piyangoOnayStore', () => {
izinAciklamasi: ''
})
const piyangoOnayForm = reactive<Record<string, any>>({})
const piyangoPanelOnayForm = reactive<Record<string, any>>({})
const piyangoOnaySafeForm = reactive<Record<string, any>>({})
const isUpdate = ref<boolean>(false)
const refreshList = ref<boolean>(false)
const loaded = ref<boolean>(false)
const onayPanelLoaded = ref<boolean>(false)
const onayFormPanel = ref<boolean>(false)
const ResetForm = () => {
Object.assign(piyangoOnayForm, piyangoOnayBaseForm)
@ -30,10 +33,13 @@ export const usePiyangoOnayStore = defineStore('piyangoOnayStore', () => {
return {
piyangoOnayBaseForm,
piyangoOnayForm,
piyangoPanelOnayForm,
piyangoOnaySafeForm,
isUpdate,
refreshList,
loaded,
onayPanelLoaded,
onayFormPanel,
ResetForm
}
})

View File

@ -12,6 +12,8 @@ export const usePiyangoOnayValidationStore = defineStore(
const formChanged = ref<boolean>(false)
const isFormValid = ref<boolean>(true)
const invalidTexts = reactive<Record<string, any>>({})
const isPanelFormValid = ref<boolean>(true)
const invalidTextsPanel = reactive<Record<string, any>>({})
const FormCheck = (): boolean => {
Object.assign(invalidTexts, {})
@ -40,11 +42,41 @@ export const usePiyangoOnayValidationStore = defineStore(
return isFormValid.value
}
const FormPanelCheck = (): boolean => {
Object.assign(invalidTextsPanel, {})
validationStore.IsFieldEmpty(
piyangoOnayStore.piyangoPanelOnayForm,
invalidTextsPanel,
'onayDurumuIslemTipiId',
'Bir işlem tipi seçmelisinz.'
)
if (piyangoOnayStore.piyangoPanelOnayForm.onayDurumuIslemTipiId === 4) {
validationStore.IsFieldEmpty(
piyangoOnayStore.piyangoPanelOnayForm,
invalidTextsPanel,
'izinSayisi',
'İzin sayı no girmelisiniz.'
)
validationStore.IsFieldEmpty(
piyangoOnayStore.piyangoPanelOnayForm,
invalidTextsPanel,
'izinTarihi',
'İzin tarihi seçmelisiniz.'
)
}
isPanelFormValid.value = Object.keys(invalidTextsPanel).length === 0
return isPanelFormValid.value
}
return {
formChanged,
isFormValid,
isPanelFormValid,
invalidTexts,
FormCheck
invalidTextsPanel,
FormCheck,
FormPanelCheck
}
}
)

View File

@ -79,7 +79,7 @@
<td>
{{
globalStore.toTrLocale(
Number(piyangoIkramiyeStore.totalIkramiyeValue) + calculatedKdv
Number(calculatedOran) + Number(calculatedKdv)
)
}}
</td>