2 Commits

Author SHA1 Message Date
7776e24ddd - Teminat durumu zaman aşımı iade için de ek alanlar açıldı
- iadeSayı alanı eklendi
2025-07-28 18:52:04 +03:00
408724cf67 - dev ve prod için env ayarları yapıldı.
- test sunucusu iin build script eklendi
2025-07-28 17:32:25 +03:00
14 changed files with 61 additions and 16 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" /> /// <reference types="vite/client" />
interface ImportMetaEnv {
readonly VITE_API_URL: string;
}
interface ImportMeta {
readonly env: ImportMetaEnv;
}

View File

@ -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": {

View File

@ -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'

View File

@ -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>
@ -43,7 +50,7 @@
</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 +150,7 @@
]) ])
const teminatAddAction = computed(() => { const teminatAddAction = computed(() => {
if ( if (!usersStore.isPanelUser) return NewTeminatDurum
!usersStore.isPanelUser
)
return NewTeminatDurum
else return '' else return ''
}) })

View File

@ -12,21 +12,33 @@
@change="OnKeyup" @change="OnKeyup"
:disabled="!usersStore.isPanelUser" /> :disabled="!usersStore.isPanelUser" />
<template v-if="piyangoTeminatStore.piyangoTeminatFormData.state === 2"> <template
v-if="
piyangoTeminatStore.piyangoTeminatFormData.state === 2 ||
piyangoTeminatStore.piyangoTeminatFormData.state === 3
">
<form-date <form-date
type="date" type="date"
half
modelKey="iadeTarihi" modelKey="iadeTarihi"
v-model="piyangoTeminatStore.piyangoTeminatFormData.iadeTarihi" v-model="piyangoTeminatStore.piyangoTeminatFormData.iadeTarihi"
label="İlan Tarihi" label="İlan Tarihi"
:invalidText="piyangoTeminatValidationStore.invalidTexts.iadeTarihi" :invalidText="piyangoTeminatValidationStore.invalidTexts.iadeTarihi"
@change="OnKeyup" /> @change="OnKeyup" />
<form-input
modelKey="iadeSayi"
v-model="piyangoTeminatStore.piyangoTeminatFormData.iadeSayi"
half
label="Sayısı"
@keyup="OnKeyup"
:invalidText="piyangoTeminatValidationStore.invalidTexts.iadeSayi" />
<form-file <form-file
v-model="piyangoTeminatStore.piyangoTeminatFormData.iadeFile" v-model="piyangoTeminatStore.piyangoTeminatFormData.iadeFile"
elclass="panel-documents-item" elclass="panel-documents-item"
:invalidText="piyangoTeminatValidationStore.invalidTexts.iadeFile" :invalidText="piyangoTeminatValidationStore.invalidTexts.iadeFile"
@change="OnKeyup" /> @change="OnKeyup" />
</template> </template>
<form-display <form-display
v-model="piyangoTeminatStore.piyangoTeminatFormData.amount" v-model="piyangoTeminatStore.piyangoTeminatFormData.amount"
half half

View File

@ -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
} }

View File

@ -48,8 +48,9 @@ export const usePiyangoTeminatService = defineStore('piyangoTeminatService', ()
) )
if (usersStore.isPanelUser) { if (usersStore.isPanelUser) {
if (piyangoTeminatStore.piyangoTeminatFormData.state !== 2) { if (piyangoTeminatStore.piyangoTeminatFormData.state === 1) {
piyangoTeminatStore.piyangoTeminatFormData.iadeTarihi = '' piyangoTeminatStore.piyangoTeminatFormData.iadeTarihi = ''
piyangoTeminatStore.piyangoTeminatFormData.iadeSayi = ''
piyangoTeminatStore.piyangoTeminatFormData.iadeFile = '' piyangoTeminatStore.piyangoTeminatFormData.iadeFile = ''
} }
dataForm.append( dataForm.append(

View File

@ -25,6 +25,7 @@ export const usePiyangoTeminatStore = defineStore('piyangoTeminatStore', () => {
description: '', description: '',
file: '', file: '',
iadeTarihi: '', iadeTarihi: '',
iadeSayi: '',
iadeFile: '' iadeFile: ''
}) })

View File

@ -30,6 +30,12 @@ export const usePiyangoTeminatValidationStore = defineStore(
'iadeTarihi', 'iadeTarihi',
'Lütfen iade tarihini seçiniz.' 'Lütfen iade tarihini seçiniz.'
) )
validationStore.IsFieldEmpty(
piyangoTeminatStore.piyangoTeminatFormData,
invalidTexts,
'iadeSayi',
'Lütfen iade sayı no giriniz.'
)
} }
validationStore.IsFieldEmpty( validationStore.IsFieldEmpty(

View File

@ -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')
} }
} }

View File

@ -11,5 +11,8 @@ export default defineConfig({
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'] : []
} }
}) })