From 0d58b0ad10396583ffde71ce93bf5cc0dad5344f Mon Sep 17 00:00:00 2001 From: Kevser <> Date: Thu, 24 Jul 2025 22:36:47 +0300 Subject: [PATCH 1/3] =?UTF-8?q?Dosya=20Kapam=20tab=C4=B1=20i=C5=9F=C3=A7in?= =?UTF-8?q?=20komponent=20ve=20store=20dosyalar=C4=B1=20eklendi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/TabPiyangoDosyaKapama.vue | 10 + .../form/FormPiyangoDosyaKapama.vue | 648 ++++++++++++++++++ .../service/piyangoDosyaKapamaService.ts | 53 ++ .../stores/piyangoDosyaKapamaStore.ts | 37 + .../piyangoDosyaKapamaValidationStore.ts | 37 + src/module/cekilisler/views/PiyangoDetay.vue | 7 + 6 files changed, 792 insertions(+) create mode 100644 src/module/cekilisler/components/TabPiyangoDosyaKapama.vue create mode 100644 src/module/cekilisler/components/form/FormPiyangoDosyaKapama.vue create mode 100644 src/module/cekilisler/service/piyangoDosyaKapamaService.ts create mode 100644 src/module/cekilisler/stores/piyangoDosyaKapamaStore.ts create mode 100644 src/module/cekilisler/validation/piyangoDosyaKapamaValidationStore.ts diff --git a/src/module/cekilisler/components/TabPiyangoDosyaKapama.vue b/src/module/cekilisler/components/TabPiyangoDosyaKapama.vue new file mode 100644 index 0000000..81fddf0 --- /dev/null +++ b/src/module/cekilisler/components/TabPiyangoDosyaKapama.vue @@ -0,0 +1,10 @@ + + diff --git a/src/module/cekilisler/components/form/FormPiyangoDosyaKapama.vue b/src/module/cekilisler/components/form/FormPiyangoDosyaKapama.vue new file mode 100644 index 0000000..273432e --- /dev/null +++ b/src/module/cekilisler/components/form/FormPiyangoDosyaKapama.vue @@ -0,0 +1,648 @@ + + diff --git a/src/module/cekilisler/service/piyangoDosyaKapamaService.ts b/src/module/cekilisler/service/piyangoDosyaKapamaService.ts new file mode 100644 index 0000000..2f041c5 --- /dev/null +++ b/src/module/cekilisler/service/piyangoDosyaKapamaService.ts @@ -0,0 +1,53 @@ +import { defineStore } from 'pinia' +import { useDataStore } from '@/stores/dataStore' +import { usePiyangoStore } from '../stores/piyangoStore' +import { usePiyangoDosyaKapamaStore } from '../stores/piyangoDosyaKapamaStore' +import { usePiyangoDosyaKapamaValidationStore } from '../validation/piyangoDosyaKapamaValidationStore' + +export const usePiyangoDosyaKapamaService = defineStore( + 'piyangoDosyaKapamaService', + () => { + const dataStore = useDataStore() + const piyangoStore = usePiyangoStore() + const piyangoDosyaKapamaStore = usePiyangoDosyaKapamaStore() + const piyangoDosyaKapamaValidationStore = usePiyangoDosyaKapamaValidationStore() + + const GetDosyaKapama = async () => { + let data: Record | any = await dataStore.dataGet( + 'Mecra/Cekilis/' + piyangoStore.selectedLottery + ) + + if (data !== 'errorfalse') { + Object.assign(piyangoDosyaKapamaStore.dosyaKapamaData, data.data) + Object.assign(piyangoDosyaKapamaStore.safeDosyaKapamaata, data.data) + } + } + + const SaveDosyaKapama = async () => { + if (piyangoDosyaKapamaValidationStore.FormCheck()) { + let dt: any + dataStore.panelData.yayinlanacagiTarih = new Date( + dataStore.panelData.yayinlanacagiTarih + ) + if (!piyangoDosyaKapamaStore.isUpdate) { + piyangoMecraStore.piyangoMecraForm.cekilisId = piyangoStore.selectedLottery + dt = await dataStore.dataPost('Mecra', { + data: piyangoMecraStore.piyangoMecraForm + }) + } else { + dt = await dataStore.dataPut('Mecra/' + piyangoMecraStore.piyangoMecraForm.id, { + data: piyangoMecraStore.piyangoMecraForm + }) + } + if (dt !== 'errorfalse') { + piyangoDosyaKapamaStore.isUpdate = false + await GetDosyaKapama() + } + } else { + piyangoDosyaKapamaValidationStore.isFormValid = true + } + } + + return { GetDosyaKapama, SaveDosyaKapama } + } +) diff --git a/src/module/cekilisler/stores/piyangoDosyaKapamaStore.ts b/src/module/cekilisler/stores/piyangoDosyaKapamaStore.ts new file mode 100644 index 0000000..22780cc --- /dev/null +++ b/src/module/cekilisler/stores/piyangoDosyaKapamaStore.ts @@ -0,0 +1,37 @@ +import { defineStore } from 'pinia' +import { ref, reactive } from 'vue' +import { useGlobalStore } from '@/stores/globalStore' + +export const usePiyangoDosyaKapamaStore = defineStore('piyangoDosyaKapamaStore', () => { + const globalStore = useGlobalStore() + + const baseDosyaKapamaData = reactive>({ + adSoyad: '', + telefonNumarasi: '', + faksNumarasi: '', + eposta: '', + unvan: '' + }) + const dosyaKapamaData = reactive>({}) + const safeDosyaKapamaata = reactive>({}) + const isUpdate = ref(false) + + const ResetFormData = () => { + globalStore.ResetObject(dosyaKapamaData, baseDosyaKapamaData) + Object.assign(dosyaKapamaData, baseDosyaKapamaData) + } + + const RestoreFormData = () => { + globalStore.ResetObject(dosyaKapamaData, baseDosyaKapamaData) + Object.assign(dosyaKapamaData, safeDosyaKapamaata) + } + + return { + baseDosyaKapamaData, + dosyaKapamaData, + safeDosyaKapamaata, + isUpdate, + ResetFormData, + RestoreFormData + } +}) diff --git a/src/module/cekilisler/validation/piyangoDosyaKapamaValidationStore.ts b/src/module/cekilisler/validation/piyangoDosyaKapamaValidationStore.ts new file mode 100644 index 0000000..ead9e10 --- /dev/null +++ b/src/module/cekilisler/validation/piyangoDosyaKapamaValidationStore.ts @@ -0,0 +1,37 @@ +import { defineStore } from 'pinia' +import { ref, reactive } from 'vue' +import { useValidationStore } from '@/stores/validationStore' +import { usePiyangoDosyaKapamaStore } from '../stores/piyangoDosyaKapamaStore' + +export const usePiyangoMecraValidationStore = defineStore( + 'piyangoMecraValidationStore', + () => { + const piyangoDosyaKapamaStore = usePiyangoDosyaKapamaStore() + const validationStore = useValidationStore() + + const formChanged = ref(false) + const isFormValid = ref(true) + const invalidTexts = reactive>({}) + + const FormCheck = (): boolean => { + Object.assign(invalidTexts, {}) + + validationStore.IsFieldEmpty( + piyangoDosyaKapamaStore.dosyaKapamaData, + invalidTexts, + 'mecraAdi', + 'Yayınlanacak mecranın adını yazınız.' + ) + + isFormValid.value = Object.keys(invalidTexts).length === 0 + return isFormValid.value + } + + return { + formChanged, + isFormValid, + invalidTexts, + FormCheck + } + } +) diff --git a/src/module/cekilisler/views/PiyangoDetay.vue b/src/module/cekilisler/views/PiyangoDetay.vue index 6300cea..d6f6644 100644 --- a/src/module/cekilisler/views/PiyangoDetay.vue +++ b/src/module/cekilisler/views/PiyangoDetay.vue @@ -26,6 +26,9 @@ + @@ -85,6 +88,10 @@ if (piyangoStore.lotteryApprove !== 0) { tabList.value.push({ text: 'Teminat Listesi', id: 'teminatlistesi' }) } + + if (usersStore.isPanelUser && piyangoStore.lotteryDrawState) { + tabList.value.push({ text: 'Dossya Kapama', id: 'dosyakapama' }) + } } onBeforeMount(async () => { -- 2.39.5 From 216cf1fb73214a050da389cb88288382c8656cc8 Mon Sep 17 00:00:00 2001 From: "M. Bestami" Date: Fri, 5 Sep 2025 15:09:10 +0300 Subject: [PATCH 2/3] =?UTF-8?q?-=20Dosya=20kapama=20formu=20olu=C5=9Fturul?= =?UTF-8?q?du=20-=20Dosya=20kapama=20get/put/post=20servisleri=20ba=C4=9Fl?= =?UTF-8?q?and=C4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/global/FormCheckbox.vue | 6 +- src/module/auth/views/Register.vue | 8 - .../display/FormPiyangoBilgileriDisplay.vue | 2 +- .../form/FormPiyangoDosyaKapama.vue | 810 +++++------------- .../service/piyangoDosyaKapamaService.ts | 50 +- .../stores/piyangoDosyaKapamaStore.ts | 49 +- .../piyangoDosyaKapamaValidationStore.ts | 8 +- src/module/cekilisler/views/PiyangoDetay.vue | 7 +- src/module/site-yonetimi/views/PopupListe.vue | 2 +- 9 files changed, 283 insertions(+), 659 deletions(-) diff --git a/src/components/global/FormCheckbox.vue b/src/components/global/FormCheckbox.vue index aa1255d..8c70c51 100644 --- a/src/components/global/FormCheckbox.vue +++ b/src/components/global/FormCheckbox.vue @@ -91,9 +91,9 @@ const emit = defineEmits(['update:modelValue', 'change', 'click']) - const localValue = ref<(string | number)[] | boolean | null | string | number|undefined>( - props.modelValue - ) + const localValue = ref< + (string | number)[] | boolean | null | string | number | undefined + >(props.modelValue) const InvalidMessageText = reactive>({}) const InvalidMessages = computed(() => { diff --git a/src/module/auth/views/Register.vue b/src/module/auth/views/Register.vue index 2ff039e..b2d80ab 100644 --- a/src/module/auth/views/Register.vue +++ b/src/module/auth/views/Register.vue @@ -355,8 +355,6 @@ const globalDataStore = useGlobalDataStore() import { useValidationStore } from '@/stores/validationStore' const validationStore = useValidationStore() - import { useUsersStore } from '@/stores/usersStore' - const usersStore = useUsersStore() import { useAuthValidationStore } from '../stores/authValidationStore' const authValidationStore = useAuthValidationStore() import router from '@/router' @@ -365,12 +363,6 @@ const uyeBilgileriStore = useUyeBilgileriStore() uyeBilgileriStore.ResetStore() - interface IIl { - [key: string]: any - ad: string - id: number - } - const kvkkCheck = ref([ { label: '', diff --git a/src/module/cekilisler/components/display/FormPiyangoBilgileriDisplay.vue b/src/module/cekilisler/components/display/FormPiyangoBilgileriDisplay.vue index a9fc3d1..1075d16 100644 --- a/src/module/cekilisler/components/display/FormPiyangoBilgileriDisplay.vue +++ b/src/module/cekilisler/components/display/FormPiyangoBilgileriDisplay.vue @@ -39,7 +39,7 @@ diff --git a/src/module/cekilisler/service/piyangoDosyaKapamaService.ts b/src/module/cekilisler/service/piyangoDosyaKapamaService.ts index 2f041c5..a7bf627 100644 --- a/src/module/cekilisler/service/piyangoDosyaKapamaService.ts +++ b/src/module/cekilisler/service/piyangoDosyaKapamaService.ts @@ -14,37 +14,41 @@ export const usePiyangoDosyaKapamaService = defineStore( const GetDosyaKapama = async () => { let data: Record | any = await dataStore.dataGet( - 'Mecra/Cekilis/' + piyangoStore.selectedLottery + 'TeminatIadeEvrakKontrol/' + piyangoStore.selectedLottery ) - if (data !== 'errorfalse') { + if (data !== 'errorfalse' || data.data.id === undefined) { Object.assign(piyangoDosyaKapamaStore.dosyaKapamaData, data.data) - Object.assign(piyangoDosyaKapamaStore.safeDosyaKapamaata, data.data) + Object.assign(piyangoDosyaKapamaStore.safeDosyaKapamaData, data.data) + piyangoDosyaKapamaStore.isNew = false + setTimeout(() => { + piyangoDosyaKapamaStore.loaded = true + }, 30) + } else { + piyangoDosyaKapamaStore.isNew = true } } const SaveDosyaKapama = async () => { - if (piyangoDosyaKapamaValidationStore.FormCheck()) { - let dt: any - dataStore.panelData.yayinlanacagiTarih = new Date( - dataStore.panelData.yayinlanacagiTarih - ) - if (!piyangoDosyaKapamaStore.isUpdate) { - piyangoMecraStore.piyangoMecraForm.cekilisId = piyangoStore.selectedLottery - dt = await dataStore.dataPost('Mecra', { - data: piyangoMecraStore.piyangoMecraForm - }) - } else { - dt = await dataStore.dataPut('Mecra/' + piyangoMecraStore.piyangoMecraForm.id, { - data: piyangoMecraStore.piyangoMecraForm - }) - } - if (dt !== 'errorfalse') { - piyangoDosyaKapamaStore.isUpdate = false - await GetDosyaKapama() - } + let dt: any + dataStore.panelData.yayinlanacagiTarih = new Date( + dataStore.panelData.yayinlanacagiTarih + ) + if (!piyangoDosyaKapamaStore.isUpdate) { + dt = await dataStore.dataPost('TeminatIadeEvrakKontrol', { + data: piyangoDosyaKapamaStore.dosyaKapamaData + }) } else { - piyangoDosyaKapamaValidationStore.isFormValid = true + dt = await dataStore.dataPut( + 'TeminatIadeEvrakKontrol/' + piyangoDosyaKapamaStore.dosyaKapamaData.id, + { + data: piyangoDosyaKapamaStore.dosyaKapamaData + } + ) + } + if (dt !== 'errorfalse') { + piyangoDosyaKapamaStore.isUpdate = false + await GetDosyaKapama() } } diff --git a/src/module/cekilisler/stores/piyangoDosyaKapamaStore.ts b/src/module/cekilisler/stores/piyangoDosyaKapamaStore.ts index 22780cc..0462f0f 100644 --- a/src/module/cekilisler/stores/piyangoDosyaKapamaStore.ts +++ b/src/module/cekilisler/stores/piyangoDosyaKapamaStore.ts @@ -6,15 +6,45 @@ export const usePiyangoDosyaKapamaStore = defineStore('piyangoDosyaKapamaStore', const globalStore = useGlobalStore() const baseDosyaKapamaData = reactive>({ - adSoyad: '', - telefonNumarasi: '', - faksNumarasi: '', - eposta: '', - unvan: '' + katilimSekli: '', + cD: false, + kutuMuhurlemeTutanagi: false, + kutuAcmaTutanagi: false, + cekilisTutanagi: false, + cekilisIzinAlinanTarihSaatAdres: false, + oncedenBelirlenenIkramiyeCekilis: false, + cekilisNumaraUzerindenCekilis: false, + dagitilmayanKuponTespiti: false, + cekilisSonucuIlan: false, + ilandaTarihGazete: false, + ilandaToplamKatilimci: false, + cekilisTutanagiIleUyumluKazananlar: false, + ilanSonBasvuruTeslimSuresi: false, + taahhutEdilenIkramiyeAdedi: null, + teslimEdilenIkramiyeAdedi: null, + asilIkramiyeSayisi: null, + yedekIkramiyeSayisi: null, + nufusCuzdani: false, + noterOnayliIbraname: false, + teslimBelgesi: false, + faturaFotokopileri: false, + tescileAitBelgeler: false, + sureIcindesAlinmayanIkramiyeAdedi: null, + tebligat: false, + feragat: false, + bagis: false, + kuponAsli: false, + duyuruMateryali: false, + ikramiyelerinSonTeslimTarihi: '', + teminatIadeTarihi: '' }) const dosyaKapamaData = reactive>({}) - const safeDosyaKapamaata = reactive>({}) + const safeDosyaKapamaData = reactive>({}) + const isNew = ref(false) const isUpdate = ref(false) + const formChanged = ref(false) + const loaded = ref(false) + const ResetFormData = () => { globalStore.ResetObject(dosyaKapamaData, baseDosyaKapamaData) @@ -23,14 +53,17 @@ export const usePiyangoDosyaKapamaStore = defineStore('piyangoDosyaKapamaStore', const RestoreFormData = () => { globalStore.ResetObject(dosyaKapamaData, baseDosyaKapamaData) - Object.assign(dosyaKapamaData, safeDosyaKapamaata) + Object.assign(dosyaKapamaData, safeDosyaKapamaData) } return { baseDosyaKapamaData, dosyaKapamaData, - safeDosyaKapamaata, + safeDosyaKapamaData, + isNew, isUpdate, + formChanged, + loaded, ResetFormData, RestoreFormData } diff --git a/src/module/cekilisler/validation/piyangoDosyaKapamaValidationStore.ts b/src/module/cekilisler/validation/piyangoDosyaKapamaValidationStore.ts index ead9e10..aa45908 100644 --- a/src/module/cekilisler/validation/piyangoDosyaKapamaValidationStore.ts +++ b/src/module/cekilisler/validation/piyangoDosyaKapamaValidationStore.ts @@ -3,13 +3,12 @@ import { ref, reactive } from 'vue' import { useValidationStore } from '@/stores/validationStore' import { usePiyangoDosyaKapamaStore } from '../stores/piyangoDosyaKapamaStore' -export const usePiyangoMecraValidationStore = defineStore( - 'piyangoMecraValidationStore', +export const usePiyangoDosyaKapamaValidationStore = defineStore( + 'piyangoDosyaKapamaValidationStore', () => { const piyangoDosyaKapamaStore = usePiyangoDosyaKapamaStore() const validationStore = useValidationStore() - - const formChanged = ref(false) + const isFormValid = ref(true) const invalidTexts = reactive>({}) @@ -28,7 +27,6 @@ export const usePiyangoMecraValidationStore = defineStore( } return { - formChanged, isFormValid, invalidTexts, FormCheck diff --git a/src/module/cekilisler/views/PiyangoDetay.vue b/src/module/cekilisler/views/PiyangoDetay.vue index d6f6644..a59c79c 100644 --- a/src/module/cekilisler/views/PiyangoDetay.vue +++ b/src/module/cekilisler/views/PiyangoDetay.vue @@ -16,7 +16,7 @@ -