ilk commit
This commit is contained in:
63
src/module/cekilisler/components/TabPiyangoBilgileri.vue
Normal file
63
src/module/cekilisler/components/TabPiyangoBilgileri.vue
Normal file
@ -0,0 +1,63 @@
|
||||
<template>
|
||||
<div class="form-content">
|
||||
<div class="form-inner-content form-inner-content-left">
|
||||
<form-piyango-bilgileri
|
||||
v-if="piyangoStore.lotteryApprove === 0 || piyangoStore.lotteryApprove === 3" />
|
||||
<form-piyango-bilgileri-display v-else />
|
||||
<form-irtibat-bilgileri
|
||||
v-if="piyangoStore.lotteryApprove === 0 || piyangoStore.lotteryApprove === 3" />
|
||||
<form-irtibat-bilgileri-display v-else />
|
||||
<template v-if="piyangoStore.isLotteryForCharity">
|
||||
<form-piyango-yardim-amacli
|
||||
v-if="piyangoStore.lotteryApprove === 0 || piyangoStore.lotteryApprove === 3" />
|
||||
<form-piyango-yardim-amacli-display v-else />
|
||||
</template>
|
||||
</div>
|
||||
<div class="form-inner-content form-inner-content-right">
|
||||
<div
|
||||
class="form-part"
|
||||
v-if="
|
||||
piyangoStore.lotteryData.amacpiyangoId !== 3 &&
|
||||
piyangoStore.lotteryApprove !== 12
|
||||
">
|
||||
<form-piyango-mecra
|
||||
v-if="piyangoStore.lotteryApprove === 0 || piyangoStore.lotteryApprove === 3" />
|
||||
<form-piyango-mecra-display v-else />
|
||||
</div>
|
||||
<form-piyango-documents />
|
||||
</div>
|
||||
<div
|
||||
class="form-inner-content"
|
||||
v-if="
|
||||
piyangoStore.lotteryData.amacpiyangoId !== 3 && piyangoStore.lotteryApprove !== 12
|
||||
">
|
||||
<form-piyango-pictures />
|
||||
</div>
|
||||
<div
|
||||
class="form-inner-content"
|
||||
v-if="
|
||||
piyangoStore.lotteryData.amacpiyangoId !== 3 && piyangoStore.lotteryApprove !== 12
|
||||
">
|
||||
<form-piyango-ikramiye-listesi
|
||||
v-if="piyangoStore.lotteryApprove === 0 || piyangoStore.lotteryApprove === 3" />
|
||||
<form-piyango-ikramiye-listesi-display v-else />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import FormPiyangoBilgileri from './form/FormPiyangoBilgileri.vue'
|
||||
import FormPiyangoBilgileriDisplay from './display/FormPiyangoBilgileriDisplay.vue'
|
||||
import FormPiyangoDocuments from './form/FormPiyangoDocuments.vue'
|
||||
import FormPiyangoPictures from './form/FormPiyangoPictures.vue'
|
||||
import FormIrtibatBilgileri from './form/FormPiyangoIrtibatBilgileri.vue'
|
||||
import FormIrtibatBilgileriDisplay from './display/FormPiyangoIrtibatBilgileriDisplay.vue'
|
||||
import FormPiyangoMecra from './form/FormPiyangoMecra.vue'
|
||||
import FormPiyangoMecraDisplay from './display/FormPiyangoMecraDisplay.vue'
|
||||
import FormPiyangoIkramiyeListesi from './form/FormPiyangoIkramiyeListesi.vue'
|
||||
import FormPiyangoIkramiyeListesiDisplay from './display/FormPiyangoIkramiyeListesiDisplay.vue'
|
||||
import FormPiyangoYardimAmacli from './form/FormPiyangoYardimAmacli.vue'
|
||||
import FormPiyangoYardimAmacliDisplay from './display/FormPiyangoYardimAmacliDisplay.vue'
|
||||
|
||||
import { usePiyangoStore } from '../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
</script>
|
||||
@ -0,0 +1,47 @@
|
||||
<template>
|
||||
<div class="form-content">
|
||||
<div class="form-inner-content form-inner-content-left">
|
||||
<form-piyango-bilgileri-display />
|
||||
<form-piyango-irtibat-bilgileri-display />
|
||||
<form-piyango-yardim-amacli-display v-if="piyangoStore.isLotteryForCharity" />
|
||||
</div>
|
||||
<div class="form-inner-content form-inner-content-right">
|
||||
<div
|
||||
class="form-part"
|
||||
id="display-mecra"
|
||||
v-if="
|
||||
piyangoStore.lotteryData.amacpiyangoId !== 3 &&
|
||||
piyangoStore.lotteryApprove !== 12
|
||||
">
|
||||
<form-piyango-mecra-display />
|
||||
</div>
|
||||
<form-piyango-documents-display />
|
||||
</div>
|
||||
<div
|
||||
class="form-inner-content"
|
||||
v-if="
|
||||
piyangoStore.lotteryData.amacpiyangoId !== 3 && piyangoStore.lotteryApprove !== 12
|
||||
">
|
||||
<form-piyango-pictures-display />
|
||||
</div>
|
||||
<div
|
||||
class="form-inner-content"
|
||||
v-if="
|
||||
piyangoStore.lotteryData.amacpiyangoId !== 3 && piyangoStore.lotteryApprove !== 12
|
||||
">
|
||||
<form-piyango-ikramiye-listesi-display />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import FormPiyangoBilgileriDisplay from './display/FormPiyangoBilgileriDisplay.vue'
|
||||
import FormPiyangoDocumentsDisplay from './display/FormPiyangoDocumentsDisplay.vue'
|
||||
import FormPiyangoPicturesDisplay from './display/FormPiyangoPicturesDisplay.vue'
|
||||
import FormPiyangoIrtibatBilgileriDisplay from './display/FormPiyangoIrtibatBilgileriDisplay.vue'
|
||||
import FormPiyangoMecraDisplay from './display/FormPiyangoMecraDisplay.vue'
|
||||
import FormPiyangoIkramiyeListesiDisplay from './display/FormPiyangoIkramiyeListesiDisplay.vue'
|
||||
import FormPiyangoYardimAmacliDisplay from './display/FormPiyangoYardimAmacliDisplay.vue'
|
||||
|
||||
import { usePiyangoStore } from '../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
</script>
|
||||
109
src/module/cekilisler/components/TabPiyangoItiraz.vue
Normal file
109
src/module/cekilisler/components/TabPiyangoItiraz.vue
Normal file
@ -0,0 +1,109 @@
|
||||
<template>
|
||||
<section class="section-list">
|
||||
<list-table-content
|
||||
title="İtiraz/Şikayet Listesi"
|
||||
icon="draws"
|
||||
:tableHeader="tableHeader"
|
||||
:rowAction="EditItiraz"
|
||||
listText="İkramiye"
|
||||
:addAction="itirazAction()"
|
||||
:apiList="'Itiraz/Cekilis/' + piyangoStore.selectedLottery"
|
||||
apiText="İtiraz/Şikayet Listesi"
|
||||
v-model:refresh="piyangoItirazStore.refreshList" />
|
||||
</section>
|
||||
<panel-wrapper
|
||||
v-if="piyangoItirazStore.itirazPanel"
|
||||
v-model="piyangoItirazStore.itirazPanel"
|
||||
:panel-title="
|
||||
piyangoItirazStore.isUpdate
|
||||
? 'İtiraz/Şikayet Süreci Düzenle'
|
||||
: 'İtiraz/Şikayet Süreci Ekle'
|
||||
">
|
||||
<template #panelContent>
|
||||
<panel-piyango-itiraz />
|
||||
</template>
|
||||
<template #footerButton>
|
||||
<div class="button-c button-save" @click="piyangoItirazService.SaveItiraz">
|
||||
{{ piyangoItirazStore.isUpdate ? 'Kaydet' : 'Ekle' }}
|
||||
</div>
|
||||
</template>
|
||||
</panel-wrapper>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { useGlobalStore } from '@/stores/globalStore'
|
||||
const globalStore = useGlobalStore()
|
||||
import { useDateStore } from '@/stores/dateStore'
|
||||
const dateStore = useDateStore()
|
||||
import { usePiyangoItirazStore } from '../stores/piyangoItirazStore'
|
||||
const piyangoItirazStore = usePiyangoItirazStore()
|
||||
import { usePiyangoItirazService } from '../service/piyangoItirazService'
|
||||
const piyangoItirazService = usePiyangoItirazService()
|
||||
import { usePiyangoStore } from '../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
|
||||
import PanelPiyangoItiraz from './panel/PanelPiyangoItiraz.vue'
|
||||
import PanelWrapper from '@/components/PanelWrapper.vue'
|
||||
|
||||
const tableHeader = ref<Record<string, any>[]>([
|
||||
{
|
||||
name: 'itirazTarihi',
|
||||
title: 'İtiraz Tarihi',
|
||||
sort: true,
|
||||
style: { width: '10%' },
|
||||
compute: (v: Record<string, any>): string => {
|
||||
return v.itirazTarihi === null
|
||||
? ''
|
||||
: dateStore.dateFormat({ pattern: 'dd-mm-yy', date: v.itirazTarihi })
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'itirazEden',
|
||||
title: 'İtiraz Eden',
|
||||
sort: true,
|
||||
style: { width: '15%' }
|
||||
},
|
||||
{
|
||||
name: 'aciklama',
|
||||
title: 'Açıklama',
|
||||
sort: true,
|
||||
style: { width: '20%' }
|
||||
},
|
||||
{
|
||||
name: 'durum',
|
||||
title: 'Durum',
|
||||
sort: true
|
||||
},
|
||||
{
|
||||
name: 'surecTipiAdi',
|
||||
title: 'Süreç Tipi',
|
||||
sort: true
|
||||
},
|
||||
{
|
||||
name: 'belgeUrl',
|
||||
title: 'Belge',
|
||||
computeHtml: (v: Record<string, any>) => {
|
||||
if (v.belgeUrl !== null && v.belgeUrl !== undefined) {
|
||||
return globalStore.TableCellDocument(v.belgeUrl)
|
||||
}
|
||||
}
|
||||
}
|
||||
])
|
||||
const itirazAction = () => {
|
||||
if (usersStore.isPanelUser) return NewItiraz as Function
|
||||
else return ''
|
||||
}
|
||||
|
||||
const NewItiraz = () => {
|
||||
piyangoItirazStore.ResetForm()
|
||||
piyangoItirazStore.itirazPanel = true
|
||||
}
|
||||
|
||||
const EditItiraz = (d: Record<string, any>) => {
|
||||
piyangoItirazStore.isUpdate = true
|
||||
Object.assign(piyangoItirazStore.piyangoItirazForm, d)
|
||||
piyangoItirazStore.itirazPanel = true
|
||||
}
|
||||
</script>
|
||||
40
src/module/cekilisler/components/TabPiyangoLoglari.vue
Normal file
40
src/module/cekilisler/components/TabPiyangoLoglari.vue
Normal file
@ -0,0 +1,40 @@
|
||||
<template>
|
||||
<section class="section-list">
|
||||
<list-table-content
|
||||
:tableHeader="tableHeader"
|
||||
icon="draws"
|
||||
title="Piyango Logları"
|
||||
listText="Kayıt"
|
||||
:apiList="'CekilisAtamaLog/Cekilis/' + piyangoStore.selectedLottery"
|
||||
apiText="Piyango Logları" />
|
||||
</section>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
import { useDateStore } from '@/stores/dateStore'
|
||||
const dateStore = useDateStore()
|
||||
import { usePiyangoStore } from '../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
|
||||
const tableHeader = ref<Record<string, any>[]>([
|
||||
{
|
||||
name: 'tarih',
|
||||
title: 'İşlem Tarihi',
|
||||
compute: (v: Record<string, any>): string => {
|
||||
return dateStore.dateFormat({ date: v.tarih })
|
||||
},
|
||||
sort: true,
|
||||
style: { width: '20%' }
|
||||
},
|
||||
{
|
||||
name: 'islemiYapan',
|
||||
title: 'İşlemi yapan',
|
||||
sort: true
|
||||
},
|
||||
{
|
||||
name: 'islem',
|
||||
title: 'İşlem',
|
||||
sort: true
|
||||
}
|
||||
])
|
||||
</script>
|
||||
22
src/module/cekilisler/components/TabPiyangoOnayDurumu.vue
Normal file
22
src/module/cekilisler/components/TabPiyangoOnayDurumu.vue
Normal file
@ -0,0 +1,22 @@
|
||||
<template>
|
||||
<div class="form-content">
|
||||
<div class="form-inner-content form-inner-content-left">
|
||||
<form-piyango-onay />
|
||||
</div>
|
||||
<!--div class="form-inner-content form-inner-content-right">
|
||||
<div class="form-part">
|
||||
<form-piyango-onay-kisiler />
|
||||
</div>
|
||||
</!--div-->
|
||||
<div class="form-inner-content">
|
||||
<div class="form-part">
|
||||
<form-piyango-onay-log />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import FormPiyangoOnayLog from './form/FormPiyangoOnayLog.vue'
|
||||
import FormPiyangoOnay from './form/FormPiyangoOnay.vue'
|
||||
import FormPiyangoOnayKisiler from './form/FormPiyangoOnayKisiler.vue'
|
||||
</script>
|
||||
@ -0,0 +1,24 @@
|
||||
<template>
|
||||
<div class="form-content">
|
||||
<div
|
||||
class="form-inner-content form-inner-content-left"
|
||||
v-if="
|
||||
piyangoStore.lotteryApprove === 0 ||
|
||||
piyangoStore.lotteryApprove === 3
|
||||
">
|
||||
<form-piyango-user-onaya-gonder />
|
||||
</div>
|
||||
<div class="form-inner-content">
|
||||
<div class="form-part">
|
||||
<form-piyango-onay-log />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { usePiyangoStore } from '../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
|
||||
import FormPiyangoOnayLog from './form/FormPiyangoOnayLog.vue'
|
||||
import FormPiyangoUserOnayaGonder from './form/FormPiyangoUserOnayaGonder.vue'
|
||||
</script>
|
||||
16
src/module/cekilisler/components/TabPiyangoYetkilendirme.vue
Normal file
16
src/module/cekilisler/components/TabPiyangoYetkilendirme.vue
Normal file
@ -0,0 +1,16 @@
|
||||
<template>
|
||||
<div class="form-content">
|
||||
<div class="form-inner-content">
|
||||
<form-piyango-yetkilendirme />
|
||||
</div>
|
||||
<div class="form-inner-content">
|
||||
<div class="form-part">
|
||||
<form-piyango-yetkilendirme-log />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import FormPiyangoYetkilendirmeLog from './form/FormPiyangoYetkilendirmeLog.vue'
|
||||
import FormPiyangoYetkilendirme from './form/FormPiyangoYetkilendirme.vue'
|
||||
</script>
|
||||
113
src/module/cekilisler/components/content/LotteryStates.vue
Normal file
113
src/module/cekilisler/components/content/LotteryStates.vue
Normal file
@ -0,0 +1,113 @@
|
||||
<template>
|
||||
<template v-if="piyangoStore.lotteryApprove === 0 && loaded">
|
||||
<div class="form-inner-comment new-d">
|
||||
Yeni Piyango Başvurusu.
|
||||
<template v-if="!usersStore.isPanelUser">
|
||||
<br />
|
||||
<br />
|
||||
Başvuru bedeli,
|
||||
<strong>
|
||||
{{ muhasebeSettingsStore.muhasebeSettingsForm.basvuruBedeli }} ₺ +KDV
|
||||
</strong>
|
||||
'dir.
|
||||
<br />
|
||||
İdaremizin {{ muhasebeSettingsStore.muhasebeSettingsForm.kurumBanka }} -
|
||||
{{ muhasebeSettingsStore.muhasebeSettingsForm.kurumBankaSube }}
|
||||
Şubesi nezdindeki
|
||||
{{ muhasebeSettingsStore.muhasebeSettingsForm.kurumIBAN }} IBAN numaralı hesabına
|
||||
<strong>"Başvuru Bedeli"</strong>
|
||||
açıklamasıyla yatırılacaktır.
|
||||
</template>
|
||||
|
||||
<template v-if="piyangoAmac === 2 && !usersStore.isPanelUser">
|
||||
<br />
|
||||
<br />
|
||||
<strong>"Yardım Amaçlı Piyango Bilet Bilgileri"</strong>
|
||||
bölümündeki bilgileri doldurmayı unutmayınız.
|
||||
</template>
|
||||
</div>
|
||||
<div class="form-inner-comment alert-d" v-if="!usersStore.isPanelUser">
|
||||
Bilgilerinizi güncelledikten sonra "Onay Durumu" tabından "Onaya Gönder"meyi
|
||||
unutmayınız.
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<div class="form-inner-comment waiting-d" v-if="piyangoStore.lotteryApprove === 1 && loaded">
|
||||
Başvuru işleme alınmıştır.
|
||||
</div>
|
||||
<div class="form-inner-comment waiting-d" v-if="piyangoStore.lotteryApprove === 2">
|
||||
Başvuru inceleniyor.
|
||||
</div>
|
||||
|
||||
<template v-if="piyangoStore.lotteryApprove === 3">
|
||||
<div class="form-inner-comment waiting-d">
|
||||
Bilgi/belge eksik/yanlış, düzenleme bekleniyor.
|
||||
</div>
|
||||
<div class="form-inner-comment alert-d" v-if="!usersStore.isPanelUser">
|
||||
Bilgilerinizi güncelledikten sonra "Onay Durumu" tabından "Onaya Gönder"meyi
|
||||
unutmayınız.
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<div class="form-inner-comment success-d" v-if="piyangoStore.lotteryApprove === 4">
|
||||
Başvuru onaylanmıştır.
|
||||
</div>
|
||||
<div class="form-inner-comment alert-d" v-if="piyangoStore.lotteryApprove === 5">
|
||||
Başvuru uygun görülmemiştir.
|
||||
</div>
|
||||
|
||||
<div class="form-inner-comment waiting-d" v-if="piyangoStore.lotteryApprove === 7">
|
||||
{{
|
||||
usersStore.isPanelUser
|
||||
? 'Üye piyango bilgilerinde değişiklik yapma talebinde bulunmuştur.'
|
||||
: 'Değişiklik yapma telebinizin değerlendirilmesi bekleniyor.'
|
||||
}}
|
||||
</div>
|
||||
|
||||
<div class="form-inner-comment waiting-d" v-if="piyangoStore.lotteryApprove === 8">
|
||||
Başvurunun incelenmesi bekleniyor.
|
||||
</div>
|
||||
|
||||
<div class="form-inner-comment alert-d" v-if="piyangoStore.lotteryApprove === 9">
|
||||
Başvuru izin öncesi iptal edilmiştir.
|
||||
</div>
|
||||
<div class="form-inner-comment success-d" v-if="piyangoStore.lotteryApprove === 10">
|
||||
Kampanya olumlu sonuçlanmıştır.
|
||||
</div>
|
||||
<div class="form-inner-comment alert-d" v-if="piyangoStore.lotteryApprove === 11">
|
||||
Başvuru izin sonrası iptal edilmiştir.
|
||||
</div>
|
||||
<div class="form-inner-comment waiting-d" v-if="piyangoStore.lotteryApprove === 12">
|
||||
Başvuru kapsam dışıdır.
|
||||
<template v-if="usersStore.isPanelUser">
|
||||
<br />
|
||||
Başvuru admin tarafından kapsam dışı olarak işaretlenmiştir.
|
||||
</template>
|
||||
</div>
|
||||
<div class="form-inner-comment alert-d" v-if="piyangoStore.lotteryApprove === 11">
|
||||
Kampanya için cezai işlem uygulanmıştır.
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref,onBeforeMount } from 'vue'
|
||||
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
import { useMuhasebeSettingsStore } from '@/module/muhasebe/store/muhasebeSettingsStore'
|
||||
const muhasebeSettingsStore = useMuhasebeSettingsStore()
|
||||
import { useMuhasebeSettingsService } from '@/module/muhasebe/service/muhasebeSettingsService'
|
||||
const muhasebeSettingsService = useMuhasebeSettingsService()
|
||||
|
||||
const loaded = ref<boolean>(false)
|
||||
|
||||
const props = defineProps<{
|
||||
piyangoAmac: number | null
|
||||
}>()
|
||||
|
||||
onBeforeMount(async () => {
|
||||
await muhasebeSettingsService.GetMuhasebeSettings()
|
||||
loaded.value = true
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,222 @@
|
||||
<template>
|
||||
<div class="form-part-content">
|
||||
<lottery-states
|
||||
:piyangoAmac="piyangoStore.lotteryData.amacpiyangoId"
|
||||
v-if="!isPreview" />
|
||||
<template
|
||||
v-if="
|
||||
usersStore.isPanelUser &&
|
||||
((piyangoStore.lotteryData.basvurubedeldurum !== null &&
|
||||
piyangoStore.lotteryData.basvurubedeldurum === true) ||
|
||||
(piyangoStore.lotteryData.izinbedeldurum !== null &&
|
||||
piyangoStore.lotteryData.izinbedeldurum === true))
|
||||
">
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.lotteryData.basvuruBedelNo"
|
||||
label="Başvuru Bedel No" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.lotteryData.izinBedelNo"
|
||||
label="İzin Bedel No" />
|
||||
</template>
|
||||
<form-display
|
||||
v-model="piyangoStore.lotteryData.baslik"
|
||||
label="Piyango Başlığı"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.baslik" />
|
||||
<form-display
|
||||
label="Piyango Amacı"
|
||||
v-model="piyangoStore.lotteryData.amacpiyango"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.amacpiyangoId" />
|
||||
<form-display
|
||||
v-if="piyangoStore.lotteryData.baglisirketId !== null"
|
||||
label="Aracı Firma"
|
||||
v-model="piyangoStore.araciUyeData.sirketUnvan">
|
||||
<template #button v-if="usersStore.isPanelUser && !isPreview">
|
||||
<router-link :to="piyangoStore.araciLink" class="button-c">
|
||||
Aracı Üyeyi Kontrol Et
|
||||
</router-link>
|
||||
</template>
|
||||
</form-display>
|
||||
<form-display
|
||||
v-if="usersStore.isPanelUser || !piyangoStore.customerApproved"
|
||||
label="Piyangoyu Düzenleyen"
|
||||
:modelText="piyangoStore.UyeName(piyangoStore.duzenleyenData)">
|
||||
<template #button v-if="!isPreview && piyangoStore.duzenleyenLink !== null">
|
||||
<router-link :to="piyangoStore.duzenleyenLink" class="button-c">
|
||||
Üyeyi Kontrol Et
|
||||
</router-link>
|
||||
</template>
|
||||
</form-display>
|
||||
<div class="form-inner-comment waiting-d" v-if="!piyangoStore.customerApproved">
|
||||
Yalnızca Onaylanmış Üyeler için piyango düzenlenebilir.
|
||||
</div>
|
||||
|
||||
<template
|
||||
v-if="
|
||||
piyangoStore.lotteryData.amacpiyangoId !== 3 && piyangoStore.lotteryApprove !== 12
|
||||
">
|
||||
<form-display
|
||||
v-if="
|
||||
piyangoStore.lotteryData.kampsamIlStrList.length !==
|
||||
globalDataStore.ilList.length
|
||||
"
|
||||
label="Kapsadığı Yerler"
|
||||
v-model="piyangoStore.lotterySelectedProvience"
|
||||
type="array"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.kapsamIl" />
|
||||
<form-display
|
||||
v-else
|
||||
modelText="Türkiye Geneli"
|
||||
label="Kapsadığı Yerler"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.kapsamIl" />
|
||||
|
||||
<template v-if="piyangoStore.lotteryData.amacpiyangoId !== 2">
|
||||
<form-display
|
||||
half
|
||||
type="datetime"
|
||||
v-model="piyangoStore.lotteryData.baslangicTarihi"
|
||||
label="Kampanya Başlangıç Tarihi ve Saati"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.baslangicTarihi" />
|
||||
<form-display
|
||||
half
|
||||
required
|
||||
v-model="piyangoStore.lotteryData.bitisTarihi"
|
||||
label="Kampanya Bitiş Tarihi ve Saati"
|
||||
type="datetime"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.bitisTarihi" />
|
||||
</template>
|
||||
<form-display
|
||||
v-if="piyangoStore.lotteryData.amacpiyangoId !== 2"
|
||||
v-model="piyangoStore.lotteryData.cekilisSartveSekilleri"
|
||||
label="Kampanya Katılma Şekil ve Şartları"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.cekilisSartveSekilleri" />
|
||||
<form-display
|
||||
half
|
||||
type="datetime"
|
||||
v-model="piyangoStore.lotteryData.cekilisTarihi"
|
||||
label="Çekiliş Tarihi ve Saati"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.cekilisTarihi" />
|
||||
<form-display
|
||||
v-model="piyangoStore.lotteryData.adres"
|
||||
:modelText="
|
||||
piyangoStore.lotteryData.adres +
|
||||
' ' +
|
||||
piyangoStore.lotteryData.il +
|
||||
' ' +
|
||||
piyangoStore.lotteryData.ilce
|
||||
"
|
||||
label="Çekiliş Adresi" />
|
||||
<form-display
|
||||
label="Katılımcı Listesinin İçeriği ve Hazırlanma Şekli"
|
||||
v-model="piyangoStore.lotteryData.katilimListesi"
|
||||
v-if="piyangoStore.lotteryData.amacpiyangoId !== 2"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.katilimListesi" />
|
||||
<form-display
|
||||
v-if="piyangoStore.lotteryData.amacpiyangoId !== 2"
|
||||
label="Katılım Listesi Teslim Yöntemi"
|
||||
v-model="piyangoStore.lotteryData.katilimciListesiTeslimYontemi"
|
||||
:invalidText="
|
||||
piyangoValidationStore.invalidTexts.katilimciListesiTeslimYontemiId
|
||||
" />
|
||||
<form-display
|
||||
label="Çekiliş Yöntemi"
|
||||
v-model="piyangoStore.lotteryData.cekilisYontemi"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.cekilisYontemiId"
|
||||
:messages="
|
||||
piyangoStore.lotteryData.cekilisYontemiId === 1 ? FizikselMessage : []
|
||||
" />
|
||||
<form-display
|
||||
type="date"
|
||||
half
|
||||
v-model="piyangoStore.lotteryData.ilantarihi"
|
||||
label="İlan Tarihi"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.ilantarihi" />
|
||||
<form-display
|
||||
type="date"
|
||||
v-if="piyangoStore.lotteryData.amacpiyangoId === 2"
|
||||
half
|
||||
v-model="piyangoStore.lotteryData.ilantarihi2"
|
||||
label="2. İlan Tarihi"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.ilantarihi2" />
|
||||
<form-display
|
||||
type="date"
|
||||
half
|
||||
v-model="piyangoStore.lotteryData.asilSonBasvuruTarihi"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.asilSonBasvuruTarihi"
|
||||
:label="
|
||||
piyangoStore.lotteryData.amacpiyangoId === 2
|
||||
? 'Talihlilerin Son Başvuru Tarihi'
|
||||
: 'Asıl Talihli Son Başvuru Tarihi'
|
||||
" />
|
||||
<form-display
|
||||
type="date"
|
||||
half
|
||||
v-model="piyangoStore.lotteryData.yedekSonBasvuruTarihi"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.yedekSonBasvuruTarihi"
|
||||
label="Yedek Talihli Son Başvuru Tarihi"
|
||||
v-if="piyangoStore.lotteryData.amacpiyangoId !== 2" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.lotteryData.ikramiyeTeslimTarihi"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.ikramiyeTeslimTarihi"
|
||||
label="İkramiyelerin Son Teslim Tarihi"
|
||||
type="date" />
|
||||
<form-display
|
||||
v-model="piyangoStore.lotteryData.ilanEdilecekGazete"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.ilanEdilecekGazete"
|
||||
label="İlan Edilecek Gazete" />
|
||||
|
||||
<form-display
|
||||
:modelText="dataHusular"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.digerHususlar"
|
||||
label="Diğer Hususlar"
|
||||
:messages="digerHususlar" />
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { computed, onMounted } from 'vue'
|
||||
import LotteryStates from '../content/LotteryStates.vue'
|
||||
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { useGlobalDataStore } from '@/stores/globalDataStore'
|
||||
const globalDataStore = useGlobalDataStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
import { usePiyangoValidationStore } from '../../validation/piyangoValidationStore'
|
||||
const piyangoValidationStore = usePiyangoValidationStore()
|
||||
import { usePiyangoDataStore } from '../../stores/piyangoDataStore'
|
||||
const piyangoDataStore = usePiyangoDataStore()
|
||||
|
||||
export interface Props {
|
||||
isPreview?: boolean
|
||||
}
|
||||
const props = withDefaults(defineProps<Props>(), { isPreview: false })
|
||||
|
||||
const dataHusular = computed<string[]>(() => {
|
||||
return piyangoStore.lotteryData.digerHususlar.split('\n')
|
||||
})
|
||||
|
||||
const digerHususlar = computed<string[]>(() => {
|
||||
let husus: string[] = piyangoStore.isLotteryForCharity
|
||||
? piyangoDataStore.digerHusularYardimAmacliTexts
|
||||
: piyangoDataStore.digerHusularTexts
|
||||
return husus
|
||||
})
|
||||
|
||||
const FizikselMessage = computed<string[]>(() => {
|
||||
if (piyangoStore.lotteryData.amacpiyangoId === 2)
|
||||
return piyangoDataStore.fizikselYardimMessage
|
||||
else if (piyangoStore.lotteryData.cekilisYontemiId === 1)
|
||||
return piyangoDataStore.fizikselTicariMessage
|
||||
else return []
|
||||
})
|
||||
|
||||
onMounted(() => {
|
||||
setTimeout(() => {
|
||||
piyangoValidationStore.FormCheck()
|
||||
}, 100)
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,31 @@
|
||||
<template>
|
||||
<div :class="['form-part']" id="display-bilgi">
|
||||
<div class="form-part-title">
|
||||
<h4>Aracı Firma Bilgileri</h4>
|
||||
</div>
|
||||
<div class="form-part-content">
|
||||
<form-display v-model="piyangoStore.araciUyeData.sirketUnvan" label="Ünvan" />
|
||||
<form-display half v-model="piyangoStore.araciUyeData.sirketVergiDairesi" label="Vergi Dairesi" />
|
||||
<form-display half v-model="piyangoStore.araciUyeData.sirketVergiNo" label="Vergi No" />
|
||||
<form-display half v-model="piyangoStore.araciUyeData.sirketSicilNo" label="Sicil No" />
|
||||
<form-display half v-model="piyangoStore.araciUyeData.sirketMersis" label="Mersis No" />
|
||||
<form-display v-model="piyangoStore.araciUyeData.adres" label="Adresi" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, onBeforeMount } from 'vue'
|
||||
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
const dataStore = useDataStore()
|
||||
import { useGlobalStore } from '@/stores/globalStore'
|
||||
const globalStore = useGlobalStore()
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { usePreviewStore } from '@/stores/previewStore'
|
||||
const previewStore = usePreviewStore()
|
||||
import { useGlobalDataStore } from '@/stores/globalDataStore'
|
||||
const globalDataStore = useGlobalDataStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
</script>
|
||||
@ -0,0 +1,140 @@
|
||||
<template>
|
||||
<div :class="['form-part']" id="display-bilgi">
|
||||
<div class="form-part-title">
|
||||
<h4>Piyango Bilgileri</h4>
|
||||
<div class="form-part-title-buttons" v-if="!isPreview">
|
||||
<button
|
||||
@click="SendChangeRequest"
|
||||
v-if="piyangoStore.lotteryApprove === 4 && !usersStore.isPanelUser && loaded">
|
||||
Değişiklik Talebi Gönder
|
||||
</button>
|
||||
<button
|
||||
@click="OpenPreviewPanel"
|
||||
v-if="
|
||||
piyangoStore.lotteryData.amacpiyangoId !== 3 &&
|
||||
piyangoStore.lotteryApprove !== 12 &&
|
||||
loaded
|
||||
">
|
||||
Önizleme
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<piyango-bilgileri-display-content v-if="loaded" :isPreview="isPreview" />
|
||||
</div>
|
||||
<panel-wrapper
|
||||
wide
|
||||
v-if="previewPanel"
|
||||
v-model="previewPanel"
|
||||
panel-title="Piyango Bilgileri Önizleme">
|
||||
<template #panelContent>
|
||||
<panel-piyango-yardim-amacli-onizleme
|
||||
v-model:id="previewId"
|
||||
v-if="piyangoStore.lotteryData.amacpiyangoId === 2" />
|
||||
<panel-piyango-onizleme v-model:id="previewId" v-else />
|
||||
</template>
|
||||
<template #footerButton>
|
||||
<div class="button-c button-save" @click="DownloadPDF">PDF İndir</div>
|
||||
<div class="button-c button-save" @click="PrintContent">Yazdır</div>
|
||||
</template>
|
||||
</panel-wrapper>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed, onBeforeMount } from 'vue'
|
||||
import { usePDF } from 'vue3-pdfmake'
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
|
||||
export interface Props {
|
||||
isPreview?: boolean
|
||||
}
|
||||
const props = withDefaults(defineProps<Props>(), { isPreview: false })
|
||||
|
||||
import PanelPiyangoOnizleme from '../panel/PanelPiyangoOnizleme.vue'
|
||||
import PanelPiyangoYardimAmacliOnizleme from '../panel/PanelPiyangoYardimAmacliOnizleme.vue'
|
||||
import PanelWrapper from '@/components/PanelWrapper.vue'
|
||||
import PiyangoBilgileriDisplayContent from '../content/PiyangoBilgileriDisplayContent.vue'
|
||||
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
const dataStore = useDataStore()
|
||||
import { usePreviewStore } from '@/stores/previewStore'
|
||||
const previewStore = usePreviewStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
import { usePiyangoOnayService } from '../../service/piyangoOnayService'
|
||||
const piyangoOnayService = usePiyangoOnayService()
|
||||
import { usePiyangoOnayStore } from '../../stores/piyangoOnayStore'
|
||||
const piyangoOnayStore = usePiyangoOnayStore()
|
||||
|
||||
const loaded = ref<boolean>(false)
|
||||
const previewPanel = ref<boolean>(false)
|
||||
const previewId = ref<number>(0)
|
||||
|
||||
const GetData = async () => {
|
||||
piyangoStore.ResetLotteryContent()
|
||||
|
||||
let data = await dataStore.dataGet(
|
||||
'CekilisBilgi/Cekilis/' + piyangoStore.selectedLottery
|
||||
)
|
||||
|
||||
if (data !== 'errorfalse') {
|
||||
Object.assign(piyangoStore.lotteryData, data)
|
||||
piyangoStore.lotterySelectedProvience =
|
||||
piyangoStore.lotteryData.kampsamIlStrList.join(', ')
|
||||
|
||||
await GetDuzenleyen()
|
||||
|
||||
if (piyangoStore.lotteryData.baglisirketId !== null) await GetAraciUye()
|
||||
piyangoStore.lotteryIlanTarihi = piyangoStore.lotteryData.ilantarihi
|
||||
piyangoStore.lotteryCreationDate = piyangoStore.lotteryData.olusturmaTarihi
|
||||
|
||||
setTimeout(() => {
|
||||
loaded.value = true
|
||||
}, 30)
|
||||
}
|
||||
}
|
||||
|
||||
const GetDuzenleyen = async () => {
|
||||
let data = await dataStore.dataGet(
|
||||
'Auth/userbyuserid/' + piyangoStore.lotteryData.duzenleyenId
|
||||
)
|
||||
|
||||
if (data !== 'errorfalse') {
|
||||
Object.assign(piyangoStore.duzenleyenData, data)
|
||||
piyangoStore.customerApproved = data.islemTipi === 4
|
||||
}
|
||||
}
|
||||
|
||||
const GetAraciUye = async () => {
|
||||
let data = await dataStore.dataGet(
|
||||
'Auth/userbyuserid/' + piyangoStore.lotteryData.baglisirketId
|
||||
)
|
||||
if (data !== 'errorfalse') {
|
||||
Object.assign(piyangoStore.araciUyeData, data)
|
||||
}
|
||||
}
|
||||
|
||||
const OpenPreviewPanel = () => {
|
||||
previewPanel.value = true
|
||||
}
|
||||
|
||||
const pdfmake = usePDF()
|
||||
const DownloadPDF = async () => {
|
||||
var pdfData: string = document.querySelector('.pdf-content')?.outerHTML || ''
|
||||
previewStore.CreatePdfFromHtml(pdfmake, pdfData)
|
||||
}
|
||||
const PrintContent = () => {
|
||||
previewStore.PrintContent(previewId.value)
|
||||
}
|
||||
|
||||
const SendChangeRequest = async () => {
|
||||
piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId = 7
|
||||
piyangoOnayStore.piyangoOnayForm.file = ''
|
||||
piyangoOnayStore.piyangoOnayForm.aciklama = ''
|
||||
await piyangoOnayService.SaveOnayDurum()
|
||||
}
|
||||
|
||||
onBeforeMount(async () => {
|
||||
await dataStore.GetIlList()
|
||||
await GetData()
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,40 @@
|
||||
<template>
|
||||
<div class="form-part">
|
||||
<div class="form-part-title">
|
||||
<h4>Gerekli Dokümanlar</h4>
|
||||
</div>
|
||||
<div class="form-part-content" v-if="piyangoDocumentStore.loaded">
|
||||
<template v-if="piyangoDocumentStore.piyangoDocumentsList.length > 0">
|
||||
<template v-for="(file, i) in piyangoDocumentStore.piyangoDocumentsList">
|
||||
<file-list-item
|
||||
:editable="false"
|
||||
:data="file"
|
||||
title="dokumanAdi"
|
||||
:filePath="file.url" />
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<div class="form-inner-comment" v-if="usersStore.isPanelUser">
|
||||
Eklenmiş dosya bulunamadı.
|
||||
</div>
|
||||
<div v-else>
|
||||
Eklenmiş dosya bulunamadı. Üstteki butonu kullanarak dosya ekleyebilirsiniz.
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onBeforeMount } from 'vue'
|
||||
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { usePiyangoDocumentStore } from '../../stores/piyangoDocumentStore'
|
||||
const piyangoDocumentStore = usePiyangoDocumentStore()
|
||||
import { usePiyangoDocumentService } from '../../service/piyangoDocumentService'
|
||||
const piyangoDocumentService = usePiyangoDocumentService()
|
||||
|
||||
onBeforeMount(async () => {
|
||||
await piyangoDocumentService.GetDocumentList()
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,94 @@
|
||||
<template>
|
||||
<div :class="['form-part']" id="display-bilgi">
|
||||
<div class="form-part-title">
|
||||
<h4>Piyangoyu Düzenleyen Bilgileri</h4>
|
||||
</div>
|
||||
<div class="form-part-content">
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 18">
|
||||
<form-display half v-model="piyangoStore.duzenleyenData.gercekAdi" label="Ad" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.gercekSoyadi"
|
||||
label="Soyadı" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.gercekTCKN"
|
||||
label="TCKN" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.gercekVergiDairesi"
|
||||
label="Vergi Dairesi" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.gercekVergiNo"
|
||||
label="Vergi No" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.gercekOdaKayitNo"
|
||||
label="Oda Kayıt No/ Ticaret Sicil No" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.gercekTicariUnvan"
|
||||
label="Ticari Ünvan" />
|
||||
</template>
|
||||
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 21">
|
||||
<form-display v-model="piyangoStore.duzenleyenData.tuzelUnvan" label="Ünvan" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.tuzelVergiDairesi"
|
||||
label="Vergi Dairesi" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.tuzelVergiNo"
|
||||
label="Vergi No" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.tuzelSicilNo"
|
||||
label="Sicil No" />
|
||||
<div class="form-item form-item-half"></div>
|
||||
</template>
|
||||
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 22">
|
||||
<form-display v-model="piyangoStore.duzenleyenData.dernekUnvan" label="Ünvan" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.dernekVergiDairesi"
|
||||
label="Vergi Dairesi" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.dernekVergiNo"
|
||||
label="Vergi No" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.dernekSicilNo"
|
||||
label="Sicil No" />
|
||||
<div class="form-item form-item-half"></div>
|
||||
</template>
|
||||
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 26">
|
||||
<form-display v-model="piyangoStore.duzenleyenData.kamuUnvan" label="Ünvan" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.kamuVergiDairesi"
|
||||
label="Vergi Dairesi" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.kamuVergiNo"
|
||||
label="Vergi No" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoStore.duzenleyenData.kamuSicilNo"
|
||||
label="Sicil No" />
|
||||
<div class="form-item form-item-half"></div>
|
||||
</template>
|
||||
<form-display v-model="piyangoStore.duzenleyenData.adres" label="Adresi" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { useGlobalDataStore } from '@/stores/globalDataStore'
|
||||
const globalDataStore = useGlobalDataStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
</script>
|
||||
@ -0,0 +1,116 @@
|
||||
<template>
|
||||
<div class="form-part section-list" id="display-ikramiye" v-if="!isPreview">
|
||||
<list-table-content
|
||||
v-if="piyangoIkramiyeStore.loaded"
|
||||
title="İkramiye Listesi"
|
||||
icon="draws"
|
||||
:tableHeader="ikramiyeTableHeader"
|
||||
listText="İkramiye"
|
||||
addAction=""
|
||||
:apiList="'Ikramiye/Cekilis/' + piyangoStore.selectedLottery"
|
||||
rowNumber
|
||||
:totalValues="piyangoIkramiyeStore.totalIkramiyeValues" />
|
||||
</div>
|
||||
<template v-else>
|
||||
<list-table-content
|
||||
v-if="piyangoIkramiyeStore.loaded"
|
||||
formTitle="İkramiye Listesi"
|
||||
:tableHeader="ikramiyeTableHeader"
|
||||
listText="İkramiye"
|
||||
addAction=""
|
||||
:apiList="'Ikramiye/Cekilis/' + piyangoStore.selectedLottery"
|
||||
rowNumber
|
||||
:totalValues="piyangoIkramiyeStore.totalIkramiyeValues"
|
||||
page="form"
|
||||
:isPreview="isPreview" />
|
||||
</template>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, onBeforeMount, watch } from 'vue'
|
||||
import { useGlobalStore } from '@/stores/globalStore'
|
||||
const globalStore = useGlobalStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
import { usePiyangoServices } from '../../service/piyangoServices'
|
||||
const piyangoServices = usePiyangoServices()
|
||||
|
||||
import { usePiyangoIkramiyeStore } from '../../stores/piyangoIkramiyeStore'
|
||||
const piyangoIkramiyeStore = usePiyangoIkramiyeStore()
|
||||
import { usePiyangoIkramiyeService } from '../../service/piyangoIkramiyeService'
|
||||
const piyangoIkramiyeService = usePiyangoIkramiyeService()
|
||||
|
||||
export interface Props {
|
||||
isPreview?: boolean
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), { isPreview: false })
|
||||
|
||||
const loaded = ref<boolean>(false)
|
||||
|
||||
const ikramiyeTableHeader = ref<Record<string, any>>([
|
||||
{
|
||||
name: 'cinsi',
|
||||
title: 'Cinsi, Markası, Modeli',
|
||||
computeHtml: (v: Record<string, any>): string => {
|
||||
return `${v.cinsi}, ${v.marka}, ${v.model}`
|
||||
},
|
||||
style: { width: '20%' }
|
||||
},
|
||||
{
|
||||
name: 'birimFiyat',
|
||||
title: 'Birim Değeri (KDV+ÖTV Dahil)',
|
||||
sort: true,
|
||||
price: true,
|
||||
computeHtml: (v: Record<string, any>): string => {
|
||||
if (v.paraBirimi !== null)
|
||||
return `${globalStore.toTrLocale(v.birimFiyat)} ${
|
||||
v.paraBirimi.paraBirimiSembol
|
||||
}`
|
||||
else return globalStore.toTrLocale(v.birimFiyat)
|
||||
},
|
||||
style: { width: '10%' }
|
||||
},
|
||||
{
|
||||
name: 'asilTalihliAdedi',
|
||||
title: piyangoStore.isLotteryForCharity ? 'Talihli Adedi' : 'Asil Talihli Adedi',
|
||||
sort: true
|
||||
},
|
||||
{
|
||||
name: 'toplamDeger',
|
||||
title: 'Toplam Değer',
|
||||
sort: true,
|
||||
price: true,
|
||||
compute: (v: Record<string, any>): string => {
|
||||
if (v.paraBirimi !== null)
|
||||
return `${globalStore.toTrLocale(v.toplamDeger)} ${
|
||||
v.paraBirimi.paraBirimiSembol
|
||||
}`
|
||||
else return globalStore.toTrLocale(v.toplamDeger)
|
||||
}
|
||||
}
|
||||
])
|
||||
|
||||
const TableHeaderColumns = () =>{
|
||||
if (!piyangoStore.isLotteryForCharity) {
|
||||
ikramiyeTableHeader.value.push({
|
||||
name: 'yedekTalihliAdedi',
|
||||
title: 'Yedek Talihli Adedi',
|
||||
sort: true
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
onBeforeMount(async () => {
|
||||
piyangoIkramiyeStore.loaded = false
|
||||
await piyangoServices.GetParaBirimleri()
|
||||
TableHeaderColumns()
|
||||
piyangoIkramiyeStore.loaded = true
|
||||
})
|
||||
|
||||
watch(
|
||||
() => piyangoStore.isLotteryForCharity,
|
||||
() => {
|
||||
TableHeaderColumns()
|
||||
}
|
||||
)
|
||||
</script>
|
||||
@ -0,0 +1,54 @@
|
||||
<template>
|
||||
<div :class="['form-part']" id="display-irtibat">
|
||||
<div class="form-part-title">
|
||||
<h4>İrtibat Bilgileri</h4>
|
||||
</div>
|
||||
<div class="form-part-content" v-if="loaded">
|
||||
<form-display
|
||||
v-model="piyangoContactStore.contactData.adSoyad"
|
||||
label="Adı ve Soyadı"
|
||||
half />
|
||||
<form-display v-model="piyangoContactStore.contactData.unvan" label="Ünvanı" half />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoContactStore.contactData.telefonNumarasi"
|
||||
label="Telefon Numarası" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoContactStore.contactData.faksNumarasi"
|
||||
label="Faks Numarası" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoContactStore.contactData.eposta"
|
||||
label="E-posta adresi" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onBeforeMount } from 'vue'
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
const dataStore = useDataStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
import { usePiyangoContactStore } from '../../stores/piyangoContactStore'
|
||||
const piyangoContactStore = usePiyangoContactStore()
|
||||
|
||||
const loaded = ref<boolean>(false)
|
||||
|
||||
const GetData = async () => {
|
||||
loaded.value = false
|
||||
let dt = await dataStore.dataGet(
|
||||
'IrtibatBilgi/GetIrtibatBilgiCekilis/' + piyangoStore.selectedLottery
|
||||
)
|
||||
|
||||
if (dt !== 'errorfalse') {
|
||||
Object.assign(piyangoContactStore.contactData, dt)
|
||||
}
|
||||
setTimeout(()=>{
|
||||
loaded.value = true
|
||||
},30)
|
||||
}
|
||||
onBeforeMount(async () => {
|
||||
await GetData()
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,29 @@
|
||||
<template>
|
||||
<list-table-content
|
||||
:tableHeader="tableHeader"
|
||||
formTitle="İlan Edilecek Diğer Mecralar"
|
||||
listText="Mecra"
|
||||
addAction=""
|
||||
:apiList="'Mecra/Cekilis/' + piyangoStore.selectedLottery"
|
||||
page="form"
|
||||
:isPreview="isPreview" />
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
|
||||
export interface Props {
|
||||
isPreview?: boolean
|
||||
}
|
||||
const props = withDefaults(defineProps<Props>(), { isPreview: false })
|
||||
|
||||
const tableHeader = ref<Record<string, any>>([
|
||||
{
|
||||
name: 'mecraAdi',
|
||||
title: 'Mecra Adı',
|
||||
sort: props.isPreview ? false : true
|
||||
}
|
||||
])
|
||||
</script>
|
||||
@ -0,0 +1,39 @@
|
||||
<template>
|
||||
<div class="form-part">
|
||||
<div class="form-part-title">
|
||||
<h4>Piyango Resimleri</h4>
|
||||
</div>
|
||||
<div class="form-part-content">
|
||||
<template v-for="(file, i) in fileList">
|
||||
<file-list-item
|
||||
:data="file"
|
||||
onlyPreview
|
||||
:editable="false"
|
||||
:filePath="file.resimYolu" />
|
||||
</template>
|
||||
<div v-if="usersStore.isPanelUser && fileList.length === 0" class="form-inner-comment">
|
||||
Eklenmiş resim bulunamadı.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onBeforeMount } from 'vue'
|
||||
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
const dataStore = useDataStore()
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
|
||||
const fileList = ref<Record<string,any>[]>([])
|
||||
|
||||
const GetData = async () => {
|
||||
let dt = await dataStore.dataGet('CekilisResim/Cekilis/' + piyangoStore.selectedLottery)
|
||||
if (dt !== 'errorfalse') fileList.value.splice(0, fileList.value.length, ...dt.data)
|
||||
}
|
||||
onBeforeMount(async () => {
|
||||
await GetData()
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,102 @@
|
||||
<template>
|
||||
<div class="form-part form-title" v-if="usersStore.isPanelUser">
|
||||
<div class="form-title-buttons">
|
||||
<button
|
||||
class="button-c button-save"
|
||||
@click="piyangoTeminatService.SaveTeminatDurum"
|
||||
:disabled="!piyangoTeminatValidationStore.formChanged">
|
||||
Kaydet
|
||||
</button>
|
||||
<button
|
||||
v-if="piyangoTeminatValidationStore.formChanged"
|
||||
class="button-c button-cancel panel-close"
|
||||
@click="piyangoTeminatStore.ResetFormData">
|
||||
Vazgeç
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div :class="['form-part', piyangoTeminatValidationStore.formChanged ? 'changed' : '']"> <div
|
||||
class="form-part-content"
|
||||
v-if="piyangoTeminatStore.loaded">
|
||||
<form-select
|
||||
v-if="usersStore.isPanelUser"
|
||||
label="İşlem"
|
||||
:listData="piyangoDataStore.piyangoTeminatDurumlari"
|
||||
listText="value"
|
||||
listVal="id"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.state"
|
||||
required
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.state"
|
||||
@change="OnKeyup" />
|
||||
|
||||
<form-display
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.amount"
|
||||
half
|
||||
label="Tutarı" />
|
||||
|
||||
<form-display
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminatParentTypeText"
|
||||
half
|
||||
label="Para Birimi" />
|
||||
|
||||
<form-display
|
||||
label="Teminat Türü"
|
||||
half
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminantChildTypeText" />
|
||||
|
||||
<form-display
|
||||
type="date"
|
||||
half
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminantDate"
|
||||
label="Tarih" />
|
||||
|
||||
<form-display
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminantNo"
|
||||
half
|
||||
label="No" />
|
||||
<div class="form-item form-item-half"></div>
|
||||
|
||||
<form-display
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.bankName"
|
||||
half
|
||||
label="Banka Adı" />
|
||||
|
||||
<form-display
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.bankBranch"
|
||||
half
|
||||
label="Banka Şubesi" />
|
||||
|
||||
<!--form-display
|
||||
label="İşlem"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.stateText" /-->
|
||||
|
||||
<file-list-item
|
||||
title="Dosya"
|
||||
:data="piyangoTeminatStore.piyangoTeminatFormData"
|
||||
:editable="false"
|
||||
:filePath="piyangoTeminatStore.piyangoTeminatFormData.teminantDocumentUrl"
|
||||
:usePath="true"
|
||||
:onlyPreview="true" />
|
||||
|
||||
<form-display
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.description"
|
||||
label="Açıklama" />
|
||||
</div></div>
|
||||
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { usePiyangoTeminatStore } from '../../stores/piyangoTeminatStore'
|
||||
const piyangoTeminatStore = usePiyangoTeminatStore()
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { usePiyangoDataStore } from '../../stores/piyangoDataStore'
|
||||
const piyangoDataStore = usePiyangoDataStore()
|
||||
import { usePiyangoTeminatValidationStore } from '../../validation/piyangoTeminatValidationStore'
|
||||
const piyangoTeminatValidationStore = usePiyangoTeminatValidationStore()
|
||||
import { usePiyangoTeminatService } from '../../service/piyangoTeminatService'
|
||||
const piyangoTeminatService = usePiyangoTeminatService()
|
||||
|
||||
const OnKeyup = () => {
|
||||
piyangoTeminatValidationStore.formChanged = true
|
||||
}
|
||||
</script>
|
||||
@ -0,0 +1,127 @@
|
||||
<template>
|
||||
<div :class="['form-part']" id="display-yardimamacli">
|
||||
<div class="form-part-title">
|
||||
<h4>Yardım Amaçlı Piyango Bilet Bilgileri</h4>
|
||||
</div>
|
||||
<div class="form-part-content" v-if="piyangoYardimAmacliStore.loaded">
|
||||
<div class="list-wrapper">
|
||||
<table
|
||||
:class="[
|
||||
'table-border table-colored table-list',
|
||||
!piyangoYardimAmacliValidationStore.isFormValid ? 'invalid' : ''
|
||||
]">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
<div class="table-head-content">
|
||||
<span></span>
|
||||
</div>
|
||||
</th>
|
||||
<th>
|
||||
<div class="table-head-content">
|
||||
<span>Başlangıç Numarası</span>
|
||||
</div>
|
||||
</th>
|
||||
<th>
|
||||
<div class="table-head-content">
|
||||
<span>Bitiş Numarası</span>
|
||||
</div>
|
||||
</th>
|
||||
<th>
|
||||
<div class="table-head-content">
|
||||
<span>Basılacak Adet</span>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<template v-for="(rakam, i) in piyangoYardimAmacliStore.yardimAmacliRakamlar">
|
||||
<tr
|
||||
v-if="
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamBaslangic'
|
||||
] !== null &&
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamBitis'
|
||||
] !== null &&
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamAdet'
|
||||
] !== null
|
||||
">
|
||||
<td>{{ rakam.title }}</td>
|
||||
<td>
|
||||
<form-display
|
||||
v-model="
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamBaslangic'
|
||||
]
|
||||
" />
|
||||
</td>
|
||||
<td>
|
||||
<form-display
|
||||
v-model="
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamBitis'
|
||||
]
|
||||
" />
|
||||
</td>
|
||||
<td>
|
||||
<form-display
|
||||
v-model="
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamAdet'
|
||||
]
|
||||
" />
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
<tr>
|
||||
<td colspan="3" style="text-align:right"><strong>Toplam Basılacak Bilet:</strong></td>
|
||||
<td>{{ globalStore.toTrLocale(piyangoYardimAmacliStore.toplamBilet) }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div
|
||||
class="form-inner-comment alert-d"
|
||||
v-if="!piyangoYardimAmacliValidationStore.isFormValid">
|
||||
<template
|
||||
v-for="msg in piyangoYardimAmacliValidationStore.biletInvalidMessages">
|
||||
{{ msg }}
|
||||
<br />
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-item"></div>
|
||||
<form-display
|
||||
v-model="piyangoYardimAmacliStore.piyangoYardimAmacliFormData.birimSatisFiyati"
|
||||
label="Birim Satış Fiyatı (₺)" />
|
||||
<form-display
|
||||
v-model="piyangoYardimAmacliStore.piyangoYardimAmacliFormData.basimevi"
|
||||
label="Basımevinin Adı" />
|
||||
<form-display
|
||||
v-model="piyangoYardimAmacliStore.piyangoYardimAmacliFormData.basimeviAdresi"
|
||||
label="Basımevinin Adresi" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { onBeforeMount } from 'vue'
|
||||
|
||||
import { useGlobalStore } from '@/stores/globalStore'
|
||||
const globalStore = useGlobalStore()
|
||||
import { usePiyangoYardimAmacliStore } from '../../stores/piyangoYardimAmacliStore'
|
||||
const piyangoYardimAmacliStore = usePiyangoYardimAmacliStore()
|
||||
import { usePiyangoYardimAmacliValidationStore } from '../../validation/piyangoYardimAmacliValidationStore'
|
||||
const piyangoYardimAmacliValidationStore = usePiyangoYardimAmacliValidationStore()
|
||||
import { usePiyangoYardimAmacliService } from '../../service/piyangoYardimAmacliService'
|
||||
const piyangoYardimAmacliService = usePiyangoYardimAmacliService()
|
||||
|
||||
onBeforeMount(async () => {
|
||||
await piyangoYardimAmacliService.GetYardimAmacliData()
|
||||
piyangoYardimAmacliValidationStore.CheckBiletEmpty()
|
||||
|
||||
if (!piyangoYardimAmacliValidationStore.allBiletInvalid) {
|
||||
piyangoYardimAmacliValidationStore.CheckBiletSatir()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,705 @@
|
||||
<template>
|
||||
<strong
|
||||
style="
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
font-size: 13pt;
|
||||
margin-bottom: 12px;
|
||||
text-align: center;
|
||||
">
|
||||
MİLLİ PİYANGO İDARESİ GENEL MÜDÜRLÜĞÜ
|
||||
<br />
|
||||
Bahisler ve Oyunlar Dairesi Başkanlığına
|
||||
</strong>
|
||||
<br />
|
||||
<div style="display: inline-block; width: 100%; font-size: 10pt">
|
||||
Şirketimizce/Kuruluşumuzca
|
||||
<strong>{{ piyangoStore.lotteryData.amacpiyango }}</strong>
|
||||
düzenlemek üzere, aşağıda belirtilen koşullarda piyango düzenlemek üzere gerekli iznin
|
||||
verilmesi hususunda bilgilerinizi ve gereğini arz ederiz.
|
||||
<br />
|
||||
<br />
|
||||
</div>
|
||||
<strong style="font-size: 10pt; margin-bottom: 12px">
|
||||
PİYANGO İLE İLGİLİ BİLGİLER
|
||||
</strong>
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong style="font-size: 10pt; margin-bottom: 12px">
|
||||
1- Piyangoyu Düzenleyenin
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<template v-if="loaded">
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 18">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Adı/Soyadı:</strong>
|
||||
{{
|
||||
piyangoStore.duzenleyenData.unvan ||
|
||||
piyangoStore.duzenleyenData.gercekAdi +
|
||||
' ' +
|
||||
piyangoStore.duzenleyenData.gercekSoyadi
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Ticari Ünvanı:</strong>
|
||||
{{
|
||||
piyangoStore.duzenleyenData.unvan ||
|
||||
piyangoStore.duzenleyenData.gercekTicariUnvan
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 21">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Ünvanı:</strong>
|
||||
{{
|
||||
piyangoStore.duzenleyenData.unvan ||
|
||||
piyangoStore.duzenleyenData.tuzelUnvan
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 22">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Ünvanı:</strong>
|
||||
{{
|
||||
piyangoStore.duzenleyenData.unvan ||
|
||||
piyangoStore.duzenleyenData.dernekUnvan
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 26">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Ünvanı:</strong>
|
||||
{{
|
||||
piyangoStore.duzenleyenData.unvan || piyangoStore.duzenleyenData.kamuUnvan
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Adresi:</strong>
|
||||
{{ piyangoStore.duzenleyenData.adres }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 18">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Bağlı Bulunduğu Oda Kayıt No/ Ticaret Sicil No:</strong>
|
||||
{{ piyangoStore.duzenleyenData.gercekOdaKayitNo }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Bağlı Bulunduğu Vergi Dairesi/Numarası:</strong>
|
||||
{{ piyangoStore.duzenleyenData.gercekVergiDairesi }} /
|
||||
{{ piyangoStore.duzenleyenData.gercekVergiNo }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>TCKN:</strong>
|
||||
{{ piyangoStore.duzenleyenData.gercekTCKN }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 21">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Ticaret Sicil No:</strong>
|
||||
{{ piyangoStore.duzenleyenData.tuzelSicilNo }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Bağlı Bulunduğu Vergi Dairesi/Numarası:</strong>
|
||||
{{ piyangoStore.duzenleyenData.tuzelVergiDairesi }} /
|
||||
{{ piyangoStore.duzenleyenData.tuzelVergiNo }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 22">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Sicil No:</strong>
|
||||
{{ piyangoStore.duzenleyenData.dernekSicilNo }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Bağlı Bulunduğu Vergi Dairesi/Numarası:</strong>
|
||||
{{ piyangoStore.duzenleyenData.dernekVergiDairesi }} /
|
||||
{{ piyangoStore.duzenleyenData.dernekVergiNo }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 26">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Sicil No:</strong>
|
||||
{{ piyangoStore.duzenleyenData.kamuSicilNo }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Bağlı Bulunduğu Vergi Dairesi/Numarası:</strong>
|
||||
{{ piyangoStore.duzenleyenData.kamuVergiDairesi }} /
|
||||
{{ piyangoStore.duzenleyenData.kamuVergiNo }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>İrtibat Kurulacak Kişi Adı Soyadı:</strong>
|
||||
{{ customerIrtibatStore.customerIrtibatForm.firstName }}
|
||||
{{ customerIrtibatStore.customerIrtibatForm.lastName }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>İrtibat Telefon Numarası:</strong>
|
||||
{{ customerIrtibatStore.customerIrtibatForm.phone }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<template v-if="piyangoStore.lotteryData.baglisirketId !== null">
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
Piyangoyu Yürütenin:
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayout'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Ünvanı:</strong>
|
||||
{{ piyangoStore.araciUyeData.sirketUnvan }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Adresi:</strong>
|
||||
{{ piyangoStore.araciUyeData.adres }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Bağlı Bulunduğu Vergi Dairesi/Numarası:</strong>
|
||||
{{ piyangoStore.araciUyeData.sirketVergiDairesi }} /
|
||||
{{ piyangoStore.araciUyeData.sirketVergiNo }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Ticaret Sicil No:</strong>
|
||||
{{ piyangoStore.araciUyeData.sirketSicilNo }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</template>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
2- Kampanyanın:
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>Kampanya Başlangıç Tarihi ve Saati:</strong>
|
||||
<br />
|
||||
{{
|
||||
dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.baslangicTarihi,
|
||||
pattern: 'dd-mm-yy-t'
|
||||
})
|
||||
}}
|
||||
</td>
|
||||
<td>
|
||||
<strong>Kampanya Bitiş Tarihi ve Saati:</strong>
|
||||
<br />
|
||||
{{
|
||||
dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.bitisTarihi,
|
||||
pattern: 'dd-mm-yy-t'
|
||||
})
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Kapsadığı Yerler:</strong>
|
||||
{{
|
||||
piyangoStore.lotteryData.kampsamIlStrList.length ===
|
||||
globalDataStore.ilList.length
|
||||
? 'Türkiye Geneli'
|
||||
: piyangoStore.lotterySelectedProvience
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
3-Çekilişe katılma şekil ve şartları:
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
{{ piyangoStore.lotteryData.cekilisSartveSekilleri }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Katılımcı Listesinin İçeriği ve Hazırlanma Şekli:</strong>
|
||||
{{ piyangoStore.lotteryData.katilimListesi }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
4-Çekilişin;
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Tarihi ve saati:</strong>
|
||||
{{
|
||||
dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.cekilisTarihi,
|
||||
pattern: 'dd-mm-yy-t'
|
||||
})
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Açık adresi:</strong>
|
||||
{{
|
||||
piyangoStore.lotteryData.adres +
|
||||
' ' +
|
||||
piyangoStore.lotteryData.il +
|
||||
' ' +
|
||||
piyangoStore.lotteryData.ilce
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Ne şekilde yapılacağı:</strong>
|
||||
{{ piyangoStore.lotteryData.cekilisYontemi }}
|
||||
<div
|
||||
style="margin-top: 16px"
|
||||
v-if="piyangoStore.lotteryData.cekilisYontemiId === 1">
|
||||
<span v-for="txt in piyangoDataStore.fizikselTicariMessage">
|
||||
{{ txt }}
|
||||
<br />
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
5-Çekiliş sonuçlarının ilan edileceği gazetenin:
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Adı:</strong>
|
||||
{{ piyangoStore.lotteryData.ilanEdilecekGazete }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>Tarihi:</strong>
|
||||
{{
|
||||
dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.ilantarihi,
|
||||
pattern: 'dd-mm-yy'
|
||||
})
|
||||
}}
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr v-if="piyangoMecraStore.piyangoAllMecraData.length > 0">
|
||||
<td colspan="2">
|
||||
Ayrıca, çekiliş sonuçları
|
||||
<strong>
|
||||
<template v-for="(mecra, i) in piyangoMecraStore.piyangoAllMecraData">
|
||||
{{ mecra.mecraAdi
|
||||
}}{{ i !== piyangoMecraStore.piyangoAllMecraData.length - 1 ? ', ' : '' }}
|
||||
</template>
|
||||
</strong>
|
||||
{{
|
||||
piyangoMecraStore.piyangoAllMecraData.length > 1
|
||||
? 'mecralarında'
|
||||
: 'mecrasında'
|
||||
}}
|
||||
ilan edilecektir.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Çekilişten sonra asil ve yedek talihlilerin adreslerine aynı anda taahhütlü
|
||||
posta kanalıyla tebligat yapılacaktır.
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>6-Asil talihlilerin son başvuru tarihi:</strong>
|
||||
{{
|
||||
dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.asilSonBasvuruTarihi,
|
||||
pattern: 'dd-mm-yy'
|
||||
})
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Yedek talihlilerin son başvuru tarihi:</strong>
|
||||
{{
|
||||
dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.yedekSonBasvuruTarihi,
|
||||
pattern: 'dd-mm-yy'
|
||||
})
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>İkramiyelerin son teslim edilme/kullanma tarihleri:</strong>
|
||||
{{
|
||||
dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.ikramiyeTeslimTarihi,
|
||||
pattern: 'dd-mm-yy'
|
||||
})
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
7-Diğer hususlar:
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div>
|
||||
<span v-for="txt in digerHususlar">
|
||||
{{ txt }}
|
||||
<br />
|
||||
</span>
|
||||
</div>
|
||||
<div style="margin-top: 16px">
|
||||
<span v-for="txt in piyangoDataStore.digerHusularTexts">
|
||||
{{ txt }}
|
||||
<br />
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
8-Piyangoya konu ikramiyeler:
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': ['10%', '30%', '15%', '15%', '15%', '15%'],'layout': 'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt"
|
||||
v-if="piyangoIkramiyeStore.piyangoAllIkramiyeData.length > 0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong>Sıra No</strong></td>
|
||||
<td><strong>Cinsi, Markası, Modeli</strong></td>
|
||||
<td><strong>Birim Değeri (KDV+ÖTV Dahil)</strong></td>
|
||||
<td>
|
||||
<strong>Asil Talihli Adedi</strong>
|
||||
</td>
|
||||
<td><strong>Toplam Değer</strong></td>
|
||||
<td><strong>Yedek Talihli Adedi</strong></td>
|
||||
</tr>
|
||||
<template v-for="(item, i) in piyangoIkramiyeStore.piyangoAllIkramiyeData">
|
||||
<tr>
|
||||
<td>{{ i + 1 }}</td>
|
||||
<td>{{ `${item.cinsi}, ${item.marka}, ${item.model}` }}</td>
|
||||
<td>
|
||||
{{
|
||||
item.paraBirimi !== null
|
||||
? `${globalStore.toTrLocale(item.birimFiyat)} ${
|
||||
item.paraBirimi.paraBirimiSembol
|
||||
}`
|
||||
: globalStore.toTrLocale(item.birimFiyat)
|
||||
}}
|
||||
</td>
|
||||
<td>{{ item.asilTalihliAdedi }}</td>
|
||||
<td>
|
||||
{{
|
||||
item.paraBirimi !== null
|
||||
? `${globalStore.toTrLocale(item.toplamDeger)} ${
|
||||
item.paraBirimi.paraBirimiSembol
|
||||
}`
|
||||
: globalStore.toTrLocale(item.toplamDeger)
|
||||
}}
|
||||
</td>
|
||||
<td>
|
||||
{{ item.yedekTalihliAdedi }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
<tr>
|
||||
<td colspan="3" style="text-align: right"><strong>TOPLAM:</strong></td>
|
||||
<td>{{ piyangoIkramiyeStore.piyangoAllIkramiyeTotals.asilTalihliAdedi }}</td>
|
||||
<td>
|
||||
{{
|
||||
`${globalStore.toTrLocale(
|
||||
piyangoIkramiyeStore.piyangoAllIkramiyeTotals.toplamDeger
|
||||
)} ${piyangoIkramiyeStore.piyangoAllIkramiyeParaBirimi}`
|
||||
}}
|
||||
</td>
|
||||
<td>{{ piyangoIkramiyeStore.piyangoAllIkramiyeTotals.yedekTalihliAdedi }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '30%','20%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>İrtibat Tel. No:</strong>
|
||||
{{ piyangoContactStore.contactData.telefonNumarasi }}
|
||||
</td>
|
||||
<td></td>
|
||||
<td>
|
||||
Tarih: / /
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>İrtibat Faks No:</strong>
|
||||
{{ piyangoContactStore.contactData.faksNumarasi }}
|
||||
</td>
|
||||
<td></td>
|
||||
<td>İMZA/KAŞE</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>İrtibat Kurulacak İlgilinin Adı/Soyadı:</strong>
|
||||
{{ piyangoContactStore.contactData.adSoyad }}
|
||||
</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</template>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onBeforeMount, computed } from 'vue'
|
||||
import { useGlobalStore } from '@/stores/globalStore'
|
||||
const globalStore = useGlobalStore()
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
const dataStore = useDataStore()
|
||||
import { useGlobalDataStore } from '@/stores/globalDataStore'
|
||||
const globalDataStore = useGlobalDataStore()
|
||||
import { useDateStore } from '@/stores/dateStore'
|
||||
const dateStore = useDateStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
import { usePiyangoContactStore } from '../../stores/piyangoContactStore'
|
||||
const piyangoContactStore = usePiyangoContactStore()
|
||||
import { usePiyangoMecraStore } from '../../stores/piyangoMecraStore'
|
||||
const piyangoMecraStore = usePiyangoMecraStore()
|
||||
import { usePiyangoMecraService } from '../../service/piyangoMecraService'
|
||||
const piyangoMecraService = usePiyangoMecraService()
|
||||
import { usePiyangoIkramiyeStore } from '../../stores/piyangoIkramiyeStore'
|
||||
const piyangoIkramiyeStore = usePiyangoIkramiyeStore()
|
||||
import { usePiyangoIkramiyeService } from '../../service/piyangoIkramiyeService'
|
||||
const piyangoIkramiyeService = usePiyangoIkramiyeService()
|
||||
import { useCustomerIrtibatStore } from '@/module/uyeler/stores/customerIrtibatStore'
|
||||
const customerIrtibatStore = useCustomerIrtibatStore()
|
||||
import { useCustomerIrtibatService } from '@/module/uyeler/service/customerIrtibatService'
|
||||
const customerIrtibatService = useCustomerIrtibatService()
|
||||
import { usePiyangoDataStore } from '../../stores/piyangoDataStore'
|
||||
const piyangoDataStore = usePiyangoDataStore()
|
||||
|
||||
const loaded = ref(false)
|
||||
|
||||
const digerHususlar = computed<string[]>(() => {
|
||||
return piyangoStore.lotteryData.digerHususlar.split('\n')
|
||||
})
|
||||
|
||||
onBeforeMount(async () => {
|
||||
await piyangoMecraService.GetAllMecralar()
|
||||
await customerIrtibatService.GetIrtibat(piyangoStore.duzenleyenData.id)
|
||||
await piyangoIkramiyeService.GetAllIkramiyeler()
|
||||
|
||||
await dataStore.GetIlList()
|
||||
|
||||
setTimeout(() => {
|
||||
loaded.value = true
|
||||
}, 30)
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,642 @@
|
||||
<template>
|
||||
<strong
|
||||
style="
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
font-size: 14pt;
|
||||
margin-bottom: 12px;
|
||||
text-align: center;
|
||||
">
|
||||
MİLLİ PİYANGO İDARESİ GENEL MÜDÜRLÜĞÜ
|
||||
<br />
|
||||
Bahisler ve Oyunlar Dairesi Başkanlığına
|
||||
</strong>
|
||||
<br />
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong style="font-size: 10pt; margin-bottom: 12px">
|
||||
1- Piyangoyu Düzenleyenin:
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<template v-if="loaded">
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 18">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Adı/Soyadı:</strong>
|
||||
{{ piyangoStore.duzenleyenData.gercekAdi }}
|
||||
{{ piyangoStore.duzenleyenData.gercekSoyadi }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Ticari Ünvanı:</strong>
|
||||
{{ piyangoStore.duzenleyenData.gercekTicariUnvan }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 21">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Ünvanı:</strong>
|
||||
{{ piyangoStore.duzenleyenData.tuzelUnvan }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 22">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Ünvanı:</strong>
|
||||
{{ piyangoStore.duzenleyenData.dernekUnvan }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 26">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Ünvanı:</strong>
|
||||
{{ piyangoStore.duzenleyenData.kamuUnvan }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Adresi:</strong>
|
||||
{{ piyangoStore.duzenleyenData.adres }}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 18">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Bağlı Bulunduğu Oda Kayıt No/ Ticaret Sicil No:</strong>
|
||||
{{ piyangoStore.duzenleyenData.gercekOdaKayitNo }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Bağlı Bulunduğu Vergi Dairesi/Numarası:</strong>
|
||||
{{ piyangoStore.duzenleyenData.gercekVergiDairesi }} /
|
||||
{{ piyangoStore.duzenleyenData.gercekVergiNo }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>TCKN:</strong>
|
||||
{{ piyangoStore.duzenleyenData.gercekTCKN }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 21">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Ticaret Sicil No:</strong>
|
||||
{{ piyangoStore.duzenleyenData.tuzelSicilNo }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Bağlı Bulunduğu Vergi Dairesi/Numarası:</strong>
|
||||
{{ piyangoStore.duzenleyenData.tuzelVergiDairesi }} /
|
||||
{{ piyangoStore.duzenleyenData.tuzelVergiNo }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 22">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Sicil No:</strong>
|
||||
{{ piyangoStore.duzenleyenData.dernekSicilNo }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Bağlı Bulunduğu Vergi Dairesi/Numarası:</strong>
|
||||
{{ piyangoStore.duzenleyenData.dernekVergiDairesi }} /
|
||||
{{ piyangoStore.duzenleyenData.dernekVergiNo }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
<template v-if="piyangoStore.duzenleyenData.basvuruTipId === 26">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Sicil No:</strong>
|
||||
{{ piyangoStore.duzenleyenData.kamuSicilNo }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Bağlı Bulunduğu Vergi Dairesi/Numarası:</strong>
|
||||
{{ piyangoStore.duzenleyenData.kamuVergiDairesi }} /
|
||||
{{ piyangoStore.duzenleyenData.kamuVergiNo }}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
2- Piyangonun Geçerli Olduğu Yerler:
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
{{
|
||||
piyangoStore.lotteryData.kampsamIlStrList.length ===
|
||||
globalDataStore.ilList.length
|
||||
? 'Türkiye Geneli'
|
||||
: piyangoStore.lotterySelectedProvience
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
3- Basılacak Biletlerin:
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
data-pdfmake="{'widths': [ '31%', '23%' , '23%' , '23%' ],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<thead>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th>Başlangıç Numarası</th>
|
||||
<th>Bitiş Numarası</th>
|
||||
<th>Basılacak Adet</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<template v-for="(rakam, i) in piyangoYardimAmacliStore.yardimAmacliRakamlar">
|
||||
<tr
|
||||
v-if="
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamBaslangic'
|
||||
] !== null &&
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamBitis'
|
||||
] !== null &&
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamAdet'
|
||||
] !== null
|
||||
">
|
||||
<td>{{ rakam.title }}</td>
|
||||
<td>
|
||||
{{
|
||||
globalStore.toTrLocale(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamBaslangic'
|
||||
]
|
||||
)
|
||||
}}
|
||||
</td>
|
||||
<td>
|
||||
{{
|
||||
globalStore.toTrLocale(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamBitis'
|
||||
]
|
||||
)
|
||||
}}
|
||||
</td>
|
||||
<td>
|
||||
{{
|
||||
globalStore.toTrLocale(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamAdet'
|
||||
]
|
||||
)
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
<tr>
|
||||
<td colspan="3" style="text-align: right">
|
||||
<strong>Toplam Basılacak Bilet:</strong>
|
||||
</td>
|
||||
<td>{{ globalStore.toTrLocale(piyangoYardimAmacliStore.toplamBilet) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<strong>Bilet Satış Fiyatı:</strong>
|
||||
{{ piyangoYardimAmacliStore.piyangoYardimAmacliFormData.birimSatisFiyati }} ₺
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
4- Biletlerin Basımı
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
data-pdfmake="{'widths': [ '50%', '50%' ],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Basımevinin Adı:</strong>
|
||||
{{ piyangoYardimAmacliStore.piyangoYardimAmacliFormData.basimevi }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Basımevinin Adresi:</strong>
|
||||
{{ piyangoYardimAmacliStore.piyangoYardimAmacliFormData.basimeviAdresi }}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
5- Çekiliş Tarih, Saati ve Adresi:
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Tarihi ve saati:</strong>
|
||||
{{
|
||||
dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.cekilisTarihi,
|
||||
pattern: 'dd-mm-yy-t'
|
||||
})
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Açık adresi:</strong>
|
||||
{{
|
||||
piyangoStore.lotteryData.adres +
|
||||
' ' +
|
||||
piyangoStore.lotteryData.il +
|
||||
' ' +
|
||||
piyangoStore.lotteryData.ilce
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Ne şekilde yapılacağı:</strong>
|
||||
{{ piyangoStore.lotteryData.cekilisYontemi }}
|
||||
<div
|
||||
style="margin-top: 16px"
|
||||
v-if="piyangoStore.lotteryData.cekilisYontemiId === 1">
|
||||
<span v-for="txt in piyangoDataStore.fizikselYardimMessage">
|
||||
{{ txt }}
|
||||
<br />
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
6- İkramiye Kazananların İlanı:
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Adı:</strong>
|
||||
{{ piyangoStore.lotteryData.ilanEdilecekGazete }}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<strong>Tarihi:</strong>
|
||||
{{
|
||||
dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.ilantarihi,
|
||||
pattern: 'dd-mm-yy'
|
||||
})
|
||||
}}
|
||||
</td>
|
||||
<td>
|
||||
<strong>2. İlan Tarihi:</strong>
|
||||
{{
|
||||
dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.ilantarihi2,
|
||||
pattern: 'dd-mm-yy'
|
||||
})
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr v-if="piyangoMecraStore.piyangoAllMecraData.length > 0">
|
||||
<td colspan="2">
|
||||
Ayrıca, çekiliş sonuçları
|
||||
<strong>
|
||||
<template v-for="(mecra, i) in piyangoMecraStore.piyangoAllMecraData">
|
||||
{{ mecra.mecraAdi
|
||||
}}{{ i !== piyangoMecraStore.piyangoAllMecraData.length - 1 ? ', ' : '' }}
|
||||
</template>
|
||||
</strong>
|
||||
{{
|
||||
piyangoMecraStore.piyangoAllMecraData.length > 1
|
||||
? 'mecralarında'
|
||||
: 'mecrasında'
|
||||
}}
|
||||
ilan edilecektir.
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
7- Talihlilerin Başvuru Tarihi:
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>Talihlilerin son başvuru tarihi:</strong>
|
||||
{{
|
||||
dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.asilSonBasvuruTarihi,
|
||||
pattern: 'dd-mm-yy'
|
||||
})
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong>İkramiyelerin son teslim tarihi:</strong>
|
||||
{{
|
||||
dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.ikramiyeTeslimTarihi,
|
||||
pattern: 'dd-mm-yy'
|
||||
})
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
8- Diğer Hususlar:
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div>
|
||||
<span v-for="txt in digerHususlar">
|
||||
{{ txt }}
|
||||
<br />
|
||||
</span>
|
||||
</div>
|
||||
<div style="margin-top: 16px">
|
||||
<span v-for="txt in piyangoDataStore.digerHusularYardimAmacliTexts">
|
||||
{{ txt }}
|
||||
<br />
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
class="table-no-line"
|
||||
data-pdfmake="{'widths': [ '50%', '50%'],'layout':'pdfTableLayoutNoLine'}"
|
||||
style="font-size: 10pt">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<strong class="title" style="font-size: 10pt; margin-bottom: 12px">
|
||||
9-Piyangoya Konu İkramiyeler:
|
||||
</strong>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table
|
||||
cellspacing="0"
|
||||
data-pdfmake="{'widths': ['10%', '45%', '15%', '15%', '15%'],'layout': 'pdfTableLayout'}"
|
||||
style="margin-bottom: 12px; font-size: 10pt"
|
||||
v-if="piyangoIkramiyeStore.piyangoAllIkramiyeData.length > 0">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><strong>Sıra No</strong></th>
|
||||
<th><strong>Cinsi, Markası, Modeli</strong></th>
|
||||
<th><strong>Birim Değeri (KDV+ÖTV Dahil)</strong></th>
|
||||
<th>
|
||||
<strong>Talihli Adedi</strong>
|
||||
</th>
|
||||
<th><strong>Toplam Değer</strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<template v-for="(item, i) in piyangoIkramiyeStore.piyangoAllIkramiyeData">
|
||||
<tr>
|
||||
<td>{{ i + 1 }}</td>
|
||||
<td>{{ `${item.cinsi}, ${item.marka}, ${item.model}` }}</td>
|
||||
<td>
|
||||
{{
|
||||
item.paraBirimi !== null
|
||||
? `${globalStore.toTrLocale(item.birimFiyat)} ${
|
||||
item.paraBirimi.paraBirimiSembol
|
||||
}`
|
||||
: globalStore.toTrLocale(item.birimFiyat)
|
||||
}}
|
||||
</td>
|
||||
<td>{{ item.asilTalihliAdedi }}</td>
|
||||
<td>
|
||||
{{
|
||||
item.paraBirimi !== null
|
||||
? `${globalStore.toTrLocale(item.toplamDeger)} ${
|
||||
item.paraBirimi.paraBirimiSembol
|
||||
}`
|
||||
: globalStore.toTrLocale(item.toplamDeger)
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
<tr>
|
||||
<td colspan="3" style="text-align: right"><strong>TOPLAM:</strong></td>
|
||||
<td>{{ piyangoIkramiyeStore.piyangoAllIkramiyeTotals.asilTalihliAdedi }}</td>
|
||||
<td>
|
||||
{{
|
||||
`${globalStore.toTrLocale(
|
||||
piyangoIkramiyeStore.piyangoAllIkramiyeTotals.toplamDeger
|
||||
)} ${piyangoIkramiyeStore.piyangoAllIkramiyeParaBirimi}`
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</template>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onBeforeMount, computed } from 'vue'
|
||||
import { useGlobalStore } from '@/stores/globalStore'
|
||||
const globalStore = useGlobalStore()
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
const dataStore = useDataStore()
|
||||
import { useGlobalDataStore } from '@/stores/globalDataStore'
|
||||
const globalDataStore = useGlobalDataStore()
|
||||
import { useDateStore } from '@/stores/dateStore'
|
||||
const dateStore = useDateStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
import { usePiyangoContactStore } from '../../stores/piyangoContactStore'
|
||||
const piyangoContactStore = usePiyangoContactStore()
|
||||
import { usePiyangoMecraStore } from '../../stores/piyangoMecraStore'
|
||||
const piyangoMecraStore = usePiyangoMecraStore()
|
||||
import { usePiyangoMecraService } from '../../service/piyangoMecraService'
|
||||
const piyangoMecraService = usePiyangoMecraService()
|
||||
import { usePiyangoIkramiyeStore } from '../../stores/piyangoIkramiyeStore'
|
||||
const piyangoIkramiyeStore = usePiyangoIkramiyeStore()
|
||||
import { usePiyangoIkramiyeService } from '../../service/piyangoIkramiyeService'
|
||||
const piyangoIkramiyeService = usePiyangoIkramiyeService()
|
||||
import { useCustomerIrtibatStore } from '@/module/uyeler/stores/customerIrtibatStore'
|
||||
const customerIrtibatStore = useCustomerIrtibatStore()
|
||||
import { useCustomerIrtibatService } from '@/module/uyeler/service/customerIrtibatService'
|
||||
const customerIrtibatService = useCustomerIrtibatService()
|
||||
import { usePiyangoDataStore } from '../../stores/piyangoDataStore'
|
||||
const piyangoDataStore = usePiyangoDataStore()
|
||||
import { usePiyangoYardimAmacliStore } from '../../stores/piyangoYardimAmacliStore'
|
||||
const piyangoYardimAmacliStore = usePiyangoYardimAmacliStore()
|
||||
|
||||
const loaded = ref(false)
|
||||
|
||||
const digerHususlar = computed<string[]>(() => {
|
||||
return piyangoStore.lotteryData.digerHususlar.split('\n')
|
||||
})
|
||||
|
||||
onBeforeMount(async () => {
|
||||
await piyangoMecraService.GetAllMecralar()
|
||||
await customerIrtibatService.GetIrtibat(piyangoStore.duzenleyenData.id)
|
||||
await piyangoIkramiyeService.GetAllIkramiyeler()
|
||||
|
||||
await dataStore.GetIlList()
|
||||
|
||||
loaded.value = true
|
||||
})
|
||||
</script>
|
||||
645
src/module/cekilisler/components/form/FormPiyangoBilgileri.vue
Normal file
645
src/module/cekilisler/components/form/FormPiyangoBilgileri.vue
Normal file
@ -0,0 +1,645 @@
|
||||
<template>
|
||||
<div class="form-part form-title" v-if="piyangoStore.isNew">
|
||||
<div class="form-title-buttons">
|
||||
<div
|
||||
class="button-c button-save"
|
||||
@click="SaveData"
|
||||
v-if="
|
||||
!usersStore.isPanelUser &&
|
||||
(!usersStore.isAraciFirma ||
|
||||
(usersStore.isAraciFirma && piyangoStore.customerApproved))
|
||||
">
|
||||
Başvur
|
||||
</div>
|
||||
<router-link class="button-c button-cancel" to="/piyangolar/piyango-listesi">
|
||||
Vazgeç
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
<div :class="['form-part', formChanged && !piyangoStore.isNew ? 'changed' : '']">
|
||||
<div class="form-part-title">
|
||||
<h4>Piyango Bilgileri</h4>
|
||||
<div class="form-part-title-buttons" v-if="!usersStore.isPanelUser && !formChanged">
|
||||
<button
|
||||
@click="OpenPreviewPanel"
|
||||
v-if="
|
||||
piyangoStore.lotteryData.amacpiyangoId !== 3 && !piyangoStore.isNew && loaded
|
||||
">
|
||||
Önizleme
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-part-content" v-if="loaded">
|
||||
<lottery-states :piyangoAmac="piyangoStore.lotteryData.amacpiyangoId" />
|
||||
|
||||
<form-input
|
||||
modelKey="cekilisBaslik"
|
||||
v-model="piyangoStore.lotteryData.baslik"
|
||||
required
|
||||
label="Piyango Başlığı"
|
||||
placeholder="Piyango Başlığı"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.baslik"
|
||||
@keyup="OnKeyup" />
|
||||
|
||||
<form-select
|
||||
v-if="amacRefresh"
|
||||
:disabled="usersStore.isVakifDernek || piyangoStore.subCustomerType === 22"
|
||||
label="Piyango Amacı"
|
||||
:listData="piyangoAmaclari"
|
||||
listText="amacAdi"
|
||||
listVal="id"
|
||||
v-model="piyangoStore.lotteryData.amacpiyangoId"
|
||||
required
|
||||
:invalidText="piyangoValidationStore.invalidTexts.amacpiyangoId"
|
||||
@change="OnAmacChange" />
|
||||
|
||||
<template v-if="usersStore.isAraciFirma">
|
||||
<form-select
|
||||
label="Piyangoyu Düzenleyen"
|
||||
:listData="childUsers"
|
||||
listText="username"
|
||||
listVal="id"
|
||||
v-model="piyangoStore.lotteryData.duzenleyenId"
|
||||
required
|
||||
:invalidText="piyangoValidationStore.invalidTexts.duzenleyenId"
|
||||
@change="OnAraciFirmaChange">
|
||||
<template #activator="data">
|
||||
{{
|
||||
data.activatorData !== undefined &&
|
||||
piyangoValidationStore.invalidTexts.baglisirketId !== null
|
||||
? data.activatorData.unvan + ' - ' + data.activatorData.basvuruTipi
|
||||
: 'Lütfen Seçim Yapınız'
|
||||
}}
|
||||
</template>
|
||||
<template #option="data">
|
||||
{{ data.optionData.unvan + ' - ' + data.optionData.basvuruTipi }}
|
||||
</template>
|
||||
<template #button v-if="piyangoStore.lotteryData.duzenleyenId !== null">
|
||||
<router-link
|
||||
:to="
|
||||
'/uyeler/detay/' +
|
||||
piyangoStore.lotteryData.baglisirketId +
|
||||
'/yetkili-uye/detay/' +
|
||||
piyangoStore.lotteryData.duzenleyenId
|
||||
"
|
||||
class="button-c">
|
||||
Üyeyi Kontrol Et
|
||||
</router-link>
|
||||
</template>
|
||||
</form-select>
|
||||
<div
|
||||
class="flx flx-jc-sb flx-ai-c form-inner-comment waiting-d"
|
||||
v-if="
|
||||
piyangoStore.lotteryData.duzenleyenId !== null &&
|
||||
!piyangoStore.customerApproved
|
||||
">
|
||||
Yalnızca Onaylanmış Üyeler için piyango düzenlenebilir.
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template
|
||||
v-if="
|
||||
piyangoStore.lotteryData.amacpiyangoId !== 3 &&
|
||||
piyangoStore.lotteryApprove !== 12
|
||||
">
|
||||
<form-textarea
|
||||
v-if="piyangoStore.lotteryData.amacpiyangoId !== 2"
|
||||
v-model="piyangoStore.lotteryData.cekilisSartveSekilleri"
|
||||
required
|
||||
label="Kampanya Katılma Şekil ve Şartları"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.cekilisSartveSekilleri"
|
||||
@keyup="OnKeyup" />
|
||||
|
||||
<form-select
|
||||
label="Kapsadığı Yerler"
|
||||
:listData="globalDataStore.ilList"
|
||||
listText="ad"
|
||||
listVal="id"
|
||||
v-model="piyangoStore.lotteryData.kapsamIl"
|
||||
required
|
||||
:invalidText="piyangoValidationStore.invalidTexts.kapsamIl"
|
||||
multiple
|
||||
@change="OnKeyup"
|
||||
multipleText="Türkiye Geneli" />
|
||||
|
||||
<template v-if="piyangoStore.lotteryData.amacpiyangoId !== 2">
|
||||
<form-date
|
||||
half
|
||||
required
|
||||
modelKey="baslangicTarihi"
|
||||
v-model="piyangoStore.lotteryData.baslangicTarihi"
|
||||
label="Kampanya Başlangıç Tarihi ve Saati"
|
||||
:min="piyangoValidationStore.baslangicTarihiMin"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.baslangicTarihi"
|
||||
@change="OnKeyupDate" />
|
||||
|
||||
<form-date
|
||||
half
|
||||
required
|
||||
modelKey="bitisTarihi"
|
||||
v-model="piyangoStore.lotteryData.bitisTarihi"
|
||||
label="Kampanya Bitiş Tarihi ve Saati"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.bitisTarihi"
|
||||
:min="piyangoValidationStore.kampanyaBitisMin"
|
||||
:max="piyangoValidationStore.kampanyaBitisMax"
|
||||
:disabled="piyangoValidationStore.kampanyaBitisDisabled"
|
||||
@change="OnKeyup" />
|
||||
</template>
|
||||
|
||||
<form-date
|
||||
half
|
||||
required
|
||||
modelKey="cekilisTarihi"
|
||||
v-model="piyangoStore.lotteryData.cekilisTarihi"
|
||||
label="Çekiliş Tarihi ve Saati"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.cekilisTarihi"
|
||||
:disabled="piyangoValidationStore.cekilisTarihiDisabled"
|
||||
:min="piyangoValidationStore.cekilisTarihiMin"
|
||||
@change="OnKeyup" />
|
||||
|
||||
<div
|
||||
class="form-item form-item-half"
|
||||
v-if="piyangoStore.lotteryData.amacpiyangoId === 2"></div>
|
||||
|
||||
<form-date
|
||||
type="date"
|
||||
half
|
||||
required
|
||||
modelKey="ilantarihi"
|
||||
v-model="piyangoStore.lotteryData.ilantarihi"
|
||||
label="İlan Tarihi"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.ilantarihi"
|
||||
:disabled="piyangoValidationStore.ilanTarihiDisabled"
|
||||
:min="piyangoValidationStore.ilanTarihiMin"
|
||||
:max="piyangoValidationStore.ilanTarihiMax"
|
||||
@change="OnKeyup" />
|
||||
<form-date
|
||||
type="date"
|
||||
v-if="piyangoStore.lotteryData.amacpiyangoId === 2"
|
||||
half
|
||||
required
|
||||
modelKey="ilantarihi2"
|
||||
v-model="piyangoStore.lotteryData.ilantarihi2"
|
||||
label="2. İlan Tarihi"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.ilantarihi2"
|
||||
:disabled="piyangoValidationStore.ilanTarihi2Disabled"
|
||||
:min="piyangoValidationStore.ilanTarihi2Min"
|
||||
:max="piyangoValidationStore.ilanTarihi2Max"
|
||||
@change="OnKeyup" />
|
||||
<form-date
|
||||
type="date"
|
||||
half
|
||||
required
|
||||
modelKey="asilSonBasvuruTarihi"
|
||||
v-model="piyangoStore.lotteryData.asilSonBasvuruTarihi"
|
||||
:label="
|
||||
piyangoStore.lotteryData.amacpiyangoId === 2
|
||||
? 'Talihlilerin Son Başvuru Tarihi'
|
||||
: 'Asıl Talihli Son Başvuru Tarihi'
|
||||
"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.asilSonBasvuruTarihi"
|
||||
:disabled="piyangoValidationStore.asilSonBasvuruDisabled"
|
||||
:min="piyangoValidationStore.asilSonBasvuruMin"
|
||||
:max="piyangoValidationStore.asilSonBasvuruMax"
|
||||
@change="OnKeyup" />
|
||||
|
||||
<form-date
|
||||
v-if="piyangoStore.lotteryData.amacpiyangoId !== 2"
|
||||
type="date"
|
||||
half
|
||||
required
|
||||
modelKey="yedekSonBasvuruTarihi"
|
||||
v-model="piyangoStore.lotteryData.yedekSonBasvuruTarihi"
|
||||
label="Yedek Talihli Son Başvuru Tarihi"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.yedekSonBasvuruTarihi"
|
||||
:disabled="piyangoValidationStore.yedekSonBasvuruDisabled"
|
||||
:min="piyangoValidationStore.yedekSonBasvuruMin"
|
||||
:max="piyangoValidationStore.yedekSonBasvuruMax"
|
||||
@change="OnKeyup" />
|
||||
|
||||
<form-date
|
||||
half
|
||||
required
|
||||
type="date"
|
||||
modelKey="ikramiyeTeslimTarihi"
|
||||
v-model="piyangoStore.lotteryData.ikramiyeTeslimTarihi"
|
||||
label="İkramiyelerin Son Teslim Tarihi"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.ikramiyeTeslimTarihi"
|
||||
@change="OnKeyup"
|
||||
:disabled="piyangoValidationStore.ikramiyeTeslimDisabled"
|
||||
:min="piyangoValidationStore.ikramiyeTeslimMin"
|
||||
:max="piyangoValidationStore.ikramiyeTeslimMax" />
|
||||
|
||||
<form-input
|
||||
modelKey="ilanEdilecekGazete"
|
||||
v-model="piyangoStore.lotteryData.ilanEdilecekGazete"
|
||||
required
|
||||
label="İlan Edilecek Gazete"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.ilanEdilecekGazete"
|
||||
@keyup="OnKeyup" />
|
||||
<form-select
|
||||
label="Çekiliş Yapılacak İl"
|
||||
half
|
||||
:listData="globalDataStore.ilList"
|
||||
listText="ad"
|
||||
listVal="id"
|
||||
v-model="piyangoStore.lotteryData.ilId"
|
||||
required
|
||||
:invalidText="piyangoValidationStore.invalidTexts.ilId"
|
||||
@change="ChangeIl" />
|
||||
<form-select
|
||||
half
|
||||
label="Çekiliş Yapılacak İlçe"
|
||||
:listData="ilceList"
|
||||
listText="ad"
|
||||
listVal="id"
|
||||
v-model="piyangoStore.lotteryData.ilceId"
|
||||
required
|
||||
:invalidText="piyangoValidationStore.invalidTexts.ilceId"
|
||||
:disabled="ilceDisabled"
|
||||
@change="OnKeyup" />
|
||||
<form-textarea
|
||||
v-model="piyangoStore.lotteryData.adres"
|
||||
required
|
||||
label="Çekiliş Adresi"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.adres"
|
||||
@keyup="OnKeyup" />
|
||||
<template v-if="!piyangoStore.CheckForYardimAmacli()">
|
||||
<form-textarea
|
||||
v-model="piyangoStore.lotteryData.katilimListesi"
|
||||
required
|
||||
label="Katılımcı Listesinin İçeriği ve Hazırlanma Şekli"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.katilimListesi"
|
||||
@keyup="OnKeyup" />
|
||||
<form-radio
|
||||
:listData="piyangoDataStore.katilimciTeslimYontemi"
|
||||
listVal="id"
|
||||
listText="deger"
|
||||
title="Katılım Listesi Teslim Yöntemi"
|
||||
v-model="piyangoStore.lotteryData.katilimciListesiTeslimYontemiId"
|
||||
:invalidText="
|
||||
piyangoValidationStore.invalidTexts.katilimciListesiTeslimYontemiId
|
||||
"
|
||||
@change="OnKeyup" />
|
||||
</template>
|
||||
<div class="form-item">
|
||||
<span class="form-item-title">Çekiliş Yöntemi</span>
|
||||
<template v-for="(yontem, i) in piyangoDataStore.cekilisYontemi">
|
||||
<form-radio
|
||||
group="cekilisyontemi"
|
||||
:val="yontem.id"
|
||||
:label="yontem.deger"
|
||||
title="Çekiliş Yöntemi"
|
||||
v-model="piyangoStore.lotteryData.cekilisYontemiId"
|
||||
:invalidText="piyangoValidationStore.invalidTexts.cekilisYontemiId"
|
||||
@change="OnKeyup" />
|
||||
</template>
|
||||
</div>
|
||||
<div class="form-item" v-if="piyangoStore.lotteryData.cekilisYontemiId === 1">
|
||||
<ul>
|
||||
<template v-if="piyangoStore.lotteryData.amacpiyangoId === 2">
|
||||
<li v-for="txt in piyangoDataStore.fizikselYardimMessage">{{ txt }}</li>
|
||||
</template>
|
||||
<template v-if="piyangoStore.lotteryData.amacpiyangoId === 1">
|
||||
<li v-for="txt in piyangoDataStore.fizikselTicariMessage">{{ txt }}</li>
|
||||
</template>
|
||||
</ul>
|
||||
</div>
|
||||
<form-textarea
|
||||
v-model="piyangoStore.lotteryData.digerHususlar"
|
||||
label="Diğer Hususlar"
|
||||
@keyup="OnKeyup" />
|
||||
<div class="form-item">
|
||||
<ul>
|
||||
<template v-if="piyangoStore.isLotteryForCharity">
|
||||
<li v-for="txty in piyangoDataStore.digerHusularYardimAmacliTexts">
|
||||
{{ txty }}
|
||||
</li>
|
||||
</template>
|
||||
<template v-else>
|
||||
<li v-for="txt in piyangoDataStore.digerHusularTexts">
|
||||
{{ txt }}
|
||||
</li>
|
||||
</template>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<div class="form-item" v-if="formChanged && !piyangoStore.isNew">
|
||||
<button class="button-c button-save" @click="SaveData">Kaydet</button>
|
||||
<button class="button-c button-cancel" @click="CancelSave">Vazgeç</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-part form-title" v-if="piyangoStore.isNew">
|
||||
<div class="form-title-buttons">
|
||||
<div class="button-c button-save" @click="SaveData">Başvur</div>
|
||||
<router-link class="button-c button-cancel" to="/piyangolar/piyango-listesi">
|
||||
Vazgeç
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
<panel-wrapper
|
||||
wide
|
||||
v-if="previewPanel"
|
||||
v-model="previewPanel"
|
||||
panel-title="Piyango Bilgileri Önizleme">
|
||||
<template #panelContent>
|
||||
<panel-piyango-yardim-amacli-onizleme
|
||||
v-model:id="previewId"
|
||||
v-if="piyangoStore.lotteryData.amacpiyangoId === 2" />
|
||||
<panel-piyango-onizleme v-model:id="previewId" v-else />
|
||||
</template>
|
||||
<template #footerButton>
|
||||
<div class="button-c button-save" @click="DownloadPDF">PDF İndir</div>
|
||||
<div class="button-c button-save" @click="PrintContent">Yazdır</div>
|
||||
</template>
|
||||
</panel-wrapper>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, onBeforeMount, computed, nextTick } from 'vue'
|
||||
import { usePDF } from 'vue3-pdfmake'
|
||||
|
||||
import PanelPiyangoOnizleme from '../panel/PanelPiyangoOnizleme.vue'
|
||||
import PanelPiyangoYardimAmacliOnizleme from '../panel/PanelPiyangoYardimAmacliOnizleme.vue'
|
||||
import PanelWrapper from '@/components/PanelWrapper.vue'
|
||||
import LotteryStates from '../content/LotteryStates.vue'
|
||||
|
||||
import { useRoute } from 'vue-router'
|
||||
const route = useRoute()
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
const dataStore = useDataStore()
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { useGlobalDataStore } from '@/stores/globalDataStore'
|
||||
const globalDataStore = useGlobalDataStore()
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
const validationStore = useValidationStore()
|
||||
import { usePreviewStore } from '@/stores/previewStore'
|
||||
const previewStore = usePreviewStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
import { usePiyangoValidationStore } from '../../validation/piyangoValidationStore'
|
||||
const piyangoValidationStore = usePiyangoValidationStore()
|
||||
|
||||
import { usePiyangoDataStore } from '../../stores/piyangoDataStore'
|
||||
const piyangoDataStore = usePiyangoDataStore()
|
||||
import { usePiyangoServices } from '../../service/piyangoServices'
|
||||
const piyangoServices = usePiyangoServices()
|
||||
|
||||
import router from '@/router'
|
||||
|
||||
if (route.name === 'PiyangoDetay') piyangoStore.isNew = false
|
||||
|
||||
const loaded = ref<boolean>(false)
|
||||
const formChanged = ref<boolean>(false)
|
||||
const amacRefresh = ref<boolean>(false)
|
||||
|
||||
const previewPanel = ref<boolean>(false)
|
||||
const previewId = ref<number>(0)
|
||||
|
||||
interface IIl {
|
||||
[key: string]: any
|
||||
ad: string
|
||||
id: number
|
||||
}
|
||||
|
||||
const childUsers = ref<Record<string, any>[]>([])
|
||||
const ilceList = ref<IIl[]>([])
|
||||
|
||||
const piyangoAmaclariSafe = ref<Record<string, any>[]>([])
|
||||
const piyangoAmaclari = ref<Record<string, any>[]>([])
|
||||
|
||||
const ilceDisabled = computed<boolean>(() => {
|
||||
return piyangoStore.lotteryData.ilId === null || ilceList.value.length === 0
|
||||
})
|
||||
|
||||
const ChangeIl = (e: Event, v: string | number, d: Record<string, any>) => {
|
||||
piyangoStore.lotteryData.ilceId = ''
|
||||
ilceList.value = d.ilceler
|
||||
formChanged.value = true
|
||||
}
|
||||
const OnKeyup = () => {
|
||||
formChanged.value = true
|
||||
}
|
||||
const OnAmacChange = (e: Event, d: any) => {
|
||||
formChanged.value = true
|
||||
piyangoStore.lotteryPurposeId = d
|
||||
}
|
||||
const OnKeyupDate = () => {
|
||||
formChanged.value = true
|
||||
piyangoValidationStore.dateChanged = true
|
||||
}
|
||||
const GetData = async () => {
|
||||
piyangoStore.ResetLotteryContent()
|
||||
|
||||
let data = await dataStore.dataGet(
|
||||
'CekilisBilgi/Cekilis/' + piyangoStore.selectedLottery
|
||||
)
|
||||
|
||||
if (data !== 'errorfalse') {
|
||||
Object.assign(piyangoStore.lotteryData, data)
|
||||
|
||||
if (
|
||||
piyangoStore.lotteryData.ilceId !== undefined &&
|
||||
piyangoStore.lotteryData.ilceId !== null &&
|
||||
piyangoStore.lotteryData.ilceId !== ''
|
||||
) {
|
||||
let ilO = globalDataStore.ilList.filter((v: Record<string, any>) => {
|
||||
return v.id === piyangoStore.lotteryData.ilId
|
||||
})
|
||||
if (ilO.length !== 0)
|
||||
ilceList.value.splice(0, ilceList.value.length, ...(ilO[0]['ilceler'] as IIl[]))
|
||||
}
|
||||
|
||||
if (piyangoStore.lotteryData.amacpiyangoId === 2) {
|
||||
piyangoStore.subCustomerType = 22
|
||||
piyangoAmaclari.value.splice(
|
||||
0,
|
||||
piyangoAmaclari.value.length,
|
||||
...piyangoAmaclariSafe.value
|
||||
)
|
||||
|
||||
piyangoStore.lotteryIlanTarihi = piyangoStore.lotteryData.ilantarihi
|
||||
piyangoStore.lotteryCreationDate = piyangoStore.lotteryData.olusturmaTarihi
|
||||
}
|
||||
|
||||
await SetAraciFirmaSelect()
|
||||
if (piyangoStore.lotteryData.baglisirketId !== null) await GetAraciUye()
|
||||
|
||||
Object.assign(piyangoStore.safeLotteryData, piyangoStore.lotteryData)
|
||||
|
||||
setTimeout(() => {
|
||||
loaded.value = true
|
||||
}, 30)
|
||||
}
|
||||
}
|
||||
|
||||
const SaveData = async () => {
|
||||
if (piyangoValidationStore.FormCheck()) {
|
||||
let form: any
|
||||
if (piyangoStore.CheckForYardimAmacli())
|
||||
piyangoStore.lotteryData.katilimListesi = ''
|
||||
|
||||
if (piyangoStore.isNew) {
|
||||
let inData = Object.assign({}, piyangoStore.lotteryData)
|
||||
inData.amac = ''
|
||||
delete inData.baslik
|
||||
delete inData.duzenleyenId
|
||||
delete inData.amacpiyangoId
|
||||
delete inData.baglisirketId
|
||||
|
||||
form = await dataStore.dataPost('Cekilis/', {
|
||||
data: {
|
||||
baslik: piyangoStore.lotteryData.baslik,
|
||||
duzenleyenId: piyangoStore.lotteryData.duzenleyenId,
|
||||
amacpiyangoId: piyangoStore.lotteryData.amacpiyangoId,
|
||||
baglisirketId: piyangoStore.lotteryData.baglisirketId,
|
||||
cekilisBilgiler: [inData]
|
||||
}
|
||||
})
|
||||
} else {
|
||||
let inData = Object.assign({}, piyangoStore.lotteryData)
|
||||
inData.amac = ''
|
||||
form = await dataStore.dataPut('Cekilis/' + piyangoStore.selectedLottery, {
|
||||
data: inData
|
||||
})
|
||||
}
|
||||
|
||||
if (form !== 'errorfalse') {
|
||||
formChanged.value = false
|
||||
piyangoValidationStore.dateChanged = false
|
||||
loaded.value = false
|
||||
if (piyangoStore.isNew) {
|
||||
piyangoStore.selectedLottery = form.id
|
||||
piyangoStore.lotteryApprove = 0
|
||||
piyangoStore.isNew = false
|
||||
piyangoStore.ResetLotteryData()
|
||||
router.push('/piyangolar/detay/' + form.id)
|
||||
} else {
|
||||
GetData()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
piyangoValidationStore.isFormValid = true
|
||||
}
|
||||
}
|
||||
|
||||
const CancelSave = () => {
|
||||
Object.assign(piyangoStore.lotteryData, piyangoStore.safeLotteryData)
|
||||
formChanged.value = false
|
||||
}
|
||||
|
||||
const OnAraciFirmaChange = (e: Event, val: any, item: Record<string, any>) => {
|
||||
piyangoStore.subCustomerType = item.basvuruTipId
|
||||
piyangoStore.customerApproved = item.islemTipId === 4
|
||||
|
||||
Object.assign(piyangoStore.duzenleyenData, item)
|
||||
AmacList()
|
||||
formChanged.value = true
|
||||
}
|
||||
|
||||
const RemoveAmac = () => {
|
||||
let amacInd = piyangoAmaclari.value.findIndex((p) => p.id === 2)
|
||||
if (amacInd >= 0) piyangoAmaclari.value.splice(amacInd, 1)
|
||||
}
|
||||
const GetDuzenleyen = (id: number) => {
|
||||
var duzenleyen = childUsers.value.filter((p) => {
|
||||
return p.id === id
|
||||
})[0]
|
||||
|
||||
Object.assign(piyangoStore.duzenleyenData, duzenleyen)
|
||||
}
|
||||
|
||||
const GetAraciUye = async () => {
|
||||
let data = await dataStore.dataGet(
|
||||
'Auth/userbyuserid/' + piyangoStore.lotteryData.duzenleyenId
|
||||
)
|
||||
if (data !== 'errorfalse') {
|
||||
Object.assign(piyangoStore.araciUyeData, data)
|
||||
}
|
||||
}
|
||||
|
||||
const AmacList = () => {
|
||||
amacRefresh.value = false
|
||||
if (piyangoStore.CheckForYardimAmacli()) {
|
||||
piyangoAmaclari.value.splice(
|
||||
0,
|
||||
piyangoAmaclari.value.length,
|
||||
...piyangoAmaclariSafe.value
|
||||
)
|
||||
|
||||
piyangoStore.lotteryData.amacpiyangoId = 2
|
||||
} else {
|
||||
RemoveAmac()
|
||||
if (piyangoStore.lotteryData.amacpiyangoId === 2)
|
||||
piyangoStore.lotteryData.amacpiyangoId = null
|
||||
}
|
||||
setTimeout(() => {
|
||||
amacRefresh.value = true
|
||||
}, 30)
|
||||
}
|
||||
|
||||
const OpenPreviewPanel = () => {
|
||||
previewPanel.value = true
|
||||
}
|
||||
|
||||
const pdfmake = usePDF()
|
||||
const DownloadPDF = async () => {
|
||||
var pdfData: string = document.querySelector('.pdf-content')?.outerHTML || ''
|
||||
previewStore.CreatePdfFromHtml(pdfmake, pdfData)
|
||||
}
|
||||
|
||||
const PrintContent = () => {
|
||||
previewStore.PrintContent(previewId.value)
|
||||
}
|
||||
|
||||
const SetAraciFirmaSelect = async () => {
|
||||
if (usersStore.isAraciFirma) {
|
||||
let id = piyangoStore.isNew
|
||||
? usersStore.userId
|
||||
: piyangoStore.lotteryData.baglisirketId
|
||||
|
||||
let list = await dataStore.dataGet('Auth/userbyuserChildList/' + id)
|
||||
childUsers.value = list.data
|
||||
|
||||
if (!piyangoStore.isNew) {
|
||||
await GetDuzenleyen(piyangoStore.lotteryData.duzenleyenId)
|
||||
piyangoStore.customerApproved = piyangoStore.duzenleyenData.islemTipi === 4
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
onBeforeMount(async () => {
|
||||
if (route.name === 'PiyangoYeni') piyangoStore.isNew = true
|
||||
|
||||
await dataStore.GetIlList()
|
||||
await piyangoServices.GetKatilimciTeslimYontemiList()
|
||||
await piyangoServices.GetCekilisYontemiList()
|
||||
await dataStore.GetCustomerTipList()
|
||||
|
||||
const amaclar = await dataStore.dataGet('PiyangoAmac')
|
||||
|
||||
piyangoAmaclari.value.splice(0, piyangoAmaclari.value.length, ...amaclar)
|
||||
piyangoAmaclariSafe.value.splice(0, piyangoAmaclariSafe.value.length, ...amaclar)
|
||||
AmacList()
|
||||
|
||||
if (piyangoStore.isNew) {
|
||||
SetAraciFirmaSelect()
|
||||
piyangoStore.ResetLotteryData()
|
||||
|
||||
piyangoStore.lotteryData.duzenleyenId = usersStore.isAraciFirma
|
||||
? null
|
||||
: usersStore.userId
|
||||
|
||||
piyangoStore.lotteryData.baglisirketId = usersStore.isAraciFirma
|
||||
? usersStore.userId
|
||||
: null
|
||||
|
||||
if (usersStore.isVakifDernek) piyangoStore.lotteryData.amacpiyangoId = 2
|
||||
loaded.value = true
|
||||
} else {
|
||||
await GetData()
|
||||
}
|
||||
})
|
||||
</script>
|
||||
123
src/module/cekilisler/components/form/FormPiyangoDocuments.vue
Normal file
123
src/module/cekilisler/components/form/FormPiyangoDocuments.vue
Normal file
@ -0,0 +1,123 @@
|
||||
<template>
|
||||
<div class="form-part">
|
||||
<div class="form-part-title">
|
||||
<h4>Gerekli Dokümanlar</h4>
|
||||
<div class="form-part-title-buttons">
|
||||
<icon-button
|
||||
v-if="!usersStore.isPanelUser"
|
||||
icon="plus"
|
||||
class="ico-section ico-section-header-btn"
|
||||
@click="AddNewDocument" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-part-content" v-if="piyangoDocumentStore.loaded">
|
||||
<template v-if="piyangoDocumentStore.piyangoDocumentsList.length > 0">
|
||||
<div
|
||||
class="form-inner-comment waiting-d"
|
||||
v-if="
|
||||
piyangoDocumentStore.piyangoDocumentsList.length < 6 &&
|
||||
piyangoStore.lotteryData.amacpiyangoId !== 3 &&
|
||||
piyangoStore.lotteryApprove !== 12
|
||||
">
|
||||
Ön Kaydınız Kabul edilmiştir. Lütfen
|
||||
<strong>imza sirküsü ve proforma faturayı</strong>
|
||||
sisteme yükleyiniz.
|
||||
</div>
|
||||
<div
|
||||
class="form-inner-comment waiting-d"
|
||||
v-if="
|
||||
piyangoStore.lotteryData.amacpiyangoId === 3 ||
|
||||
piyangoStore.lotteryApprove === 12
|
||||
">
|
||||
Lütfen
|
||||
<strong>imza sirkünüzü</strong>
|
||||
sisteme yükleyiniz.
|
||||
</div>
|
||||
<template v-for="(file, i) in piyangoDocumentStore.piyangoDocumentsList">
|
||||
<file-list-item
|
||||
:data="file"
|
||||
@click="EditDocument"
|
||||
title="dokumanAdi"
|
||||
:filePath="file.url"
|
||||
:editable="piyangoStore.lotteryApprove === 3 || piyangoStore.lotteryApprove === 0" />
|
||||
</template>
|
||||
</template>
|
||||
<template v-else>
|
||||
<template
|
||||
v-if="
|
||||
!usersStore.isPanelUser &&
|
||||
(piyangoStore.lotteryApprove === 0 || piyangoStore.lotteryApprove === 12) &&
|
||||
piyangoDocumentStore.piyangoDocumentsList.length < 4
|
||||
">
|
||||
<div
|
||||
class="form-inner-comment waiting-d"
|
||||
v-if="
|
||||
piyangoStore.lotteryData.amacpiyangoId === 3 ||
|
||||
piyangoStore.lotteryApprove === 12
|
||||
">
|
||||
Lütfen
|
||||
<strong>başvuru dilekçesi ve dekontunuzu</strong>
|
||||
sisteme yükleyiniz.
|
||||
</div>
|
||||
<div class="form-inner-comment" v-else>
|
||||
<span>
|
||||
Eklenmiş dosya bulunamadı. Üstteki butonu kullanarak dosya ekleyebilirsiniz.
|
||||
</span>
|
||||
<div class="form-inner-comment waiting-d">
|
||||
Piyango başvurusunun incelenebilmesi için piyangoyu düzenleyene ait
|
||||
<strong>
|
||||
Başvuru Dekontu, Vergi Levhası ve Başvuru bilgilerinin çıktısının
|
||||
imzalanmış dökümanı
|
||||
</strong>
|
||||
sisteme yüklenmiş olmalıdır. Bilgilerinizi doldurduktan sonra Önizleme
|
||||
butonuna tıklayarak formu indirebilirsiniz.
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
<panel-wrapper
|
||||
v-if="piyangoDocumentStore.documentPanel"
|
||||
v-model="piyangoDocumentStore.documentPanel"
|
||||
:panel-title="piyangoDocumentStore.isUpdate ? 'Dokümanı Düzenle' : 'Doküman Ekle'">
|
||||
<template #panelContent>
|
||||
<panel-piyango-documents />
|
||||
</template>
|
||||
<template #footerButton>
|
||||
<div class="button-c button-save" @click="piyangoDocumentService.SaveDocument">
|
||||
{{ piyangoDocumentStore.isUpdate ? 'Kaydet' : 'Ekle' }}
|
||||
</div>
|
||||
</template>
|
||||
</panel-wrapper>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onBeforeMount } from 'vue'
|
||||
|
||||
import PanelPiyangoDocuments from '../panel/PanelPiyangoDocument.vue'
|
||||
import PanelWrapper from '@/components/PanelWrapper.vue'
|
||||
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
import { usePiyangoDocumentStore } from '../../stores/piyangoDocumentStore'
|
||||
const piyangoDocumentStore = usePiyangoDocumentStore()
|
||||
import { usePiyangoDocumentService } from '../../service/piyangoDocumentService'
|
||||
const piyangoDocumentService = usePiyangoDocumentService()
|
||||
|
||||
const AddNewDocument = () => {
|
||||
piyangoDocumentStore.ResetForm()
|
||||
piyangoDocumentStore.isUpdate = false
|
||||
piyangoDocumentStore.documentPanel = true
|
||||
}
|
||||
const EditDocument = (d: object) => {
|
||||
Object.assign(piyangoDocumentStore.piyangoDocumentForm, d)
|
||||
piyangoDocumentStore.documentPanel = true
|
||||
piyangoDocumentStore.isUpdate = true
|
||||
}
|
||||
|
||||
onBeforeMount(async () => {
|
||||
await piyangoDocumentService.GetDocumentList()
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,138 @@
|
||||
<template>
|
||||
<div :class="['form-part', piyangoContactValidationStore.formChanged ? 'changed' : '']">
|
||||
<div class="form-part-title">
|
||||
<h4>İrtibat Bilgileri</h4>
|
||||
<div class="form-part-title-buttons"></div>
|
||||
</div>
|
||||
<div class="form-part-content" v-if="loaded">
|
||||
<form-input
|
||||
v-model="piyangoContactStore.contactData.adSoyad"
|
||||
label="Adı ve Soyadı"
|
||||
half
|
||||
modelKey="adSoyad"
|
||||
required
|
||||
minlength="2"
|
||||
:invalidText="piyangoContactValidationStore.invalidTexts.adSoyad"
|
||||
@keydown="validationStore.allowLettersWithKeysExtra($event, /^[ ]*$/)"
|
||||
@keyup="OnKeyup" />
|
||||
<form-input
|
||||
v-model="piyangoContactStore.contactData.unvan"
|
||||
label="Ünvanı"
|
||||
half
|
||||
modelKey="unvan"
|
||||
required
|
||||
minlength="2"
|
||||
:invalidText="piyangoContactValidationStore.invalidTexts.unvan"
|
||||
@keydown="validationStore.allowLettersWithKeysExtra($event, /^[ ]*$/)"
|
||||
@keyup="OnKeyup" />
|
||||
<form-input
|
||||
half
|
||||
v-model="piyangoContactStore.contactData.telefonNumarasi"
|
||||
label="Telefon Numarası"
|
||||
placeholder="Örn: 5555555555"
|
||||
type="tel"
|
||||
required
|
||||
@keydown="validationStore.allowNumbersWithKeys"
|
||||
maxlength="10"
|
||||
minlength="10"
|
||||
:invalidText="piyangoContactValidationStore.invalidTexts.telefonNumarasi"
|
||||
modelKey="telefonNumarasi"
|
||||
@keyup="OnKeyup" />
|
||||
<form-input
|
||||
half
|
||||
v-model="piyangoContactStore.contactData.faksNumarasi"
|
||||
label="Faks Numarası"
|
||||
placeholder="Örn: 5555555555"
|
||||
type="tel"
|
||||
@keydown="validationStore.allowNumbersWithKeys"
|
||||
maxlength="10"
|
||||
minlength="10"
|
||||
modelKey="faksNumarasi"
|
||||
@keyup="OnKeyup" />
|
||||
<form-input
|
||||
half
|
||||
v-model="piyangoContactStore.contactData.eposta"
|
||||
label="E-posta adresi"
|
||||
placeholder="Örn: adres@mail.com"
|
||||
type="email"
|
||||
:invalidText="piyangoContactValidationStore.invalidTexts.eposta"
|
||||
modelKey="eposta" />
|
||||
<div class="form-item" v-if="piyangoContactValidationStore.formChanged">
|
||||
<button class="button-c button-save" @click="SaveData">Kaydet</button>
|
||||
<button class="button-c button-cancel" @click="CancelSave">Vazgeç</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, onBeforeMount } from 'vue'
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
const dataStore = useDataStore()
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
const validationStore = useValidationStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
import { usePiyangoContactStore } from '../../stores/piyangoContactStore'
|
||||
const piyangoContactStore = usePiyangoContactStore()
|
||||
import { usePiyangoContactValidationStore } from '../../validation/piyangoContactValidationStore'
|
||||
const piyangoContactValidationStore = usePiyangoContactValidationStore()
|
||||
|
||||
const isNew = ref<boolean>(false)
|
||||
const loaded = ref<boolean>(false)
|
||||
|
||||
const OnKeyup = () => {
|
||||
piyangoContactValidationStore.formChanged = true
|
||||
}
|
||||
|
||||
const GetData = async () => {
|
||||
loaded.value = false
|
||||
let dt = await dataStore.dataGet(
|
||||
'IrtibatBilgi/GetIrtibatBilgiCekilis/' + piyangoStore.selectedLottery
|
||||
)
|
||||
piyangoContactStore.ResetFormData()
|
||||
|
||||
if (dt !== 'errorfalse') {
|
||||
Object.assign(piyangoContactStore.contactData, dt)
|
||||
Object.assign(piyangoContactStore.safeContactData, dt)
|
||||
} else {
|
||||
Object.assign(piyangoContactStore.contactData, piyangoContactStore.safeContactData)
|
||||
isNew.value = true
|
||||
}
|
||||
setTimeout(() => {
|
||||
loaded.value = true
|
||||
}, 30)
|
||||
}
|
||||
const SaveData = async () => {
|
||||
if (piyangoContactValidationStore.FormCheck()) {
|
||||
let res: any
|
||||
|
||||
if (isNew.value) {
|
||||
piyangoContactStore.contactData.cekilisId = piyangoStore.selectedLottery
|
||||
res = await dataStore.dataPost('IrtibatBilgi', {
|
||||
data: piyangoContactStore.contactData
|
||||
})
|
||||
} else {
|
||||
res = await dataStore.dataPut(
|
||||
'IrtibatBilgi/' + piyangoContactStore.contactData.id,
|
||||
{
|
||||
data: piyangoContactStore.contactData
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
if (res !== 'errorfalse') {
|
||||
GetData()
|
||||
piyangoContactValidationStore.formChanged = false
|
||||
}
|
||||
}
|
||||
}
|
||||
const CancelSave = () => {
|
||||
Object.assign(piyangoContactStore.contactData, piyangoContactStore.safeContactData)
|
||||
piyangoContactValidationStore.formChanged = false
|
||||
}
|
||||
|
||||
onBeforeMount(async () => {
|
||||
piyangoContactStore.ResetFormData()
|
||||
await GetData()
|
||||
})
|
||||
</script>
|
||||
67
src/module/cekilisler/components/form/FormPiyangoMecra.vue
Normal file
67
src/module/cekilisler/components/form/FormPiyangoMecra.vue
Normal file
@ -0,0 +1,67 @@
|
||||
<template>
|
||||
<list-table-content
|
||||
:tableHeader="tableHeader"
|
||||
:rowAction="EditMecra"
|
||||
formTitle="İlan Edilecek Diğer Mecralar"
|
||||
listText="Mecra"
|
||||
:addAction="AddActionFunction()"
|
||||
:apiList="'Mecra/Cekilis/' + piyangoStore.selectedLottery"
|
||||
apiText="Mecra Listesi"
|
||||
page="form"
|
||||
v-model:refresh="piyangoMecraStore.refreshList" />
|
||||
<panel-wrapper
|
||||
v-if="piyangoMecraStore.mecraPanel"
|
||||
v-model="piyangoMecraStore.mecraPanel"
|
||||
:panel-title="piyangoMecraStore.isUpdate ? 'Mecra Düzenle' : 'Mecra Ekle'">
|
||||
<template #panelContent>
|
||||
<panel-piyango-mecra />
|
||||
</template>
|
||||
<template #footerButton>
|
||||
<div class="button-c button-save" @click="piyangoMecraService.SaveMecra">
|
||||
{{ piyangoMecraStore.isUpdate ? 'Kaydet' : 'Ekle' }}
|
||||
</div>
|
||||
</template>
|
||||
</panel-wrapper>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
|
||||
import PanelPiyangoMecra from '../panel/PanelPiyangoMecra.vue'
|
||||
import PanelWrapper from '@/components/PanelWrapper.vue'
|
||||
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
import { usePiyangoMecraStore } from '../../stores/piyangoMecraStore'
|
||||
const piyangoMecraStore = usePiyangoMecraStore()
|
||||
import { usePiyangoMecraService } from '../../service/piyangoMecraService'
|
||||
const piyangoMecraService = usePiyangoMecraService()
|
||||
|
||||
const tableHeader = ref<Record<string, any>>([
|
||||
{
|
||||
name: 'mecraAdi',
|
||||
title: 'Mecra Adı',
|
||||
sort: true
|
||||
}
|
||||
])
|
||||
|
||||
const AddActionFunction = (): any => {
|
||||
if (usersStore.isPanelUser) {
|
||||
return ''
|
||||
} else {
|
||||
return AddNewMecra as Function
|
||||
}
|
||||
}
|
||||
const AddNewMecra = () => {
|
||||
piyangoMecraStore.ResetForm()
|
||||
piyangoMecraStore.isUpdate = false
|
||||
piyangoMecraStore.mecraPanel = true
|
||||
}
|
||||
|
||||
const EditMecra = (d: Record<string, any>) => {
|
||||
Object.assign(piyangoMecraStore.piyangoMecraForm, d)
|
||||
piyangoMecraStore.mecraPanel = true
|
||||
piyangoMecraStore.isUpdate = true
|
||||
}
|
||||
</script>
|
||||
66
src/module/cekilisler/components/form/FormPiyangoOnay.vue
Normal file
66
src/module/cekilisler/components/form/FormPiyangoOnay.vue
Normal file
@ -0,0 +1,66 @@
|
||||
<template>
|
||||
<div class="form-part form-title">
|
||||
<div class="form-title-buttons">
|
||||
<div class="button-c button-save" @click="piyangoOnayService.SaveOnayDurum">
|
||||
Kaydet
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div :class="['form-part', piyangoOnayValidationStore.formChanged ? 'changed' : '']">
|
||||
<div class="form-part-title">
|
||||
<h4>Onay Durumu</h4>
|
||||
</div>
|
||||
<div class="form-part-content" v-if="piyangoOnayStore.loaded">
|
||||
<form-select
|
||||
label="İşlem"
|
||||
:listData="piyangoDataStore.piyangoOnayDurumlari"
|
||||
listText="tipAdi"
|
||||
listVal="islemId"
|
||||
v-model="piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId"
|
||||
required
|
||||
:invalidText="piyangoOnayValidationStore.invalidTexts.onayDurumuIslemTipiId" />
|
||||
<form-file
|
||||
v-model="piyangoOnayStore.piyangoOnayForm.file"
|
||||
elclass="panel-documents-item"
|
||||
:invalidText="piyangoOnayValidationStore.invalidTexts.file" />
|
||||
<form-textarea
|
||||
v-model="piyangoOnayStore.piyangoOnayForm.aciklama"
|
||||
:invalidText="piyangoOnayValidationStore.invalidTexts.aciklama"
|
||||
label="Açıklama"
|
||||
@keyup="OnKeyup" />
|
||||
</div>
|
||||
</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 { usePiyangoOnayStore } from '../../stores/piyangoOnayStore'
|
||||
const piyangoOnayStore = usePiyangoOnayStore()
|
||||
import { usePiyangoOnayValidationStore } from '../../validation/piyangoOnayValidationStore'
|
||||
const piyangoOnayValidationStore = usePiyangoOnayValidationStore()
|
||||
import { usePiyangoOnayService } from '../../service/piyangoOnayService'
|
||||
const piyangoOnayService = usePiyangoOnayService()
|
||||
import { usePiyangoDataStore } from '../../stores/piyangoDataStore'
|
||||
const piyangoDataStore = usePiyangoDataStore()
|
||||
import { usePiyangoServices } from '../../service/piyangoServices'
|
||||
const piyangoServices = usePiyangoServices()
|
||||
|
||||
const OnKeyup = () => {
|
||||
piyangoOnayValidationStore.formChanged = true
|
||||
}
|
||||
|
||||
onBeforeMount(async () => {
|
||||
piyangoOnayStore.ResetForm()
|
||||
await piyangoServices.GetPiyangoOnayDurumList()
|
||||
piyangoDataStore.RemoveOnayDurumIncelemeBekleniyor()
|
||||
piyangoOnayStore.loaded = true
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,38 @@
|
||||
<template>
|
||||
<list-table-content
|
||||
:tableHeader="tableHeader"
|
||||
formTitle="Onay Verecek Kişiler"
|
||||
:apiList="'OnayDurumu/GetSonOnayDurumlari/' + piyangoStore.selectedLottery"
|
||||
apiText="Piyango Onay Log Listesi"
|
||||
page="form"
|
||||
:search="false" />
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
|
||||
import { usePiyangoOnayStore } from '../../stores/piyangoOnayStore'
|
||||
const piyangoOnayStore = usePiyangoOnayStore()
|
||||
import { useDateStore } from '@/stores/dateStore'
|
||||
const dateStore = useDateStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
|
||||
const tableHeader = ref<Record<string, any>[]>([
|
||||
{
|
||||
name: 'kullaniciAdi',
|
||||
title: 'Kişi',
|
||||
style: { width: '40%' }
|
||||
},
|
||||
{
|
||||
name: 'tarih',
|
||||
title: 'Tarih',
|
||||
compute: (v: Record<string, any>): string => {
|
||||
return v.tarih === null ? '' : dateStore.dateFormat({ date: v.tarih })
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'sonDurum',
|
||||
title: 'Durum'
|
||||
}
|
||||
])
|
||||
</script>
|
||||
88
src/module/cekilisler/components/form/FormPiyangoOnayLog.vue
Normal file
88
src/module/cekilisler/components/form/FormPiyangoOnayLog.vue
Normal file
@ -0,0 +1,88 @@
|
||||
<template>
|
||||
<list-table-content
|
||||
v-if="loaded"
|
||||
:tableHeader="tableHeader"
|
||||
formTitle="Piyango Onay Logları"
|
||||
listText="Kayıt"
|
||||
:apiList="'OnayDurumu/GetSonOnayDurumlariList/' + piyangoStore.selectedLottery"
|
||||
apiText="Piyango Onay Log Listesi"
|
||||
page="form"
|
||||
:refresh="piyangoOnayStore.refreshList" />
|
||||
</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',
|
||||
title: 'Tarih',
|
||||
compute: (v: Record<string, any>): string => {
|
||||
return v.tarih === null
|
||||
? ''
|
||||
: dateStore.dateFormat({ pattern: 'dd-mm-yy', date: v.tarih })
|
||||
},
|
||||
sort: true,
|
||||
filter: {
|
||||
type: 'date',
|
||||
range: true
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'kisiAdi',
|
||||
title: 'Kişi',
|
||||
sort: true,
|
||||
style: { width: '20%' }
|
||||
},
|
||||
{
|
||||
name: 'onayDurumuIslemTipiAdi',
|
||||
title: 'İşlem',
|
||||
sort: true,
|
||||
filter: {
|
||||
type: 'select',
|
||||
data: piyangoOnayDurumlari,
|
||||
listVal: 'id',
|
||||
listText: 'tipAdi',
|
||||
filterId: 'onayDurumuIslemTipiId'
|
||||
}
|
||||
},
|
||||
{
|
||||
name: 'aciklama',
|
||||
title: 'Açıklama',
|
||||
sort: true,
|
||||
style: { width: '30%' }
|
||||
},
|
||||
{
|
||||
dosyaUrl: 'aciklama',
|
||||
title: 'Dosya',
|
||||
computeHtml: (v: Record<string, any>) => {
|
||||
if (v.dosyaUrl !== null && v.dosyaUrl !== undefined) {
|
||||
return globalStore.TableCellDocument(v.dosyaUrl)
|
||||
}
|
||||
},
|
||||
style: { width: '20%' }
|
||||
}
|
||||
])
|
||||
|
||||
onBeforeMount(async () => {
|
||||
loaded.value = true
|
||||
})
|
||||
</script>
|
||||
135
src/module/cekilisler/components/form/FormPiyangoPictures.vue
Normal file
135
src/module/cekilisler/components/form/FormPiyangoPictures.vue
Normal file
@ -0,0 +1,135 @@
|
||||
<template>
|
||||
<div class="form-part">
|
||||
<div class="form-part-title">
|
||||
<h4>Piyango Resimleri</h4>
|
||||
</div>
|
||||
<div class="form-part-content">
|
||||
<template v-for="(file, i) in fileList">
|
||||
<file-list-item
|
||||
:data="file"
|
||||
@click="EditImage"
|
||||
onlyPreview
|
||||
:filePath="file.resimYolu" />
|
||||
</template>
|
||||
<div
|
||||
class="form-item form-item-picture clickable"
|
||||
@click="AddNewImage"
|
||||
v-if="!usersStore.isPanelUser">
|
||||
<div class="image-c">
|
||||
<i class="ico-c">
|
||||
<svg>
|
||||
<use href="@/assets/images/icons.svg#plus"></use>
|
||||
</svg>
|
||||
</i>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="usersStore.isPanelUser && fileList.length === 0" class="form-inner-comment">
|
||||
Eklenmiş resim bulunamadı.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<panel-wrapper
|
||||
v-if="picturePanel"
|
||||
v-model="picturePanel"
|
||||
:panel-title="isUpdate ? 'Piyango Resmi Düzenle/Değiştir' : 'Piyango Resmi Ekle'">
|
||||
<template #panelContent>
|
||||
<panel-piyango-pictures />
|
||||
</template>
|
||||
<template #footerButton>
|
||||
<div class="button-c button-save" @click="FileUpload">
|
||||
{{ isUpdate ? 'Kaydet' : 'Ekle' }}
|
||||
</div>
|
||||
</template>
|
||||
</panel-wrapper>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onBeforeMount } from 'vue'
|
||||
import PanelPiyangoPictures from '../panel/PanelPiyangoPictures.vue'
|
||||
import PanelWrapper from '@/components/PanelWrapper.vue'
|
||||
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
const dataStore = useDataStore()
|
||||
import { useGlobalStore } from '@/stores/globalStore'
|
||||
const globalStore = useGlobalStore()
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
const validationStore = useValidationStore()
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
|
||||
const picturePanel = ref<boolean>(false)
|
||||
const isUpdate = ref<boolean>(false)
|
||||
const isFormValid = ref<boolean>(true)
|
||||
|
||||
interface IFileList {
|
||||
[key: string]: any
|
||||
}
|
||||
|
||||
const fileList = ref<IFileList[]>([] as IFileList[])
|
||||
|
||||
const AddNewImage = () => {
|
||||
dataStore.panelData = {
|
||||
cekilisId: piyangoStore.selectedLottery,
|
||||
isKapak: false
|
||||
}
|
||||
picturePanel.value = true
|
||||
}
|
||||
const EditImage = (d: object) => {
|
||||
dataStore.panelData = d
|
||||
picturePanel.value = true
|
||||
isUpdate.value = true
|
||||
}
|
||||
|
||||
const GetData = async () => {
|
||||
let dt = await dataStore.dataGet('CekilisResim/Cekilis/' + piyangoStore.selectedLottery)
|
||||
if (dt !== 'errorfalse') fileList.value.splice(0, fileList.value.length, ...dt.data)
|
||||
}
|
||||
|
||||
const FormCheck = (): boolean => {
|
||||
if (dataStore.panelData.file === undefined || dataStore.panelData.file === null) {
|
||||
validationStore.panelInvalidText.file = 'Bir dosya seçmelisiniz'
|
||||
isFormValid.value = false
|
||||
} else delete validationStore.panelInvalidText.file
|
||||
|
||||
if (!validationStore.checkEmpty(dataStore.panelData.file)) {
|
||||
let fileType: string = globalStore.FileType(dataStore.panelData.file.name)
|
||||
if (!globalStore.imageFormats.includes(fileType.toLowerCase())) {
|
||||
validationStore.panelInvalidText.file = `Sadece Resim dosyası yükleyebilirsiniz. Lütfen ${globalStore.imageFormats} formatındaki dosyaları yükleyin`
|
||||
isFormValid.value = false
|
||||
}
|
||||
}
|
||||
|
||||
return isFormValid.value
|
||||
}
|
||||
|
||||
const FileUpload = async () => {
|
||||
if (FormCheck()) {
|
||||
const formData = new FormData()
|
||||
formData.append('file', dataStore.panelData.file)
|
||||
formData.append('isKapak', dataStore.panelData.isKapak)
|
||||
formData.append('cekilisId', String(piyangoStore.selectedLottery))
|
||||
let dt: any
|
||||
|
||||
if (!isUpdate.value) {
|
||||
dt = await dataStore.dataPost('CekilisResim/', {
|
||||
data: formData,
|
||||
headers: { 'Content-Type': 'multipart/form-data' }
|
||||
})
|
||||
} else {
|
||||
dt = await dataStore.dataPut('CekilisResim/' + dataStore.panelData.id, {
|
||||
data: formData,
|
||||
headers: { 'Content-Type': 'multipart/form-data' }
|
||||
})
|
||||
}
|
||||
if (dt !== 'errorfalse') {
|
||||
await GetData()
|
||||
picturePanel.value = false
|
||||
isUpdate.value = false
|
||||
}
|
||||
}
|
||||
}
|
||||
onBeforeMount(async () => {
|
||||
await GetData()
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,135 @@
|
||||
<template>
|
||||
<div class="form-part form-title">
|
||||
<div class="form-title-buttons">
|
||||
<button
|
||||
class="button-c button-save"
|
||||
@click="piyangoTeminatService.SaveTeminatDurum"
|
||||
:disabled="!piyangoTeminatValidationStore.formChanged">
|
||||
Kaydet
|
||||
</button>
|
||||
<button
|
||||
v-if="piyangoTeminatValidationStore.formChanged"
|
||||
class="button-c button-cancel panel-close"
|
||||
@click="piyangoTeminatStore.ResetFormData">
|
||||
Vazgeç
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div :class="['form-part', piyangoTeminatValidationStore.formChanged ? 'changed' : '']">
|
||||
<div class="form-part-title">
|
||||
<h4>Teminat Durumu</h4>
|
||||
</div>
|
||||
<div class="form-part-content" v-if="piyangoTeminatStore.loaded">
|
||||
<form-input
|
||||
modelKey="amount"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.amount"
|
||||
required
|
||||
half
|
||||
label="Tutarı"
|
||||
minlength="2"
|
||||
@keyup="OnKeyup"
|
||||
@keydown="validationStore.allowPrice"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.amount" />
|
||||
|
||||
<form-select
|
||||
modelKey="teminatParentType"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminatParentType"
|
||||
required
|
||||
half
|
||||
label="Para Birimi"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.teminatParentType"
|
||||
:listData="piyangoDataStore.piyangoTeminatParaBirimleri"
|
||||
listVal="id"
|
||||
listText="value"
|
||||
@change="OnKeyup" />
|
||||
|
||||
<form-select
|
||||
label="Teminat Türü"
|
||||
:listData="piyangoDataStore.piyangoTeminatTurleri"
|
||||
listText="value"
|
||||
listVal="id"
|
||||
half
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminantChildType"
|
||||
required
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.teminantChildType"
|
||||
@change="OnKeyup" />
|
||||
|
||||
<form-date
|
||||
type="date"
|
||||
half
|
||||
required
|
||||
modelKey="teminantDate"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminantDate"
|
||||
label="Tarih"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.teminantDate"
|
||||
@change="OnKeyup" />
|
||||
|
||||
<form-input
|
||||
modelKey="teminantNo"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminantNo"
|
||||
required
|
||||
half
|
||||
label="No"
|
||||
minlength="2"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.teminantNo"
|
||||
@keyup="OnKeyup" />
|
||||
<div class="form-item form-item-half"></div>
|
||||
|
||||
<form-input
|
||||
modelKey="bankName"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.bankName"
|
||||
required
|
||||
half
|
||||
label="Banka Adı"
|
||||
minlength="2"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.bankName"
|
||||
@keyup="OnKeyup" />
|
||||
|
||||
<form-input
|
||||
modelKey="bankBranch"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.bankBranch"
|
||||
required
|
||||
half
|
||||
label="Banka Şubesi"
|
||||
minlength="2"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.bankBranch"
|
||||
@keyup="OnKeyup" />
|
||||
|
||||
<form-display :disabled="!usersStore.isPanelUser"
|
||||
label="İşlem Durumu"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.stateText" />
|
||||
|
||||
<form-file
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.file"
|
||||
elclass="panel-documents-item"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.file"
|
||||
@change="OnKeyup" />
|
||||
|
||||
<form-textarea
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.description"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.description"
|
||||
label="Açıklama"
|
||||
@keyup="OnKeyup" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { usePiyangoDataStore } from '../../stores/piyangoDataStore'
|
||||
const piyangoDataStore = usePiyangoDataStore()
|
||||
import { usePiyangoServices } from '../../service/piyangoServices'
|
||||
const piyangoServices = usePiyangoServices()
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
const validationStore = useValidationStore()
|
||||
import { usePiyangoTeminatStore } from '../../stores/piyangoTeminatStore'
|
||||
const piyangoTeminatStore = usePiyangoTeminatStore()
|
||||
import { usePiyangoTeminatValidationStore } from '../../validation/piyangoTeminatValidationStore'
|
||||
const piyangoTeminatValidationStore = usePiyangoTeminatValidationStore()
|
||||
import { usePiyangoTeminatService } from '../../service/piyangoTeminatService'
|
||||
const piyangoTeminatService = usePiyangoTeminatService()
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
|
||||
const OnKeyup = () => {
|
||||
piyangoTeminatValidationStore.formChanged = true
|
||||
}
|
||||
</script>
|
||||
@ -0,0 +1,44 @@
|
||||
<template>
|
||||
<div class="form-part form-title">
|
||||
<div class="form-title-buttons">
|
||||
<div class="button-c button-save" @click="SendForApprove">Onaya Gönder</div>
|
||||
</div>
|
||||
</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 { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
|
||||
const formData = reactive<Record<string,any>>({
|
||||
onayDurumuIslemTipiId: 8,
|
||||
onayCekilisId: piyangoStore.selectedLottery,
|
||||
kisiId: usersStore.userId,
|
||||
aciklama: '',
|
||||
file:''
|
||||
})
|
||||
|
||||
const SendForApprove = async () => {
|
||||
let form: any
|
||||
let dataForm = new FormData()
|
||||
dataForm.append('onayDurumuIslemTipiId', formData.onayDurumuIslemTipiId)
|
||||
dataForm.append('onayCekilisId', String(piyangoStore.selectedLottery))
|
||||
dataForm.append('kisiId', String(usersStore.userId))
|
||||
dataForm.append('file', formData.file)
|
||||
dataForm.append('aciklama', formData.aciklama)
|
||||
|
||||
form = await dataStore.dataPost('OnayDurumu/', {
|
||||
data: dataForm,
|
||||
headers: { 'Content-Type': 'multipart/form-data' },
|
||||
toast: { toast: 'Başvurunuz Onay için Gönderildi', type: 'success' }
|
||||
})
|
||||
|
||||
if (form !== 'errorfalse') {
|
||||
piyangoStore.lotteryApprove = formData.onayDurumuIslemTipiId
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@ -0,0 +1,147 @@
|
||||
<template>
|
||||
<div
|
||||
:class="[
|
||||
'form-part',
|
||||
piyangoYardimAmacliValidationStore.formChanged ? 'changed' : ''
|
||||
]">
|
||||
<div class="form-part-title">
|
||||
<h4>Yardım Amaçlı Piyango Bilet Bilgileri</h4>
|
||||
</div>
|
||||
<div class="form-part-content" v-if="piyangoYardimAmacliStore.loaded">
|
||||
<div class="list-wrapper">
|
||||
<table
|
||||
:class="[
|
||||
'table-border table-colored table-list',
|
||||
piyangoYardimAmacliValidationStore.allBiletInvalid ? 'invalid' : ''
|
||||
]">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width:25%;">
|
||||
<div class="table-head-content">
|
||||
<span></span>
|
||||
</div>
|
||||
</th>
|
||||
<th style="width:25%;">
|
||||
<div class="table-head-content">
|
||||
<span>Başlangıç Numarası</span>
|
||||
</div>
|
||||
</th>
|
||||
<th style="width:25%;">
|
||||
<div class="table-head-content">
|
||||
<span>Bitiş Numarası</span>
|
||||
</div>
|
||||
</th>
|
||||
<th style="width:25%;">
|
||||
<div class="table-head-content">
|
||||
<span>Basılacak Adet</span>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<template v-for="(rakam, i) in piyangoYardimAmacliStore.yardimAmacliRakamlar">
|
||||
<tr>
|
||||
<td>{{ rakam.title }}</td>
|
||||
<td>
|
||||
<form-input
|
||||
:modelKey="rakam.prefix + 'RakamBaslangic'"
|
||||
v-model="
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamBaslangic'
|
||||
]
|
||||
"
|
||||
:invalidText="piyangoYardimAmacliValidationStore.invalidTexts[rakam.prefix + 'RakamBaslangic']"
|
||||
@keyup="piyangoYardimAmacliStore.CalculateToplamBilet(rakam)"
|
||||
@keydown="validationStore.allowNumbersWithKeys"
|
||||
:minlength="rakam.maxl"
|
||||
:maxlength="rakam.maxl" />
|
||||
</td>
|
||||
<td>
|
||||
<form-input
|
||||
modelKey="ucRakamBitis"
|
||||
v-model="
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamBitis'
|
||||
]
|
||||
"
|
||||
:invalidText="piyangoYardimAmacliValidationStore.invalidTexts[rakam.prefix + 'RakamBitis']"
|
||||
@keyup="piyangoYardimAmacliStore.CalculateToplamBilet(rakam)"
|
||||
@keydown="validationStore.allowNumbersWithKeys"
|
||||
:maxlength="rakam.maxl"
|
||||
:minlength="rakam.maxl" />
|
||||
</td>
|
||||
<td>
|
||||
<form-input
|
||||
:modelKey="rakam.prefix + 'RakamAdet'"
|
||||
v-model="
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
rakam.prefix + 'RakamAdet'
|
||||
]
|
||||
"
|
||||
:invalidText="piyangoYardimAmacliValidationStore.invalidTexts[rakam.prefix + 'RakamAdet']"
|
||||
disabled />
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
<tr>
|
||||
<td colspan="3" style="text-align:right"><strong>Toplam Basılacak Bilet:</strong></td>
|
||||
<td>{{ globalStore.toTrLocale(piyangoYardimAmacliStore.toplamBilet) }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="form-item" v-if="piyangoYardimAmacliValidationStore.allBiletInvalid">
|
||||
<span class="form-item-alert">En az bir satır bilet bilgisi başlangıç ve bitiş numaraları ile girmelisiniz.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-item"></div>
|
||||
<form-input
|
||||
modelKey="birimSatisFiyati"
|
||||
v-model="piyangoYardimAmacliStore.piyangoYardimAmacliFormData.birimSatisFiyati"
|
||||
required
|
||||
label="Birim Satış Fiyatı (₺)"
|
||||
:invalidText="piyangoYardimAmacliValidationStore.invalidTexts.birimSatisFiyati"
|
||||
@keydown="validationStore.allowNumbersWithKeys"
|
||||
@keyup="OnKeyup" />
|
||||
<form-input
|
||||
modelKey="basimevi"
|
||||
v-model="piyangoYardimAmacliStore.piyangoYardimAmacliFormData.basimevi"
|
||||
required
|
||||
label="Basımevinin Adı"
|
||||
:invalidText="piyangoYardimAmacliValidationStore.invalidTexts.basimevi"
|
||||
@keyup="OnKeyup" />
|
||||
<form-textarea
|
||||
modelKey="basimeviAdresi"
|
||||
v-model="piyangoYardimAmacliStore.piyangoYardimAmacliFormData.basimeviAdresi"
|
||||
required
|
||||
label="BasımevininAdresi"
|
||||
:invalidText="piyangoYardimAmacliValidationStore.invalidTexts.basimeviAdresi"
|
||||
@keyup="OnKeyup" />
|
||||
<div class="form-item" v-if="piyangoYardimAmacliValidationStore.formChanged">
|
||||
<button class="button-c button-save" @click="piyangoYardimAmacliService.SaveYardimAmacliForm">Kaydet</button>
|
||||
<button class="button-c button-cancel" @click="piyangoYardimAmacliStore.ResetFormData">Vazgeç</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { onBeforeMount } from 'vue'
|
||||
|
||||
import { useGlobalStore } from '@/stores/globalStore'
|
||||
const globalStore = useGlobalStore()
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
const validationStore = useValidationStore()
|
||||
import { usePiyangoYardimAmacliStore } from '../../stores/piyangoYardimAmacliStore'
|
||||
const piyangoYardimAmacliStore = usePiyangoYardimAmacliStore()
|
||||
import { usePiyangoYardimAmacliValidationStore } from '../../validation/piyangoYardimAmacliValidationStore'
|
||||
const piyangoYardimAmacliValidationStore = usePiyangoYardimAmacliValidationStore()
|
||||
import { usePiyangoYardimAmacliService } from '../../service/piyangoYardimAmacliService'
|
||||
const piyangoYardimAmacliService = usePiyangoYardimAmacliService()
|
||||
|
||||
const OnKeyup = () => {
|
||||
piyangoYardimAmacliValidationStore.formChanged = true
|
||||
}
|
||||
|
||||
onBeforeMount(async () => {
|
||||
await piyangoYardimAmacliService.GetYardimAmacliData()
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,255 @@
|
||||
<template>
|
||||
<div class="form-part form-title">
|
||||
<div v-if="isGenelYetkili" class="form-inner-comment alert-d">
|
||||
Bu piyangoda yetkili değilsiniz
|
||||
</div>
|
||||
<div class="form-title-buttons" v-if="!isGenelYetkili">
|
||||
<button class="button-c button-save" @click="SaveForm">Kaydet</button>
|
||||
</div>
|
||||
</div>
|
||||
<div :class="['form-part', formChanged ? 'changed' : '']" v-if="loaded">
|
||||
<div class="list-wrapper">
|
||||
<table class="table-border table-colored table-list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 20%">
|
||||
<div class="table-head-content">
|
||||
<span>Birim</span>
|
||||
</div>
|
||||
</th>
|
||||
<th>
|
||||
<div class="table-head-content">
|
||||
<span>Yetkili</span>
|
||||
</div>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<template v-for="(row, i) in yetkiTable">
|
||||
<tr>
|
||||
<td>{{ row.title }}</td>
|
||||
<td class="table-cell-flx-row">
|
||||
<form-select
|
||||
half
|
||||
:disabled="YetkiliDisabled(row)"
|
||||
disabledClass="disabled-show-name"
|
||||
v-model="formData['onayverecekkisi' + row.id + 'birimId']"
|
||||
:listData="appUserUnitStore.appUserUnits"
|
||||
:extraData="row.id"
|
||||
listVal="id"
|
||||
listText="birimAdi"
|
||||
:modelKey="'onayverecekkisi' + row.id + 'birimId'"
|
||||
@change="ChangeBirim"
|
||||
:invalidText="invalidTexts['onayverecekkisi' + row.id + 'birimId']">
|
||||
<template #activator="data">
|
||||
{{
|
||||
data.activatorData !== undefined &&
|
||||
Object.keys(data.activatorData).length > 0 &&
|
||||
formData['onayverecekkisi' + row.id + 'birimId'] !== null &&
|
||||
formData['onayverecekkisi' + row.id + 'birimId'] !== 0
|
||||
? data.activatorData.birimAdi
|
||||
: YetkiliDisabled(row) &&
|
||||
(formData['onayverecekkisi' + row.id + 'birimId'] === null ||
|
||||
formData['onayverecekkisi' + row.id + 'birimId'] === 0)
|
||||
? 'Henüz yetkili ataması yapılmamış'
|
||||
: 'Lütfen seçim yapınız'
|
||||
}}
|
||||
</template>
|
||||
</form-select>
|
||||
<form-select
|
||||
half
|
||||
:view="localView"
|
||||
:extraData="row.view"
|
||||
v-model="formData['onayverecekkisi' + row.id + 'Id']"
|
||||
:listData="yetkiliLists['list' + row.id]"
|
||||
listVal="id"
|
||||
:disabled="IsDisabled(row)"
|
||||
disabledClass="disabled-show-name"
|
||||
listText="ad"
|
||||
:modelKey="'onayverecekkisi' + row.id + 'Id'"
|
||||
:invalidText="invalidTexts['onayverecekkisi' + row.id + 'Id']">
|
||||
<template #activator="data">
|
||||
{{
|
||||
data.activatorData !== undefined &&
|
||||
Object.keys(data.activatorData).length > 0 &&
|
||||
formData['onayverecekkisi' + row.id + 'Id'] !== null
|
||||
? data.activatorData.ad +
|
||||
' ' +
|
||||
data.activatorData.soyad +
|
||||
' - ' +
|
||||
data.activatorData.kullaniciGorevi
|
||||
: IsDisabled(row) &&
|
||||
(formData['onayverecekkisi' + row.id + 'Id'] === null ||
|
||||
formData['onayverecekkisi' + row.id + 'Id'] === 0)
|
||||
? 'Henüz yetkili ataması yapılmamış'
|
||||
: 'Lütfen seçim yapınız'
|
||||
}}
|
||||
</template>
|
||||
<template #option="data">
|
||||
{{
|
||||
data.optionData.ad +
|
||||
' ' +
|
||||
data.optionData.soyad +
|
||||
' - ' +
|
||||
data.optionData.kullaniciGorevi
|
||||
}}
|
||||
</template>
|
||||
</form-select>
|
||||
</td>
|
||||
</tr>
|
||||
</template>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { onBeforeMount, ref, reactive, computed } from 'vue'
|
||||
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
const dataStore = useDataStore()
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
|
||||
import { useAppUserUnitStore } from '@/module/kullanicilar/stores/appUserUnitStore'
|
||||
const appUserUnitStore = useAppUserUnitStore()
|
||||
import { useAppUserUnitService } from '@/module/kullanicilar/service/appUserUnitService'
|
||||
const appUserUnitService = useAppUserUnitService()
|
||||
|
||||
const formChanged = ref<boolean>(false)
|
||||
const loaded = ref<boolean>(false)
|
||||
const isNew = ref<boolean>(true)
|
||||
|
||||
const yetkiTable = ref<Record<string, any>[]>([
|
||||
{
|
||||
title: 'Şube Müdürü',
|
||||
key: 'birimAdi',
|
||||
id: 1,
|
||||
view: 2,
|
||||
edit: [1]
|
||||
},
|
||||
{
|
||||
title: 'Şef',
|
||||
id: 2,
|
||||
view: 4,
|
||||
edit: [1, 2]
|
||||
},
|
||||
{
|
||||
title: 'Memur (VHKİ)',
|
||||
id: 3,
|
||||
view: 3,
|
||||
edit: [1, 2, 4]
|
||||
}
|
||||
])
|
||||
|
||||
const formData = reactive<Record<string, any>>({
|
||||
onayverecekkisi1Id: null,
|
||||
onayverecekkisi2Id: null,
|
||||
onayverecekkisi3Id: null,
|
||||
onayverecekkisi1birimId: null,
|
||||
onayverecekkisi2birimId: null,
|
||||
onayverecekkisi3birimId: null,
|
||||
cekilisId: piyangoStore.selectedLottery
|
||||
})
|
||||
const yetkiliLists = reactive<Record<string, any>>({})
|
||||
const invalidTexts = ref<Record<string, any>>({})
|
||||
|
||||
const localView = (data: any, id: any): boolean => {
|
||||
return data.kullaniciGorevId === id
|
||||
}
|
||||
|
||||
const ChangeBirim = async (
|
||||
e: Event,
|
||||
d: number,
|
||||
itm: Record<string, any>,
|
||||
ext: number
|
||||
) => {
|
||||
yetkiliLists['list' + ext] = [] as Record<string, any>[]
|
||||
yetkiliLists['list' + ext] = await GetUserList(d)
|
||||
}
|
||||
const isGenelYetkili = computed<boolean>(() => {
|
||||
return (
|
||||
usersStore.userPosition !== 1 &&
|
||||
usersStore.userId !== formData.onayverecekkisi1Id &&
|
||||
usersStore.userId !== formData.onayverecekkisi2Id &&
|
||||
usersStore.userId !== formData.onayverecekkisi3Id
|
||||
)
|
||||
})
|
||||
const IsDisabled = (row: Record<string, any>): boolean => {
|
||||
return yetkiliLists['list' + row.id] === undefined || YetkiliDisabled(row) || isGenelYetkili.value
|
||||
}
|
||||
|
||||
const YetkiliDisabled = (row: Record<string, any>): boolean => {
|
||||
return !row.edit.includes(usersStore.userPosition) || isGenelYetkili.value
|
||||
}
|
||||
|
||||
const GetUserList = async (id: number) => {
|
||||
if (id !== null) {
|
||||
let data = await dataStore.dataGet('Auth/getuserlistBirim/' + id, {
|
||||
params: { pageNumber: 0 }
|
||||
})
|
||||
return data.data
|
||||
} else {
|
||||
return []
|
||||
}
|
||||
}
|
||||
const GetData = async () => {
|
||||
let data = await dataStore.dataGet(
|
||||
'OnayCekilis/Cekilis/' + piyangoStore.selectedLottery
|
||||
)
|
||||
if (data !== 'errorfalse') {
|
||||
Object.assign(formData, data.data)
|
||||
if (
|
||||
formData.onayverecekkisi1Id !== null ||
|
||||
formData.onayverecekkisi2Id !== null ||
|
||||
formData.onayverecekkisi3Id !== null
|
||||
)
|
||||
isNew.value = false
|
||||
|
||||
CreateYetkiTable()
|
||||
}
|
||||
}
|
||||
const CreateYetkiTable = async () => {
|
||||
await yetkiTable.value.forEach(async (itm: Record<string, any>, i: number) => {
|
||||
if (yetkiliLists['list' + itm.id] === undefined) {
|
||||
yetkiliLists['list' + itm.id] = []
|
||||
yetkiliLists['list' + itm.id] = await GetUserList(
|
||||
formData['onayverecekkisi' + itm.id + 'birimId']
|
||||
)
|
||||
}
|
||||
})
|
||||
loaded.value = true
|
||||
}
|
||||
const SaveForm = async () => {
|
||||
let res: any
|
||||
let inData = Object.assign({}, formData)
|
||||
if (isNew.value) {
|
||||
delete inData.id
|
||||
res = await dataStore.dataPost('OnayCekilis/', {
|
||||
data: inData,
|
||||
toast: { toast: 'Yetkilendirmeler başarıyla kaydedildi.', type: 'success' }
|
||||
})
|
||||
} else {
|
||||
res = await dataStore.dataPut('OnayCekilis/' + formData.cekilisId, {
|
||||
data: inData,
|
||||
toast: { toast: 'Yetkilendirmeler başarıyla kaydedildi.', type: 'success' }
|
||||
})
|
||||
}
|
||||
|
||||
if (res !== 'errorfalse') {
|
||||
piyangoStore.lotteryYetkiRefresh = true
|
||||
GetData()
|
||||
}
|
||||
}
|
||||
const RemoveAccountingUnit = () =>{
|
||||
let ind = appUserUnitStore.appUserUnits.findIndex((p) => p.id === 6)
|
||||
if (ind >= 0) appUserUnitStore.appUserUnits.splice(ind, 1)
|
||||
}
|
||||
onBeforeMount(async () => {
|
||||
await appUserUnitService.GetAppUserUnitList()
|
||||
RemoveAccountingUnit()
|
||||
await GetData()
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,40 @@
|
||||
<template>
|
||||
<list-table-content
|
||||
:tableHeader="tableHeader"
|
||||
formTitle="Yetklendirme Logları"
|
||||
listText="Kayıt"
|
||||
:apiList="'CekilisAtamaLog/Cekilis/' + piyangoStore.selectedLottery"
|
||||
apiText="Çekiliş Yetkilendirme Log Listesi"
|
||||
page="form"
|
||||
:refresh="piyangoStore.lotteryYetkiRefresh" />
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
import { useDateStore } from '@/stores/dateStore'
|
||||
const dateStore = useDateStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
|
||||
const tableHeader = ref<Record<string, any>>([
|
||||
{
|
||||
name: 'tarih',
|
||||
title: 'Tarih',
|
||||
compute: (v: Record<string, any>): string => {
|
||||
return dateStore.dateFormat({ pattern: 'dd-mm-yy', date: v.tarih })
|
||||
},
|
||||
sort: true,
|
||||
style: { width: '20%' }
|
||||
},
|
||||
{
|
||||
name: 'islem',
|
||||
title: 'İşlem',
|
||||
sort: true
|
||||
},
|
||||
{
|
||||
name: 'islemiYapan',
|
||||
title: 'İşlemi Yapan',
|
||||
sort: true,
|
||||
style: { width: '20%' }
|
||||
}
|
||||
])
|
||||
</script>
|
||||
@ -0,0 +1,20 @@
|
||||
<template>
|
||||
<form-input
|
||||
v-model="piyangoDocumentStore.piyangoDocumentForm.dokumanAdi"
|
||||
label="Dosya Başlığı"
|
||||
modelKey="dokumanAdi"
|
||||
minlength="2"
|
||||
:invalidText="piyangoDocumentValidationStore.invalidTexts.dokumanAdi" />
|
||||
<form-file
|
||||
v-model="piyangoDocumentStore.piyangoDocumentForm.dosya"
|
||||
elclass="panel-documents-item"
|
||||
:invalidText="piyangoDocumentValidationStore.invalidTexts.dosya" />
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
const validationStore = useValidationStore()
|
||||
import { usePiyangoDocumentStore } from '../../stores/piyangoDocumentStore'
|
||||
const piyangoDocumentStore = usePiyangoDocumentStore()
|
||||
import { usePiyangoDocumentValidationStore } from '../../validation/piyangoDocumentValidationStore'
|
||||
const piyangoDocumentValidationStore = usePiyangoDocumentValidationStore()
|
||||
</script>
|
||||
@ -0,0 +1,78 @@
|
||||
<template>
|
||||
<form-input
|
||||
v-model="piyangoIkramiyeStore.piyangoIkramiyeForm.cinsi"
|
||||
label="Cinsi"
|
||||
modelKey="cinsi"
|
||||
minlength="2"
|
||||
:invalidText="piyangoIkramiyeValidationStore.invalidTexts.cinsi" />
|
||||
<form-input
|
||||
required
|
||||
modelKey="marka"
|
||||
v-model="piyangoIkramiyeStore.piyangoIkramiyeForm.marka"
|
||||
:invalidText="piyangoIkramiyeValidationStore.invalidTexts.marka"
|
||||
label="Marka" />
|
||||
<form-input
|
||||
modelKey="model"
|
||||
v-model="piyangoIkramiyeStore.piyangoIkramiyeForm.model"
|
||||
:invalidText="piyangoIkramiyeValidationStore.invalidTexts.model"
|
||||
label="Model" />
|
||||
<form-input
|
||||
required
|
||||
half
|
||||
modelKey="birimFiyat"
|
||||
v-model="piyangoIkramiyeStore.piyangoIkramiyeForm.birimFiyat"
|
||||
:invalidText="piyangoIkramiyeValidationStore.invalidTexts.birimFiyat"
|
||||
label="KDV+ÖTV Dahil Birim Değeri"
|
||||
@keydown="validationStore.allowPrice"
|
||||
@keyup="piyangoIkramiyeStore.CalculateToplamDeger" />
|
||||
<form-select
|
||||
label="Para Birimi"
|
||||
half
|
||||
:listData="piyangoDataStore.paraBirimleri"
|
||||
listVal="id"
|
||||
listText="paraBirimiSembol"
|
||||
v-model="piyangoIkramiyeStore.piyangoIkramiyeForm.paraBirimiId"
|
||||
required
|
||||
:invalidText="piyangoIkramiyeValidationStore.invalidTexts.paraBirimiId" />
|
||||
<form-input
|
||||
required
|
||||
modelKey="asilTalihliAdedi"
|
||||
v-model="piyangoIkramiyeStore.piyangoIkramiyeForm.asilTalihliAdedi"
|
||||
:invalidText="piyangoIkramiyeValidationStore.invalidTexts.asilTalihliAdedi"
|
||||
:label="piyangoStore.isLotteryForCharity ? 'Talihli Adedi' : 'Asıl Talihli Adedi'"
|
||||
@keydown="validationStore.allowNumbersWithKeys"
|
||||
@keyup="piyangoIkramiyeStore.CalculateToplamDeger" />
|
||||
<form-input
|
||||
v-if="!piyangoStore.isLotteryForCharity"
|
||||
required
|
||||
modelKey="yedekTalihliAdedi"
|
||||
v-model="piyangoIkramiyeStore.piyangoIkramiyeForm.yedekTalihliAdedi"
|
||||
:invalidText="piyangoIkramiyeValidationStore.invalidTexts.yedekTalihliAdedi"
|
||||
label="Yedek Talihli Adedi"
|
||||
@keydown="validationStore.allowNumbersWithKeys" />
|
||||
<form-input
|
||||
disabled
|
||||
modelKey="toplamDeger"
|
||||
v-model="piyangoIkramiyeStore.piyangoIkramiyeForm.toplamDeger"
|
||||
label="Toplam Değer" />
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { onBeforeMount } from 'vue'
|
||||
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
const validationStore = useValidationStore()
|
||||
import { usePiyangoStore } from '../../stores/piyangoStore'
|
||||
const piyangoStore = usePiyangoStore()
|
||||
import { usePiyangoDataStore } from '../../stores/piyangoDataStore'
|
||||
const piyangoDataStore = usePiyangoDataStore()
|
||||
import { usePiyangoServices } from '../../service/piyangoServices'
|
||||
const piyangoServices = usePiyangoServices()
|
||||
import { usePiyangoIkramiyeStore } from '../../stores/piyangoIkramiyeStore'
|
||||
const piyangoIkramiyeStore = usePiyangoIkramiyeStore()
|
||||
import { usePiyangoIkramiyeValidationStore } from '../../validation/piyangoIkramiyeValidationStore'
|
||||
const piyangoIkramiyeValidationStore = usePiyangoIkramiyeValidationStore()
|
||||
|
||||
onBeforeMount(async () => {
|
||||
await piyangoServices.GetParaBirimleri()
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,64 @@
|
||||
<template>
|
||||
<form-select
|
||||
v-model="piyangoItirazStore.piyangoItirazForm.surecTipiId"
|
||||
:listData="itirazSurecTipi"
|
||||
listVal="id"
|
||||
listText="deger"
|
||||
modelKey="surecTipiId"
|
||||
label="Süreç"
|
||||
:invalidText="piyangoItirazValidationStore.invalidTexts.surecTipiId"
|
||||
required />
|
||||
<form-select
|
||||
v-model="piyangoItirazStore.piyangoItirazForm.durum"
|
||||
:listData="itirazDurumTipi"
|
||||
listVal="id"
|
||||
listText="deger"
|
||||
modelKey="durum"
|
||||
label="Durum"
|
||||
:invalidText="piyangoItirazValidationStore.invalidTexts.durum"
|
||||
required />
|
||||
<form-date
|
||||
v-model="piyangoItirazStore.piyangoItirazForm.itirazTarihi"
|
||||
label="İtiraz Tarihi"
|
||||
modelKey="itirazTarihi"
|
||||
:invalidText="piyangoItirazValidationStore.invalidTexts.itirazTarihi"
|
||||
required />
|
||||
<form-input
|
||||
required
|
||||
modelKey="itirazEden"
|
||||
v-model="piyangoItirazStore.piyangoItirazForm.itirazEden"
|
||||
:invalidText="piyangoItirazValidationStore.invalidTexts.itirazEden"
|
||||
label="İtiraz Eden Kişi/Kurum" />
|
||||
<form-textarea
|
||||
required
|
||||
modelKey="aciklama"
|
||||
v-model="piyangoItirazStore.piyangoItirazForm.aciklama"
|
||||
:invalidText="piyangoItirazValidationStore.invalidTexts.aciklama"
|
||||
label="Açıklama" />
|
||||
|
||||
<form-file
|
||||
modelKey="dosya"
|
||||
elclass="panel-documents-item"
|
||||
v-model="piyangoItirazStore.piyangoItirazForm.dosya"
|
||||
:invalidText="piyangoItirazValidationStore.invalidTexts.dosya"
|
||||
label="İlgili Belge" />
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
import { usePiyangoItirazStore } from '../../stores/piyangoItirazStore'
|
||||
const piyangoItirazStore = usePiyangoItirazStore()
|
||||
import { usePiyangoItirazValidationStore } from '../../validation/piyangoItirazValidationStore'
|
||||
const piyangoItirazValidationStore = usePiyangoItirazValidationStore()
|
||||
|
||||
const itirazSurecTipi = ref<Record<string, any>[]>([
|
||||
{ id: 1, deger: 'İtiraz/Şikayet' },
|
||||
{ id: 2, deger: 'Kurum Cevap Ekle' },
|
||||
{ id: 3, deger: 'İtiraz/Şikayet Eden Cevap Ekle' }
|
||||
])
|
||||
const itirazDurumTipi = ref<Record<string, any>[]>([
|
||||
{ id: 1, deger: 'Kurum/Kişiden Cevap Bekleniyor' },
|
||||
{ id: 2, deger: 'İtiraz Edenden Cevap Bekleniyor' },
|
||||
{ id: 3, deger: 'İtiraz Eden Lehine Sonuçlandı' },
|
||||
{ id: 3, deger: 'Kişi/Kurum Lehine Sonuçlandı' }
|
||||
])
|
||||
</script>
|
||||
419
src/module/cekilisler/components/panel/PanelPiyangoKatilimci.vue
Normal file
419
src/module/cekilisler/components/panel/PanelPiyangoKatilimci.vue
Normal file
@ -0,0 +1,419 @@
|
||||
<template>
|
||||
<template
|
||||
v-if="
|
||||
(piyangoStore.lotteryDrawState || today >= ilanTarihi) &&
|
||||
loaded &&
|
||||
piyangoStore.lotteryApprove === 4 &&
|
||||
piyangoStore.lotteryData.cekilisYontemiId === 1 &&
|
||||
!usersStore.isPanelUser
|
||||
">
|
||||
<div class="panel-header">
|
||||
<h3>İkramiye Seçimi</h3>
|
||||
<button
|
||||
v-if="
|
||||
(piyangoKatilimciStore.piyangoKatilimciUserFormData.asilTalihli ||
|
||||
piyangoKatilimciStore.piyangoKatilimciUserFormData.asilTalihli) &&
|
||||
piyangoKatilimciStore.piyangoKatilimciUserFormData.ikramiyeId !== null
|
||||
"
|
||||
class="button-c button-alert"
|
||||
@click="piyangoKatilimciStore.ResetTalihli">
|
||||
Talihli İptal Et
|
||||
</button>
|
||||
</div>
|
||||
<div class="form-item">
|
||||
<form-radio
|
||||
@change="TalihliChanged('asil')"
|
||||
group="talihli"
|
||||
label="Asil Talihli"
|
||||
half
|
||||
:val="true"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.asilTalihli"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.asilTalihli" />
|
||||
<form-radio
|
||||
@change="TalihliChanged('yedek')"
|
||||
group="talihli"
|
||||
label="Yedek Talihli"
|
||||
half
|
||||
:val="true"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.yedekTalihli"
|
||||
:invalidText="
|
||||
piyangoKatilimciValidationStore.userFormInvalidTexts.yedekTalihli
|
||||
" />
|
||||
</div>
|
||||
|
||||
<form-select
|
||||
@change="FormChanged"
|
||||
modelKey="ikramiyeId"
|
||||
clearable
|
||||
label="Kazandığı İkramiye"
|
||||
:listData="piyangoIkramiyeStore.piyangoAllIkramiyeData"
|
||||
listText="amacAdi"
|
||||
listVal="id"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.ikramiyeId"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.ikramiyeId">
|
||||
<template #activator="data">
|
||||
{{
|
||||
data.activatorData !== undefined &&
|
||||
Object.keys(data.activatorData).length > 0 &&
|
||||
piyangoKatilimciStore.piyangoKatilimciUserFormData.ikramiyeId !== null
|
||||
? data.activatorData.cinsi +
|
||||
', ' +
|
||||
data.activatorData.marka +
|
||||
', ' +
|
||||
data.activatorData.model
|
||||
: 'Lütfen Seçim Yapınız'
|
||||
}}
|
||||
</template>
|
||||
<template #option="data">
|
||||
{{
|
||||
data.optionData.cinsi +
|
||||
', ' +
|
||||
data.optionData.marka +
|
||||
', ' +
|
||||
data.optionData.model
|
||||
}}
|
||||
</template>
|
||||
</form-select>
|
||||
</template>
|
||||
<template
|
||||
v-if="
|
||||
usersStore.isPanelUser ||
|
||||
(!usersStore.isPanelUser && !piyangoKatilimciStore.isNewKatilimci)
|
||||
">
|
||||
<form-display
|
||||
v-if="piyangoKatilimciStore.piyangoKatilimciUserFormData.asilTalihli"
|
||||
modelText="Asil Talihli" />
|
||||
|
||||
<form-display
|
||||
v-if="piyangoKatilimciStore.piyangoKatilimciUserFormData.yedekTalihli"
|
||||
modelText="Yedek Talihli" />
|
||||
<form-display
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.adi"
|
||||
label="Adı"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.adi" />
|
||||
<form-display
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.soyadi"
|
||||
label="Soyadı"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.soyadi" />
|
||||
<form-display
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.eposta"
|
||||
label="E-posta adresi"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.eposta" />
|
||||
<form-display
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.sifreCode"
|
||||
label="Katılım Kodu"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.sifreCode" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.dogumTarihi"
|
||||
label="Doğum Tarihi"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.dogumTarihi" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.telefonNo"
|
||||
label="Telefon Numarası"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.telefonNo" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.il"
|
||||
label="İl"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.il" />
|
||||
<form-display
|
||||
half
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.ilce"
|
||||
label="İlçe"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.ilce" />
|
||||
<form-display
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.evIkametgahAdresi"
|
||||
label="İkametgah Adresi"
|
||||
:invalidText="
|
||||
piyangoKatilimciValidationStore.userFormInvalidTexts.evIkametgahAdresi
|
||||
" />
|
||||
<form-display
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.magazaAdiYeri"
|
||||
label="Mağaza Adı/Yeri"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.magazaAdiYeri" />
|
||||
<form-display
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.cekilisKatilimSiraNo"
|
||||
label="Katılım Sıra No"
|
||||
:invalidText="
|
||||
piyangoKatilimciValidationStore.userFormInvalidTexts.cekilisKatilimSiraNo
|
||||
"
|
||||
half />
|
||||
<form-display
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.cekilisKatilimSiraNo"
|
||||
label="Katılım Sora No"
|
||||
:invalidText="
|
||||
piyangoKatilimciValidationStore.userFormInvalidTexts.cekilisKatilimSiraNo
|
||||
"
|
||||
half />
|
||||
<form-display
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.magazaKartNumarasi"
|
||||
label="Mağaza Kart No"
|
||||
:invalidText="
|
||||
piyangoKatilimciValidationStore.userFormInvalidTexts.magazaKartNumarasi
|
||||
"
|
||||
half />
|
||||
<form-display
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.katilimTarihi"
|
||||
label="Katılım Tarihi"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.katilimTarihi"
|
||||
half />
|
||||
<form-display
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.fisFaturaTarihi"
|
||||
label="Fiş/Fatura Tarihi"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.fisFaturaTarihi"
|
||||
half />
|
||||
<form-display
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.fisFaturaNo"
|
||||
label="Fiş/Fatura No"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.fisFaturaNo"
|
||||
half />
|
||||
<form-display
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.kampanyaliUrunTutari"
|
||||
label="Kampanyalı Ürün Tutarı"
|
||||
:invalidText="
|
||||
piyangoKatilimciValidationStore.userFormInvalidTexts.kampanyaliUrunTutari
|
||||
"
|
||||
half />
|
||||
<form-display
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.toplamTutar"
|
||||
label="Toplam Tutar"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.toplamTutar"
|
||||
half />
|
||||
</template>
|
||||
<template v-else>
|
||||
<form-input
|
||||
@keyup="FormChanged"
|
||||
modelKey="adi"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.adi"
|
||||
required
|
||||
label="Ad"
|
||||
minlength="2"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.adi"
|
||||
@keydown="validationStore.allowLettersWithKeysExtra($event, /^[ ]*$/)" />
|
||||
<form-input
|
||||
@keyup="FormChanged"
|
||||
modelKey="soyadi"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.soyadi"
|
||||
required
|
||||
label="Soyadı"
|
||||
minlength="2"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.soyadi"
|
||||
@keydown="validationStore.allowLettersWithKeysExtra($event, /^[ ]*$/)" />
|
||||
<form-input
|
||||
@keyup="FormChanged"
|
||||
type="email"
|
||||
modelKey="eposta"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.eposta"
|
||||
required
|
||||
label="E-posta adresi"
|
||||
placeholder="eposta@alanadi.com"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.eposta" />
|
||||
<form-input
|
||||
@keyup="FormChanged"
|
||||
modelKey="sifreCode"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.sifreCode"
|
||||
required
|
||||
label="Katılım Kodu"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.sifreCode" />
|
||||
<form-date
|
||||
type="date"
|
||||
modelKey="dogumTarihi"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.dogumTarihi"
|
||||
label="Doğum Tarihi"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.dogumTarihi"
|
||||
@change="FormChanged"
|
||||
half />
|
||||
<form-input
|
||||
@keyup="FormChanged"
|
||||
type="tel"
|
||||
modelKey="telefonNo"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.telefonNo"
|
||||
label="Telefon Numarası"
|
||||
placeholder="5554443322"
|
||||
@keydown="validationStore.allowNumbersWithKeys"
|
||||
maxlength="10"
|
||||
minlength="10"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.telefonNo"
|
||||
half />
|
||||
<form-select
|
||||
clearable
|
||||
label="İl"
|
||||
half
|
||||
:listData="globalDataStore.ilList"
|
||||
listText="ad"
|
||||
listVal="ad"
|
||||
modelKey="il"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.il"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.il"
|
||||
@change="ChangeIl"
|
||||
@clear="FormChanged" />
|
||||
<form-select
|
||||
clearable
|
||||
half
|
||||
label="İlçe"
|
||||
:listData="ilceList"
|
||||
listText="ad"
|
||||
listVal="id"
|
||||
modelKey="ilce"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.ilce"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.ilce"
|
||||
:disabled="ilceDisabled"
|
||||
@change="FormChanged"
|
||||
@clear="FormChanged" />
|
||||
<form-textarea
|
||||
@keyup="FormChanged"
|
||||
modelKey="evIkametgahAdresi"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.evIkametgahAdresi"
|
||||
label="İkametgah Adres"
|
||||
minlength="2"
|
||||
:invalidText="
|
||||
piyangoKatilimciValidationStore.userFormInvalidTexts.evIkametgahAdresi
|
||||
"
|
||||
@keydown="validationStore.allowLettersWithKeysExtra($event, /^[ ]*$/)" />
|
||||
<form-input
|
||||
@keyup="FormChanged"
|
||||
modelKey="magazaAdiYeri"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.magazaAdiYeri"
|
||||
label="Mağaza Adı/Yeri"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.magazaAdiYeri" />
|
||||
<form-input
|
||||
@keyup="FormChanged"
|
||||
modelKey="cekilisKatilimSiraNo"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.cekilisKatilimSiraNo"
|
||||
half
|
||||
label="Katılım Sıra No"
|
||||
:invalidText="
|
||||
piyangoKatilimciValidationStore.userFormInvalidTexts.cekilisKatilimSiraNo
|
||||
" />
|
||||
<form-input
|
||||
@keyup="FormChanged"
|
||||
modelKey="magazaKartNumarasi"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.magazaKartNumarasi"
|
||||
half
|
||||
label="Mağaza Kart No"
|
||||
:invalidText="
|
||||
piyangoKatilimciValidationStore.userFormInvalidTexts.magazaKartNumarasi
|
||||
" />
|
||||
<form-date
|
||||
type="date"
|
||||
modelKey="katilimTarihi"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.katilimTarihi"
|
||||
label="Katılım Tarihi"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.katilimTarihi"
|
||||
@change="FormChanged"
|
||||
half />
|
||||
<form-date
|
||||
type="date"
|
||||
modelKey="fisFaturaTarihi"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.fisFaturaTarihi"
|
||||
label="Fiş/Fatura Tarihi"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.fisFaturaTarihi"
|
||||
@change="FormChanged"
|
||||
half />
|
||||
|
||||
<form-input
|
||||
@keyup="FormChanged"
|
||||
modelKey="fisFaturaNo"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.fisFaturaNo"
|
||||
half
|
||||
label="Fiş/Fatura No"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.fisFaturaNo" />
|
||||
<form-input
|
||||
@keyup="FormChanged"
|
||||
modelKey="kampanyaliUrunTutari"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.kampanyaliUrunTutari"
|
||||
half
|
||||
label="Kampanyalı Ürün Tutarı"
|
||||
:invalidText="
|
||||
piyangoKatilimciValidationStore.userFormInvalidTexts.kampanyaliUrunTutari
|
||||
"
|
||||
@keydown="validationStore.allowPrice" />
|
||||
<form-input
|
||||
@keyup="FormChanged"
|
||||
modelKey="toplamTutar"
|
||||
v-model="piyangoKatilimciStore.piyangoKatilimciUserFormData.toplamTutar"
|
||||
half
|
||||
label="Toplam Tutar"
|
||||
:invalidText="piyangoKatilimciValidationStore.userFormInvalidTexts.toplamTutar"
|
||||
@keydown="validationStore.allowPrice" />
|
||||
</template>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onBeforeMount, computed } from 'vue'
|
||||
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
const dataStore = useDataStore()
|
||||
import { useGlobalDataStore } from '@/stores/globalDataStore'
|
||||
const globalDataStore = useGlobalDataStore()
|
||||
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 { usePiyangoKatilimciStore } from '../../stores/piyangoKatilimciStore'
|
||||
const piyangoKatilimciStore = usePiyangoKatilimciStore()
|
||||
import { usePiyangoKatilimciValidationStore } from '../../validation/piyangoKatilimciValidationStore'
|
||||
const piyangoKatilimciValidationStore = usePiyangoKatilimciValidationStore()
|
||||
import { usePiyangoIkramiyeStore } from '../../stores/piyangoIkramiyeStore'
|
||||
const piyangoIkramiyeStore = usePiyangoIkramiyeStore()
|
||||
import { usePiyangoIkramiyeService } from '../../service/piyangoIkramiyeService'
|
||||
const piyangoIkramiyeService = usePiyangoIkramiyeService()
|
||||
|
||||
const loaded = ref<boolean>(true)
|
||||
const today = ref<Date>(new Date())
|
||||
const ilanTarihi = ref<Date>(new Date(piyangoStore.lotteryIlanTarihi!))
|
||||
const ilceList = ref<Record<string, any>[]>([])
|
||||
|
||||
const FormChanged = () => {
|
||||
piyangoKatilimciValidationStore.userFormChanged = true
|
||||
}
|
||||
|
||||
const TalihliChanged = (t: string) => {
|
||||
if (t === 'asil')
|
||||
piyangoKatilimciStore.piyangoKatilimciUserFormData.yedekTalihli = false
|
||||
|
||||
if (t === 'yedek')
|
||||
piyangoKatilimciStore.piyangoKatilimciUserFormData.asilTalihli = false
|
||||
|
||||
piyangoKatilimciValidationStore.userFormChanged = true
|
||||
}
|
||||
|
||||
const ChangeIl = (e: Event, v: string | number, d: Record<string, any>) => {
|
||||
piyangoKatilimciStore.piyangoKatilimciUserFormData.ilce = ''
|
||||
if (Object.keys(d).length === 0) {
|
||||
ilceList.value = []
|
||||
return
|
||||
}
|
||||
ilceList.value.splice(0, ilceList.value.length, ...d.ilceler)
|
||||
piyangoKatilimciValidationStore.userFormChanged = true
|
||||
}
|
||||
const ilceDisabled = computed<boolean>(() => {
|
||||
return (
|
||||
piyangoKatilimciStore.piyangoKatilimciUserFormData.ilce === null ||
|
||||
piyangoKatilimciStore.piyangoKatilimciUserFormData.il === '' ||
|
||||
piyangoKatilimciStore.piyangoKatilimciUserFormData.il === null ||
|
||||
ilceList.value.length === 0
|
||||
)
|
||||
})
|
||||
onBeforeMount(async () => {
|
||||
await dataStore.GetIlList()
|
||||
await piyangoIkramiyeService.GetAllIkramiyeler()
|
||||
|
||||
if (
|
||||
piyangoKatilimciStore.piyangoKatilimciUserFormData.ilce !== undefined &&
|
||||
piyangoKatilimciStore.piyangoKatilimciUserFormData.ilce !== null &&
|
||||
piyangoKatilimciStore.piyangoKatilimciUserFormData.ilce !== ''
|
||||
) {
|
||||
let ilO: Record<string, any>[] = globalDataStore.ilList.filter(
|
||||
(v: Record<string, any>) => {
|
||||
return v.ad === piyangoKatilimciStore.piyangoKatilimciUserFormData.il
|
||||
}
|
||||
)
|
||||
if (ilO.length !== 0)
|
||||
ilceList.value.splice(0, ilceList.value.length, ...ilO[0]['ilceler'])
|
||||
}
|
||||
})
|
||||
</script>
|
||||
14
src/module/cekilisler/components/panel/PanelPiyangoMecra.vue
Normal file
14
src/module/cekilisler/components/panel/PanelPiyangoMecra.vue
Normal file
@ -0,0 +1,14 @@
|
||||
<template>
|
||||
<form-input
|
||||
v-model="piyangoMecraStore.piyangoMecraForm.mecraAdi"
|
||||
label="Mecra Adı"
|
||||
modelKey="mecraAdi"
|
||||
minlength="2"
|
||||
:invalidText="piyangoMecraValidationStore.invalidTexts.mecraAdi" />
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { usePiyangoMecraStore } from '../../stores/piyangoMecraStore'
|
||||
const piyangoMecraStore = usePiyangoMecraStore()
|
||||
import { usePiyangoMecraValidationStore } from '../../validation/piyangoMecraValidationStore'
|
||||
const piyangoMecraValidationStore = usePiyangoMecraValidationStore()
|
||||
</script>
|
||||
@ -0,0 +1,24 @@
|
||||
<template>
|
||||
<div :class="['preview-content', 'pdf-content']" :id="'pre' + rnd">
|
||||
<piyango-onizleme-display />
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted } from 'vue'
|
||||
import piyangoOnizlemeDisplay from '../display/PiyangoOnizlemeDisplay.vue'
|
||||
|
||||
export interface Props {
|
||||
id?: number
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {})
|
||||
const emit = defineEmits(['update:id'])
|
||||
|
||||
const rnd = ref<number>(Number(Math.floor(Math.random() * 1000000000)))
|
||||
|
||||
const localId = ref<number>(rnd.value)
|
||||
|
||||
onMounted(() => {
|
||||
if (props.id !== undefined) emit('update:id', localId.value)
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,27 @@
|
||||
<template>
|
||||
<form-file
|
||||
v-model="dataStore.panelData.file"
|
||||
elclass="panel-documents-item"
|
||||
:invalidText="validationStore.panelInvalidText.file"
|
||||
fileType="img"/>
|
||||
<form-checkbox
|
||||
:listData="kapakResim"
|
||||
listText="label"
|
||||
listVal="val"
|
||||
v-model="dataStore.panelData.isKapak"
|
||||
:invalidText="validationStore.panelInvalidText.isKapak" />
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue'
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
const dataStore = useDataStore()
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
const validationStore = useValidationStore()
|
||||
|
||||
const kapakResim = ref([
|
||||
{
|
||||
label: 'Site Kapak Resmi',
|
||||
val: 'uyelik'
|
||||
}
|
||||
])
|
||||
</script>
|
||||
@ -0,0 +1,124 @@
|
||||
<template>
|
||||
<div class="form-part-content" v-if="piyangoTeminatStore.loaded">
|
||||
<form-input
|
||||
modelKey="amount"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.amount"
|
||||
required
|
||||
half
|
||||
label="Tutarı"
|
||||
minlength="2"
|
||||
@keyup="OnKeyup"
|
||||
@keydown="validationStore.allowPrice"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.amount" />
|
||||
|
||||
<form-select
|
||||
modelKey="teminatParentType"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminatParentType"
|
||||
required
|
||||
half
|
||||
label="Para Birimi"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.teminatParentType"
|
||||
:listData="piyangoDataStore.piyangoTeminatParaBirimleri"
|
||||
listVal="id"
|
||||
listText="value"
|
||||
@change="OnKeyup" />
|
||||
|
||||
<form-select
|
||||
label="Teminat Türü"
|
||||
:listData="piyangoDataStore.piyangoTeminatTurleri"
|
||||
listText="value"
|
||||
listVal="id"
|
||||
half
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminantChildType"
|
||||
required
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.teminantChildType"
|
||||
@change="OnKeyup" />
|
||||
|
||||
<form-date
|
||||
type="date"
|
||||
half
|
||||
required
|
||||
modelKey="teminantDate"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminantDate"
|
||||
label="Tarih"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.teminantDate"
|
||||
@change="OnKeyup" />
|
||||
|
||||
<form-input
|
||||
modelKey="teminantNo"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminantNo"
|
||||
required
|
||||
half
|
||||
label="No"
|
||||
minlength="2"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.teminantNo"
|
||||
@keyup="OnKeyup" />
|
||||
<div class="form-item form-item-half"></div>
|
||||
|
||||
<form-input
|
||||
modelKey="bankName"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.bankName"
|
||||
required
|
||||
half
|
||||
label="Banka Adı"
|
||||
minlength="2"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.bankName"
|
||||
@keyup="OnKeyup" />
|
||||
|
||||
<form-input
|
||||
modelKey="bankBranch"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.bankBranch"
|
||||
required
|
||||
half
|
||||
label="Banka Şubesi"
|
||||
minlength="2"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.bankBranch"
|
||||
@keyup="OnKeyup" />
|
||||
|
||||
<form-file
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.file"
|
||||
elclass="panel-documents-item"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.file"
|
||||
@change="OnKeyup" />
|
||||
|
||||
<form-textarea
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.description"
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.description"
|
||||
label="Açıklama"
|
||||
@keyup="OnKeyup" />
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { onBeforeMount } from 'vue'
|
||||
|
||||
import { usePiyangoDataStore } from '../../stores/piyangoDataStore'
|
||||
const piyangoDataStore = usePiyangoDataStore()
|
||||
import { usePiyangoServices } from '../../service/piyangoServices'
|
||||
const piyangoServices = usePiyangoServices()
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
const validationStore = useValidationStore()
|
||||
import { usePiyangoTeminatStore } from '../../stores/piyangoTeminatStore'
|
||||
const piyangoTeminatStore = usePiyangoTeminatStore()
|
||||
import { usePiyangoTeminatValidationStore } from '../../validation/piyangoTeminatValidationStore'
|
||||
const piyangoTeminatValidationStore = usePiyangoTeminatValidationStore()
|
||||
import { usePiyangoTeminatService } from '../../service/piyangoTeminatService'
|
||||
const piyangoTeminatService = usePiyangoTeminatService()
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
|
||||
const OnKeyup = () => {
|
||||
piyangoTeminatValidationStore.formChanged = true
|
||||
}
|
||||
|
||||
onBeforeMount(async () => {
|
||||
|
||||
await piyangoServices.GetPiyangoTeminatTurleriList()
|
||||
await piyangoServices.GetPiyangoTeminatParaBirimleriList()
|
||||
await piyangoServices.GetPiyangoTeminatDurumList()
|
||||
|
||||
piyangoTeminatStore.RestoreFormData()
|
||||
piyangoTeminatStore.loaded = true
|
||||
|
||||
if (!piyangoTeminatStore.isNew) await piyangoTeminatService.GetTeminatDurum()
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,90 @@
|
||||
<template>
|
||||
<div class="form-part-content" v-if="piyangoTeminatStore.loaded">
|
||||
<form-select
|
||||
v-if="usersStore.isPanelUser"
|
||||
label="İşlem"
|
||||
:listData="piyangoDataStore.piyangoTeminatDurumlari"
|
||||
listText="value"
|
||||
listVal="id"
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.state"
|
||||
required
|
||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.state"
|
||||
@change="OnKeyup"
|
||||
:disabled="!usersStore.isPanelUser"/>
|
||||
|
||||
<form-display
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.amount"
|
||||
half
|
||||
price
|
||||
label="Tutarı" />
|
||||
|
||||
<form-display
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminatParentTypeText"
|
||||
half
|
||||
label="Para Birimi" />
|
||||
|
||||
<form-display
|
||||
label="Teminat Türü"
|
||||
half
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminantChildTypeText" />
|
||||
|
||||
<form-display
|
||||
type="date"
|
||||
half
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminantDate"
|
||||
label="Tarih" />
|
||||
|
||||
<form-display
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.teminantNo"
|
||||
half
|
||||
label="No" />
|
||||
<div class="form-item form-item-half"></div>
|
||||
|
||||
<form-display
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.bankName"
|
||||
half
|
||||
label="Banka Adı" />
|
||||
|
||||
<form-display
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.bankBranch"
|
||||
half
|
||||
label="Banka Şubesi" />
|
||||
|
||||
<file-list-item
|
||||
v-if="piyangoTeminatStore.piyangoTeminatFormData.teminantDocumentUrl !== null && piyangoTeminatStore.piyangoTeminatFormData.teminantDocumentUrl !== undefined"
|
||||
title="Dosya"
|
||||
:data="piyangoTeminatStore.piyangoTeminatFormData"
|
||||
:editable="false"
|
||||
:filePath="piyangoTeminatStore.piyangoTeminatFormData.teminantDocumentUrl"
|
||||
:usePath="true"
|
||||
:onlyPreview="true" />
|
||||
|
||||
<form-display
|
||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.description"
|
||||
label="Açıklama" />
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { onBeforeMount } from 'vue'
|
||||
|
||||
import { usePiyangoTeminatStore } from '../../stores/piyangoTeminatStore'
|
||||
const piyangoTeminatStore = usePiyangoTeminatStore()
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
const usersStore = useUsersStore()
|
||||
import { usePiyangoDataStore } from '../../stores/piyangoDataStore'
|
||||
const piyangoDataStore = usePiyangoDataStore()
|
||||
import { usePiyangoTeminatValidationStore } from '../../validation/piyangoTeminatValidationStore'
|
||||
const piyangoTeminatValidationStore = usePiyangoTeminatValidationStore()
|
||||
import { usePiyangoTeminatService } from '../../service/piyangoTeminatService'
|
||||
const piyangoTeminatService = usePiyangoTeminatService()
|
||||
import { usePiyangoServices } from '../../service/piyangoServices'
|
||||
const piyangoServices = usePiyangoServices()
|
||||
const OnKeyup = () => {
|
||||
piyangoTeminatValidationStore.formChanged = true
|
||||
}
|
||||
|
||||
onBeforeMount(async () => {
|
||||
await piyangoServices.GetPiyangoTeminatDurumList()
|
||||
await piyangoTeminatService.GetTeminatDurum()
|
||||
})
|
||||
</script>
|
||||
@ -0,0 +1,23 @@
|
||||
<template>
|
||||
<div :class="['preview-content', 'pdf-content']" :id="'pre' + rnd">
|
||||
<piyango-yardim-amacli-onizleme-display />
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted } from 'vue'
|
||||
import PiyangoYardimAmacliOnizlemeDisplay from '../display/PiyangoYardimAmacliOnizlemeDisplay.vue'
|
||||
|
||||
export interface Props {
|
||||
id?: number
|
||||
}
|
||||
|
||||
const props = withDefaults(defineProps<Props>(), {})
|
||||
const emit = defineEmits(['update:id'])
|
||||
|
||||
const rnd = ref<number>(Number(Math.floor(Math.random() * 1000000000)))
|
||||
const localId = ref<number>(rnd.value)
|
||||
|
||||
onMounted(() => {
|
||||
if (props.id !== undefined) emit('update:id', localId.value)
|
||||
})
|
||||
</script>
|
||||
5
src/module/cekilisler/routes/index.ts
Normal file
5
src/module/cekilisler/routes/index.ts
Normal file
@ -0,0 +1,5 @@
|
||||
import piyangoListe from '@/module/cekilisler/routes/piyango-liste'
|
||||
import piyangoYeni from '@/module/cekilisler/routes/piyango-yeni'
|
||||
import piyangoDetay from '@/module/cekilisler/routes/piyango-detay'
|
||||
|
||||
export default [piyangoListe, piyangoYeni, piyangoDetay]
|
||||
10
src/module/cekilisler/routes/piyango-detay.ts
Normal file
10
src/module/cekilisler/routes/piyango-detay.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import PiyangoDetay from '@/module/cekilisler/views/PiyangoDetay.vue'
|
||||
|
||||
export default {
|
||||
path: '/piyangolar/detay/:piyangoId',
|
||||
name: 'PiyangoDetay',
|
||||
component: PiyangoDetay,
|
||||
meta: {
|
||||
authRequired: true
|
||||
}
|
||||
}
|
||||
10
src/module/cekilisler/routes/piyango-liste.ts
Normal file
10
src/module/cekilisler/routes/piyango-liste.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import CekilisListe from '@/module/cekilisler/views/PiyangoListe.vue'
|
||||
|
||||
export default {
|
||||
path: '/piyangolar/piyango-listesi',
|
||||
name: 'PiyangoListe',
|
||||
component: CekilisListe,
|
||||
meta: {
|
||||
authRequired: true
|
||||
}
|
||||
}
|
||||
10
src/module/cekilisler/routes/piyango-yeni.ts
Normal file
10
src/module/cekilisler/routes/piyango-yeni.ts
Normal file
@ -0,0 +1,10 @@
|
||||
import PiyangoYeni from '@/module/cekilisler/views/PiyangoYeni.vue'
|
||||
|
||||
export default {
|
||||
path: '/piyangolar/yeni-piyango',
|
||||
name: 'PiyangoYeni',
|
||||
component: PiyangoYeni,
|
||||
meta: {
|
||||
authRequired: true
|
||||
}
|
||||
}
|
||||
69
src/module/cekilisler/service/piyangoDocumentService.ts
Normal file
69
src/module/cekilisler/service/piyangoDocumentService.ts
Normal file
@ -0,0 +1,69 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
import { usePiyangoStore } from '../stores/piyangoStore'
|
||||
import { usePiyangoDocumentStore } from '../stores/piyangoDocumentStore'
|
||||
import { usePiyangoDocumentValidationStore } from '../validation/piyangoDocumentValidationStore'
|
||||
|
||||
export const usePiyangoDocumentService = defineStore('piyangoDocumentService', () => {
|
||||
const dataStore = useDataStore()
|
||||
const piyangoStore = usePiyangoStore()
|
||||
const piyangoDocumentStore = usePiyangoDocumentStore()
|
||||
const piyangoDocumentValidationStore = usePiyangoDocumentValidationStore()
|
||||
|
||||
const GetDocumentList = async () => {
|
||||
piyangoDocumentStore.piyangoDocumentsList.splice(
|
||||
0,
|
||||
piyangoDocumentStore.piyangoDocumentsList.length
|
||||
)
|
||||
|
||||
let dt = await dataStore.dataGet('Dokuman/Cekilis/' + piyangoStore.selectedLottery,{
|
||||
params: {
|
||||
pageSize: 50
|
||||
}
|
||||
})
|
||||
|
||||
if (dt !== 'errorfalse') {
|
||||
piyangoDocumentStore.piyangoDocumentsList.splice(
|
||||
0,
|
||||
piyangoDocumentStore.piyangoDocumentsList.length,
|
||||
...dt.data
|
||||
)
|
||||
}
|
||||
setTimeout(() => {
|
||||
piyangoDocumentStore.loaded = true
|
||||
}, 30)
|
||||
}
|
||||
|
||||
const SaveDocument = async () => {
|
||||
if (piyangoDocumentValidationStore.FormCheck()) {
|
||||
const formData = new FormData()
|
||||
formData.append('dosya', piyangoDocumentStore.piyangoDocumentForm.dosya)
|
||||
formData.append('dokumanAdi', piyangoDocumentStore.piyangoDocumentForm.dokumanAdi)
|
||||
formData.append('cekilisId', String(piyangoStore.selectedLottery))
|
||||
let dt: any
|
||||
|
||||
if (!piyangoDocumentStore.isUpdate) {
|
||||
dt = await dataStore.dataPost('Dokuman/', {
|
||||
data: formData,
|
||||
headers: { 'Content-Type': 'multipart/form-data' }
|
||||
})
|
||||
} else {
|
||||
dt = await dataStore.dataPut(
|
||||
'Dokuman/' + piyangoDocumentStore.piyangoDocumentForm.id,
|
||||
{
|
||||
data: formData,
|
||||
headers: { 'Content-Type': 'multipart/form-data' }
|
||||
}
|
||||
)
|
||||
}
|
||||
if (dt !== 'errorfalse') {
|
||||
await GetDocumentList()
|
||||
piyangoDocumentStore.documentPanel = false
|
||||
piyangoDocumentStore.isUpdate = false
|
||||
}
|
||||
} else {
|
||||
piyangoDocumentValidationStore.isFormValid = true
|
||||
}
|
||||
}
|
||||
return { GetDocumentList, SaveDocument }
|
||||
})
|
||||
54
src/module/cekilisler/service/piyangoItirazService.ts
Normal file
54
src/module/cekilisler/service/piyangoItirazService.ts
Normal file
@ -0,0 +1,54 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
import { usePiyangoStore } from '../stores/piyangoStore'
|
||||
import { usePiyangoItirazStore } from '../stores/piyangoItirazStore'
|
||||
import { usePiyangoItirazValidationStore } from '../validation/piyangoItirazValidationStore'
|
||||
|
||||
export const usePiyangoItirazService = defineStore('piyangoItirazService', () => {
|
||||
const dataStore = useDataStore()
|
||||
const piyangoStore = usePiyangoStore()
|
||||
const piyangoItirazStore = usePiyangoItirazStore()
|
||||
const piyangoItirazValidationStore = usePiyangoItirazValidationStore()
|
||||
|
||||
const SaveItiraz = async () => {
|
||||
if (piyangoItirazValidationStore.FormCheck()) {
|
||||
let data: any
|
||||
const formData = new FormData()
|
||||
formData.append('itirazTarihi', piyangoItirazStore.piyangoItirazForm.itirazTarihi)
|
||||
formData.append('itirazEden', piyangoItirazStore.piyangoItirazForm.itirazEden)
|
||||
formData.append('aciklama', piyangoItirazStore.piyangoItirazForm.aciklama)
|
||||
formData.append('durum', piyangoItirazStore.piyangoItirazForm.durum)
|
||||
formData.append('dosya', piyangoItirazStore.piyangoItirazForm.dosya)
|
||||
formData.append('cekilisId', String(piyangoStore.selectedLottery))
|
||||
formData.append('surecTipiId', piyangoItirazStore.piyangoItirazForm.surecTipiId)
|
||||
|
||||
if (!piyangoItirazStore.isUpdate) {
|
||||
data = await dataStore.dataPost('Itiraz', {
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
})
|
||||
} else {
|
||||
data = await dataStore.dataPut(
|
||||
'Itiraz/' + piyangoItirazStore.piyangoItirazForm.id,
|
||||
{
|
||||
data: formData,
|
||||
headers: {
|
||||
'Content-Type': 'multipart/form-data'
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
if (data !== 'errorfalse') {
|
||||
piyangoItirazStore.refreshList = true
|
||||
piyangoItirazStore.itirazPanel = false
|
||||
piyangoItirazValidationStore.formChanged = false
|
||||
}
|
||||
} else {
|
||||
piyangoItirazValidationStore.isFormValid = true
|
||||
}
|
||||
}
|
||||
return { SaveItiraz }
|
||||
})
|
||||
50
src/module/cekilisler/service/piyangoMecraService.ts
Normal file
50
src/module/cekilisler/service/piyangoMecraService.ts
Normal file
@ -0,0 +1,50 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
import { usePiyangoStore } from '../stores/piyangoStore'
|
||||
import { usePiyangoMecraStore } from '../stores/piyangoMecraStore'
|
||||
import { usePiyangoMecraValidationStore } from '../validation/piyangoMecraValidationStore'
|
||||
|
||||
export const usePiyangoMecraService = defineStore('piyangoMecraService', () => {
|
||||
const dataStore = useDataStore()
|
||||
const piyangoStore = usePiyangoStore()
|
||||
const piyangoMecraStore = usePiyangoMecraStore()
|
||||
const piyangoMecraValidationStore = usePiyangoMecraValidationStore()
|
||||
|
||||
const GetAllMecralar = async () => {
|
||||
let data: Record<string, any> | any = await dataStore.dataGet(
|
||||
'Mecra/Cekilis/' + piyangoStore.selectedLottery + '?pageNumber=0'
|
||||
)
|
||||
|
||||
if (data !== 'errorfalse') {
|
||||
piyangoMecraStore.piyangoAllMecraData = data.data
|
||||
}
|
||||
}
|
||||
|
||||
const SaveMecra = async () => {
|
||||
if (piyangoMecraValidationStore.FormCheck()) {
|
||||
let dt: any
|
||||
dataStore.panelData.yayinlanacagiTarih = new Date(
|
||||
dataStore.panelData.yayinlanacagiTarih
|
||||
)
|
||||
if (!piyangoMecraStore.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') {
|
||||
piyangoMecraStore.refreshList = true
|
||||
piyangoMecraStore.isUpdate = false
|
||||
piyangoMecraStore.mecraPanel = false
|
||||
}
|
||||
} else {
|
||||
piyangoMecraValidationStore.isFormValid = true
|
||||
}
|
||||
}
|
||||
|
||||
return { GetAllMecralar, SaveMecra }
|
||||
})
|
||||
50
src/module/cekilisler/service/piyangoOnayService.ts
Normal file
50
src/module/cekilisler/service/piyangoOnayService.ts
Normal file
@ -0,0 +1,50 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
import { usePiyangoStore } from '../stores/piyangoStore'
|
||||
import { usePiyangoOnayStore } from '../stores/piyangoOnayStore'
|
||||
import { usePiyangoOnayValidationStore } from '../validation/piyangoOnayValidationStore'
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
|
||||
export const usePiyangoOnayService = defineStore('piyangoOnayService', () => {
|
||||
const dataStore = useDataStore()
|
||||
const piyangoStore = usePiyangoStore()
|
||||
const piyangoOnayStore = usePiyangoOnayStore()
|
||||
const piyangoOnayValidationStore = usePiyangoOnayValidationStore()
|
||||
const usersStore = useUsersStore()
|
||||
|
||||
const SaveOnayDurum = async () => {
|
||||
if (piyangoOnayValidationStore.FormCheck()) {
|
||||
piyangoOnayStore.loaded = false
|
||||
let form: any
|
||||
let dataForm = new FormData()
|
||||
dataForm.append(
|
||||
'onayDurumuIslemTipiId',
|
||||
piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId
|
||||
)
|
||||
dataForm.append('onayCekilisId', String(piyangoStore.selectedLottery))
|
||||
dataForm.append('kisiId', String(usersStore.userId))
|
||||
dataForm.append('file', piyangoOnayStore.piyangoOnayForm.file)
|
||||
dataForm.append('aciklama', piyangoOnayStore.piyangoOnayForm.aciklama)
|
||||
|
||||
form = await dataStore.dataPost('OnayDurumu/', {
|
||||
data: dataForm,
|
||||
headers: { 'Content-Type': 'multipart/form-data' },
|
||||
toast: { toast: 'Onay durumu başarıyla kaydedildi', type: 'success' }
|
||||
})
|
||||
|
||||
if (form !== 'errorfalse') {
|
||||
piyangoOnayValidationStore.formChanged = false
|
||||
piyangoStore.lotteryApprove =
|
||||
piyangoOnayStore.piyangoOnayForm.onayDurumuIslemTipiId
|
||||
piyangoOnayStore.refreshList = true
|
||||
piyangoOnayStore.ResetForm()
|
||||
setTimeout(() => {
|
||||
piyangoOnayStore.loaded = true
|
||||
}, 10)
|
||||
}
|
||||
} else {
|
||||
piyangoOnayValidationStore.isFormValid = true
|
||||
}
|
||||
}
|
||||
return { SaveOnayDurum }
|
||||
})
|
||||
81
src/module/cekilisler/service/piyangoServices.ts
Normal file
81
src/module/cekilisler/service/piyangoServices.ts
Normal file
@ -0,0 +1,81 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
import { usePiyangoDataStore } from '../stores/piyangoDataStore'
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
|
||||
export const usePiyangoServices = defineStore('piyangoServices', () => {
|
||||
const dataStore = useDataStore()
|
||||
const piyangoDataStore = usePiyangoDataStore()
|
||||
const usersStore = useUsersStore()
|
||||
|
||||
const RemoveIncelemeBekleniyor = () => {
|
||||
let ind = piyangoDataStore.piyangoOnayDurumlari.findIndex((p) => p.id === 8)
|
||||
if (ind >= 0) piyangoDataStore.piyangoOnayDurumlari.splice(ind, 1)
|
||||
}
|
||||
|
||||
const GetKatilimciTeslimYontemiList = async () => {
|
||||
if (piyangoDataStore.katilimciTeslimYontemi.length === 0) {
|
||||
piyangoDataStore.katilimciTeslimYontemi = await dataStore.dataGet(
|
||||
'KatilimciListesiTeslimYontemi'
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
const GetCekilisYontemiList = async () => {
|
||||
if (piyangoDataStore.cekilisYontemi.length === 0) {
|
||||
let data = await dataStore.dataGet('CekilisYontemi')
|
||||
piyangoDataStore.cekilisYontemi = data.data
|
||||
}
|
||||
}
|
||||
|
||||
const GetParaBirimleri = async () => {
|
||||
if (piyangoDataStore.paraBirimleri.length === 0) {
|
||||
let data = await dataStore.dataGet('ParaBirimi')
|
||||
piyangoDataStore.paraBirimleri = data
|
||||
}
|
||||
}
|
||||
|
||||
const GetPiyangoAmaclariList = async () => {
|
||||
if (piyangoDataStore.piyangoAmaclari.length === 0) {
|
||||
let data = await dataStore.dataGet('PiyangoAmac')
|
||||
piyangoDataStore.piyangoAmaclari = data
|
||||
}
|
||||
}
|
||||
|
||||
const GetPiyangoOnayDurumList = async () => {
|
||||
if (piyangoDataStore.piyangoOnayDurumlari.length === 0) {
|
||||
let data = await dataStore.dataGet('OnayDurumuIslemTipi')
|
||||
data.sort((a: Record<string, any>, b: Record<string, any>) => a.order - b.order)
|
||||
piyangoDataStore.piyangoOnayDurumlari = data
|
||||
if (usersStore.isPanelUser) RemoveIncelemeBekleniyor()
|
||||
}
|
||||
}
|
||||
const GetPiyangoTeminatDurumList = async () => {
|
||||
if (piyangoDataStore.piyangoTeminatDurumlari.length === 0) {
|
||||
let data = await dataStore.dataGet('TeminantStates/Durumlar')
|
||||
piyangoDataStore.piyangoTeminatDurumlari = data
|
||||
}
|
||||
}
|
||||
const GetPiyangoTeminatTurleriList = async () => {
|
||||
if (piyangoDataStore.piyangoTeminatTurleri.length === 0) {
|
||||
let data = await dataStore.dataGet('TeminantStates/TeminantChildType')
|
||||
piyangoDataStore.piyangoTeminatTurleri = data
|
||||
}
|
||||
}
|
||||
const GetPiyangoTeminatParaBirimleriList = async () => {
|
||||
if (piyangoDataStore.piyangoTeminatParaBirimleri.length === 0) {
|
||||
let data = await dataStore.dataGet('TeminantStates/TeminatParentType')
|
||||
piyangoDataStore.piyangoTeminatParaBirimleri = data
|
||||
}
|
||||
}
|
||||
return {
|
||||
GetKatilimciTeslimYontemiList,
|
||||
GetCekilisYontemiList,
|
||||
GetParaBirimleri,
|
||||
GetPiyangoAmaclariList,
|
||||
GetPiyangoOnayDurumList,
|
||||
GetPiyangoTeminatDurumList,
|
||||
GetPiyangoTeminatTurleriList,
|
||||
GetPiyangoTeminatParaBirimleriList
|
||||
}
|
||||
})
|
||||
60
src/module/cekilisler/service/piyangoYardimAmacliService.ts
Normal file
60
src/module/cekilisler/service/piyangoYardimAmacliService.ts
Normal file
@ -0,0 +1,60 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
import { usePiyangoStore } from '../stores/piyangoStore'
|
||||
import { usePiyangoYardimAmacliStore } from '../stores/piyangoYardimAmacliStore'
|
||||
import { usePiyangoYardimAmacliValidationStore } from '../validation/piyangoYardimAmacliValidationStore'
|
||||
|
||||
export const usePiyangoYardimAmacliService = defineStore(
|
||||
'piyangoYardimAmacliService',
|
||||
() => {
|
||||
const dataStore = useDataStore()
|
||||
const piyangoStore = usePiyangoStore()
|
||||
const piyangoYardimAmacliStore = usePiyangoYardimAmacliStore()
|
||||
const piyangoYardimAmacliValidationStore = usePiyangoYardimAmacliValidationStore()
|
||||
|
||||
const GetYardimAmacliData = async () => {
|
||||
piyangoYardimAmacliStore.loaded = false
|
||||
piyangoYardimAmacliStore.EmptyFormData()
|
||||
|
||||
let data = await dataStore.dataGet(
|
||||
'yardimbilgi/cekilisIdyegoreobje/' + piyangoStore.selectedLottery
|
||||
)
|
||||
if (data !== 'errorfalse') {
|
||||
piyangoYardimAmacliStore.CreateBiletTable()
|
||||
Object.assign(piyangoYardimAmacliStore.piyangoYardimAmacliFormData, data)
|
||||
Object.assign(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliServerFormData,
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData
|
||||
)
|
||||
if (data === '') piyangoYardimAmacliStore.isNew = true
|
||||
else piyangoYardimAmacliStore.isNew = false
|
||||
setTimeout(() => {
|
||||
piyangoYardimAmacliStore.loaded = true
|
||||
}, 30)
|
||||
}
|
||||
}
|
||||
|
||||
const SaveYardimAmacliForm = async () => {
|
||||
if (piyangoYardimAmacliValidationStore.FormCheck()) {
|
||||
let form: any
|
||||
if (piyangoYardimAmacliStore.isNew) {
|
||||
form = await dataStore.dataPost('yardimbilgi/', {
|
||||
data: piyangoYardimAmacliStore.piyangoYardimAmacliFormData
|
||||
})
|
||||
} else {
|
||||
form = await dataStore.dataPut('yardimbilgi/' + piyangoYardimAmacliStore.piyangoYardimAmacliFormData.id, {
|
||||
data: piyangoYardimAmacliStore.piyangoYardimAmacliFormData
|
||||
})
|
||||
}
|
||||
if (form !== 'errorfalse') {
|
||||
piyangoYardimAmacliValidationStore.formChanged = false
|
||||
piyangoYardimAmacliStore.loaded = false
|
||||
GetYardimAmacliData()
|
||||
}
|
||||
} else {
|
||||
piyangoYardimAmacliValidationStore.isFormValid = true
|
||||
}
|
||||
}
|
||||
return { GetYardimAmacliData, SaveYardimAmacliForm }
|
||||
}
|
||||
)
|
||||
34
src/module/cekilisler/service/signalrService.ts
Normal file
34
src/module/cekilisler/service/signalrService.ts
Normal file
@ -0,0 +1,34 @@
|
||||
import * as signalR from "@microsoft/signalr";
|
||||
import { v4 as uuidv4 } from "uuid";
|
||||
|
||||
let connection: signalR.HubConnection;
|
||||
let connectionId = "";
|
||||
|
||||
export const connectToHub = async () => {
|
||||
connection = new signalR.HubConnectionBuilder()
|
||||
.withUrl("http://panel.cekilisevi.gov.tr:5001/uploadHub", {
|
||||
withCredentials: false // Bu zorunlu, yoksa cookie vs gönderilmez
|
||||
}) // backend adresine göre düzenle
|
||||
.withAutomaticReconnect()
|
||||
.build();
|
||||
|
||||
await connection.start();
|
||||
connectionId = connection.connectionId || uuidv4(); // SignalR id'si ya da frontend'de de guid üretilebilir
|
||||
return connectionId;
|
||||
};
|
||||
|
||||
export const onProgress = (callback: (data: any) => void) => {
|
||||
connection.on("ReceiveProgress", callback);
|
||||
};
|
||||
|
||||
export const onInsertProgress = (callback: (data: any) => void) => {
|
||||
connection.on("ReceiveInsertProgress", callback);
|
||||
};
|
||||
|
||||
export const onCompleted = (callback: (data: any) => void) => {
|
||||
connection.on("ReceiveCompleted", callback);
|
||||
};
|
||||
|
||||
export const onError = (callback: (data: any) => void) => {
|
||||
connection.on("ReceiveError", callback);
|
||||
};
|
||||
24
src/module/cekilisler/stores/piyangoContactStore.ts
Normal file
24
src/module/cekilisler/stores/piyangoContactStore.ts
Normal file
@ -0,0 +1,24 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { reactive } from 'vue'
|
||||
import { useGlobalStore } from '@/stores/globalStore'
|
||||
|
||||
export const usePiyangoContactStore = defineStore('piyangoContactStore', () => {
|
||||
const globalStore = useGlobalStore()
|
||||
|
||||
const baseContactData = reactive<Record<string, any>>({
|
||||
adSoyad: '',
|
||||
telefonNumarasi: '',
|
||||
faksNumarasi: '',
|
||||
eposta: '',
|
||||
unvan: ''
|
||||
})
|
||||
const contactData = reactive<Record<string, any>>({})
|
||||
const safeContactData = reactive<Record<string, any>>({})
|
||||
|
||||
const ResetFormData = () => {
|
||||
globalStore.ResetObject(contactData, baseContactData)
|
||||
Object.assign(contactData, baseContactData)
|
||||
}
|
||||
|
||||
return { baseContactData, contactData, safeContactData, ResetFormData }
|
||||
})
|
||||
36
src/module/cekilisler/stores/piyangoDocumentStore.ts
Normal file
36
src/module/cekilisler/stores/piyangoDocumentStore.ts
Normal file
@ -0,0 +1,36 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { usePiyangoStore } from './piyangoStore'
|
||||
|
||||
export const usePiyangoDocumentStore = defineStore('piyangoDocumentStore', () => {
|
||||
const piyangoStore = usePiyangoStore()
|
||||
|
||||
const piyangoDocumentsList = ref<Record<string, any>[]>([])
|
||||
const piyangoDocumentBaseForm = reactive<Record<string, any>>({
|
||||
dosya: null,
|
||||
cekilisId: piyangoStore.selectedLottery,
|
||||
dokumanAdi: ''
|
||||
})
|
||||
const piyangoDocumentForm = reactive<Record<string, any>>({})
|
||||
const piyangoDocumentSafeForm = reactive<Record<string, any>>({})
|
||||
const isUpdate = ref<boolean>(false)
|
||||
const refreshList = ref<boolean>(false)
|
||||
const documentPanel = ref<boolean>(false)
|
||||
const loaded = ref<boolean>(false)
|
||||
|
||||
const ResetForm = () =>{
|
||||
Object.assign(piyangoDocumentForm, piyangoDocumentBaseForm)
|
||||
}
|
||||
|
||||
return {
|
||||
piyangoDocumentsList,
|
||||
piyangoDocumentBaseForm,
|
||||
piyangoDocumentForm,
|
||||
piyangoDocumentSafeForm,
|
||||
isUpdate,
|
||||
refreshList,
|
||||
documentPanel,
|
||||
loaded,
|
||||
ResetForm
|
||||
}
|
||||
})
|
||||
75
src/module/cekilisler/stores/piyangoIkramiyeStore.ts
Normal file
75
src/module/cekilisler/stores/piyangoIkramiyeStore.ts
Normal file
@ -0,0 +1,75 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
import { usePiyangoStore } from './piyangoStore'
|
||||
|
||||
export const usePiyangoIkramiyeStore = defineStore('piyangoIkramiyeStore', () => {
|
||||
const piyangoStore = usePiyangoStore()
|
||||
const validationStore = useValidationStore()
|
||||
|
||||
const piyangoAllIkramiyeData = ref<Record<string, any>[]>([])
|
||||
const piyangoAllIkramiyeTotals = reactive<Record<string, any>>({
|
||||
asilTalihliAdedi: 0,
|
||||
toplamDeger: 0,
|
||||
yedekTalihliAdedi: 0
|
||||
})
|
||||
const piyangoAllIkramiyeParaBirimi = ref<string>('')
|
||||
|
||||
const piyangoIkramiyeBaseForm = reactive<Record<string, any>>({
|
||||
cinsi: '',
|
||||
marka: '',
|
||||
model: '',
|
||||
birimFiyat: null,
|
||||
paraBirimiId: null,
|
||||
asilTalihliAdedi: null,
|
||||
yedekTalihliAdedi: piyangoStore.isLotteryForCharity ? 0 : null,
|
||||
toplamDeger: null
|
||||
})
|
||||
const piyangoIkramiyeForm = reactive<Record<string, any>>({})
|
||||
const piyangoIkramiyeSafeForm = reactive<Record<string, any>>({})
|
||||
const isUpdate = ref<boolean>(false)
|
||||
const refreshList = ref<boolean>(false)
|
||||
const ikramiyePanel = ref<boolean>(false)
|
||||
const loaded = ref<boolean>(false)
|
||||
|
||||
const totalIkramiyeValues = reactive<Record<string, any>>({
|
||||
yedekTalihliAdedi: 'toplamyedektalihli',
|
||||
asilTalihliAdedi: 'toplamasiltalihli',
|
||||
toplamDeger: 'toplamdeger'
|
||||
})
|
||||
|
||||
const ResetForm = () => {
|
||||
Object.assign(piyangoIkramiyeForm, piyangoIkramiyeBaseForm)
|
||||
}
|
||||
|
||||
const CalculateToplamDeger = (e: Event) => {
|
||||
if (
|
||||
!validationStore.checkEmpty(piyangoIkramiyeForm.birimFiyat) &&
|
||||
!validationStore.checkEmpty(piyangoIkramiyeForm.asilTalihliAdedi)
|
||||
) {
|
||||
let total =
|
||||
Number(String(piyangoIkramiyeForm.birimFiyat).replace(',', '.')) *
|
||||
piyangoIkramiyeForm.asilTalihliAdedi
|
||||
|
||||
piyangoIkramiyeForm.toplamDeger = String(total.toFixed(2)).replace('.', ',')
|
||||
} else {
|
||||
piyangoIkramiyeForm.toplamDeger = 0
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
piyangoAllIkramiyeData,
|
||||
piyangoAllIkramiyeTotals,
|
||||
piyangoAllIkramiyeParaBirimi,
|
||||
piyangoIkramiyeBaseForm,
|
||||
piyangoIkramiyeForm,
|
||||
piyangoIkramiyeSafeForm,
|
||||
isUpdate,
|
||||
refreshList,
|
||||
ikramiyePanel,
|
||||
loaded,
|
||||
totalIkramiyeValues,
|
||||
ResetForm,
|
||||
CalculateToplamDeger
|
||||
}
|
||||
})
|
||||
36
src/module/cekilisler/stores/piyangoItirazStore.ts
Normal file
36
src/module/cekilisler/stores/piyangoItirazStore.ts
Normal file
@ -0,0 +1,36 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { usePiyangoStore } from './piyangoStore'
|
||||
|
||||
export const usePiyangoItirazStore = defineStore('piyangoItirazStore', () => {
|
||||
const piyangoStore = usePiyangoStore()
|
||||
|
||||
const piyangoItirazBaseForm = reactive<Record<string, any>>({
|
||||
itirazTarihi: '',
|
||||
itirazEden: '',
|
||||
aciklama: '',
|
||||
dosya: null,
|
||||
durum: null,
|
||||
cekilisId: piyangoStore.selectedLottery,
|
||||
surecTipiId: null
|
||||
})
|
||||
const piyangoItirazForm = reactive<Record<string, any>>({})
|
||||
const piyangoItirazSafeForm = reactive<Record<string, any>>({})
|
||||
const isUpdate = ref<boolean>(false)
|
||||
const refreshList = ref<boolean>(false)
|
||||
const itirazPanel = ref<boolean>(false)
|
||||
|
||||
const ResetForm = () =>{
|
||||
Object.assign(piyangoItirazForm, piyangoItirazBaseForm)
|
||||
}
|
||||
|
||||
return {
|
||||
piyangoItirazBaseForm,
|
||||
piyangoItirazForm,
|
||||
piyangoItirazSafeForm,
|
||||
isUpdate,
|
||||
refreshList,
|
||||
itirazPanel,
|
||||
ResetForm
|
||||
}
|
||||
})
|
||||
38
src/module/cekilisler/stores/piyangoMecraStore.ts
Normal file
38
src/module/cekilisler/stores/piyangoMecraStore.ts
Normal file
@ -0,0 +1,38 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { usePiyangoStore } from './piyangoStore'
|
||||
|
||||
export const usePiyangoMecraStore = defineStore('piyangoMecraStore', () => {
|
||||
const piyangoStore = usePiyangoStore()
|
||||
|
||||
const piyangoAllMecraData = ref<Record<string, any>[]>([])
|
||||
|
||||
const piyangoMecraBaseForm = reactive<Record<string, any>>({
|
||||
cekilisId: piyangoStore.selectedLottery,
|
||||
mecraAdi: '',
|
||||
yayinlanmaDurumu: 0,
|
||||
yayinlanacagiTarih: piyangoStore.baseLotteryData.ilantarihi || new Date()
|
||||
})
|
||||
const piyangoMecraForm = reactive<Record<string, any>>({})
|
||||
const piyangoMecraSafeForm = reactive<Record<string, any>>({})
|
||||
const isUpdate = ref<boolean>(false)
|
||||
const refreshList = ref<boolean>(false)
|
||||
const mecraPanel = ref<boolean>(false)
|
||||
const loaded = ref<boolean>(false)
|
||||
|
||||
const ResetForm = () => {
|
||||
Object.assign(piyangoMecraForm, piyangoMecraBaseForm)
|
||||
}
|
||||
|
||||
return {
|
||||
piyangoAllMecraData,
|
||||
piyangoMecraBaseForm,
|
||||
piyangoMecraForm,
|
||||
piyangoMecraSafeForm,
|
||||
isUpdate,
|
||||
refreshList,
|
||||
mecraPanel,
|
||||
loaded,
|
||||
ResetForm
|
||||
}
|
||||
})
|
||||
36
src/module/cekilisler/stores/piyangoOnayStore.ts
Normal file
36
src/module/cekilisler/stores/piyangoOnayStore.ts
Normal file
@ -0,0 +1,36 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { usePiyangoStore } from './piyangoStore'
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
|
||||
export const usePiyangoOnayStore = defineStore('piyangoOnayStore', () => {
|
||||
const piyangoStore = usePiyangoStore()
|
||||
const usersStore = useUsersStore()
|
||||
|
||||
const piyangoOnayBaseForm = reactive<Record<string, any>>({
|
||||
onayDurumuIslemTipiId: null,
|
||||
onayCekilisId: piyangoStore.selectedLottery,
|
||||
kisiId: usersStore.userId,
|
||||
aciklama: '',
|
||||
file: ''
|
||||
})
|
||||
const piyangoOnayForm = 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 ResetForm = () => {
|
||||
Object.assign(piyangoOnayForm, piyangoOnayBaseForm)
|
||||
}
|
||||
|
||||
return {
|
||||
piyangoOnayBaseForm,
|
||||
piyangoOnayForm,
|
||||
piyangoOnaySafeForm,
|
||||
isUpdate,
|
||||
refreshList,
|
||||
loaded,
|
||||
ResetForm
|
||||
}
|
||||
})
|
||||
185
src/module/cekilisler/stores/piyangoStore.ts
Normal file
185
src/module/cekilisler/stores/piyangoStore.ts
Normal file
@ -0,0 +1,185 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
import { useGlobalStore } from '@/stores/globalStore'
|
||||
|
||||
export const usePiyangoStore = defineStore('piyangoStore', () => {
|
||||
const usersStore = useUsersStore()
|
||||
const globalStore = useGlobalStore()
|
||||
|
||||
const isNew = ref<boolean>(true)
|
||||
const lotteryId = ref<number | null>(null)
|
||||
const selectedLottery = ref<number | null>(null)
|
||||
const lotteryApprove = ref<number | null>(null)
|
||||
const lotteryDrawState = ref<boolean>(false)
|
||||
const lotteryDrawDate = ref<string | Date>('')
|
||||
const lotteryIlanTarihi = ref<string | Date | null>('')
|
||||
const lotteryFirstApproveDate = ref<string | Date | null>('')
|
||||
const lotteryCreationDate = ref<string | Date>('')
|
||||
const lotteryStateDate = ref<string | Date>('')
|
||||
const lotteryPurposeId = ref<number | null>(null)
|
||||
const lotteryBasvuruBedeliStatus = ref<boolean | null>(null)
|
||||
const lotteryIzinBedeliStatus = ref<boolean | null>(null)
|
||||
const subCustomerType = ref<number | null>(null)
|
||||
const customerApproved = ref<boolean>(false)
|
||||
const lotteryYetkiRefresh = ref<boolean>(false)
|
||||
|
||||
const lotteryStatusTypes = ref<Record<string, any>[]>([
|
||||
{ name: 'Bekliyor', class: 'waiting' },
|
||||
{ name: 'Kapsam Dışı', class: 'waiting' },
|
||||
{ name: 'Onaylandı', class: 'ok' },
|
||||
{ name: 'İzin Verildi', class: 'ok' },
|
||||
{ name: 'Kampanya Olumlu Bitti', class: 'ok' },
|
||||
{ name: 'Katılımcı Listesi Yüklendi', class: 'next' },
|
||||
{ name: 'Bilgi/Belge Eksik/Yanlış', class: 'waiting' },
|
||||
{ name: 'Başvuru İşleme Alındı', class: 'waiting' },
|
||||
{ name: 'Düzenleme Bekliyor', class: 'waiting' },
|
||||
{ name: 'Üzerinde Çalışılıyor', class: 'waiting' },
|
||||
{ name: 'Ön Kayıt Kabul Edildi', class: 'waiting' },
|
||||
{ name: 'Yardım Amaçlı Piyango Son Onay', class: 'waiting' },
|
||||
{ name: 'İnceleme Bekleniyor', class: 'beforeok' },
|
||||
{ name: 'Yeni Piyango', class: 'new' },
|
||||
{ name: 'Başvuru Reddedildi', class: 'alert' },
|
||||
{ name: 'Başvuru Uygun Görülmedi', class: 'alert' },
|
||||
{ name: 'İzin Öncesi İptal', class: 'alert' },
|
||||
{ name: 'İzin Sonrası İptal', class: 'alert' },
|
||||
{ name: 'Ceza Verildi', class: 'alert' },
|
||||
{ name: 'Değişiklik Talep Ediliyor', class: 'change' }
|
||||
])
|
||||
|
||||
const baseLotteryData = reactive<Record<string, any>>({
|
||||
amac:'',
|
||||
amacpiyangoId: null,
|
||||
duzenleyenId: null,
|
||||
baslik: '',
|
||||
baglisirketId: null,
|
||||
cekilisSartveSekilleri: '',
|
||||
kapsamIl: [] as string[],
|
||||
kapsamIlce: [] as string[],
|
||||
baslangicTarihi: '',
|
||||
bitisTarihi: '',
|
||||
asilSonBasvuruTarihi: '',
|
||||
yedekSonBasvuruTarihi: '',
|
||||
cekilisTarihi: '',
|
||||
ilantarihi: '',
|
||||
ilantarihi2: '',
|
||||
ikramiyeTeslimTarihi: '',
|
||||
ilanEdilecekGazete: '',
|
||||
ilId: null,
|
||||
ilceId: null,
|
||||
adres: '',
|
||||
katilimListesi: '',
|
||||
katilimciListesiTeslimYontemiId: null,
|
||||
cekilisYontemiId: null,
|
||||
digerHususlar: ''
|
||||
})
|
||||
|
||||
const lotteryData = reactive<Record<string, any>>({})
|
||||
const safeLotteryData = reactive<Record<string, any>>({})
|
||||
const duzenleyenData = reactive<Record<string, any>>({})
|
||||
const araciUyeData = reactive<Record<string, any>>({})
|
||||
const lotterySelectedProvience = ref<string>('')
|
||||
|
||||
const UyeName = (data: Record<string, any>): string => {
|
||||
if (data.basvuruTipId === 18) return `${data.gercekAdi} ${data.gercekSoyadi}`
|
||||
else if (data.basvuruTipId === 21) return `${data.tuzelUnvan}`
|
||||
else if (data.basvuruTipId === 22) return `${data.dernekUnvan}`
|
||||
else if (data.basvuruTipId === 23) return `${data.sirketUnvan}`
|
||||
else if (data.basvuruTipId === 26) return `${data.kamuUnvan}`
|
||||
return ''
|
||||
}
|
||||
|
||||
const duzenleyenLink = computed<string | null>(() => {
|
||||
if (lotteryData.baglisirketId === null && lotteryData.duzenleyenId !== null)
|
||||
return '/uyeler/detay/' + lotteryData.duzenleyenId
|
||||
else if (lotteryData.duzenleyenId !== null && lotteryData.baglisirketId !== null)
|
||||
return (
|
||||
'/uyeler/detay/' +
|
||||
araciUyeData.baglisirketId +
|
||||
'/yetkili-uye/detay/' +
|
||||
lotteryData.duzenleyenId
|
||||
)
|
||||
else return null
|
||||
})
|
||||
|
||||
const araciLink = computed<string>(() => {
|
||||
return '/uyeler/detay/' + lotteryData.baglisirketId
|
||||
})
|
||||
|
||||
const CheckForYardimAmacli = (): boolean => {
|
||||
return (
|
||||
usersStore.isVakifDernek ||
|
||||
(usersStore.isAraciFirma && subCustomerType.value === 22)
|
||||
)
|
||||
}
|
||||
|
||||
const isLotteryForCharity = computed((): boolean => {
|
||||
return lotteryPurposeId.value === 2
|
||||
})
|
||||
|
||||
const ResetLotteryData = () => {
|
||||
globalStore.ResetObject(lotteryData, baseLotteryData)
|
||||
Object.assign(lotteryData, baseLotteryData)
|
||||
lotteryApprove.value = null
|
||||
selectedLottery.value = null
|
||||
lotteryData.kapsamIl.splice(0,lotteryData.kapsamIl.length)
|
||||
lotteryData.kapsamIlce.splice(0,lotteryData.kapsamIlce.length)
|
||||
}
|
||||
|
||||
const ResetLotteryContent = () => {
|
||||
Object.assign(lotteryData, baseLotteryData)
|
||||
}
|
||||
|
||||
const LoterryStatusClass = (d: any): string => {
|
||||
let cls = lotteryStatusTypes.value.filter((v) => {
|
||||
return v.name === d
|
||||
})
|
||||
if (cls !== undefined && cls !== null && cls.length !== 0)
|
||||
return 'back-grad-' + cls[0].class
|
||||
else return 'back-grad-waiting'
|
||||
}
|
||||
|
||||
const SetLotteryControlData = (data: Record<string, any>) => {
|
||||
lotteryApprove.value = data.onayDurum
|
||||
lotteryDrawDate.value = data.cekilisTarihi
|
||||
lotteryDrawState.value = data.cekilisDuzenlemeDurum
|
||||
lotteryStateDate.value = data.sonIslemTarihi
|
||||
lotteryPurposeId.value = data.piyangoAmacId
|
||||
lotteryFirstApproveDate.value = data.ilkIzinTarihi
|
||||
lotteryBasvuruBedeliStatus.value = data.basvuruBedeliDurum
|
||||
lotteryIzinBedeliStatus.value = data.izinBedeliDurum
|
||||
}
|
||||
return {
|
||||
isNew,
|
||||
lotteryId,
|
||||
baseLotteryData,
|
||||
selectedLottery,
|
||||
lotteryApprove,
|
||||
lotteryDrawState,
|
||||
lotteryDrawDate,
|
||||
lotteryIlanTarihi,
|
||||
lotteryFirstApproveDate,
|
||||
lotteryCreationDate,
|
||||
lotteryStateDate,
|
||||
lotteryBasvuruBedeliStatus,
|
||||
lotteryIzinBedeliStatus,
|
||||
subCustomerType,
|
||||
lotteryPurposeId,
|
||||
isLotteryForCharity,
|
||||
lotteryYetkiRefresh,
|
||||
lotteryData,
|
||||
safeLotteryData,
|
||||
duzenleyenData,
|
||||
araciUyeData,
|
||||
lotterySelectedProvience,
|
||||
customerApproved,
|
||||
duzenleyenLink,
|
||||
araciLink,
|
||||
UyeName,
|
||||
CheckForYardimAmacli,
|
||||
ResetLotteryData,
|
||||
ResetLotteryContent,
|
||||
LoterryStatusClass,
|
||||
SetLotteryControlData
|
||||
}
|
||||
})
|
||||
156
src/module/cekilisler/stores/piyangoYardimAmacliStore.ts
Normal file
156
src/module/cekilisler/stores/piyangoYardimAmacliStore.ts
Normal file
@ -0,0 +1,156 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { usePiyangoStore } from './piyangoStore'
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
import { usePiyangoYardimAmacliValidationStore } from '../validation/piyangoYardimAmacliValidationStore'
|
||||
|
||||
export const usePiyangoYardimAmacliStore = defineStore('piyangoYardimAmacliStore', () => {
|
||||
const usersStore = useUsersStore()
|
||||
const piyangoStore = usePiyangoStore()
|
||||
const validationStore = useValidationStore()
|
||||
const piyangoYardimAmacliValidationStore = usePiyangoYardimAmacliValidationStore()
|
||||
|
||||
const yardimAmacliRakamlar = ref<Record<string, any>[]>([
|
||||
{ title: 'Üç Rakam (000-999)', prefix: 'uc', min: 1, max: 999, maxl: 3 },
|
||||
{ title: 'Dort Rakam (0000-9999)', prefix: 'dort', min: 1000, max: 9999, maxl: 4 },
|
||||
{ title: 'Beş Rakam (00000-99999)', prefix: 'bes', min: 10000, max: 99999, maxl: 5 },
|
||||
{
|
||||
title: 'Altı Rakam (000000-999999)',
|
||||
prefix: 'alti',
|
||||
min: 100000,
|
||||
max: 999999,
|
||||
maxl: 6
|
||||
}
|
||||
])
|
||||
|
||||
const piyangoYardimAmacliSafeFormData = reactive<Record<string, any>>({
|
||||
duzenleyenId: usersStore.userId,
|
||||
cekilsiId: piyangoStore.selectedLottery,
|
||||
basimevi: '',
|
||||
basimeviAdresi: '',
|
||||
birimSatisFiyati: null,
|
||||
altiRakamAdet: null,
|
||||
altiRakamBaslangic: null,
|
||||
altiRakamBitis: null,
|
||||
besRakamAdet: null,
|
||||
besRakamBaslangic: null,
|
||||
besRakamBitis: null,
|
||||
dortRakamAdet: null,
|
||||
dortRakamBaslangic: null,
|
||||
dortRakamBitis: null,
|
||||
ucRakamAdet: null,
|
||||
ucRakamBaslangic: null,
|
||||
ucRakamBitis: null
|
||||
})
|
||||
|
||||
const piyangoYardimAmacliFormData = reactive<Record<string, any>>({})
|
||||
const piyangoYardimAmacliServerFormData = reactive<Record<string, any>>({})
|
||||
const loaded = ref<boolean>(false)
|
||||
const isNew = ref<boolean>(false)
|
||||
|
||||
const ResetFormData = () => {
|
||||
loaded.value = false
|
||||
if (isNew.value)
|
||||
Object.assign(piyangoYardimAmacliFormData, piyangoYardimAmacliSafeFormData)
|
||||
else Object.assign(piyangoYardimAmacliFormData, piyangoYardimAmacliServerFormData)
|
||||
piyangoYardimAmacliValidationStore.formChanged = false
|
||||
setTimeout(() => {
|
||||
loaded.value = true
|
||||
}, 30)
|
||||
}
|
||||
|
||||
const EmptyFormData = () => {
|
||||
Object.assign(piyangoYardimAmacliFormData, piyangoYardimAmacliSafeFormData)
|
||||
}
|
||||
|
||||
const CreateBiletTable = () => {
|
||||
for (let i = 0; i < yardimAmacliRakamlar.value.length; i++) {
|
||||
piyangoYardimAmacliFormData[
|
||||
yardimAmacliRakamlar.value[i].prefix + 'RakamBaslangic'
|
||||
] = null
|
||||
piyangoYardimAmacliFormData[yardimAmacliRakamlar.value[i].prefix + 'RakamBitis'] =
|
||||
null
|
||||
piyangoYardimAmacliFormData[yardimAmacliRakamlar.value[i].prefix + 'RakamAdet'] =
|
||||
null
|
||||
}
|
||||
}
|
||||
|
||||
const CalculateToplamBilet = (data: Record<string, any>) => {
|
||||
if (
|
||||
!validationStore.checkEmpty(
|
||||
piyangoYardimAmacliFormData[data.prefix + 'RakamBaslangic']
|
||||
) &&
|
||||
validationStore.checkEmpty(piyangoYardimAmacliFormData[data.prefix + 'RakamBitis'])
|
||||
) {
|
||||
piyangoYardimAmacliValidationStore.invalidTexts[data.prefix + 'RakamBitis'] =
|
||||
'Bitiş numarasını girmelisiniz.'
|
||||
} else {
|
||||
delete piyangoYardimAmacliValidationStore.invalidTexts[data.prefix + 'RakamBitis']
|
||||
}
|
||||
|
||||
if (
|
||||
validationStore.checkEmpty(
|
||||
piyangoYardimAmacliFormData[data.prefix + 'RakamBaslangic']
|
||||
) &&
|
||||
!validationStore.checkEmpty(piyangoYardimAmacliFormData[data.prefix + 'RakamBitis'])
|
||||
) {
|
||||
piyangoYardimAmacliValidationStore.invalidTexts[data.prefix + 'RakamBaslangic'] =
|
||||
'Başlangıç numarasını girmelisiniz.'
|
||||
} else {
|
||||
delete piyangoYardimAmacliValidationStore.invalidTexts[
|
||||
data.prefix + 'RakamBaslangic'
|
||||
]
|
||||
}
|
||||
|
||||
if (
|
||||
!validationStore.checkEmpty(
|
||||
piyangoYardimAmacliFormData[data.prefix + 'RakamBaslangic']
|
||||
) &&
|
||||
!validationStore.checkEmpty(piyangoYardimAmacliFormData[data.prefix + 'RakamBitis'])
|
||||
) {
|
||||
if (
|
||||
parseInt(piyangoYardimAmacliFormData[data.prefix + 'RakamBaslangic']) <
|
||||
parseInt(piyangoYardimAmacliFormData[data.prefix + 'RakamBitis'])
|
||||
) {
|
||||
delete piyangoYardimAmacliValidationStore.invalidTexts[data.prefix + 'RakamBitis']
|
||||
piyangoYardimAmacliFormData[data.prefix + 'RakamAdet'] =
|
||||
piyangoYardimAmacliFormData[data.prefix + 'RakamBitis'] -
|
||||
piyangoYardimAmacliFormData[data.prefix + 'RakamBaslangic'] +
|
||||
1
|
||||
} else {
|
||||
piyangoYardimAmacliFormData[data.prefix + 'RakamAdet'] = ''
|
||||
piyangoYardimAmacliValidationStore.invalidTexts[data.prefix + 'RakamBitis'] =
|
||||
'Bitiş numarasını başlangıç numarasından büyük olmalıdır.'
|
||||
}
|
||||
} else {
|
||||
piyangoYardimAmacliFormData[data.prefix + 'RakamAdet'] = ''
|
||||
}
|
||||
|
||||
piyangoYardimAmacliValidationStore.formChanged = true
|
||||
}
|
||||
|
||||
const toplamBilet = computed(() => {
|
||||
var toplam:number = 0
|
||||
yardimAmacliRakamlar.value.forEach((rakam) => {
|
||||
if(piyangoYardimAmacliFormData[rakam.prefix + 'RakamAdet'] !== null){
|
||||
toplam += Number(piyangoYardimAmacliFormData[rakam.prefix + 'RakamAdet'])
|
||||
}
|
||||
})
|
||||
return toplam
|
||||
})
|
||||
|
||||
return {
|
||||
yardimAmacliRakamlar,
|
||||
piyangoYardimAmacliSafeFormData,
|
||||
piyangoYardimAmacliFormData,
|
||||
piyangoYardimAmacliServerFormData,
|
||||
loaded,
|
||||
isNew,
|
||||
toplamBilet,
|
||||
ResetFormData,
|
||||
EmptyFormData,
|
||||
CreateBiletTable,
|
||||
CalculateToplamBilet
|
||||
}
|
||||
})
|
||||
@ -0,0 +1,59 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
import { usePiyangoContactStore } from '../stores/piyangoContactStore'
|
||||
|
||||
export const usePiyangoContactValidationStore = defineStore(
|
||||
'piyangoContactValidationStore',
|
||||
() => {
|
||||
const validationStore = useValidationStore()
|
||||
const piyangoContactStore = usePiyangoContactStore()
|
||||
|
||||
const invalidTexts = reactive<Record<string, any>>({})
|
||||
const formChanged = ref<boolean>(false)
|
||||
const isFormValid = ref<boolean>(true)
|
||||
|
||||
const FormCheck = (): boolean => {
|
||||
Object.assign(invalidTexts, {})
|
||||
|
||||
validationStore.IsFieldEmpty(piyangoContactStore.contactData,invalidTexts,'adSoyad', 'Ad ve Soyad alanı boş bırakılamaz.')
|
||||
validationStore.IsFieldEmpty(piyangoContactStore.contactData,invalidTexts,'telefonNumarasi', 'Bir telefon numarası girmelisiniz.')
|
||||
if (!validationStore.checkEmpty(piyangoContactStore.contactData.telefonNumarasi)) {
|
||||
if(piyangoContactStore.contactData.telefonNumarasi.length !== 10){
|
||||
invalidTexts.telefonNumarasi =
|
||||
'Telefon numaranızı başında 0 olmadan 10 hane olarak giriniz.'
|
||||
isFormValid.value = false
|
||||
} else {
|
||||
delete invalidTexts.telefonNumarasi
|
||||
}
|
||||
}
|
||||
|
||||
if (!validationStore.checkEmpty(piyangoContactStore.contactData.faksNumarasi)) {
|
||||
if(piyangoContactStore.contactData.faksNumarasi.length !== 10){
|
||||
invalidTexts.faksNumarasi =
|
||||
'Faks numaranızı başında 0 olmadan 10 hane olarak giriniz.'
|
||||
isFormValid.value = false
|
||||
} else {
|
||||
delete invalidTexts.faksNumarasi
|
||||
}
|
||||
}
|
||||
|
||||
validationStore.IsFieldEmpty(piyangoContactStore.contactData,invalidTexts,'eposta', 'Mail adresini girmelisiniz.')
|
||||
validationStore.IsFieldEmpty(piyangoContactStore.contactData,invalidTexts,'unvan', 'Başlık alanı boş bırakılamaz.')
|
||||
|
||||
if (!validationStore.checkEmpty(piyangoContactStore.contactData.eposta)) {
|
||||
if (!validationStore.checkEmail(piyangoContactStore.contactData.eposta)) {
|
||||
invalidTexts.eposta =
|
||||
'Lütfen eposta adresinizi doğru formatta giriniz. Örn: isim@alanadi.td'
|
||||
isFormValid.value = false
|
||||
} else {
|
||||
delete invalidTexts.eposta
|
||||
}
|
||||
}
|
||||
isFormValid.value = Object.keys(invalidTexts).length === 0
|
||||
return isFormValid.value
|
||||
}
|
||||
|
||||
return { invalidTexts, formChanged, FormCheck }
|
||||
}
|
||||
)
|
||||
@ -0,0 +1,44 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
import { usePiyangoDocumentStore } from '../stores/piyangoDocumentStore'
|
||||
|
||||
export const usePiyangoDocumentValidationStore = defineStore(
|
||||
'piyangoDocumentValidationStore',
|
||||
() => {
|
||||
const piyangoDocumentStore = usePiyangoDocumentStore()
|
||||
const validationStore = useValidationStore()
|
||||
|
||||
const formChanged = ref<boolean>(false)
|
||||
const isFormValid = ref<boolean>(true)
|
||||
const invalidTexts = reactive<Record<string, any>>({})
|
||||
|
||||
const FormCheck = (): boolean => {
|
||||
Object.assign(invalidTexts, {})
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoDocumentStore.piyangoDocumentForm,
|
||||
invalidTexts,
|
||||
'dokumanAdi',
|
||||
'Döküman için bir başlık belirtmelisiniz.'
|
||||
)
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoDocumentStore.piyangoDocumentForm,
|
||||
invalidTexts,
|
||||
'dosya',
|
||||
'Bir döküman eklemelisiniz.'
|
||||
)
|
||||
|
||||
isFormValid.value = Object.keys(invalidTexts).length === 0
|
||||
return isFormValid.value
|
||||
}
|
||||
|
||||
return {
|
||||
formChanged,
|
||||
isFormValid,
|
||||
invalidTexts,
|
||||
FormCheck
|
||||
}
|
||||
}
|
||||
)
|
||||
@ -0,0 +1,83 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
import { usePiyangoStore } from '../stores/piyangoStore'
|
||||
import { usePiyangoIkramiyeStore } from '../stores/piyangoIkramiyeStore'
|
||||
|
||||
export const usePiyangoIkramiyeValidationStore = defineStore(
|
||||
'piyangoIkramiyeValidationStore',
|
||||
() => {
|
||||
const validationStore = useValidationStore()
|
||||
const piyangoStore = usePiyangoStore()
|
||||
const piyangoIkramiyeStore = usePiyangoIkramiyeStore()
|
||||
|
||||
const formChanged = ref<boolean>(false)
|
||||
const isFormValid = ref<boolean>(true)
|
||||
const invalidTexts = reactive<Record<string, any>>({})
|
||||
|
||||
const FormCheck = (): boolean => {
|
||||
Object.assign(invalidTexts, {})
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoIkramiyeStore.piyangoIkramiyeForm,
|
||||
invalidTexts,
|
||||
'cinsi',
|
||||
'Bu alan boş bırakılamaz.'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoIkramiyeStore.piyangoIkramiyeForm,
|
||||
invalidTexts,
|
||||
'marka',
|
||||
'Bu alan boş bırakılamaz.'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoIkramiyeStore.piyangoIkramiyeForm,
|
||||
invalidTexts,
|
||||
'model',
|
||||
'Bu alan boş bırakılamaz.'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoIkramiyeStore.piyangoIkramiyeForm,
|
||||
invalidTexts,
|
||||
'birimFiyat',
|
||||
'İkramiyenin birim fiyatını giriniz.'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoIkramiyeStore.piyangoIkramiyeForm,
|
||||
invalidTexts,
|
||||
'paraBirimiId',
|
||||
'Para birimini seçmelisiniz'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoIkramiyeStore.piyangoIkramiyeForm,
|
||||
invalidTexts,
|
||||
'asilTalihliAdedi',
|
||||
piyangoStore.isLotteryForCharity
|
||||
? 'Talihli adedini giriniz.'
|
||||
: 'Asıl talihli adedini giriniz.'
|
||||
)
|
||||
if (!piyangoStore.isLotteryForCharity)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoIkramiyeStore.piyangoIkramiyeForm,
|
||||
invalidTexts,
|
||||
'yedekTalihliAdedi',
|
||||
'Yedek talihli adedini giriniz.'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoIkramiyeStore.piyangoIkramiyeForm,
|
||||
invalidTexts,
|
||||
'toplamDeger',
|
||||
'Toplam değer alanı boş bırakılamaz.'
|
||||
)
|
||||
isFormValid.value = Object.keys(invalidTexts).length === 0
|
||||
return isFormValid.value
|
||||
}
|
||||
|
||||
return {
|
||||
formChanged,
|
||||
isFormValid,
|
||||
invalidTexts,
|
||||
FormCheck
|
||||
}
|
||||
}
|
||||
)
|
||||
@ -0,0 +1,71 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
import { usePiyangoItirazStore } from '../stores/piyangoItirazStore'
|
||||
|
||||
export const usePiyangoItirazValidationStore = defineStore(
|
||||
'piyangoItirazValidationStore',
|
||||
() => {
|
||||
const piyangoItirazStore = usePiyangoItirazStore()
|
||||
const validationStore = useValidationStore()
|
||||
|
||||
const formChanged = ref<boolean>(false)
|
||||
const isFormValid = ref<boolean>(true)
|
||||
const invalidTexts = reactive<Record<string, any>>({})
|
||||
|
||||
const FormCheck = (): boolean => {
|
||||
Object.assign(invalidTexts, {})
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoItirazStore.piyangoItirazForm,
|
||||
invalidTexts,
|
||||
'surecTipiId',
|
||||
'Süreç tipini seçmelisiniz.'
|
||||
)
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoItirazStore.piyangoItirazForm,
|
||||
invalidTexts,
|
||||
'durum',
|
||||
'Süreç durumunu seçmelisiniz.'
|
||||
)
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoItirazStore.piyangoItirazForm,
|
||||
invalidTexts,
|
||||
'itirazTarihi',
|
||||
'İtiraz tarihini seçmelisiniz.'
|
||||
)
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoItirazStore.piyangoItirazForm,
|
||||
invalidTexts,
|
||||
'itirazEden',
|
||||
'İtiraz eden kişi/kurumun adını yazmalısınız.'
|
||||
)
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoItirazStore.piyangoItirazForm,
|
||||
invalidTexts,
|
||||
'aciklama',
|
||||
'Açıklama alanı boş bırakılamaz.'
|
||||
)
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoItirazStore.piyangoItirazForm,
|
||||
invalidTexts,
|
||||
'dosya',
|
||||
'Dosya yüklemelisiniz.'
|
||||
)
|
||||
isFormValid.value = Object.keys(invalidTexts).length === 0
|
||||
return isFormValid.value
|
||||
}
|
||||
|
||||
return {
|
||||
formChanged,
|
||||
isFormValid,
|
||||
invalidTexts,
|
||||
FormCheck
|
||||
}
|
||||
}
|
||||
)
|
||||
@ -0,0 +1,37 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
import { usePiyangoMecraStore } from '../stores/piyangoMecraStore'
|
||||
|
||||
export const usePiyangoMecraValidationStore = defineStore(
|
||||
'piyangoMecraValidationStore',
|
||||
() => {
|
||||
const piyangoMecraStore = usePiyangoMecraStore()
|
||||
const validationStore = useValidationStore()
|
||||
|
||||
const formChanged = ref<boolean>(false)
|
||||
const isFormValid = ref<boolean>(true)
|
||||
const invalidTexts = reactive<Record<string, any>>({})
|
||||
|
||||
const FormCheck = (): boolean => {
|
||||
Object.assign(invalidTexts, {})
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoMecraStore.piyangoMecraForm,
|
||||
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
|
||||
}
|
||||
}
|
||||
)
|
||||
@ -0,0 +1,36 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
import { usePiyangoOnayStore } from '../stores/piyangoOnayStore'
|
||||
|
||||
export const usePiyangoOnayValidationStore = defineStore(
|
||||
'piyangoOnayValidationStore',
|
||||
() => {
|
||||
const validationStore = useValidationStore()
|
||||
const piyangoOnayStore = usePiyangoOnayStore()
|
||||
|
||||
const formChanged = ref<boolean>(false)
|
||||
const isFormValid = ref<boolean>(true)
|
||||
const invalidTexts = reactive<Record<string, any>>({})
|
||||
|
||||
const FormCheck = (): boolean => {
|
||||
Object.assign(invalidTexts, {})
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoOnayStore.piyangoOnayForm,
|
||||
invalidTexts,
|
||||
'onayDurumuIslemTipiId',
|
||||
'Bir işlem tipi seçmelisinz.'
|
||||
)
|
||||
isFormValid.value = Object.keys(invalidTexts).length === 0
|
||||
return isFormValid.value
|
||||
}
|
||||
|
||||
return {
|
||||
formChanged,
|
||||
isFormValid,
|
||||
invalidTexts,
|
||||
FormCheck
|
||||
}
|
||||
}
|
||||
)
|
||||
@ -0,0 +1,83 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
import { usePiyangoTeminatStore } from '../stores/piyangoTeminatStore'
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
|
||||
export const usePiyangoTeminatValidationStore = defineStore(
|
||||
'piyangoTeminatValidationStore',
|
||||
() => {
|
||||
const piyangoTeminatStore = usePiyangoTeminatStore()
|
||||
const validationStore = useValidationStore()
|
||||
const usersStore = useUsersStore()
|
||||
|
||||
const formChanged = ref<boolean>(false)
|
||||
const isFormValid = ref<boolean>(true)
|
||||
const invalidTexts = reactive<Record<string, any>>({})
|
||||
|
||||
const FormCheck = (): boolean => {
|
||||
Object.assign(invalidTexts, {})
|
||||
if (usersStore.isPanelUser) {
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoTeminatStore.piyangoTeminatFormData,
|
||||
invalidTexts,
|
||||
'state',
|
||||
'Lütfen işlem tipini seçiniz.'
|
||||
)
|
||||
}
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoTeminatStore.piyangoTeminatFormData,
|
||||
invalidTexts,
|
||||
'amount',
|
||||
'Lütfen tutarı giriniz.'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoTeminatStore.piyangoTeminatFormData,
|
||||
invalidTexts,
|
||||
'bankName',
|
||||
'Lütfen banka adını giriniz.'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoTeminatStore.piyangoTeminatFormData,
|
||||
invalidTexts,
|
||||
'bankBranch',
|
||||
'Lütfen banka şubesini giriniz.'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoTeminatStore.piyangoTeminatFormData,
|
||||
invalidTexts,
|
||||
'teminatParentType',
|
||||
'Lütfen ödeme türünü seçiniz.'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoTeminatStore.piyangoTeminatFormData,
|
||||
invalidTexts,
|
||||
'teminantChildType',
|
||||
'Lütfen teminat türünü seçiniz.'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoTeminatStore.piyangoTeminatFormData,
|
||||
invalidTexts,
|
||||
'teminantDate',
|
||||
'Tarih alanı boş bırakılamaz.'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoTeminatStore.piyangoTeminatFormData,
|
||||
invalidTexts,
|
||||
'teminantNo',
|
||||
'No alanı boş bırakılamaz.'
|
||||
)
|
||||
|
||||
isFormValid.value = Object.keys(invalidTexts).length === 0
|
||||
return isFormValid.value
|
||||
}
|
||||
|
||||
return {
|
||||
formChanged,
|
||||
isFormValid,
|
||||
invalidTexts,
|
||||
FormCheck
|
||||
}
|
||||
}
|
||||
)
|
||||
675
src/module/cekilisler/validation/piyangoValidationStore.ts
Normal file
675
src/module/cekilisler/validation/piyangoValidationStore.ts
Normal file
@ -0,0 +1,675 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { useUsersStore } from '@/stores/usersStore'
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
import { useDateStore } from '@/stores/dateStore'
|
||||
import { usePiyangoStore } from '../stores/piyangoStore'
|
||||
|
||||
export const usePiyangoValidationStore = defineStore('piyangoValidationStore', () => {
|
||||
const usersStore = useUsersStore()
|
||||
const piyangoStore = usePiyangoStore()
|
||||
const validationStore = useValidationStore()
|
||||
const dateStore = useDateStore()
|
||||
|
||||
const isFormValid = ref<boolean>(true)
|
||||
const invalidTexts = reactive<Record<string, any>>({})
|
||||
const dateChanged = ref<boolean>(false)
|
||||
const baslangicTarihiMin = ref<Date>(new Date())
|
||||
|
||||
//Kampanya Bitis Tarihi
|
||||
const kampanyaBitisDisabled = computed((): boolean => {
|
||||
return piyangoStore.lotteryData.baslangicTarihi === ''
|
||||
})
|
||||
|
||||
const kampanyaBitisMin = computed((): Date => {
|
||||
let date = new Date(piyangoStore.lotteryData.baslangicTarihi)
|
||||
let year = date.getFullYear()
|
||||
let month = date.getMonth()
|
||||
let day = date.getDate()
|
||||
let time = date.getTime()
|
||||
let addHour = 1 * 60 * 60 * 1000
|
||||
let newDate = new Date(year, month, day)
|
||||
newDate.setTime(time + addHour)
|
||||
return newDate
|
||||
})
|
||||
const kampanyaBitisMax = computed((): Date => {
|
||||
let date = new Date(piyangoStore.lotteryData.baslangicTarihi)
|
||||
let year = date.getFullYear()
|
||||
let month = date.getMonth()
|
||||
let day = date.getDate()
|
||||
let newDate = new Date(year, month + 6, day)
|
||||
return newDate
|
||||
})
|
||||
//Cekilis Tarihi
|
||||
const cekilisTarihiDisabled = computed((): boolean => {
|
||||
return (
|
||||
piyangoStore.lotteryData.amacpiyangoId !== 2 &&
|
||||
(piyangoStore.lotteryData.bitisTarihi === '' ||
|
||||
piyangoStore.lotteryData.baslangicTarihi === '')
|
||||
)
|
||||
})
|
||||
const cekilisTarihiMin = computed((): Date => {
|
||||
if (piyangoStore.lotteryData.amacpiyangoId === 2) return new Date()
|
||||
else return piyangoStore.lotteryData.bitisTarihi
|
||||
})
|
||||
//Ilan Tarihi
|
||||
const ilanTarihiDisabled = computed((): boolean => {
|
||||
if (piyangoStore.lotteryData.amacpiyangoId !== 2) {
|
||||
return (
|
||||
piyangoStore.lotteryData.bitisTarihi === '' ||
|
||||
piyangoStore.lotteryData.baslangicTarihi === '' ||
|
||||
piyangoStore.lotteryData.cekilisTarihi === ''
|
||||
)
|
||||
} else {
|
||||
return piyangoStore.lotteryData.cekilisTarihi === ''
|
||||
}
|
||||
})
|
||||
const ilanTarihiMin = computed((): Date => {
|
||||
return piyangoStore.lotteryData.cekilisTarihi
|
||||
})
|
||||
const ilanTarihiMax = computed((): Date => {
|
||||
let date = new Date(piyangoStore.lotteryData.cekilisTarihi)
|
||||
let year = date.getFullYear()
|
||||
let month = date.getMonth()
|
||||
let day = date.getDate()
|
||||
let newDate = new Date(year, month, day + 7)
|
||||
return newDate
|
||||
})
|
||||
//Ilan Tarihi 2
|
||||
const ilanTarihi2Disabled = computed((): boolean => {
|
||||
return (
|
||||
piyangoStore.lotteryData.cekilisTarihi === '' ||
|
||||
piyangoStore.lotteryData.ilantarihi === ''
|
||||
)
|
||||
})
|
||||
const ilanTarihi2Min = computed((): Date => {
|
||||
let date = new Date(piyangoStore.lotteryData.ilantarihi)
|
||||
let year = date.getFullYear()
|
||||
let month = date.getMonth()
|
||||
let day = date.getDate()
|
||||
let newDate = new Date(year, month, day + 1)
|
||||
return newDate
|
||||
})
|
||||
const ilanTarihi2Max = computed((): Date => {
|
||||
let date = new Date(piyangoStore.lotteryData.cekilisTarihi)
|
||||
let year = date.getFullYear()
|
||||
let month = date.getMonth()
|
||||
let day = date.getDate()
|
||||
let newDate = new Date(year, month, day + 7)
|
||||
return newDate
|
||||
})
|
||||
|
||||
//Asıl Son Basvuru
|
||||
const asilSonBasvuruDisabled = computed((): boolean => {
|
||||
if (piyangoStore.lotteryData.amacpiyangoId !== 2) {
|
||||
return (
|
||||
piyangoStore.lotteryData.baslangicTarihi === '' ||
|
||||
piyangoStore.lotteryData.bitisTarihi === '' ||
|
||||
piyangoStore.lotteryData.cekilisTarihi === '' ||
|
||||
piyangoStore.lotteryData.ilantarihi === ''
|
||||
)
|
||||
} else {
|
||||
return (
|
||||
piyangoStore.lotteryData.cekilisTarihi === '' ||
|
||||
piyangoStore.lotteryData.ilantarihi === '' ||
|
||||
piyangoStore.lotteryData.ilantarihi2 === ''
|
||||
)
|
||||
}
|
||||
})
|
||||
const asilSonBasvuruMin = computed((): Date => {
|
||||
if (piyangoStore.lotteryData.amacpiyangoId !== 2)
|
||||
return piyangoStore.lotteryData.ilantarihi
|
||||
else return piyangoStore.lotteryData.ilantarihi2
|
||||
})
|
||||
|
||||
const asilSonBasvuruMax = computed((): Date => {
|
||||
let selectDate =
|
||||
piyangoStore.lotteryData.amacpiyangoId !== 2
|
||||
? piyangoStore.lotteryData.ilantarihi
|
||||
: piyangoStore.lotteryData.ilantarihi2
|
||||
let date = new Date(selectDate)
|
||||
let year = date.getFullYear()
|
||||
let month = date.getMonth()
|
||||
let day = date.getDate()
|
||||
let newDate = new Date(year, month, day + 15)
|
||||
return newDate
|
||||
})
|
||||
//Yedek Son Basvuru
|
||||
const yedekSonBasvuruDisabled = computed((): boolean => {
|
||||
return (
|
||||
piyangoStore.lotteryData.baslangicTarihi === '' ||
|
||||
piyangoStore.lotteryData.bitisTarihi === '' ||
|
||||
piyangoStore.lotteryData.cekilisTarihi === '' ||
|
||||
piyangoStore.lotteryData.ilantarihi === '' ||
|
||||
piyangoStore.lotteryData.asilSonBasvuruTarihi === ''
|
||||
)
|
||||
})
|
||||
const yedekSonBasvuruMin = computed((): Date => {
|
||||
return piyangoStore.lotteryData.asilSonBasvuruTarihi
|
||||
})
|
||||
const yedekSonBasvuruMax = computed((): Date => {
|
||||
let date = new Date(piyangoStore.lotteryData.asilSonBasvuruTarihi)
|
||||
let year = date.getFullYear()
|
||||
let month = date.getMonth()
|
||||
let day = date.getDate()
|
||||
let newDate = new Date(year, month, day + 15)
|
||||
return newDate
|
||||
})
|
||||
//Ikramiye Son Teslim
|
||||
const ikramiyeTeslimDisabled = computed((): boolean => {
|
||||
if (piyangoStore.lotteryData.amacpiyangoId !== 2) {
|
||||
return (
|
||||
piyangoStore.lotteryData.baslangicTarihi === '' ||
|
||||
piyangoStore.lotteryData.cekilisTarihi === ''
|
||||
)
|
||||
} else {
|
||||
return piyangoStore.lotteryData.cekilisTarihi === ''
|
||||
}
|
||||
})
|
||||
const ikramiyeTeslimMin = computed((): Date => {
|
||||
return piyangoStore.lotteryData.asilSonBasvuruTarihi
|
||||
})
|
||||
const ikramiyeTeslimMax = computed((): Date => {
|
||||
var date: Date = new Date()
|
||||
|
||||
if (!piyangoStore.isLotteryForCharity) {
|
||||
date = new Date(piyangoStore.lotteryData.baslangicTarihi)
|
||||
} else {
|
||||
if (
|
||||
piyangoStore.lotteryFirstApproveDate === '' ||
|
||||
piyangoStore.lotteryFirstApproveDate === null
|
||||
) {
|
||||
date = new Date(piyangoStore.lotteryCreationDate)
|
||||
} else {
|
||||
date = new Date(piyangoStore.lotteryFirstApproveDate)
|
||||
}
|
||||
}
|
||||
|
||||
var year = date.getFullYear()
|
||||
var month = date.getMonth()
|
||||
var day = date.getDate()
|
||||
|
||||
let newDate = new Date(year + 1, month, day)
|
||||
return newDate
|
||||
})
|
||||
|
||||
const FormCheck = (): boolean => {
|
||||
Object.assign(invalidTexts, {})
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'baslik',
|
||||
'Başlık alanı boş bırakılamaz.'
|
||||
)
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'amacpiyangoId',
|
||||
'Piyangoyu hangi amaçla düzenlediğinizi seçmelisiniz.'
|
||||
)
|
||||
if (!validationStore.checkEmpty(piyangoStore.lotteryData.amacpiyangoId)) {
|
||||
if (
|
||||
((!usersStore.isVakifDernek &&
|
||||
!usersStore.isAraciFirma &&
|
||||
!usersStore.isPanelUser) ||
|
||||
(usersStore.isPanelUser && piyangoStore.duzenleyenData.basvuruTipId !== 22)) &&
|
||||
piyangoStore.lotteryData.amacpiyangoId === 2
|
||||
) {
|
||||
if (!usersStore.isPanelUser) piyangoStore.lotteryData.amacpiyangoId = null
|
||||
isFormValid.value = false
|
||||
invalidTexts.amacpiyangoId =
|
||||
'Gerçek Kişi ve Tüzel Kişiler için Yardım Amaçlı Piyango düzenlenemez. Lütfen başka bir amaç seçiniz.'
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
(usersStore.isAraciFirma && !usersStore.isPanelUser) ||
|
||||
(usersStore.isPanelUser && piyangoStore.lotteryData.baglisirketId !== null)
|
||||
) {
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'baglisirketId',
|
||||
'Hangi kişi/kurum adına çekilişi düzenlediğiniz seçmelisiniz.'
|
||||
)
|
||||
|
||||
if (!validationStore.checkEmpty(piyangoStore.lotteryData.amacpiyangoId)) {
|
||||
if (!validationStore.checkEmpty(piyangoStore.lotteryData.baglisirketId)) {
|
||||
if (
|
||||
piyangoStore.duzenleyenData.basvuruTipId !== 22 &&
|
||||
piyangoStore.lotteryData.amacpiyangoId === 2
|
||||
) {
|
||||
if (!usersStore.isPanelUser) piyangoStore.lotteryData.amacpiyangoId = null
|
||||
isFormValid.value = false
|
||||
invalidTexts.amacpiyangoId =
|
||||
'Gerçek Kişi ve Tüzel Kişiler için Yardım Amaçlı Piyango düzenlenemez. Lütfen başka bir amaç seçiniz.'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (piyangoStore.lotteryData.amacpiyangoId !== 3) {
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'kapsamIl',
|
||||
'Çekilişin hangi illeri kapsadığını seçmelisiniz.'
|
||||
)
|
||||
|
||||
if (piyangoStore.lotteryData.amacpiyangoId !== 2) {
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'cekilisSartveSekilleri',
|
||||
'Lütfen katılma şartlarını belirtiniz.'
|
||||
)
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'baslangicTarihi',
|
||||
'Kampanya başlangıç tarihi seçmelisiniz.'
|
||||
)
|
||||
if (
|
||||
!validationStore.checkEmpty(piyangoStore.lotteryData.baslangicTarihi) &&
|
||||
(piyangoStore.isNew || (!piyangoStore.isNew && dateChanged.value))
|
||||
) {
|
||||
let baslangicTarihi = dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.baslangicTarihi,
|
||||
pattern: 'yy-mm-dd-t',
|
||||
splitTime: 'T',
|
||||
splitDate: '-'
|
||||
})
|
||||
let baslangicmin = dateStore.dateFormat({
|
||||
date: baslangicTarihiMin.value,
|
||||
pattern: 'yy-mm-dd-t',
|
||||
splitTime: 'T',
|
||||
splitDate: '-'
|
||||
})
|
||||
let baslangicmind = dateStore.dateFormat({
|
||||
date: baslangicTarihiMin.value,
|
||||
pattern: 'dd-mm-yy-t'
|
||||
})
|
||||
if (baslangicTarihi < baslangicmin) {
|
||||
isFormValid.value = false
|
||||
invalidTexts.baslangicTarihi = `Kampanya Başlangıç Tarihi ${baslangicmind} tarihinden büyük olmalıdır.`
|
||||
} else {
|
||||
delete invalidTexts.baslangicTarihi
|
||||
}
|
||||
}
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'bitisTarihi',
|
||||
'Kampanya bitiş tarihi seçmelisiniz.'
|
||||
)
|
||||
if (
|
||||
!validationStore.checkEmpty(piyangoStore.lotteryData.bitisTarihi) &&
|
||||
(piyangoStore.isNew || (!piyangoStore.isNew && dateChanged.value))
|
||||
) {
|
||||
let bitisTarihi = dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.bitisTarihi,
|
||||
pattern: 'yy-mm-dd-t',
|
||||
splitTime: 'T',
|
||||
splitDate: '-'
|
||||
})
|
||||
|
||||
let bitismin = dateStore.dateFormat({
|
||||
date: kampanyaBitisMin.value,
|
||||
pattern: 'yy-mm-dd-t',
|
||||
splitTime: 'T',
|
||||
splitDate: '-'
|
||||
})
|
||||
let bitismax = dateStore.dateFormat({
|
||||
date: kampanyaBitisMax.value,
|
||||
pattern: 'yy-mm-dd-t',
|
||||
splitTime: 'T',
|
||||
splitDate: '-'
|
||||
})
|
||||
let bitismind = dateStore.dateFormat({
|
||||
date: kampanyaBitisMin.value,
|
||||
pattern: 'dd-mm-yy-t'
|
||||
})
|
||||
let bitismaxd = dateStore.dateFormat({
|
||||
date: kampanyaBitisMax.value,
|
||||
pattern: 'dd-mm-yy-t'
|
||||
})
|
||||
if (bitisTarihi < bitismin || bitisTarihi > bitismax) {
|
||||
isFormValid.value = false
|
||||
invalidTexts.bitisTarihi = `Kampanya Bitiş Tarihi ${bitismind} - ${bitismaxd} tarihleri arasında olmalıdır.`
|
||||
} else {
|
||||
delete invalidTexts.bitisTarihi
|
||||
}
|
||||
}
|
||||
|
||||
if (
|
||||
!validationStore.checkEmpty(piyangoStore.lotteryData.bitisTarihi) &&
|
||||
!validationStore.checkEmpty(piyangoStore.lotteryData.baslangicTarihi)
|
||||
) {
|
||||
if (
|
||||
piyangoStore.lotteryData.bitisTarihi <
|
||||
piyangoStore.lotteryData.baslangicTarihi
|
||||
) {
|
||||
invalidTexts.baslangicTarihi = `Başlangıç tarihi bitiş tarihinden küçük olamaz.`
|
||||
} else {
|
||||
delete invalidTexts.baslangicTarihi
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'cekilisTarihi',
|
||||
'Çekilişin yapılacağı tarihi seçmelisiniz.'
|
||||
)
|
||||
|
||||
if (
|
||||
!validationStore.checkEmpty(piyangoStore.lotteryData.cekilisTarihi) &&
|
||||
(piyangoStore.isNew || (!piyangoStore.isNew && dateChanged.value)) &&
|
||||
!usersStore.isPanelUser
|
||||
) {
|
||||
let cekilisTarihi = dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.cekilisTarihi,
|
||||
pattern: 'yy-mm-dd-t',
|
||||
splitTime: 'T',
|
||||
splitDate: '-'
|
||||
})
|
||||
let cekilismin = dateStore.dateFormat({
|
||||
date: cekilisTarihiMin.value,
|
||||
pattern: 'yy-mm-dd-t',
|
||||
splitTime: 'T',
|
||||
splitDate: '-'
|
||||
})
|
||||
let cekilismind = dateStore.dateFormat({
|
||||
date: cekilisTarihiMin.value,
|
||||
pattern: 'dd-mm-yy-t'
|
||||
})
|
||||
if (cekilisTarihi < cekilismin) {
|
||||
isFormValid.value = false
|
||||
invalidTexts.cekilisTarihi = `Çekiliş Tarihi ${cekilismind} tarihinden büyük olmalıdır.`
|
||||
} else {
|
||||
delete invalidTexts.cekilisTarihi
|
||||
}
|
||||
}
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'ilantarihi',
|
||||
'İlan tarihi seçmelisiniz.'
|
||||
)
|
||||
|
||||
if (
|
||||
!validationStore.checkEmpty(piyangoStore.lotteryData.ilantarihi) &&
|
||||
(piyangoStore.isNew || (!piyangoStore.isNew && dateChanged.value))
|
||||
) {
|
||||
let ilanTarihi = dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.ilantarihi,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
let ilanmin = dateStore.dateFormat({
|
||||
date: ilanTarihiMin.value,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
let ilanmax = dateStore.dateFormat({
|
||||
date: ilanTarihiMax.value,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
let ilanmind = dateStore.dateFormat({
|
||||
date: ilanTarihiMin.value,
|
||||
pattern: 'dd-mm-yy'
|
||||
})
|
||||
let ilanmaxd = dateStore.dateFormat({
|
||||
date: ilanTarihiMax.value,
|
||||
pattern: 'dd-mm-yy'
|
||||
})
|
||||
if (ilanTarihi < ilanmin || ilanTarihi > ilanmax) {
|
||||
isFormValid.value = false
|
||||
invalidTexts.ilantarihi = `İlan Tarihi ${ilanmind} - ${ilanmaxd} tarihleri arasında olmalıdır.`
|
||||
} else {
|
||||
delete invalidTexts.ilantarihi
|
||||
}
|
||||
}
|
||||
|
||||
if (piyangoStore.lotteryData.amacpiyangoId === 2) {
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'ilantarihi2',
|
||||
'2. İlan tarihi seçmelisiniz.'
|
||||
)
|
||||
|
||||
if (
|
||||
!validationStore.checkEmpty(piyangoStore.lotteryData.ilantarihi2) &&
|
||||
(piyangoStore.isNew || (!piyangoStore.isNew && dateChanged.value))
|
||||
) {
|
||||
let ilanTarihi2 = dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.ilantarihi2,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
let ilan2min = dateStore.dateFormat({
|
||||
date: ilanTarihi2Min.value,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
let ilan2max = dateStore.dateFormat({
|
||||
date: ilanTarihi2Max.value,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
let ilan2mind = dateStore.dateFormat({
|
||||
date: ilanTarihi2Min.value,
|
||||
pattern: 'dd-mm-yy'
|
||||
})
|
||||
let ilan2maxd = dateStore.dateFormat({
|
||||
date: ilanTarihi2Max.value,
|
||||
pattern: 'dd-mm-yy'
|
||||
})
|
||||
|
||||
if (ilanTarihi2 < ilan2min || ilanTarihi2 > ilan2max) {
|
||||
isFormValid.value = false
|
||||
invalidTexts.ilantarihi2 = `2. İlan Tarihi ${ilan2mind} - ${ilan2maxd} tarihleri arasında olmalıdır.`
|
||||
} else {
|
||||
delete invalidTexts.ilantarihi2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'asilSonBasvuruTarihi',
|
||||
'Asıl Talihliler için son başvuru tarihi seçmelisiniz.'
|
||||
)
|
||||
|
||||
if (
|
||||
!validationStore.checkEmpty(piyangoStore.lotteryData.asilSonBasvuruTarihi) &&
|
||||
(piyangoStore.isNew || (!piyangoStore.isNew && dateChanged.value))
|
||||
) {
|
||||
let asilTarih = dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.asilSonBasvuruTarihi,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
let asilmin = dateStore.dateFormat({
|
||||
date: asilSonBasvuruMin.value,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
let asilmax = dateStore.dateFormat({
|
||||
date: asilSonBasvuruMax.value,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
if (asilTarih < asilmin || asilTarih > asilmax) {
|
||||
isFormValid.value = false
|
||||
invalidTexts.asilSonBasvuruTarihi = `Asıl Talihli son başvuru tarihi çekiliş sonucunun ilan ve tebliğ edildiği tarihten itibaren on beş gün içerisinde olmalıdır.`
|
||||
} else {
|
||||
delete invalidTexts.asilSonBasvuruTarihi
|
||||
}
|
||||
}
|
||||
|
||||
if (piyangoStore.lotteryData.amacpiyangoId !== 2) {
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'yedekSonBasvuruTarihi',
|
||||
'Yedek talihliler için son başvuru tarihi seçmelisiniz.'
|
||||
)
|
||||
|
||||
if (
|
||||
!validationStore.checkEmpty(piyangoStore.lotteryData.yedekSonBasvuruTarihi) &&
|
||||
(piyangoStore.isNew || (!piyangoStore.isNew && dateChanged.value))
|
||||
) {
|
||||
let yedekTarih = dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.yedekSonBasvuruTarihi,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
let yedekmin = dateStore.dateFormat({
|
||||
date: yedekSonBasvuruMin.value,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
let yedekmax = dateStore.dateFormat({
|
||||
date: yedekSonBasvuruMax.value,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
if (yedekTarih < yedekmin || yedekTarih > yedekmax) {
|
||||
isFormValid.value = false
|
||||
invalidTexts.yedekSonBasvuruTarihi = `Yedek Talihli Son Başvuru Tarihi, asıl talihliyi takip eden on beş gün içerisinde olmalıdır.`
|
||||
} else {
|
||||
delete invalidTexts.yedekSonBasvuruTarihi
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'ikramiyeTeslimTarihi',
|
||||
'İkramiyelerin teslim edileceği tarihi seçmelisiniz.'
|
||||
)
|
||||
|
||||
if (
|
||||
!validationStore.checkEmpty(piyangoStore.lotteryData.ikramiyeTeslimTarihi) &&
|
||||
(piyangoStore.isNew || (!piyangoStore.isNew && dateChanged.value))
|
||||
) {
|
||||
let ikramiyeTeslimTarih = dateStore.dateFormat({
|
||||
date: piyangoStore.lotteryData.ikramiyeTeslimTarihi,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
let ikramiyemin = dateStore.dateFormat({
|
||||
date: ikramiyeTeslimMin.value,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
let ikramiyemax = dateStore.dateFormat({
|
||||
date: ikramiyeTeslimMax.value,
|
||||
pattern: 'yy-mm-dd',
|
||||
splitDate: '-'
|
||||
})
|
||||
let ikramiyemind = dateStore.dateFormat({
|
||||
date: ikramiyeTeslimMin.value,
|
||||
pattern: 'dd-mm-yy'
|
||||
})
|
||||
let ikramiyemaxd = dateStore.dateFormat({
|
||||
date: ikramiyeTeslimMax.value,
|
||||
pattern: 'dd-mm-yy'
|
||||
})
|
||||
if (ikramiyeTeslimTarih < ikramiyemin || ikramiyeTeslimTarih > ikramiyemax) {
|
||||
isFormValid.value = false
|
||||
invalidTexts.ikramiyeTeslimTarihi = `İkramiye Son Teslim Tarihi ${ikramiyemind} - ${ikramiyemaxd} tarihleri arasında olmalıdır.`
|
||||
} else {
|
||||
delete invalidTexts.ikramiyeTeslimTarihi
|
||||
}
|
||||
}
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'ilanEdilecekGazete',
|
||||
'İlan edilecek gazete belirtmelisiniz.'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'ilId',
|
||||
'Lütfen il seçiniz'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'ilceId',
|
||||
'Lütfen ilçe seçiniz'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'adres',
|
||||
'Adres alanı boş bırakılamaz'
|
||||
)
|
||||
|
||||
if (!piyangoStore.CheckForYardimAmacli()) {
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'katilimListesi',
|
||||
'Katılım Listesi için açıklamaları giriniz.'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'katilimciListesiTeslimYontemiId',
|
||||
'Katılım listesini nasıl yükleyeceğiniz belirtiniz.'
|
||||
)
|
||||
}
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoStore.lotteryData,
|
||||
invalidTexts,
|
||||
'cekilisYontemiId',
|
||||
'Çekiliş yönteminizi belirtiniz.'
|
||||
)
|
||||
}
|
||||
isFormValid.value = Object.keys(invalidTexts).length === 0
|
||||
return isFormValid.value
|
||||
}
|
||||
|
||||
return {
|
||||
isFormValid,
|
||||
invalidTexts,
|
||||
dateChanged,
|
||||
baslangicTarihiMin,
|
||||
kampanyaBitisDisabled,
|
||||
kampanyaBitisMin,
|
||||
kampanyaBitisMax,
|
||||
cekilisTarihiDisabled,
|
||||
cekilisTarihiMin,
|
||||
ilanTarihiDisabled,
|
||||
ilanTarihiMin,
|
||||
ilanTarihiMax,
|
||||
ilanTarihi2Disabled,
|
||||
ilanTarihi2Min,
|
||||
ilanTarihi2Max,
|
||||
asilSonBasvuruDisabled,
|
||||
asilSonBasvuruMin,
|
||||
asilSonBasvuruMax,
|
||||
yedekSonBasvuruDisabled,
|
||||
yedekSonBasvuruMin,
|
||||
yedekSonBasvuruMax,
|
||||
ikramiyeTeslimDisabled,
|
||||
ikramiyeTeslimMin,
|
||||
ikramiyeTeslimMax,
|
||||
FormCheck
|
||||
}
|
||||
})
|
||||
@ -0,0 +1,248 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { useValidationStore } from '@/stores/validationStore'
|
||||
import { usePiyangoYardimAmacliStore } from '../stores/piyangoYardimAmacliStore'
|
||||
|
||||
export const usePiyangoYardimAmacliValidationStore = defineStore(
|
||||
'piyangoYardimAmacliValidationStore',
|
||||
() => {
|
||||
const piyangoYardimAmacliStore = usePiyangoYardimAmacliStore()
|
||||
const validationStore = useValidationStore()
|
||||
|
||||
const formChanged = ref<boolean>(false)
|
||||
const isFormValid = ref<boolean>(true)
|
||||
const invalidTexts = reactive<Record<string, any>>({})
|
||||
const emptyBilet = reactive<Record<string, any>>({})
|
||||
const allBiletInvalid = ref<boolean>(false)
|
||||
const biletInvalidMessages = ref<string[]>([])
|
||||
|
||||
const IsAllBiletsEmpty = () => {
|
||||
for (let i = 0; i < piyangoYardimAmacliStore.yardimAmacliRakamlar.length; i++) {
|
||||
emptyBilet[piyangoYardimAmacliStore.yardimAmacliRakamlar[i].prefix] =
|
||||
!validationStore.checkEmpty(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
piyangoYardimAmacliStore.yardimAmacliRakamlar[i].prefix + 'RakamBaslangic'
|
||||
]
|
||||
) &&
|
||||
!validationStore.checkEmpty(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
piyangoYardimAmacliStore.yardimAmacliRakamlar[i].prefix + 'RakamBitis'
|
||||
]
|
||||
) &&
|
||||
!validationStore.checkEmpty(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
piyangoYardimAmacliStore.yardimAmacliRakamlar[i].prefix + 'RakamAdet'
|
||||
]
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
const CheckBiletEmpty = () => {
|
||||
IsAllBiletsEmpty()
|
||||
var isvalid = true
|
||||
var count = 0
|
||||
Object.keys(emptyBilet).forEach((key) => {
|
||||
if (!emptyBilet[key]) {
|
||||
count++
|
||||
}
|
||||
})
|
||||
|
||||
if (count === piyangoYardimAmacliStore.yardimAmacliRakamlar.length) isvalid = false
|
||||
|
||||
if (isvalid) {
|
||||
isFormValid.value = true
|
||||
allBiletInvalid.value = false
|
||||
} else {
|
||||
biletInvalidMessages.value.push('Bilet alanları doldurulmamıştır.')
|
||||
isFormValid.value = false
|
||||
allBiletInvalid.value = true
|
||||
}
|
||||
}
|
||||
|
||||
const CheckBiletSatir = () => {
|
||||
biletInvalidMessages.value = []
|
||||
var eksikHane: boolean = false
|
||||
var baslangicRakam: boolean = false
|
||||
var bitisRakam: boolean = false
|
||||
var bitisKucuk: boolean = false
|
||||
|
||||
piyangoYardimAmacliStore.yardimAmacliRakamlar.forEach((data, i) => {
|
||||
//Baslangic Rakam sayisi
|
||||
if (
|
||||
!validationStore.checkEmpty(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
data.prefix + 'RakamBaslangic'
|
||||
]
|
||||
) &&
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
data.prefix + 'RakamBaslangic'
|
||||
].length < data.maxl
|
||||
) {
|
||||
isFormValid.value = false
|
||||
if (!eksikHane) {
|
||||
eksikHane = true
|
||||
biletInvalidMessages.value.push(
|
||||
'Bilet numarası girilirken eksik hane girilmiş'
|
||||
)
|
||||
}
|
||||
invalidTexts[
|
||||
data.prefix + 'RakamBaslangic'
|
||||
] = `Bilet numarası en az ${data.maxl} haneli olmalıdır`
|
||||
} else delete invalidTexts[data.prefix + 'RakamBaslangic']
|
||||
|
||||
//Bitis Rakam sayisi
|
||||
if (
|
||||
!validationStore.checkEmpty(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
data.prefix + 'RakamBitis'
|
||||
]
|
||||
) &&
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[data.prefix + 'RakamBitis']
|
||||
.length < data.maxl
|
||||
) {
|
||||
isFormValid.value = false
|
||||
if (!eksikHane) {
|
||||
eksikHane = true
|
||||
biletInvalidMessages.value.push(
|
||||
'Bilet numarası girilirken eksik hane girilmiş'
|
||||
)
|
||||
}
|
||||
invalidTexts[
|
||||
data.prefix + 'RakamBitis'
|
||||
] = `Bilet numarası en az ${data.maxl} haneli olmalıdır`
|
||||
} else delete invalidTexts[data.prefix + 'RakamBitis']
|
||||
|
||||
//Bitis numarasi girilmemis
|
||||
if (
|
||||
!validationStore.checkEmpty(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
data.prefix + 'RakamBaslangic'
|
||||
]
|
||||
) &&
|
||||
validationStore.checkEmpty(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
data.prefix + 'RakamBitis'
|
||||
]
|
||||
)
|
||||
) {
|
||||
isFormValid.value = false
|
||||
if (!bitisRakam) {
|
||||
bitisRakam = true
|
||||
biletInvalidMessages.value.push(
|
||||
'Bilet numarası girilirken başlangıç numarası girilmiş, bitiş numarası girilmemiş.'
|
||||
)
|
||||
}
|
||||
invalidTexts[data.prefix + 'RakamBitis'] = 'Bitiş numarasını girmelisiniz.'
|
||||
} else {
|
||||
delete invalidTexts[data.prefix + 'RakamBitis']
|
||||
}
|
||||
|
||||
//Baslangic numarasi girilmemis
|
||||
if (
|
||||
validationStore.checkEmpty(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
data.prefix + 'RakamBaslangic'
|
||||
]
|
||||
) &&
|
||||
!validationStore.checkEmpty(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
data.prefix + 'RakamBitis'
|
||||
]
|
||||
)
|
||||
) {
|
||||
isFormValid.value = false
|
||||
if (!baslangicRakam) {
|
||||
baslangicRakam = true
|
||||
biletInvalidMessages.value.push(
|
||||
'Bilet numarası girilirken bitiş numarası girilmiş, başlangıç numarası girilmemiş.'
|
||||
)
|
||||
}
|
||||
invalidTexts[data.prefix + 'RakamBaslangic'] =
|
||||
'Başlangıç numarasını girmelisiniz.'
|
||||
} else {
|
||||
delete invalidTexts[data.prefix + 'RakamBaslangic']
|
||||
}
|
||||
|
||||
//Baslangic numarasi Bitis numarasindan buyuk
|
||||
if (
|
||||
!validationStore.checkEmpty(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
data.prefix + 'RakamBaslangic'
|
||||
]
|
||||
) &&
|
||||
!validationStore.checkEmpty(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
data.prefix + 'RakamBitis'
|
||||
]
|
||||
)
|
||||
) {
|
||||
if (
|
||||
parseInt(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
data.prefix + 'RakamBaslangic'
|
||||
]
|
||||
) >=
|
||||
parseInt(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData[
|
||||
data.prefix + 'RakamBitis'
|
||||
]
|
||||
)
|
||||
) {
|
||||
isFormValid.value = false
|
||||
if (!bitisKucuk) {
|
||||
bitisKucuk = true
|
||||
biletInvalidMessages.value.push(
|
||||
'Bilet numarası girilirken bitiş numarası başlangıç numarasından küçük girilmiş.'
|
||||
)
|
||||
}
|
||||
invalidTexts[data.prefix + 'RakamBitis'] =
|
||||
'Bitiş numarasını başlangıç numarasından büyük olmalıdır.'
|
||||
} else {
|
||||
delete invalidTexts[data.prefix + 'RakamBitis']
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const FormCheck = (): boolean => {
|
||||
Object.assign(invalidTexts, {})
|
||||
CheckBiletEmpty()
|
||||
|
||||
if (!allBiletInvalid.value) {
|
||||
CheckBiletSatir()
|
||||
}
|
||||
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData,
|
||||
invalidTexts,
|
||||
'basimevi',
|
||||
'Lütfen Basımevi adını giriniz'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData,
|
||||
invalidTexts,
|
||||
'basimeviAdresi',
|
||||
'Lütfen Basımevi adresini giriniz'
|
||||
)
|
||||
validationStore.IsFieldEmpty(
|
||||
piyangoYardimAmacliStore.piyangoYardimAmacliFormData,
|
||||
invalidTexts,
|
||||
'birimSatisFiyati',
|
||||
'Lütfen Bilet birim satış fiyatını giriniz'
|
||||
)
|
||||
isFormValid.value = Object.keys(invalidTexts).length === 0
|
||||
return isFormValid.value
|
||||
}
|
||||
|
||||
return {
|
||||
formChanged,
|
||||
isFormValid,
|
||||
invalidTexts,
|
||||
allBiletInvalid,
|
||||
biletInvalidMessages,
|
||||
CheckBiletEmpty,
|
||||
CheckBiletSatir,
|
||||
FormCheck
|
||||
}
|
||||
}
|
||||
)
|
||||
14
src/module/cekilisler/views/PiyangoYeni.vue
Normal file
14
src/module/cekilisler/views/PiyangoYeni.vue
Normal file
@ -0,0 +1,14 @@
|
||||
<template>
|
||||
<AdminLayout>
|
||||
<breadcrumb current-page-text="Yeni Piyango" />
|
||||
<div class="form-content">
|
||||
<div class="form-inner-content form-inner-content-left">
|
||||
<form-piyango-bilgileri />
|
||||
</div>
|
||||
</div>
|
||||
</AdminLayout>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import AdminLayout from '@/layouts/AdminLayout.vue'
|
||||
import FormPiyangoBilgileri from '../components/form/FormPiyangoBilgileri.vue'
|
||||
</script>
|
||||
Reference in New Issue
Block a user