9 Commits

Author SHA1 Message Date
ed8b6fd3eb - Kapsam dışı piyango detayında bazı tablar kaldırıldı
- piyango liste kapsam dışı ise çekiliş tarihi olmayacak
2025-07-28 19:07:55 +03:00
f4c0511afb - dev ve prod için env ayarları yapıldı.
- test sunucusu iin build script eklendi
2025-07-28 17:14:07 +03:00
7998b7bd6c Merge pull request 'Piyango Teminat iade seçeneği için alanlar eklendi.' (#2) from Teminat-İade-Seçeneği-Geliştirmesi into main
Reviewed-on: #2
2025-07-28 13:51:32 +00:00
6ff319cb1d Merge pull request '- FormDisplay size props eklendi' (#1) from piyango-Id-geliştirmesi into main
Reviewed-on: #1
2025-07-28 13:50:43 +00:00
10011eacd6 site yönetimi sadece süperadmin 2025-07-28 10:15:48 +03:00
36d646e0bf piyangoid 2025-07-25 17:51:18 +03:00
908e63b896 popup liste slider liste 2025-07-25 17:10:36 +03:00
0e130eafff piyango liste piyango id 2025-07-25 16:29:29 +03:00
f6850853b2 - FormDisplay size props eklendi
- PiyangoId alanları eklendi
2025-07-25 06:24:35 +03:00
19 changed files with 119 additions and 27 deletions

1
.env.development Normal file
View File

@ -0,0 +1 @@
VITE_API_URL=https://panelapi.cekilisevitest.gov.tr/

1
.env.localdev Normal file
View File

@ -0,0 +1 @@
VITE_API_URL=https://localhost:7241/

1
.env.production Normal file
View File

@ -0,0 +1 @@
VITE_API_URL=https://panelapi.cekilisevi.gov.tr/

7
env.d.ts vendored
View File

@ -1,2 +1,9 @@
/// <reference types="vite/client" />
interface ImportMetaEnv {
readonly VITE_API_URL: string;
}
interface ImportMeta {
readonly env: ImportMetaEnv;
}

View File

@ -5,9 +5,12 @@
"type": "module",
"scripts": {
"dev": "vite",
"localdev": "vite",
"build": "run-p type-check \"build-only {@}\" --",
"buildtest": "run-p type-check \"build-only-test {@}\" --",
"preview": "vite preview",
"build-only": "vite build",
"build-only-test": "vite build --mode development",
"type-check": "vue-tsc --build --force"
},
"dependencies": {

View File

@ -14,7 +14,9 @@
</span>
<template v-if="modelText !== undefined && modelText !== ''">
<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 v-if="typeof modelText === 'object'">
<ul>
@ -25,7 +27,9 @@
</template>
</template>
<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>
<span
class="form-item-alert"
@ -64,6 +68,7 @@
modelText?: any
invalidText?: string
price?: boolean
size?: number | string
}
const props = withDefaults(defineProps<Props>(), {
half: false,
@ -71,13 +76,23 @@
})
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({
date: props.modelValue as Date,
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({
date: props.modelValue as Date,
pattern: 'dd-mm-yy-t'
@ -108,3 +123,14 @@
}
)
</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>

View File

@ -2,7 +2,7 @@ import axios from 'axios'
import { useUsersStore } from '@/stores/usersStore'
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.headers['Content-Type'] = 'application/json; charset=utf-8'
import { useDataStore } from '@/stores/dataStore'

View File

@ -109,7 +109,7 @@
{
title: 'Site Yönetimi',
ico: 'sitemanagement',
show: usersStore.isPanelUser && !usersStore.isAccounting,
show: usersStore.isSuperAdmin,
sub: [
{
title: 'Yeni Sayfa',

View File

@ -3,6 +3,10 @@
<lottery-states
:piyangoAmac="piyangoStore.lotteryData.amacpiyangoId"
v-if="!isPreview" />
<form-display
v-model="piyangoStore.lotteryData.piyangoId"
label="Piyango ID"
size="1" />
<template
v-if="
usersStore.isPanelUser &&

View File

@ -23,6 +23,13 @@
<strong style="font-size: 10pt; margin-bottom: 12px">
PİYANGO İLE İLGİLİ BİLGİLER
</strong>
<br />
<br />
<strong style="font-size: 10pt; margin-bottom: 12px">
PİYANGO ID: {{ piyangoStore.lotteryData.piyangoId }}
</strong>
<br />
<br />
<table
cellspacing="0"
class="table-no-line"

View File

@ -12,6 +12,12 @@
Bahisler ve Oyunlar Dairesi Başkanlığına
</strong>
<br />
<br />
<strong style="font-size: 10pt; margin-bottom: 12px">
PİYANGO ID: {{ piyangoStore.lotteryData.piyangoId }}
</strong>
<br />
<br />
<table
cellspacing="0"
class="table-no-line"

View File

@ -31,7 +31,17 @@
</div>
<div class="form-part-content" v-if="loaded">
<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
modelKey="cekilisBaslik"
v-model="piyangoStore.lotteryData.baslik"
@ -602,7 +612,7 @@
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ı'
})

View File

@ -60,13 +60,14 @@
const CreateTabs = () => {
if (
piyangoStore.lotteryApprove === 4 ||
piyangoStore.lotteryApprove === 10 ||
piyangoStore.lotteryApprove === 11 ||
piyangoStore.lotteryApprove === 12 ||
piyangoStore.lotteryApprove === 13 ||
piyangoStore.lotteryApprove === 14 ||
usersStore.isPanelUser
(piyangoStore.lotteryApprove === 4 ||
piyangoStore.lotteryApprove === 10 ||
piyangoStore.lotteryApprove === 11 ||
piyangoStore.lotteryApprove === 12 ||
piyangoStore.lotteryApprove === 13 ||
piyangoStore.lotteryApprove === 14 ||
usersStore.isPanelUser) &&
piyangoStore.lotteryPurposeId !== 3
) {
tabList.value.push(
{ text: 'Katılım Listesi', id: 'katilimcilistesi' },
@ -82,7 +83,7 @@
}
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' })
}
}

View File

@ -67,11 +67,25 @@
const tableHeader = computed<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) {
header.push({ name: 'duzenleyen', title: 'Düzenleyen' })
}
header.push(
{
name: 'piyangoId',
title: 'Piyango ID',
sort: true,
style: { width: '10%' }
},
{
name: 'baslik',
title: 'Başlık',
@ -101,14 +115,16 @@
type: 'date',
range: true
}
})
}
)
if (usersStore.isVakifDernek || usersStore.isPanelUser) {
header.push({
name: 'cekilisTarihi',
title: 'Çekiliş Tarihi',
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,
filter: {
@ -146,7 +162,7 @@
}
}
)
}
}
header.push(
{

View File

@ -54,6 +54,12 @@
}
header.push(
{
name: 'piyangoId',
title: 'Piyango ID',
sort: true,
style: { width: '10%' }
},
{
name: 'baslik',
title: 'Başlık',

View File

@ -87,7 +87,7 @@
title: 'Resim Url',
computeHtml: (v: Record<string, any>) => {
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>`
}
}
},

View File

@ -78,7 +78,7 @@
title: 'Resim Url',
computeHtml: (v: Record<string, any>) => {
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>`
}
}
},

View File

@ -8,7 +8,7 @@ export const useDataStore = defineStore('dataStore', () => {
const globalDataStore = useGlobalDataStore()
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 panelData = 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)
//console.log('response --', api, response)
console.log('response --', api, response)
if (data.full !== undefined && data.full) {
return response
@ -49,7 +49,7 @@ export const useDataStore = defineStore('dataStore', () => {
}
} catch (error: any) {
CheckApiError(error.response.status, error.response.data)
//console.error('Hata oluştu -:', error)
console.error('Hata oluştu -:', error)
return 'errorfalse'
}
}
@ -86,7 +86,7 @@ export const useDataStore = defineStore('dataStore', () => {
} catch (error: any) {
CheckApiError(error.response.status, error.response.data)
//console.error('Hata oluştu:', error)
console.error('Hata oluştu:', error)
return Promise.resolve('errorfalse')
}
}
@ -122,7 +122,7 @@ export const useDataStore = defineStore('dataStore', () => {
} catch (error: any) {
CheckApiError(error.response.status, error.response.data)
//console.error('Hata oluştu:', error)
console.error('Hata oluştu:', error)
return Promise.resolve('errorfalse')
}
}
@ -156,7 +156,7 @@ export const useDataStore = defineStore('dataStore', () => {
}
} catch (error: any) {
CheckApiError(error.response.status, error.response.data)
//console.error('Hata oluştu:', error)
console.error('Hata oluştu:', error)
return Promise.resolve('errorfalse')
}
}

View File

@ -11,5 +11,8 @@ export default defineConfig({
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url))
}
},
esbuild: {
drop: process.env.NODE_ENV === 'production' ? ['console', 'debugger'] : []
}
})