Compare commits
26 Commits
Piyango-Do
...
fb1ddf085a
| Author | SHA1 | Date | |
|---|---|---|---|
| fb1ddf085a | |||
| b1274cf3ab | |||
| 9650194cb9 | |||
| 6c44487489 | |||
| 7353d957c1 | |||
| 10d95b6763 | |||
| de3a1f549a | |||
| b521ad0278 | |||
| 7cff75e82c | |||
| 92d0a0dde7 | |||
| a4e2a922d3 | |||
| 190815193a | |||
| 26f843416d | |||
| 7adabf5abd | |||
| ed8b6fd3eb | |||
| 7776e24ddd | |||
| 408724cf67 | |||
| f4c0511afb | |||
| 7998b7bd6c | |||
| 6ff319cb1d | |||
| 10011eacd6 | |||
| 36d646e0bf | |||
| 908e63b896 | |||
| 0e130eafff | |||
| f6850853b2 | |||
| ff0304b4d9 |
2
.env.development
Normal file
2
.env.development
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
VITE_API_URL=http://panelapi.cekilisevitest.gov.tr/
|
||||||
|
VITE_SOCKET_URL=http://panelapi.cekilisevitest.gov.tr/uploadHub
|
||||||
2
.env.localdev
Normal file
2
.env.localdev
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
VITE_API_URL=https://localhost:7241/
|
||||||
|
VITE_SOCKET_URL=https://localhost:7241/uploadHub
|
||||||
2
.env.production
Normal file
2
.env.production
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
VITE_API_URL=https://panelapi.cekilisevi.gov.tr/
|
||||||
|
VITE_SOCKET_URL=https://panelapi.cekilisevi.gov.tr/uploadHub
|
||||||
7
env.d.ts
vendored
7
env.d.ts
vendored
@ -1,2 +1,9 @@
|
|||||||
/// <reference types="vite/client" />
|
/// <reference types="vite/client" />
|
||||||
|
|
||||||
|
interface ImportMetaEnv {
|
||||||
|
readonly VITE_API_URL: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface ImportMeta {
|
||||||
|
readonly env: ImportMetaEnv;
|
||||||
|
}
|
||||||
@ -5,9 +5,12 @@
|
|||||||
"type": "module",
|
"type": "module",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vite",
|
"dev": "vite",
|
||||||
|
"localdev": "vite",
|
||||||
"build": "run-p type-check \"build-only {@}\" --",
|
"build": "run-p type-check \"build-only {@}\" --",
|
||||||
|
"buildtest": "run-p type-check \"build-only-test {@}\" --",
|
||||||
"preview": "vite preview",
|
"preview": "vite preview",
|
||||||
"build-only": "vite build",
|
"build-only": "vite build",
|
||||||
|
"build-only-test": "vite build --mode development",
|
||||||
"type-check": "vue-tsc --build --force"
|
"type-check": "vue-tsc --build --force"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|||||||
@ -659,7 +659,9 @@ svg {
|
|||||||
max-width: 24px;
|
max-width: 24px;
|
||||||
max-height: 24px;
|
max-height: 24px;
|
||||||
}
|
}
|
||||||
|
.ico-c.ico-btn:hover{
|
||||||
|
background-color: navy;
|
||||||
|
}
|
||||||
/* colors */
|
/* colors */
|
||||||
.back-grad {
|
.back-grad {
|
||||||
padding: 6px 8px;
|
padding: 6px 8px;
|
||||||
@ -715,7 +717,11 @@ svg {
|
|||||||
color: #000;
|
color: #000;
|
||||||
padding: 12px;
|
padding: 12px;
|
||||||
}
|
}
|
||||||
|
.back-grad-dgrey {
|
||||||
|
background-image: linear-gradient(24deg, #797979, #a1a1a1);
|
||||||
|
color: #000;
|
||||||
|
padding: 12px;
|
||||||
|
}
|
||||||
.back-grey {
|
.back-grey {
|
||||||
background-color: #f1f1f1;
|
background-color: #f1f1f1;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
<div class="actions-c" v-if="editable || $slots.actionButtons">
|
<div class="actions-c" v-if="editable || $slots.actionButtons">
|
||||||
<slot name="actionButtons"></slot>
|
<slot name="actionButtons"></slot>
|
||||||
<i
|
<i
|
||||||
class="ico-c ico-section ico-section-header-btn ico-replace"
|
class="ico-c ico-section ico-btn back-grad-dgrey"
|
||||||
@click="OnClick"
|
@click="OnClick"
|
||||||
v-if="editable">
|
v-if="editable">
|
||||||
<svg><use href="/src/assets/images/icons.svg#replace"></use></svg>
|
<svg><use href="/src/assets/images/icons.svg#replace"></use></svg>
|
||||||
@ -38,12 +38,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div v-else>{{ fileType.toLocaleUpperCase() }}</div>
|
<div v-else>{{ fileType.toLocaleUpperCase() }}</div>
|
||||||
</a>
|
</a>
|
||||||
<i
|
<div class="actions-c actions-top" v-if="editable || $slots.actionButtons">
|
||||||
class="ico-c ico-section ico-section-header-btn ico-replace"
|
<slot name="actionButtons"></slot>
|
||||||
@click="OnClick"
|
<i
|
||||||
v-if="editable">
|
class="ico-c ico-section ico-btn back-grad-dgrey"
|
||||||
<svg><use href="/src/assets/images/icons.svg#replace"></use></svg>
|
@click="OnClick"
|
||||||
</i>
|
v-if="editable">
|
||||||
|
<svg><use href="/src/assets/images/icons.svg#replace"></use></svg>
|
||||||
|
</i>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
@ -114,4 +117,14 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
pointer-events: fill;
|
pointer-events: fill;
|
||||||
}
|
}
|
||||||
|
.actions-c.actions-top{
|
||||||
|
align-items: flex-start;
|
||||||
|
}
|
||||||
|
.form-item-picture.only-image{
|
||||||
|
width: 140px;
|
||||||
|
height: 140px;
|
||||||
|
}
|
||||||
|
.actions-c .ico-btn:last-child {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -14,7 +14,9 @@
|
|||||||
</span>
|
</span>
|
||||||
<template v-if="modelText !== undefined && modelText !== ''">
|
<template v-if="modelText !== undefined && modelText !== ''">
|
||||||
<template v-if="typeof modelText === 'string'">
|
<template v-if="typeof modelText === 'string'">
|
||||||
<span>{{ price ? globalStore.toTrLocale(modelText) : modelText }}</span>
|
<span :class="[size ? 'form-item-size form-item-size-' + size : '']">
|
||||||
|
{{ price ? globalStore.toTrLocale(modelText) : modelText }}
|
||||||
|
</span>
|
||||||
</template>
|
</template>
|
||||||
<template v-if="typeof modelText === 'object'">
|
<template v-if="typeof modelText === 'object'">
|
||||||
<ul>
|
<ul>
|
||||||
@ -25,7 +27,9 @@
|
|||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<span>{{ price ? globalStore.toTrLocale(localValue) : localValue }}</span>
|
<span :class="[size ? 'form-item-size form-item-size-' + size : '']">
|
||||||
|
{{ price ? globalStore.toTrLocale(localValue) : localValue }}
|
||||||
|
</span>
|
||||||
</template>
|
</template>
|
||||||
<span
|
<span
|
||||||
class="form-item-alert"
|
class="form-item-alert"
|
||||||
@ -64,6 +68,7 @@
|
|||||||
modelText?: any
|
modelText?: any
|
||||||
invalidText?: string
|
invalidText?: string
|
||||||
price?: boolean
|
price?: boolean
|
||||||
|
size?: number | string
|
||||||
}
|
}
|
||||||
const props = withDefaults(defineProps<Props>(), {
|
const props = withDefaults(defineProps<Props>(), {
|
||||||
half: false,
|
half: false,
|
||||||
@ -71,13 +76,23 @@
|
|||||||
})
|
})
|
||||||
const localValue = ref<any>(props.modelValue)
|
const localValue = ref<any>(props.modelValue)
|
||||||
|
|
||||||
if (props.type === 'date' && props.modelValue !== null && props.modelValue !== undefined && props.modelValue !== '')
|
if (
|
||||||
|
props.type === 'date' &&
|
||||||
|
props.modelValue !== null &&
|
||||||
|
props.modelValue !== undefined &&
|
||||||
|
props.modelValue !== ''
|
||||||
|
)
|
||||||
localValue.value = dateStore.dateFormat({
|
localValue.value = dateStore.dateFormat({
|
||||||
date: props.modelValue as Date,
|
date: props.modelValue as Date,
|
||||||
pattern: 'dd-mm-yy'
|
pattern: 'dd-mm-yy'
|
||||||
})
|
})
|
||||||
|
|
||||||
if (props.type === 'datetime' && props.modelValue !== null && props.modelValue !== undefined && props.modelValue !== '')
|
if (
|
||||||
|
props.type === 'datetime' &&
|
||||||
|
props.modelValue !== null &&
|
||||||
|
props.modelValue !== undefined &&
|
||||||
|
props.modelValue !== ''
|
||||||
|
)
|
||||||
localValue.value = dateStore.dateFormat({
|
localValue.value = dateStore.dateFormat({
|
||||||
date: props.modelValue as Date,
|
date: props.modelValue as Date,
|
||||||
pattern: 'dd-mm-yy-t'
|
pattern: 'dd-mm-yy-t'
|
||||||
@ -108,3 +123,14 @@
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
</script>
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.form-item-size {
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.form-item-size-1 {
|
||||||
|
font-size: 1.2em;
|
||||||
|
}
|
||||||
|
.form-item-size-2 {
|
||||||
|
font-size: 1.5em;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import axios from 'axios'
|
|||||||
import { useUsersStore } from '@/stores/usersStore'
|
import { useUsersStore } from '@/stores/usersStore'
|
||||||
import router from '@/router'
|
import router from '@/router'
|
||||||
|
|
||||||
axios.defaults.baseURL = 'https://panelapi.cekilisevi.gov.tr/'
|
axios.defaults.baseURL = import.meta.env.VITE_API_URL
|
||||||
//axios.defaults.timeout = 2000;
|
//axios.defaults.timeout = 2000;
|
||||||
axios.defaults.headers['Content-Type'] = 'application/json; charset=utf-8'
|
axios.defaults.headers['Content-Type'] = 'application/json; charset=utf-8'
|
||||||
import { useDataStore } from '@/stores/dataStore'
|
import { useDataStore } from '@/stores/dataStore'
|
||||||
|
|||||||
@ -109,7 +109,7 @@
|
|||||||
{
|
{
|
||||||
title: 'Site Yönetimi',
|
title: 'Site Yönetimi',
|
||||||
ico: 'sitemanagement',
|
ico: 'sitemanagement',
|
||||||
show: usersStore.isPanelUser && !usersStore.isAccounting,
|
show: usersStore.isSuperAdmin,
|
||||||
sub: [
|
sub: [
|
||||||
{
|
{
|
||||||
title: 'Yeni Sayfa',
|
title: 'Yeni Sayfa',
|
||||||
|
|||||||
@ -57,7 +57,7 @@
|
|||||||
<panel-katilimci-document />
|
<panel-katilimci-document />
|
||||||
</template>
|
</template>
|
||||||
<template #footerButton>
|
<template #footerButton>
|
||||||
<button class="button-c button-save" @click="FileUpload">Yükle</button>
|
<button class="button-c button-save" @click="FileUpload" :disabled="uploadProgressPanel">Yükle</button>
|
||||||
</template>
|
</template>
|
||||||
</panel-wrapper>
|
</panel-wrapper>
|
||||||
<panel-wrapper
|
<panel-wrapper
|
||||||
|
|||||||
@ -22,13 +22,20 @@
|
|||||||
v-if="
|
v-if="
|
||||||
usersStore.isPanelUser ||
|
usersStore.isPanelUser ||
|
||||||
(!usersStore.isPanelUser &&
|
(!usersStore.isPanelUser &&
|
||||||
|
piyangoStore.lotteryApprove !== 0 &&
|
||||||
|
piyangoStore.lotteryApprove !== 1 &&
|
||||||
|
piyangoStore.lotteryApprove !== 2 &&
|
||||||
piyangoStore.lotteryApprove !== 3 &&
|
piyangoStore.lotteryApprove !== 3 &&
|
||||||
!piyangoTeminatStore.isNew)
|
!piyangoTeminatStore.isNew)
|
||||||
" />
|
" />
|
||||||
<panel-piyango-teminat-durumu
|
<panel-piyango-teminat-durumu
|
||||||
v-if="
|
v-if="
|
||||||
!usersStore.isPanelUser &&
|
!usersStore.isPanelUser &&
|
||||||
(piyangoStore.lotteryApprove === 3 || piyangoTeminatStore.isNew)
|
(piyangoStore.lotteryApprove === 0 ||
|
||||||
|
piyangoStore.lotteryApprove === 1 ||
|
||||||
|
piyangoStore.lotteryApprove === 2 ||
|
||||||
|
piyangoStore.lotteryApprove === 3 ||
|
||||||
|
piyangoTeminatStore.isNew)
|
||||||
" />
|
" />
|
||||||
</template>
|
</template>
|
||||||
<template #footerButton>
|
<template #footerButton>
|
||||||
@ -36,14 +43,22 @@
|
|||||||
class="button-c button-save"
|
class="button-c button-save"
|
||||||
:disabled="!piyangoTeminatValidationStore.formChanged"
|
:disabled="!piyangoTeminatValidationStore.formChanged"
|
||||||
@click="piyangoTeminatService.SaveTeminatDurum"
|
@click="piyangoTeminatService.SaveTeminatDurum"
|
||||||
v-if="piyangoTeminatStore.isNew || usersStore.isPanelUser">
|
v-if="
|
||||||
|
usersStore.isPanelUser ||
|
||||||
|
(!usersStore.isPanelUser &&
|
||||||
|
(piyangoStore.lotteryApprove === 0 ||
|
||||||
|
piyangoStore.lotteryApprove === 1 ||
|
||||||
|
piyangoStore.lotteryApprove === 2 ||
|
||||||
|
piyangoStore.lotteryApprove === 3)) ||
|
||||||
|
piyangoTeminatStore.isNew
|
||||||
|
">
|
||||||
Kaydet
|
Kaydet
|
||||||
</button>
|
</button>
|
||||||
</template>
|
</template>
|
||||||
</panel-wrapper>
|
</panel-wrapper>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref, computed,onBeforeMount } from 'vue'
|
import { ref, computed, onBeforeMount } from 'vue'
|
||||||
import PanelWrapper from '@/components/PanelWrapper.vue'
|
import PanelWrapper from '@/components/PanelWrapper.vue'
|
||||||
|
|
||||||
import PanelPiyangoTeminatDurumu from './panel/PanelPiyangoTeminatDurumu.vue'
|
import PanelPiyangoTeminatDurumu from './panel/PanelPiyangoTeminatDurumu.vue'
|
||||||
@ -143,10 +158,7 @@
|
|||||||
])
|
])
|
||||||
|
|
||||||
const teminatAddAction = computed(() => {
|
const teminatAddAction = computed(() => {
|
||||||
if (
|
if (!usersStore.isPanelUser) return NewTeminatDurum
|
||||||
!usersStore.isPanelUser
|
|
||||||
)
|
|
||||||
return NewTeminatDurum
|
|
||||||
else return ''
|
else return ''
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@ -84,7 +84,7 @@
|
|||||||
Başvuru admin tarafından kapsam dışı olarak işaretlenmiştir.
|
Başvuru admin tarafından kapsam dışı olarak işaretlenmiştir.
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-inner-comment alert-d" v-if="piyangoStore.lotteryApprove === 11">
|
<div class="form-inner-comment alert-d" v-if="piyangoStore.lotteryApprove === 13">
|
||||||
Kampanya için cezai işlem uygulanmıştır.
|
Kampanya için cezai işlem uygulanmıştır.
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@ -3,6 +3,10 @@
|
|||||||
<lottery-states
|
<lottery-states
|
||||||
:piyangoAmac="piyangoStore.lotteryData.amacpiyangoId"
|
:piyangoAmac="piyangoStore.lotteryData.amacpiyangoId"
|
||||||
v-if="!isPreview" />
|
v-if="!isPreview" />
|
||||||
|
<form-display
|
||||||
|
v-model="piyangoStore.lotteryData.piyangoId"
|
||||||
|
label="Piyango ID"
|
||||||
|
size="1" />
|
||||||
<template
|
<template
|
||||||
v-if="
|
v-if="
|
||||||
usersStore.isPanelUser &&
|
usersStore.isPanelUser &&
|
||||||
|
|||||||
@ -1,102 +0,0 @@
|
|||||||
<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>
|
|
||||||
@ -23,6 +23,13 @@
|
|||||||
<strong style="font-size: 10pt; margin-bottom: 12px">
|
<strong style="font-size: 10pt; margin-bottom: 12px">
|
||||||
PİYANGO İLE İLGİLİ BİLGİLER
|
PİYANGO İLE İLGİLİ BİLGİLER
|
||||||
</strong>
|
</strong>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
|
<strong style="font-size: 10pt; margin-bottom: 12px">
|
||||||
|
PİYANGO ID: {{ piyangoStore.lotteryData.piyangoId }}
|
||||||
|
</strong>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
<table
|
<table
|
||||||
cellspacing="0"
|
cellspacing="0"
|
||||||
class="table-no-line"
|
class="table-no-line"
|
||||||
|
|||||||
@ -12,6 +12,12 @@
|
|||||||
Bahisler ve Oyunlar Dairesi Başkanlığına
|
Bahisler ve Oyunlar Dairesi Başkanlığına
|
||||||
</strong>
|
</strong>
|
||||||
<br />
|
<br />
|
||||||
|
<br />
|
||||||
|
<strong style="font-size: 10pt; margin-bottom: 12px">
|
||||||
|
PİYANGO ID: {{ piyangoStore.lotteryData.piyangoId }}
|
||||||
|
</strong>
|
||||||
|
<br />
|
||||||
|
<br />
|
||||||
<table
|
<table
|
||||||
cellspacing="0"
|
cellspacing="0"
|
||||||
class="table-no-line"
|
class="table-no-line"
|
||||||
|
|||||||
@ -31,7 +31,17 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="form-part-content" v-if="loaded">
|
<div class="form-part-content" v-if="loaded">
|
||||||
<lottery-states :piyangoAmac="piyangoStore.lotteryData.amacpiyangoId" />
|
<lottery-states :piyangoAmac="piyangoStore.lotteryData.amacpiyangoId" />
|
||||||
|
<template
|
||||||
|
v-if="
|
||||||
|
!piyangoStore.isNew &&
|
||||||
|
piyangoStore.lotteryData.piyangoId !== undefined &&
|
||||||
|
piyangoStore.lotteryData.piyangoId !== null
|
||||||
|
">
|
||||||
|
<form-display
|
||||||
|
v-model="piyangoStore.lotteryData.piyangoId"
|
||||||
|
label="Piyango ID"
|
||||||
|
size="1" />
|
||||||
|
</template>
|
||||||
<form-input
|
<form-input
|
||||||
modelKey="cekilisBaslik"
|
modelKey="cekilisBaslik"
|
||||||
v-model="piyangoStore.lotteryData.baslik"
|
v-model="piyangoStore.lotteryData.baslik"
|
||||||
@ -602,7 +612,7 @@
|
|||||||
|
|
||||||
let list = await dataStore.dataGet('Auth/userbyuserChildList/' + id)
|
let list = await dataStore.dataGet('Auth/userbyuserChildList/' + id)
|
||||||
|
|
||||||
childUsers.value = list.data.filter((p:Record<string,any>) => {
|
childUsers.value = list.data.filter((p: Record<string, any>) => {
|
||||||
return p.islemTipId === 4 || p.islemTipi === 'Üyelik Onaylandı'
|
return p.islemTipId === 4 || p.islemTipi === 'Üyelik Onaylandı'
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@ -1,135 +0,0 @@
|
|||||||
<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>
|
|
||||||
@ -10,7 +10,34 @@
|
|||||||
required
|
required
|
||||||
:invalidText="piyangoTeminatValidationStore.invalidTexts.state"
|
:invalidText="piyangoTeminatValidationStore.invalidTexts.state"
|
||||||
@change="OnKeyup"
|
@change="OnKeyup"
|
||||||
:disabled="!usersStore.isPanelUser"/>
|
:disabled="!usersStore.isPanelUser" />
|
||||||
|
|
||||||
|
<template
|
||||||
|
v-if="
|
||||||
|
piyangoTeminatStore.piyangoTeminatFormData.state === 2 ||
|
||||||
|
piyangoTeminatStore.piyangoTeminatFormData.state === 3
|
||||||
|
">
|
||||||
|
<form-date
|
||||||
|
type="date"
|
||||||
|
half
|
||||||
|
modelKey="iadeTarihi"
|
||||||
|
v-model="piyangoTeminatStore.piyangoTeminatFormData.iadeTarihi"
|
||||||
|
label="İlan Tarihi"
|
||||||
|
:invalidText="piyangoTeminatValidationStore.invalidTexts.iadeTarihi"
|
||||||
|
@change="OnKeyup" />
|
||||||
|
<form-input
|
||||||
|
modelKey="iadeSayi"
|
||||||
|
v-model="piyangoTeminatStore.piyangoTeminatFormData.iadeSayi"
|
||||||
|
half
|
||||||
|
label="Sayısı"
|
||||||
|
@keyup="OnKeyup"
|
||||||
|
:invalidText="piyangoTeminatValidationStore.invalidTexts.iadeSayi" />
|
||||||
|
<form-file
|
||||||
|
v-model="piyangoTeminatStore.piyangoTeminatFormData.iadeFile"
|
||||||
|
elclass="panel-documents-item"
|
||||||
|
:invalidText="piyangoTeminatValidationStore.invalidTexts.iadeFile"
|
||||||
|
@change="OnKeyup" />
|
||||||
|
</template>
|
||||||
|
|
||||||
<form-display
|
<form-display
|
||||||
v-model="piyangoTeminatStore.piyangoTeminatFormData.amount"
|
v-model="piyangoTeminatStore.piyangoTeminatFormData.amount"
|
||||||
@ -51,7 +78,10 @@
|
|||||||
label="Banka Şubesi" />
|
label="Banka Şubesi" />
|
||||||
|
|
||||||
<file-list-item
|
<file-list-item
|
||||||
v-if="piyangoTeminatStore.piyangoTeminatFormData.teminantDocumentUrl !== null && piyangoTeminatStore.piyangoTeminatFormData.teminantDocumentUrl !== undefined"
|
v-if="
|
||||||
|
piyangoTeminatStore.piyangoTeminatFormData.teminantDocumentUrl !== null &&
|
||||||
|
piyangoTeminatStore.piyangoTeminatFormData.teminantDocumentUrl !== undefined
|
||||||
|
"
|
||||||
title="Dosya"
|
title="Dosya"
|
||||||
:data="piyangoTeminatStore.piyangoTeminatFormData"
|
:data="piyangoTeminatStore.piyangoTeminatFormData"
|
||||||
:editable="false"
|
:editable="false"
|
||||||
|
|||||||
@ -52,6 +52,11 @@ export const usePiyangoServices = defineStore('piyangoServices', () => {
|
|||||||
}
|
}
|
||||||
const GetPiyangoTeminatDurumList = async () => {
|
const GetPiyangoTeminatDurumList = async () => {
|
||||||
if (piyangoDataStore.piyangoTeminatDurumlari.length === 0) {
|
if (piyangoDataStore.piyangoTeminatDurumlari.length === 0) {
|
||||||
|
/*
|
||||||
|
1: Açık
|
||||||
|
2: İade
|
||||||
|
3: Zaman Aşımı İade
|
||||||
|
*/
|
||||||
let data = await dataStore.dataGet('TeminantStates/Durumlar')
|
let data = await dataStore.dataGet('TeminantStates/Durumlar')
|
||||||
piyangoDataStore.piyangoTeminatDurumlari = data
|
piyangoDataStore.piyangoTeminatDurumlari = data
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,7 +20,10 @@ export const usePiyangoTeminatService = defineStore('piyangoTeminatService', ()
|
|||||||
let dataForm = new FormData()
|
let dataForm = new FormData()
|
||||||
|
|
||||||
dataForm.append('state', piyangoTeminatStore.piyangoTeminatFormData.state)
|
dataForm.append('state', piyangoTeminatStore.piyangoTeminatFormData.state)
|
||||||
dataForm.append('amount', globalStore.floatEnLocale(piyangoTeminatStore.piyangoTeminatFormData.amount))
|
dataForm.append(
|
||||||
|
'amount',
|
||||||
|
globalStore.floatEnLocale(piyangoTeminatStore.piyangoTeminatFormData.amount)
|
||||||
|
)
|
||||||
dataForm.append('bankName', piyangoTeminatStore.piyangoTeminatFormData.bankName)
|
dataForm.append('bankName', piyangoTeminatStore.piyangoTeminatFormData.bankName)
|
||||||
dataForm.append('bankBranch', piyangoTeminatStore.piyangoTeminatFormData.bankBranch)
|
dataForm.append('bankBranch', piyangoTeminatStore.piyangoTeminatFormData.bankBranch)
|
||||||
dataForm.append(
|
dataForm.append(
|
||||||
@ -43,6 +46,20 @@ export const usePiyangoTeminatService = defineStore('piyangoTeminatService', ()
|
|||||||
'description',
|
'description',
|
||||||
piyangoTeminatStore.piyangoTeminatFormData.description
|
piyangoTeminatStore.piyangoTeminatFormData.description
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if (usersStore.isPanelUser) {
|
||||||
|
if (piyangoTeminatStore.piyangoTeminatFormData.state === 1) {
|
||||||
|
piyangoTeminatStore.piyangoTeminatFormData.iadeTarihi = ''
|
||||||
|
piyangoTeminatStore.piyangoTeminatFormData.iadeSayi = ''
|
||||||
|
piyangoTeminatStore.piyangoTeminatFormData.iadeFile = ''
|
||||||
|
}
|
||||||
|
dataForm.append(
|
||||||
|
'iadeTarihi',
|
||||||
|
String(piyangoTeminatStore.piyangoTeminatFormData.iadeTarihi)
|
||||||
|
)
|
||||||
|
dataForm.append('iadeFile', piyangoTeminatStore.piyangoTeminatFormData.iadeFile)
|
||||||
|
}
|
||||||
|
|
||||||
if (piyangoTeminatStore.isNew) {
|
if (piyangoTeminatStore.isNew) {
|
||||||
form = await dataStore.dataPost('TeminantStates/', {
|
form = await dataStore.dataPost('TeminantStates/', {
|
||||||
data: dataForm,
|
data: dataForm,
|
||||||
|
|||||||
@ -1,34 +1,34 @@
|
|||||||
import * as signalR from "@microsoft/signalr";
|
import * as signalR from '@microsoft/signalr'
|
||||||
import { v4 as uuidv4 } from "uuid";
|
import { v4 as uuidv4 } from 'uuid'
|
||||||
|
|
||||||
let connection: signalR.HubConnection;
|
let connection: signalR.HubConnection
|
||||||
let connectionId = "";
|
let connectionId = ''
|
||||||
|
|
||||||
export const connectToHub = async () => {
|
export const connectToHub = async () => {
|
||||||
connection = new signalR.HubConnectionBuilder()
|
connection = new signalR.HubConnectionBuilder()
|
||||||
.withUrl("https://panelapi.cekilisevi.gov.tr/uploadHub", {
|
.withUrl(import.meta.env.VITE_SOCKET_URL, {
|
||||||
withCredentials: false // Bu zorunlu, yoksa cookie vs gönderilmez
|
withCredentials: false // Bu zorunlu, yoksa cookie vs gönderilmez
|
||||||
}) // backend adresine göre düzenle
|
}) // backend adresine göre düzenle
|
||||||
.withAutomaticReconnect()
|
.withAutomaticReconnect()
|
||||||
.build();
|
.build()
|
||||||
|
|
||||||
await connection.start();
|
await connection.start()
|
||||||
connectionId = connection.connectionId || uuidv4(); // SignalR id'si ya da frontend'de de guid üretilebilir
|
connectionId = connection.connectionId || uuidv4() // SignalR id'si ya da frontend'de de guid üretilebilir
|
||||||
return connectionId;
|
return connectionId
|
||||||
};
|
}
|
||||||
|
|
||||||
export const onProgress = (callback: (data: any) => void) => {
|
export const onProgress = (callback: (data: any) => void) => {
|
||||||
connection.on("ReceiveProgress", callback);
|
connection.on('ReceiveProgress', callback)
|
||||||
};
|
}
|
||||||
|
|
||||||
export const onInsertProgress = (callback: (data: any) => void) => {
|
export const onInsertProgress = (callback: (data: any) => void) => {
|
||||||
connection.on("ReceiveInsertProgress", callback);
|
connection.on('ReceiveInsertProgress', callback)
|
||||||
};
|
}
|
||||||
|
|
||||||
export const onCompleted = (callback: (data: any) => void) => {
|
export const onCompleted = (callback: (data: any) => void) => {
|
||||||
connection.on("ReceiveCompleted", callback);
|
connection.on('ReceiveCompleted', callback)
|
||||||
};
|
}
|
||||||
|
|
||||||
export const onError = (callback: (data: any) => void) => {
|
export const onError = (callback: (data: any) => void) => {
|
||||||
connection.on("ReceiveError", callback);
|
connection.on('ReceiveError', callback)
|
||||||
};
|
}
|
||||||
|
|||||||
@ -23,7 +23,10 @@ export const usePiyangoTeminatStore = defineStore('piyangoTeminatStore', () => {
|
|||||||
cekilisId: piyangoStore.selectedLottery,
|
cekilisId: piyangoStore.selectedLottery,
|
||||||
kisiId: usersStore.userId,
|
kisiId: usersStore.userId,
|
||||||
description: '',
|
description: '',
|
||||||
file: ''
|
file: '',
|
||||||
|
iadeTarihi: '',
|
||||||
|
iadeSayi: '',
|
||||||
|
iadeFile: ''
|
||||||
})
|
})
|
||||||
|
|
||||||
const piyangoTeminatFormData = reactive<Record<string, any>>({})
|
const piyangoTeminatFormData = reactive<Record<string, any>>({})
|
||||||
@ -31,7 +34,7 @@ export const usePiyangoTeminatStore = defineStore('piyangoTeminatStore', () => {
|
|||||||
const loaded = ref<boolean>(false)
|
const loaded = ref<boolean>(false)
|
||||||
const isNew = ref<boolean>(false)
|
const isNew = ref<boolean>(false)
|
||||||
const teminatPanel = ref<boolean>(false)
|
const teminatPanel = ref<boolean>(false)
|
||||||
const selectedTeminatId = ref<number|null>(null)
|
const selectedTeminatId = ref<number | null>(null)
|
||||||
const refreshList = ref<boolean>(false)
|
const refreshList = ref<boolean>(false)
|
||||||
|
|
||||||
const ResetFormData = () => {
|
const ResetFormData = () => {
|
||||||
|
|||||||
@ -24,6 +24,18 @@ export const usePiyangoTeminatValidationStore = defineStore(
|
|||||||
'state',
|
'state',
|
||||||
'Lütfen işlem tipini seçiniz.'
|
'Lütfen işlem tipini seçiniz.'
|
||||||
)
|
)
|
||||||
|
validationStore.IsFieldEmpty(
|
||||||
|
piyangoTeminatStore.piyangoTeminatFormData,
|
||||||
|
invalidTexts,
|
||||||
|
'iadeTarihi',
|
||||||
|
'Lütfen iade tarihini seçiniz.'
|
||||||
|
)
|
||||||
|
validationStore.IsFieldEmpty(
|
||||||
|
piyangoTeminatStore.piyangoTeminatFormData,
|
||||||
|
invalidTexts,
|
||||||
|
'iadeSayi',
|
||||||
|
'Lütfen iade sayı no giriniz.'
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
validationStore.IsFieldEmpty(
|
validationStore.IsFieldEmpty(
|
||||||
|
|||||||
@ -472,12 +472,16 @@ export const usePiyangoValidationStore = defineStore('piyangoValidationStore', (
|
|||||||
date: ilanTarihi2Max.value,
|
date: ilanTarihi2Max.value,
|
||||||
pattern: 'dd-mm-yy'
|
pattern: 'dd-mm-yy'
|
||||||
})
|
})
|
||||||
|
if (ilan2min > ilan2max) {
|
||||||
if (ilanTarihi2 < ilan2min || ilanTarihi2 > ilan2max) {
|
|
||||||
isFormValid.value = false
|
isFormValid.value = false
|
||||||
invalidTexts.ilantarihi2 = `2. İlan Tarihi ${ilan2mind} - ${ilan2maxd} tarihleri arasında olmalıdır.`
|
invalidTexts.ilantarihi2 = `Lütfen 1. ilan tarihini daha erken bir tarih ile değiştiriniz. 2. İlan tarihi 1. ilan tarihinden en az 1 gün sonra olabilir`
|
||||||
} else {
|
} else {
|
||||||
delete invalidTexts.ilantarihi2
|
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
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -60,13 +60,14 @@
|
|||||||
|
|
||||||
const CreateTabs = () => {
|
const CreateTabs = () => {
|
||||||
if (
|
if (
|
||||||
piyangoStore.lotteryApprove === 4 ||
|
(piyangoStore.lotteryApprove === 4 ||
|
||||||
piyangoStore.lotteryApprove === 10 ||
|
piyangoStore.lotteryApprove === 10 ||
|
||||||
piyangoStore.lotteryApprove === 11 ||
|
piyangoStore.lotteryApprove === 11 ||
|
||||||
piyangoStore.lotteryApprove === 12 ||
|
piyangoStore.lotteryApprove === 12 ||
|
||||||
piyangoStore.lotteryApprove === 13 ||
|
piyangoStore.lotteryApprove === 13 ||
|
||||||
piyangoStore.lotteryApprove === 14 ||
|
piyangoStore.lotteryApprove === 14 ||
|
||||||
usersStore.isPanelUser
|
usersStore.isPanelUser) &&
|
||||||
|
piyangoStore.lotteryPurposeId !== 3
|
||||||
) {
|
) {
|
||||||
tabList.value.push(
|
tabList.value.push(
|
||||||
{ text: 'Katılım Listesi', id: 'katilimcilistesi' },
|
{ text: 'Katılım Listesi', id: 'katilimcilistesi' },
|
||||||
@ -82,7 +83,7 @@
|
|||||||
}
|
}
|
||||||
tabList.value.push({ text: 'Onay Durumu', id: 'onaydurumu' })
|
tabList.value.push({ text: 'Onay Durumu', id: 'onaydurumu' })
|
||||||
|
|
||||||
if (piyangoStore.lotteryApprove !== 0) {
|
if (piyangoStore.lotteryApprove !== 0 && piyangoStore.lotteryPurposeId !== 3) {
|
||||||
tabList.value.push({ text: 'Teminat Listesi', id: 'teminatlistesi' })
|
tabList.value.push({ text: 'Teminat Listesi', id: 'teminatlistesi' })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -67,11 +67,25 @@
|
|||||||
const tableHeader = computed<Record<string, any>[]>(() => {
|
const tableHeader = computed<Record<string, any>[]>(() => {
|
||||||
let header: Record<string, any>[] = []
|
let header: Record<string, any>[] = []
|
||||||
|
|
||||||
|
header.push({
|
||||||
|
name: 'piyangoId',
|
||||||
|
title: 'Piyango Id',
|
||||||
|
sort: true,
|
||||||
|
style: { width: '10%' }
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
if (usersStore.isAraciFirma || usersStore.isPanelUser) {
|
if (usersStore.isAraciFirma || usersStore.isPanelUser) {
|
||||||
header.push({ name: 'duzenleyen', title: 'Düzenleyen' })
|
header.push({ name: 'duzenleyen', title: 'Düzenleyen' })
|
||||||
}
|
}
|
||||||
|
|
||||||
header.push(
|
header.push(
|
||||||
|
{
|
||||||
|
name: 'piyangoId',
|
||||||
|
title: 'Piyango ID',
|
||||||
|
sort: true,
|
||||||
|
style: { width: '10%' }
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'baslik',
|
name: 'baslik',
|
||||||
title: 'Başlık',
|
title: 'Başlık',
|
||||||
@ -101,14 +115,16 @@
|
|||||||
type: 'date',
|
type: 'date',
|
||||||
range: true
|
range: true
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
||||||
if (usersStore.isVakifDernek || usersStore.isPanelUser) {
|
if (usersStore.isVakifDernek || usersStore.isPanelUser) {
|
||||||
header.push({
|
header.push({
|
||||||
name: 'cekilisTarihi',
|
name: 'cekilisTarihi',
|
||||||
title: 'Çekiliş Tarihi',
|
title: 'Çekiliş Tarihi',
|
||||||
compute: (v: Record<string, any>): string => {
|
compute: (v: Record<string, any>): string => {
|
||||||
return dateStore.dateFormat({ date: v.cekilisTarihi })
|
if(v.piyangoAmacId === 3) return ''
|
||||||
|
else return dateStore.dateFormat({ date: v.cekilisTarihi })
|
||||||
},
|
},
|
||||||
sort: true,
|
sort: true,
|
||||||
filter: {
|
filter: {
|
||||||
|
|||||||
@ -54,6 +54,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
header.push(
|
header.push(
|
||||||
|
{
|
||||||
|
name: 'piyangoId',
|
||||||
|
title: 'Piyango ID',
|
||||||
|
sort: true,
|
||||||
|
style: { width: '10%' }
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'baslik',
|
name: 'baslik',
|
||||||
title: 'Başlık',
|
title: 'Başlık',
|
||||||
|
|||||||
@ -87,7 +87,7 @@
|
|||||||
title: 'Resim Url',
|
title: 'Resim Url',
|
||||||
computeHtml: (v: Record<string, any>) => {
|
computeHtml: (v: Record<string, any>) => {
|
||||||
if (v.resimUrl !== null && v.resimUrl !== undefined) {
|
if (v.resimUrl !== null && v.resimUrl !== undefined) {
|
||||||
return globalStore.TableCellDocument(v.resimUrl)
|
return `<a href="${ v.resimUrl }" target="_blank" onclick="event.stopPropagation()"><img class="table-cell-image" src="${ v.resimUrl }" /></a>`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@ -78,7 +78,7 @@
|
|||||||
title: 'Resim Url',
|
title: 'Resim Url',
|
||||||
computeHtml: (v: Record<string, any>) => {
|
computeHtml: (v: Record<string, any>) => {
|
||||||
if (v.resimUrl !== null && v.resimUrl !== undefined) {
|
if (v.resimUrl !== null && v.resimUrl !== undefined) {
|
||||||
return globalStore.TableCellDocument(v.resimUrl)
|
return `<a href="${ v.resimUrl }" target="_blank" onclick="event.stopPropagation()"><img class="table-cell-image" src="${ v.resimUrl }" /></a>`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,49 +1,64 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class='form-part'>
|
<div class="form-part">
|
||||||
<div class='form-part-title'>
|
<div class="form-part-title">
|
||||||
<h4>Profil Resmi</h4>
|
<h4>Profil Resmi</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class='form-part-content'>
|
<div class="form-part-content">
|
||||||
<template v-if="file.filePath !== '' && file.filePath !== null">
|
<template v-if="file.filePath !== '' && file.filePath !== null">
|
||||||
<file-list-item
|
<file-list-item
|
||||||
:data='file'
|
:data="file"
|
||||||
@click='ReplaceImage'
|
@click="ReplaceImage"
|
||||||
onlyPreview
|
onlyPreview
|
||||||
:filePath='file.filePath' />
|
:filePath="file.filePath">
|
||||||
|
<template
|
||||||
|
#actionButtons
|
||||||
|
v-if="
|
||||||
|
route.name === 'Profil' ||
|
||||||
|
(route.name === 'Profil' && !usersStore.isPanelUser)
|
||||||
|
">
|
||||||
|
<i
|
||||||
|
class="ico-c ico-btn ico-section back-grad-alert"
|
||||||
|
@click="DeleteImagePop(file)">
|
||||||
|
<svg><use href="/src/assets/images/icons.svg#trash"></use></svg>
|
||||||
|
</i>
|
||||||
|
</template>
|
||||||
|
</file-list-item>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<template v-if="route.name === 'Profil' || (route.name === 'Profil' && !usersStore.isPanelUser)">
|
<template
|
||||||
<div class='form-item form-item-picture clickable' @click='picturePanel = true'>
|
v-if="
|
||||||
<div class='image-c'>
|
route.name === 'Profil' ||
|
||||||
<i class='ico-c'>
|
(route.name === 'Profil' && !usersStore.isPanelUser)
|
||||||
|
">
|
||||||
|
<div class="form-item form-item-picture clickable" @click="picturePanel = true">
|
||||||
|
<div class="image-c">
|
||||||
|
<i class="ico-c">
|
||||||
<svg>
|
<svg>
|
||||||
<use href='@/assets/images/icons.svg#plus'></use>
|
<use href="@/assets/images/icons.svg#plus"></use>
|
||||||
</svg>
|
</svg>
|
||||||
</i>
|
</i>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<div class='form-inner-comment'>
|
<div class="form-inner-comment">Eklenmiş resim bulunamadı.</div>
|
||||||
Eklenmiş resim bulunamadı.
|
|
||||||
</div>
|
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<panel-wrapper
|
<panel-wrapper
|
||||||
v-if='picturePanel'
|
v-if="picturePanel"
|
||||||
v-model='picturePanel'
|
v-model="picturePanel"
|
||||||
panel-title='Profil Resmi Ekle'>
|
panel-title="Profil Resmi Ekle">
|
||||||
<template #panelContent>
|
<template #panelContent>
|
||||||
<panel-user-picture />
|
<panel-user-picture />
|
||||||
</template>
|
</template>
|
||||||
<template #footerButton>
|
<template #footerButton>
|
||||||
<div class='button-c button-save' @click='FileUpload'>Ekle</div>
|
<div class="button-c button-save" @click="FileUpload">Ekle</div>
|
||||||
</template>
|
</template>
|
||||||
</panel-wrapper>
|
</panel-wrapper>
|
||||||
</template>
|
</template>
|
||||||
<script setup lang='ts'>
|
<script setup lang="ts">
|
||||||
import { ref, reactive, onBeforeMount } from 'vue'
|
import { ref, reactive, onBeforeMount } from 'vue'
|
||||||
import PanelUserPicture from '../panel/PanelUserPicture.vue'
|
import PanelUserPicture from '../panel/PanelUserPicture.vue'
|
||||||
import PanelWrapper from '@/components/PanelWrapper.vue'
|
import PanelWrapper from '@/components/PanelWrapper.vue'
|
||||||
@ -52,20 +67,13 @@
|
|||||||
|
|
||||||
const route = useRoute()
|
const route = useRoute()
|
||||||
import { useDataStore } from '@/stores/dataStore'
|
import { useDataStore } from '@/stores/dataStore'
|
||||||
|
|
||||||
const dataStore = useDataStore()
|
const dataStore = useDataStore()
|
||||||
import { useGlobalStore } from '@/stores/globalStore'
|
|
||||||
|
|
||||||
const globalStore = useGlobalStore()
|
|
||||||
import { useValidationStore } from '@/stores/validationStore'
|
import { useValidationStore } from '@/stores/validationStore'
|
||||||
|
|
||||||
const validationStore = useValidationStore()
|
const validationStore = useValidationStore()
|
||||||
import { useUsersStore } from '@/stores/usersStore'
|
import { useUsersStore } from '@/stores/usersStore'
|
||||||
|
|
||||||
const usersStore = useUsersStore()
|
const usersStore = useUsersStore()
|
||||||
import { useCustomerStore } from '@/module/uyeler/stores/customerStore'
|
import { useDialogStore } from '@/components/global/dialogStore'
|
||||||
|
const dialogStore = useDialogStore()
|
||||||
const customerStore = useCustomerStore()
|
|
||||||
|
|
||||||
const picturePanel = ref<boolean>(false)
|
const picturePanel = ref<boolean>(false)
|
||||||
const isUpdate = ref<boolean>(false)
|
const isUpdate = ref<boolean>(false)
|
||||||
@ -82,7 +90,9 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
const GetData = async () => {
|
const GetData = async () => {
|
||||||
let dt = await dataStore.dataGet('AppUserResim/AppUserId/' + usersStore.selectedUserId())
|
let dt = await dataStore.dataGet(
|
||||||
|
'AppUserResim/AppUserId/' + usersStore.selectedUserId()
|
||||||
|
)
|
||||||
if (dt !== 'errorfalse') {
|
if (dt !== 'errorfalse') {
|
||||||
Object.assign(file, dt)
|
Object.assign(file, dt)
|
||||||
if (usersStore.selectedUserId() === usersStore.userId)
|
if (usersStore.selectedUserId() === usersStore.userId)
|
||||||
@ -126,6 +136,32 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const DeleteImagePop = (data: Record<string, any>) => {
|
||||||
|
dialogStore.CreateDialog({
|
||||||
|
title: 'Resim Sil',
|
||||||
|
id: 'deleteimage',
|
||||||
|
content: 'Resmi silmek istediğinize emin misiniz? Bu işlem geri alınamaz.',
|
||||||
|
closeText: 'Vazgeç',
|
||||||
|
buttons: [
|
||||||
|
{
|
||||||
|
label: 'Resim Sil',
|
||||||
|
type: 'alert',
|
||||||
|
function: () => DeleteImage(data.id)
|
||||||
|
}
|
||||||
|
]
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const DeleteImage = async (id: number | string) => {
|
||||||
|
var dt = await dataStore.dataDelete('AppUserResim/' + id)
|
||||||
|
|
||||||
|
if (dt !== 'errorfalse') {
|
||||||
|
dialogStore.CloseDialog('deleteimage')
|
||||||
|
await GetData()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onBeforeMount(async () => {
|
onBeforeMount(async () => {
|
||||||
await GetData()
|
await GetData()
|
||||||
})
|
})
|
||||||
|
|||||||
@ -8,7 +8,7 @@ export const useDataStore = defineStore('dataStore', () => {
|
|||||||
const globalDataStore = useGlobalDataStore()
|
const globalDataStore = useGlobalDataStore()
|
||||||
const toastStore = useToastStore()
|
const toastStore = useToastStore()
|
||||||
|
|
||||||
const siteBase = ref<string>('https://panelapi.cekilisevi.gov.tr/')
|
const siteBase = ref<string>(import.meta.env.VITE_API_URL)
|
||||||
const apiBase = ref<string>('api/')
|
const apiBase = ref<string>('api/')
|
||||||
const panelData = reactive<Record<string, any>>({})
|
const panelData = reactive<Record<string, any>>({})
|
||||||
const pageData = reactive<Record<string, any>>({})
|
const pageData = reactive<Record<string, any>>({})
|
||||||
@ -40,7 +40,7 @@ export const useDataStore = defineStore('dataStore', () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const response = await axios.get(apiBase.value + api, sendData)
|
const response = await axios.get(apiBase.value + api, sendData)
|
||||||
//console.log('response --', api, response)
|
console.log('response --', api, response)
|
||||||
|
|
||||||
if (data.full !== undefined && data.full) {
|
if (data.full !== undefined && data.full) {
|
||||||
return response
|
return response
|
||||||
@ -49,7 +49,7 @@ export const useDataStore = defineStore('dataStore', () => {
|
|||||||
}
|
}
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
CheckApiError(error.response.status, error.response.data)
|
CheckApiError(error.response.status, error.response.data)
|
||||||
//console.error('Hata oluştu -:', error)
|
console.error('Hata oluştu -:', error)
|
||||||
return 'errorfalse'
|
return 'errorfalse'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -86,7 +86,7 @@ export const useDataStore = defineStore('dataStore', () => {
|
|||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
CheckApiError(error.response.status, error.response.data)
|
CheckApiError(error.response.status, error.response.data)
|
||||||
|
|
||||||
//console.error('Hata oluştu:', error)
|
console.error('Hata oluştu:', error)
|
||||||
return Promise.resolve('errorfalse')
|
return Promise.resolve('errorfalse')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -122,7 +122,7 @@ export const useDataStore = defineStore('dataStore', () => {
|
|||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
CheckApiError(error.response.status, error.response.data)
|
CheckApiError(error.response.status, error.response.data)
|
||||||
|
|
||||||
//console.error('Hata oluştu:', error)
|
console.error('Hata oluştu:', error)
|
||||||
return Promise.resolve('errorfalse')
|
return Promise.resolve('errorfalse')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -156,7 +156,7 @@ export const useDataStore = defineStore('dataStore', () => {
|
|||||||
}
|
}
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
CheckApiError(error.response.status, error.response.data)
|
CheckApiError(error.response.status, error.response.data)
|
||||||
//console.error('Hata oluştu:', error)
|
console.error('Hata oluştu:', error)
|
||||||
return Promise.resolve('errorfalse')
|
return Promise.resolve('errorfalse')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,10 +6,22 @@ import vueJsx from '@vitejs/plugin-vue-jsx'
|
|||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [vue(), vueJsx()],
|
plugins: [
|
||||||
|
vue({
|
||||||
|
template: {
|
||||||
|
compilerOptions: {
|
||||||
|
comments: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
vueJsx()
|
||||||
|
],
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'@': fileURLToPath(new URL('./src', import.meta.url))
|
'@': fileURLToPath(new URL('./src', import.meta.url))
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
esbuild: {
|
||||||
|
drop: process.env.NODE_ENV === 'production' ? ['console', 'debugger'] : []
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user