4 Commits

Author SHA1 Message Date
0e3c6e658f listelere ve tablar ileri-geri gidildiğinde kaldığı yere dönüyor. 2025-10-02 21:18:49 +03:00
cab06c51a2 Yardım amaçlı piyangolar için ikramiye teslim tarihi min hatası 2025-10-02 12:52:29 +03:00
5e83a11ecc - breadcrum geri butonu için manuel atamalar eklendi
- Tablar için route linklemesi eklendi
- piyango detay tabları için routelar düzenlendi
2025-10-02 12:43:05 +03:00
07c73d39db - localdev run ile çalıştırma hatası
- Dosya kapama ikramiye seçim listesi hatası
2025-10-02 11:15:36 +03:00
47 changed files with 515 additions and 167 deletions

View File

@ -5,7 +5,7 @@
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"localdev": "vite", "localdev": "vite --mode localdev",
"build": "run-p type-check \"build-only {@}\" --", "build": "run-p type-check \"build-only {@}\" --",
"buildtest": "run-p type-check \"build-only-test {@}\" --", "buildtest": "run-p type-check \"build-only-test {@}\" --",
"preview": "vite preview", "preview": "vite preview",

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="breadcrumb-wrapper"> <div class="breadcrumb-wrapper">
<icon-button <icon-button
@click="$router.go(-1)" @click="props.go ? $router.push(go!) : $router.go(-1)"
icon="arrow" icon="arrow"
classList="breadcrumbs-back breadcrumb-link" /> classList="breadcrumbs-back breadcrumb-link" />
<div class="breadcrumbs-list"> <div class="breadcrumbs-list">
@ -13,5 +13,6 @@
<script setup lang="ts"> <script setup lang="ts">
const props = defineProps<{ const props = defineProps<{
currentPageText: string currentPageText: string
go?: string
}>() }>()
</script> </script>

View File

@ -138,7 +138,8 @@
</div> </div>
<data-table-pagination <data-table-pagination
v-if="pagination !== undefined && showPagination && !isPreview" v-if="pagination !== undefined && showPagination && !isPreview"
v-model:pagination="localPagination" /> v-model:pagination="localPagination"
:isUseRoute="isUseRoute" />
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, reactive, computed, watch } from 'vue' import { ref, reactive, computed, watch } from 'vue'
@ -146,6 +147,9 @@
import { useGlobalStore } from '@/stores/globalStore' import { useGlobalStore } from '@/stores/globalStore'
import icourl from '@/assets/images/icons.svg' import icourl from '@/assets/images/icons.svg'
const globalStore = useGlobalStore() const globalStore = useGlobalStore()
import { useRouter, useRoute } from 'vue-router'
const router = useRouter()
const route = useRoute()
interface ITableHead { interface ITableHead {
[key: string]: any [key: string]: any
@ -178,12 +182,14 @@
rowActions?: Record<string, any>[] rowActions?: Record<string, any>[]
actionFixed?: boolean actionFixed?: boolean
rowActionStyle?: string rowActionStyle?: string
isUseRoute?: boolean
} }
const props = withDefaults(defineProps<Props>(), { const props = withDefaults(defineProps<Props>(), {
tableData: () => [], tableData: () => [],
rowNumber: false, rowNumber: false,
isPreview: false, isPreview: false,
actionFixed: false actionFixed: false,
isUseRoute: false
}) })
const emit = defineEmits(['update:sortData', 'update:pagination']) const emit = defineEmits(['update:sortData', 'update:pagination'])
@ -254,9 +260,19 @@
localSort.value.sortColumn = d.name localSort.value.sortColumn = d.name
localSort.value.sortOrder = 'desc' localSort.value.sortOrder = 'desc'
} }
if (props.isUseRoute) {
router.push({
query: {
...route.query,
sortColumn: localSort.value.sortColumn,
sortOrder: localSort.value.sortOrder
}
})
}
emit('update:sortData', localSort.value) emit('update:sortData', localSort.value)
} }
} }
const CellData = (d: Record<string, any>, key: string): any => { const CellData = (d: Record<string, any>, key: string): any => {
if (d[key] === null) return d if (d[key] === null) return d
else return d[key] else return d[key]

View File

@ -29,10 +29,13 @@
</div> </div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, computed } from 'vue' import { ref, onBeforeMount, watch } from 'vue'
import type { Ref } from 'vue' import type { Ref } from 'vue'
import { useGlobalStore } from '@/stores/globalStore' import { useGlobalStore } from '@/stores/globalStore'
import { useValidationStore } from '@/stores/validationStore' import { useValidationStore } from '@/stores/validationStore'
import { useRouter, useRoute } from 'vue-router'
const router = useRouter()
const route = useRoute()
const globalStore = useGlobalStore() const globalStore = useGlobalStore()
const validationStore = useValidationStore() const validationStore = useValidationStore()
@ -45,9 +48,11 @@
export interface Props { export interface Props {
pagination: IPagination pagination: IPagination
isUseRoute?: boolean
} }
const props = withDefaults(defineProps<Props>(), { const props = withDefaults(defineProps<Props>(), {
isUseRoute: false
}) })
const emit = defineEmits(['update:pagination']) const emit = defineEmits(['update:pagination'])
@ -66,6 +71,14 @@
if (Number(pageNumber.value) < totalPage()) pageNumber.value++ if (Number(pageNumber.value) < totalPage()) pageNumber.value++
} }
localPagination.value.pageNumber = pageNumber.value localPagination.value.pageNumber = pageNumber.value
if (props.isUseRoute) {
router.push({
query: {
...route.query,
pageNumber: pageNumber.value
}
})
}
emit('update:pagination', localPagination.value) emit('update:pagination', localPagination.value)
} }
@ -76,7 +89,7 @@
(e.target as HTMLInputElement).value = String(totalPage()) (e.target as HTMLInputElement).value = String(totalPage())
pageNumber.value = Number((e.target as HTMLInputElement).value) pageNumber.value = Number((e.target as HTMLInputElement).value)
if((e as KeyboardEvent).key === 'Enter') getPage() if ((e as KeyboardEvent).key === 'Enter') getPage()
} }
const PageNumberFocus = (e: Event) => { const PageNumberFocus = (e: Event) => {
;(e.target as HTMLInputElement).select() ;(e.target as HTMLInputElement).select()
@ -85,4 +98,22 @@
localPagination.value.pageNumber = pageNumber.value localPagination.value.pageNumber = pageNumber.value
emit('update:pagination', localPagination.value) emit('update:pagination', localPagination.value)
} }
const SetPageNumber = () => {
if (props.isUseRoute) {
if (route.query.pageNumber !== undefined && route.query.pageNumber !== '') {
localPagination.value.pageNumber = pageNumber.value = Number(
route.query.pageNumber
)
}
}
}
onBeforeMount(() => {
SetPageNumber()
})
watch(
() => route.query.pageNumber,
() => {
SetPageNumber()
}
)
</script> </script>

View File

@ -142,7 +142,7 @@
multipleText: 'Tümü' multipleText: 'Tümü'
}) })
const emit = defineEmits(['update:modelValue', 'change','clear']) const emit = defineEmits(['update:modelValue', 'change', 'clear'])
const activated = ref<Boolean>(false) const activated = ref<Boolean>(false)
const multipleAllSelected = ref<boolean>(false) const multipleAllSelected = ref<boolean>(false)
@ -214,9 +214,8 @@
} else { } else {
let text = props.listData.filter((v: Record<string, any>) => { let text = props.listData.filter((v: Record<string, any>) => {
let val = props.listVal !== undefined ? v[props.listVal] : v let val = props.listVal !== undefined ? v[props.listVal] : v
return localValue.value === val return String(localValue.value) === String(val)
})[0] })[0]
return text !== undefined return text !== undefined
? props.listText !== undefined ? props.listText !== undefined
? text[props.listText] ? text[props.listText]
@ -357,7 +356,7 @@
const SetSelectedOption = () => { const SetSelectedOption = () => {
selectedOption.value = props.listData.filter((v: Record<string, any>) => { selectedOption.value = props.listData.filter((v: Record<string, any>) => {
return v[props.listVal as string] === props.modelValue return String(v[props.listVal as string]) === String(props.modelValue)
})[0] })[0]
} }

View File

@ -120,13 +120,17 @@
:isPreview="isPreview" :isPreview="isPreview"
:rowActions="rowActions" :rowActions="rowActions"
:actionFixed="actionFixed" :actionFixed="actionFixed"
:rowActionStyle="rowActionStyle" /> :rowActionStyle="rowActionStyle"
:isUseRoute="isUseRoute" />
</slot> </slot>
</div> </div>
<panel-wrapper v-if="filterPanel" v-model="filterPanel" :panel-title="'Filtreleme'"> <panel-wrapper v-if="filterPanel" v-model="filterPanel" :panel-title="'Filtreleme'">
<template #panelContent> <template #panelContent>
<panel-filter :filterHead="tableHeader" v-model:filterParams="localFilterParams" /> <panel-filter
:filterHead="tableHeader"
v-model:filterParams="localFilterParams"
:isUseRoute="isUseRoute" />
</template> </template>
<template #footerButton> <template #footerButton>
<div class="button-c button-save" @click="FilterData">Filtrele</div> <div class="button-c button-save" @click="FilterData">Filtrele</div>
@ -140,8 +144,11 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, reactive, onBeforeMount, watch, computed } from 'vue' import { ref, reactive, onBeforeMount, watch, computed, nextTick } from 'vue'
import axios from 'axios' import axios from 'axios'
import { useRouter, useRoute } from 'vue-router'
const router = useRouter()
const route = useRoute()
import { useGlobalStore } from '@/stores/globalStore' import { useGlobalStore } from '@/stores/globalStore'
const globalStore = useGlobalStore() const globalStore = useGlobalStore()
@ -200,7 +207,8 @@
isPreview?: boolean isPreview?: boolean
rowActions?: Record<string, any>[] rowActions?: Record<string, any>[]
actionFixed?: boolean actionFixed?: boolean
rowActionStyle?:string rowActionStyle?: string
isUseRoute?: boolean
} }
const props = withDefaults(defineProps<Props>(), { const props = withDefaults(defineProps<Props>(), {
@ -213,7 +221,8 @@
search: true, search: true,
rowNumber: false, rowNumber: false,
isPreview: false, isPreview: false,
actionFixed:false actionFixed: false,
isUseRoute: false
}) })
const emit = defineEmits([ const emit = defineEmits([
@ -238,6 +247,7 @@
const localPagination = ref<IPagination>({} as IPagination) const localPagination = ref<IPagination>({} as IPagination)
const localTotalValues = reactive<Record<string, any>>({}) const localTotalValues = reactive<Record<string, any>>({})
const searchFieldPos = ref<string>('') const searchFieldPos = ref<string>('')
const localLoaded = ref<boolean>(false)
if (props.totalValues !== undefined) Object.assign(localTotalValues, props.totalValues) if (props.totalValues !== undefined) Object.assign(localTotalValues, props.totalValues)
@ -265,8 +275,26 @@
} }
const FilterData = async () => { const FilterData = async () => {
Object.keys(filterParams).forEach((k) => {
delete filterParams[k]
})
Object.assign(filterParams, localFilterParams.value) Object.assign(filterParams, localFilterParams.value)
EqualObjects(filterParams, localFilterParams.value) EqualObjects(filterParams, localFilterParams.value)
if (props.isUseRoute) {
Object.keys(route.query).forEach((k) => {
if (k.includes('Filters[')) delete route.query[k]
})
const q = {
query: {
...route.query
}
}
Object.keys(filterParams).forEach((f, k) => {
q.query['Filters[' + f + ']'] = filterParams[f].op + filterParams[f].val
})
router.push(q)
}
setTimeout(async () => { setTimeout(async () => {
await GetLocalData() await GetLocalData()
filterPanel.value = false filterPanel.value = false
@ -289,6 +317,11 @@
const RemoveFilterKey = (k: string) => { const RemoveFilterKey = (k: string) => {
delete localFilterParams.value[k] delete localFilterParams.value[k]
delete filterParams[k] delete filterParams[k]
const query: Record<string, any> = { ...route.query }
Object.keys(query).forEach((q) => {
if (q.includes(k)) delete query[q]
})
router.push({ query: query })
GetLocalData() GetLocalData()
} }
const RemoveSearch = () => { const RemoveSearch = () => {
@ -296,13 +329,132 @@
searched.value = false searched.value = false
GetLocalData() GetLocalData()
} }
const pageNumberChanging = ref<boolean>(false)
const sortChanging = ref<boolean>(false)
const searchChanging = ref<boolean>(false)
const filterChanging = ref<boolean>(false)
const RoutePageControl = () => {
if (props.isUseRoute) {
const q = { ...route.query }
pageNumberChanging.value = true
if (q.pageNumber !== undefined && q.pageNumber !== '') {
localPagination.value.pageNumber = Number(q.pageNumber)
} else {
q.pageNumber = String(1)
localPagination.value.pageNumber = localPagination.value.pageNumber || 1
}
router.push({ query: q })
nextTick(() => {
pageNumberChanging.value = false
})
}
}
const RouteSortControl = () => {
if (props.isUseRoute) {
const q = { ...route.query }
sortChanging.value = true
if (q.sortOrder !== undefined && q.sortOrder !== null && q.sortOrder !== '') {
localSort.value.sortColumn = q.sortColumn as string
localSort.value.sortOrder = q.sortOrder as string
} else {
delete q.sortOrder
delete q.sortColumn
delete localSort.value.sortColumn
delete localSort.value.sortOrder
}
router.push({ query: q })
nextTick(() => {
sortChanging.value = false
})
}
}
const RouteSearchControl = () => {
if (props.isUseRoute) {
const q = { ...route.query }
searchChanging.value = true
if (
q.searchString !== undefined &&
q.searchString !== null &&
q.searchString !== ''
) {
localQuery.value = q.searchString as string
} else {
localQuery.value = ''
delete q.searchString
}
router.push({ query: q })
nextTick(() => {
searchChanging.value = false
})
}
}
const RouteFilterControl = () => {
if (props.isUseRoute) {
const q = { ...route.query }
localFilterParams.value = {}
Object.keys(filterParams).forEach((k) => {
delete filterParams[k]
})
filterChanging.value = true
if (Object.keys(route.query).length > 0) {
Object.keys(route.query).forEach((key) => {
if (key.includes('Filters[')) {
const newKey = key.match(/(?<=\[)[^\]]+(?=\])/)![0]
filterParams[newKey] = {}
localFilterParams.value[newKey] = {}
filterParams[newKey].op = (route.query[key]! as string).charAt(0)
localFilterParams.value[newKey].op = (route.query[key]! as string).charAt(0)
filterParams[newKey].val = (route.query[key]! as string).slice(1)
localFilterParams.value[newKey].val = (route.query[key]! as string).slice(1)
}
})
}
props.tableHeader.forEach((head: Record<string, any>) => {
if (head.filter !== undefined) {
Object.keys(filterParams).forEach((key) => {
if (
(head.filter.filterId !== undefined && key === head.filter.filterId) ||
key === head.name
) {
filterParams[key].title = head.title
localFilterParams.value[key].title = head.title
if (
head.filter.type === 'select' &&
head.filter.data !== undefined &&
head.filter.data.length > 0
) {
const forText = head.filter.data.find((o: Record<string, any>) => {
return String(o[head.filter.listVal]) === String(filterParams[key].val)
})
filterParams[key].text = forText[head.filter.listText]
localFilterParams.value[key].text = forText[head.filter.listText]
}
}
})
}
})
nextTick(() => {
filterChanging.value = false
})
}
}
const GetLocalData = async () => { const GetLocalData = async () => {
console.log("GetLocalData",selectedExport.value) localLoaded.value = false
if (selectedExport.value !== null) { if (selectedExport.value !== null) {
let exportUrl = '' let exportUrl = ''
let fileType = '' let fileType = ''
let fileName = '' let fileName = ''
// Export tipine göre URL ve dosya ayarları // Export tipine göre URL ve dosya ayarları
if (selectedExport.value === 1) { if (selectedExport.value === 1) {
// PDF // PDF
@ -315,15 +467,13 @@
fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
fileName = 'export.xlsx' fileName = 'export.xlsx'
} }
console.log("dataStore",dataStore)
// Axios ile dosya indirme - interceptor otomatik olarak token ekleyecek // Axios ile dosya indirme - interceptor otomatik olarak token ekleyecek
try { try {
const response = await axios.get(exportUrl, { const response = await axios.get(exportUrl, {
responseType: 'blob' responseType: 'blob'
}) })
const blob = new Blob([response.data], { type: fileType }) const blob = new Blob([response.data], { type: fileType })
const url = window.URL.createObjectURL(blob) const url = window.URL.createObjectURL(blob)
const link = document.createElement('a') const link = document.createElement('a')
@ -392,6 +542,9 @@
} }
emit('update:refresh', false) emit('update:refresh', false)
} }
nextTick(() => {
localLoaded.value = true
})
} }
const OpenMobileButtons = () => { const OpenMobileButtons = () => {
searchForm.value = false searchForm.value = false
@ -422,6 +575,14 @@
const SearchQuery = () => { const SearchQuery = () => {
if (props.apiList !== undefined) GetLocalData() if (props.apiList !== undefined) GetLocalData()
else emit('update:query', localQuery.value) else emit('update:query', localQuery.value)
if (props.isUseRoute) {
router.push({
query: {
...route.query,
searchString: localQuery.value
}
})
}
searchForm.value = false searchForm.value = false
searched.value = true searched.value = true
} }
@ -432,6 +593,10 @@
onBeforeMount(() => { onBeforeMount(() => {
if (globalStore.screenWidth >= globalStore.breakPoints.tabletp) if (globalStore.screenWidth >= globalStore.breakPoints.tabletp)
mobileButtons.value = true mobileButtons.value = true
RoutePageControl()
RouteSortControl()
RouteSearchControl()
RouteFilterControl()
if (props.apiList !== undefined) GetLocalData() if (props.apiList !== undefined) GetLocalData()
@ -439,17 +604,37 @@
}) })
watch( watch(
() => localSort.value, () => [localSort.value],
() => { () => {
if (!sortChanging.value) GetLocalData()
},
{ deep: true }
)
watch(
() => [route],
() => {
RoutePageControl()
RouteSortControl()
RouteSearchControl()
RouteFilterControl()
GetLocalData() GetLocalData()
}, },
{ deep: true } { deep: true }
) )
watch( watch(
() => localPagination.value.pageNumber, () => localPagination.value.pageNumber,
() => { () => {
GetLocalData() if (!pageNumberChanging.value) {
GetLocalData()
}
}
)
watch(
() => localPagination.value.pageNumber,
() => {
if (!pageNumberChanging.value) {
GetLocalData()
}
} }
) )
watch( watch(
@ -461,8 +646,9 @@
watch( watch(
() => localQuery.value, () => localQuery.value,
() => { () => {
if (props.apiList !== undefined && localQuery.value.length === 0) GetLocalData() if (props.apiList !== undefined && localQuery.value.length === 0) {
else if (localQuery.value.length === 0) emit('update:query', localQuery.value) if (!searchChanging.value) GetLocalData()
} else if (localQuery.value.length === 0) emit('update:query', localQuery.value)
} }
) )
watch( watch(

View File

@ -49,7 +49,7 @@
:listVal="filter.filter.listVal" :listVal="filter.filter.listVal"
:extraData="filter" :extraData="filter"
:label="filter.title" :label="filter.title"
v-model="localFilterData[filter.filter.filterId || filter.name]" v-model="localFilterData[filter.filter.filterId || filter.name] as number"
@change="UpdateFilterSelect" @change="UpdateFilterSelect"
clearable /> clearable />
</div> </div>
@ -58,11 +58,15 @@
</template> </template>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, reactive, onBeforeMount } from 'vue' import { ref, reactive, onBeforeMount, nextTick } from 'vue'
import { useRouter, useRoute } from 'vue-router'
const router = useRouter()
const route = useRoute()
const props = defineProps<{ const props = defineProps<{
filterHead: Record<string, any> filterHead: Record<string, any>
filterParams: Record<string, any> filterParams: Record<string, any>
isUseRoute?: boolean
}>() }>()
const emit = defineEmits(['update:filterParams']) const emit = defineEmits(['update:filterParams'])
@ -117,6 +121,7 @@
} }
emit('update:filterParams', localFilterParams) emit('update:filterParams', localFilterParams)
} }
onBeforeMount(() => { onBeforeMount(() => {
createFilterData() createFilterData()
}) })

View File

@ -32,19 +32,24 @@
</div> </div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, computed, onMounted, watch } from 'vue' import { ref, computed, onMounted, onBeforeMount, watch } from 'vue'
import { useGlobalStore } from '@/stores/globalStore' import { useGlobalStore } from '@/stores/globalStore'
const globalStore = useGlobalStore() const globalStore = useGlobalStore()
import { useRouter, useRoute } from 'vue-router'
const router = useRouter()
const route = useRoute()
interface TabObj { interface TabObj {
[key: string]: any [key: string]: any
text: string text: string
id: string id: string
} }
export interface Props {
const props = defineProps<{
tabList: TabObj[] tabList: TabObj[]
}>() isUseRoute?: boolean
}
const props = withDefaults(defineProps<Props>(), { isUseRoute: false })
const currentTab = ref<number>(0) const currentTab = ref<number>(0)
const rnd = ref<number>(Math.ceil(Number(Math.random() * 1000000000))) const rnd = ref<number>(Math.ceil(Number(Math.random() * 1000000000)))
@ -79,6 +84,11 @@
} else { } else {
currentTab.value = Number(d) currentTab.value = Number(d)
} }
if (props.isUseRoute) {
router.push({
params: { ...route.params, tabid: props.tabList[currentTab.value].id }
})
}
CalculateNavPosition() CalculateNavPosition()
} }
const TabWidth = () => { const TabWidth = () => {
@ -96,14 +106,31 @@
TabWidth() TabWidth()
CalculateNavPosition() CalculateNavPosition()
} }
const RouteTabControl = () => {
if (props.isUseRoute) {
if (route.params.tabid !== undefined && route.params.tabid !== '') {
currentTab.value = props.tabList.findIndex((t) => t.id === route.params.tabid)
}
}
}
onMounted(() => { onMounted(() => {
TabWidth() TabWidth()
window.addEventListener('resize', Resize) window.addEventListener('resize', Resize)
}) })
onBeforeMount(() => {
RouteTabControl()
})
watch( watch(
() => globalStore.sideMenu, () => globalStore.sideMenu,
() => { () => {
TabWidth() TabWidth()
} }
) )
watch(
() => route.params.tabid,
(t) => {
RouteTabControl()
},
{ immediate: true }
)
</script> </script>

View File

@ -8,7 +8,8 @@
:rowAction="OpenUser" :rowAction="OpenUser"
:apiList="'Katilimci/ByCekilisId/' + piyangoStore.selectedLottery" :apiList="'Katilimci/ByCekilisId/' + piyangoStore.selectedLottery"
v-model:pagination="paginationData" v-model:pagination="paginationData"
v-model:refresh="piyangoKatilimciStore.refreshPiyangoKatilimciList"> v-model:refresh="piyangoKatilimciStore.refreshPiyangoKatilimciList"
isUseRoute>
<template #extraButtons> <template #extraButtons>
<button <button
class="button-c" class="button-c"
@ -117,14 +118,9 @@
import PanelKatilimciDocument from '@/module/cekilisler/components/panel/PanelKatilimciDocument.vue' import PanelKatilimciDocument from '@/module/cekilisler/components/panel/PanelKatilimciDocument.vue'
import PanelPiyangoKatilimci from '@/module/cekilisler/components/panel/PanelPiyangoKatilimci.vue' import PanelPiyangoKatilimci from '@/module/cekilisler/components/panel/PanelPiyangoKatilimci.vue'
import { useDateStore } from '@/stores/dateStore'
const dateStore = useDateStore()
import { useUsersStore } from '@/stores/usersStore' import { useUsersStore } from '@/stores/usersStore'
const usersStore = useUsersStore() const usersStore = useUsersStore()
import { useDataStore } from '@/stores/dataStore' import { useDataStore } from '@/stores/dataStore'
const dataStore = useDataStore() const dataStore = useDataStore()
import { usePiyangoStore } from '../stores/piyangoStore' import { usePiyangoStore } from '../stores/piyangoStore'

View File

@ -7,6 +7,7 @@
listText="Talihli" listText="Talihli"
:apiList="'Katilimci/AsilYedek/' + piyangoStore.selectedLottery" :apiList="'Katilimci/AsilYedek/' + piyangoStore.selectedLottery"
v-model:refresh='refreshList' v-model:refresh='refreshList'
isUseRoute
> >
<template #extraButtons> <template #extraButtons>
<a href='/data/ornek-talihli-listesi.xlsx' target='_blank' class='button-c' v-if='piyangoStore.lotteryData.cekilisYontemi =="Fiziksel"'> <a href='/data/ornek-talihli-listesi.xlsx' target='_blank' class='button-c' v-if='piyangoStore.lotteryData.cekilisYontemi =="Fiziksel"'>

View File

@ -10,7 +10,8 @@
:apiList=" :apiList="
'TeminantStates/GetTeminantStateCekilisList/' + piyangoStore.selectedLottery 'TeminantStates/GetTeminantStateCekilisList/' + piyangoStore.selectedLottery
" "
v-model:refresh="piyangoTeminatStore.refreshList" /> v-model:refresh="piyangoTeminatStore.refreshList"
isUseRoute/>
</section> </section>
<panel-wrapper <panel-wrapper
wide wide

View File

@ -541,7 +541,7 @@
piyangoStore.lotteryApprove = 0 piyangoStore.lotteryApprove = 0
piyangoStore.isNew = false piyangoStore.isNew = false
piyangoStore.ResetLotteryData() piyangoStore.ResetLotteryData()
router.push('/piyangolar/detay/' + form.id) router.push('/piyangolar/detay/' + form.id+'/piyango-bilgileri')
} else { } else {
GetData() GetData()
} }

View File

@ -35,7 +35,7 @@
', ' + ', ' +
data.optionData.model + data.optionData.model +
' (' + ' (' +
data.activatorData.asilTalihliAdedi + data.optionData.asilTalihliAdedi +
' adet)' ' adet)'
}} }}
</template> </template>
@ -128,7 +128,6 @@
selectedIkramiye.value = item.id selectedIkramiye.value = item.id
} }
}) })
totalIkramiye.value = piyangoIkramiyeStore.piyangoAllIkramiyeData.reduce( totalIkramiye.value = piyangoIkramiyeStore.piyangoAllIkramiyeData.reduce(
(acc, item) => acc + (item.asilTalihliAdedi || 0), (acc, item) => acc + (item.asilTalihliAdedi || 0),
0 0

View File

@ -2,4 +2,4 @@ import piyangoListe from '@/module/cekilisler/routes/piyango-liste'
import piyangoYeni from '@/module/cekilisler/routes/piyango-yeni' import piyangoYeni from '@/module/cekilisler/routes/piyango-yeni'
import piyangoDetay from '@/module/cekilisler/routes/piyango-detay' import piyangoDetay from '@/module/cekilisler/routes/piyango-detay'
export default [piyangoListe, piyangoYeni, piyangoDetay] export default [piyangoListe, piyangoYeni, ...piyangoDetay]

View File

@ -1,10 +1,19 @@
import PiyangoDetay from '@/module/cekilisler/views/PiyangoDetay.vue' import PiyangoDetay from '@/module/cekilisler/views/PiyangoDetay.vue'
export default { export default [
path: '/piyangolar/detay/:piyangoId', {
name: 'PiyangoDetay', path: '/piyangolar/detay/:piyangoId/',
component: PiyangoDetay, redirect: (to:Record<string,any>) => ({
meta: { name: 'PiyangoDetay',
authRequired: true params: { piyangoId: to.params.piyangoId, tabid: 'piyango-bilgileri' }
})
},
{
path: '/piyangolar/detay/:piyangoId/:tabid',
name: 'PiyangoDetay',
component: PiyangoDetay,
meta: {
authRequired: true
}
} }
} ]

View File

@ -18,8 +18,8 @@ export const usePiyangoDosyaKapamaService = defineStore(
) )
if (data !== 'errorfalse' || data.data.id === undefined) { if (data !== 'errorfalse' || data.data.id === undefined) {
Object.assign(piyangoDosyaKapamaStore.dosyaKapamaData, data.data) Object.assign(piyangoDosyaKapamaStore.dosyaKapamaData, data)
Object.assign(piyangoDosyaKapamaStore.safeDosyaKapamaData, data.data) Object.assign(piyangoDosyaKapamaStore.safeDosyaKapamaData, data)
piyangoDosyaKapamaStore.isNew = false piyangoDosyaKapamaStore.isNew = false
setTimeout(() => { setTimeout(() => {
piyangoDosyaKapamaStore.loaded = true piyangoDosyaKapamaStore.loaded = true

View File

@ -167,7 +167,19 @@ export const usePiyangoValidationStore = defineStore('piyangoValidationStore', (
} }
}) })
const ikramiyeTeslimMin = computed((): Date => { const ikramiyeTeslimMin = computed((): Date => {
return piyangoStore.lotteryData.yedekSonBasvuruTarihi var date: Date = new Date()
if (piyangoStore.lotteryData.amacpiyangoId !== 2) {
date = new Date(piyangoStore.lotteryData.yedekSonBasvuruTarihi)
} else {
date = new Date(piyangoStore.lotteryData.asilSonBasvuruTarihi)
}
var year = date.getFullYear()
var month = date.getMonth()
var day = date.getDate()
let newDate = new Date(year, month, day + 1)
return newDate
}) })
const ikramiyeTeslimMax = computed((): Date => { const ikramiyeTeslimMax = computed((): Date => {
var date: Date = new Date() var date: Date = new Date()

View File

@ -1,8 +1,8 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb currentPageText="Piyango Detay" /> <Breadcrumb currentPageText="Piyango Detay" go="/piyangolar/piyango-listesi" />
<tabs :tabList="tabList" v-if="loaded"> <tabs :tabList="tabList" v-if="loaded" isUseRoute>
<template #piyangobilgileri> <template #piyango-bilgileri>
<tab-piyango-bilgileri-display <tab-piyango-bilgileri-display
v-if=" v-if="
usersStore.isPanelUser || usersStore.isPanelUser ||
@ -12,21 +12,23 @@
" /> " />
<tab-piyango-bilgileri v-else /> <tab-piyango-bilgileri v-else />
</template> </template>
<template #katilimcilistesi><tab-piyango-katilimci-listesi /></template> <template #katilim-listesi><tab-piyango-katilimci-listesi /></template>
<template #talihliler><tab-piyango-talihli-listesi /></template> <template #talihliler><tab-piyango-talihli-listesi /></template>
<template #itirazsikayet><tab-piyango-itiraz /></template> <template #itiraz-sikayet><tab-piyango-itiraz /></template>
<template #piyangologlari><tab-piyango-loglari /></template> <template #piyango-loglari><tab-piyango-loglari /></template>
<template #yetkilendirme v-if="usersStore.isPanelUser"> <template #yetkilendirme v-if="usersStore.isPanelUser">
<tab-piyango-yetkilendirme /> <tab-piyango-yetkilendirme />
</template> </template>
<template #onaydurumu> <template #onay-durumu>
<tab-piyango-onay-durumu v-if="usersStore.isPanelUser" /> <tab-piyango-onay-durumu v-if="usersStore.isPanelUser" />
<tab-piyango-onay-durumu-user v-else /> <tab-piyango-onay-durumu-user v-else />
</template> </template>
<template #teminatlistesi> <template #teminat-listesi>
<tab-piyango-teminat-durumu /> <tab-piyango-teminat-durumu />
</template> </template>
<template #dosyakapama v-if="usersStore.isPanelUser && piyangoStore.lotteryDrawState"> <template
#dosya-kapama
v-if="usersStore.isPanelUser && piyangoStore.lotteryDrawState">
<tab-piyango-dosya-kapama /> <tab-piyango-dosya-kapama />
</template> </template>
</tabs> </tabs>
@ -59,7 +61,7 @@
const loaded = ref<boolean>(false) const loaded = ref<boolean>(false)
const tabList = ref<Record<string, any>[]>([ const tabList = ref<Record<string, any>[]>([
{ text: 'Piyango Bilgileri', id: 'piyangobilgileri' } { text: 'Piyango Bilgileri', id: 'piyango-bilgileri' }
]) ])
const CreateTabs = () => { const CreateTabs = () => {
@ -74,25 +76,25 @@
piyangoStore.lotteryPurposeId !== 3 piyangoStore.lotteryPurposeId !== 3
) { ) {
tabList.value.push( tabList.value.push(
{ text: 'Katılım Listesi', id: 'katilimcilistesi' }, { text: 'Katılım Listesi', id: 'katilim-listesi' },
{ text: 'Talihliler', id: 'talihliler' }, { text: 'Talihliler', id: 'talihliler' },
{ text: 'İtiraz/Şikayet', id: 'itirazsikayet' } { text: 'İtiraz/Şikayet', id: 'itiraz-sikayet' }
) )
} }
if (usersStore.isPanelUser) { if (usersStore.isPanelUser) {
tabList.value.push( tabList.value.push(
{ text: 'Piyango Logları', id: 'piyangologlari' }, { text: 'Piyango Logları', id: 'piyango-loglari' },
{ text: 'Yetkilendirme', id: 'yetkilendirme' } { text: 'Yetkilendirme', id: 'yetkilendirme' }
) )
} }
tabList.value.push({ text: 'Onay Durumu', id: 'onaydurumu' }) tabList.value.push({ text: 'Onay Durumu', id: 'onay-durumu' })
if (piyangoStore.lotteryApprove !== 0 && piyangoStore.lotteryPurposeId !== 3) { if (piyangoStore.lotteryApprove !== 0 && piyangoStore.lotteryPurposeId !== 3) {
tabList.value.push({ text: 'Teminat Listesi', id: 'teminatlistesi' }) tabList.value.push({ text: 'Teminat Listesi', id: 'teminat-listesi' })
} }
if (usersStore.isPanelUser && piyangoStore.lotteryDrawState) { if (usersStore.isPanelUser && piyangoStore.lotteryDrawState) {
tabList.value.push({ text: 'Dosya Kapama', id: 'dosyakapama' }) tabList.value.push({ text: 'Dosya Kapama', id: 'dosya-kapama' })
} }
} }

View File

@ -1,6 +1,6 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb currentPageText="Piyango Listesi" /> <Breadcrumb currentPageText="Piyango Listesi" go="/"/>
<div <div
class="form-inner-comment waiting-d" class="form-inner-comment waiting-d"
v-if="!usersStore.isPanelUser && usersStore.userApproveId !== 4"> v-if="!usersStore.isPanelUser && usersStore.userApproveId !== 4">
@ -17,7 +17,8 @@
listText="Piyango" listText="Piyango"
:addRoute="addApiControl" :addRoute="addApiControl"
:apiList="apiList" :apiList="apiList"
apiText="Piyango Listesi" /> apiText="Piyango Listesi"
isUseRoute/>
</section> </section>
</AdminLayout> </AdminLayout>
</template> </template>
@ -230,7 +231,7 @@
// tablodan herhangi bir satır tıklayınca çalısır // tablodan herhangi bir satır tıklayınca çalısır
const OpenPiyango = (row: any) => { const OpenPiyango = (row: any) => {
router.push('detay/' + row.id) router.push('detay/' + row.id+'/piyango-bilgileri')
} }
onBeforeMount(async () => { onBeforeMount(async () => {

View File

@ -8,7 +8,8 @@
title="Piyangolar" title="Piyangolar"
listText="Piyango" listText="Piyango"
:apiList="apiList" :apiList="apiList"
apiText="Piyango Listesi" /> apiText="Piyango Listesi"
isUseRoute />
</section> </section>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@ -151,10 +152,11 @@
name: 'atanmis', name: 'atanmis',
title: 'Sevk Durumu', title: 'Sevk Durumu',
computeHtml: (v: Record<string, any>): string => { computeHtml: (v: Record<string, any>): string => {
if(v.atanmis){ if (v.atanmis) {
return `<strong class="back-grad back-grad-sevk-ok"> return `<strong class="back-grad back-grad-sevk-ok">
${v.atananlar} ${v.atananlar}
</strong>`}else{ </strong>`
} else {
return `<span class="back-grad back-grad-sevk"> return `<span class="back-grad back-grad-sevk">
Sevk Edilmemiş</span>` Sevk Edilmemiş</span>`
} }
@ -164,7 +166,7 @@
// tablodan herhangi bir satır tıklayınca çalısır // tablodan herhangi bir satır tıklayınca çalısır
const rwAction = (row: any) => { const rwAction = (row: any) => {
router.push('/piyangolar/detay/' + row.id) router.push('/piyangolar/detay/' + row.id + '/piyango-bilgileri')
} }
onBeforeMount(async () => { onBeforeMount(async () => {

View File

@ -6,7 +6,7 @@ import kullaniciAyarlari from './kullanici-ayarlari'
export default [ export default [
kullanciYeni, kullanciYeni,
kullaniciDetay, ...kullaniciDetay,
kullaniciListesi, kullaniciListesi,
kullaniciRolleri, kullaniciRolleri,
kullaniciAyarlari kullaniciAyarlari

View File

@ -1,10 +1,19 @@
import KullaniciDetay from '@/module/kullanicilar/views/KullaniciDetay.vue' import KullaniciDetay from '@/module/kullanicilar/views/KullaniciDetay.vue'
export default { export default [
path: '/kullanicilar/detay/:kullaniciId', {
name: 'KullaniciDetay', path: '/kullanicilar/detay/:kullaniciId',
component: KullaniciDetay, redirect: (to: Record<string, any>) => ({
meta: { name: 'PiyangoDetay',
authRequired: true params: { kullaniciId: to.params.kullaniciId, tabid: 'kullanici-bilgileri' }
})
},
{
path: '/kullanicilar/detay/:kullaniciId/:tabid',
name: 'KullaniciDetay',
component: KullaniciDetay,
meta: {
authRequired: true
}
} }
} ]

View File

@ -1,6 +1,6 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb currentPageText="Kullanıcı Detay" /> <Breadcrumb currentPageText="Kullanıcı Detay"/>
<tabs :tabList="tabList"> <tabs :tabList="tabList">
<template #birimlistesi> <template #birimlistesi>
<tab-kullanici-birimleri /> <tab-kullanici-birimleri />

View File

@ -1,14 +1,14 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb currentPageText="Kullanıcı Detay" /> <Breadcrumb currentPageText="Kullanıcı Detay" go="/kullanicilar/kullanici-liste"/>
<tabs :tabList="tabList"> <tabs :tabList="tabList" isUseRoute>
<template #kullanicibilgileri> <template #kullanici-bilgileri>
<tab-kullanici-bilgileri /> <tab-kullanici-bilgileri />
</template> </template>
<template #yetkilioldugupiyangolar> <template #yetkili-oldugu-piyangolar>
<tab-kullanici-yetkili-piyangolar /> <tab-kullanici-yetkili-piyangolar />
</template> </template>
<template #kullaniciloglari> <template #kullanici-loglari>
<tab-kullanici-loglari /> <tab-kullanici-loglari />
</template> </template>
</tabs> </tabs>
@ -28,8 +28,8 @@
if (globalStore.selUser === 0) globalStore.selUser = Number(route.params.kullaniciId) if (globalStore.selUser === 0) globalStore.selUser = Number(route.params.kullaniciId)
const tabList = ref<Record<string, any>[]>([ const tabList = ref<Record<string, any>[]>([
{ text: 'Kullanıcı Bilgileri', id: 'kullanicibilgileri' }, { text: 'Kullanıcı Bilgileri', id: 'kullanici-bilgileri' },
{ text: 'Yetkili Olduğu Piyangolar', id: 'yetkilioldugupiyangolar' }, { text: 'Yetkili Olduğu Piyangolar', id: 'yetkili-oldugu-piyangolar' },
{ text: 'Kullanıcı Logları', id: 'kullaniciloglari' } { text: 'Kullanıcı Logları', id: 'kullanici-loglari' }
]) ])
</script> </script>

View File

@ -1,6 +1,6 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb current-page-text="Kullanıcılar Listesi" /> <Breadcrumb current-page-text="Kullanıcılar Listesi" go="/"/>
<section class="section-list"> <section class="section-list">
<list-table-content <list-table-content
v-if="loaded" v-if="loaded"
@ -11,7 +11,8 @@
listText="Kullanıcı" listText="Kullanıcı"
addRoute="yeni-kullanici" addRoute="yeni-kullanici"
apiList="Auth/kullaniciList" apiList="Auth/kullaniciList"
apiText="Kullanıcı Listesi" /> apiText="Kullanıcı Listesi"
isUseRoute/>
</section> </section>
</AdminLayout> </AdminLayout>
</template> </template>
@ -88,7 +89,7 @@
]) ])
const rwAction = (row: any) => { const rwAction = (row: any) => {
globalStore.selUser = row.id globalStore.selUser = row.id
router.push('detay/' + row.id) router.push('detay/' + row.id+'/kullanici-bilgileri')
} }
onBeforeMount(async () => { onBeforeMount(async () => {

View File

@ -24,7 +24,9 @@
class="button-save"> class="button-save">
İzin Bedelini Muhasebeleştir İzin Bedelini Muhasebeleştir
</button> </button>
<router-link :to="'/piyangolar/detay/' + route.params.piyangoId" class="button-c"> <router-link
:to="'/piyangolar/detay/' + route.params.piyangoId + '/piyango-bilgileri'"
class="button-c">
Piyango Detayına Git Piyango Detayına Git
</router-link> </router-link>
</div> </div>

View File

@ -5,7 +5,7 @@ import izinBedelOrani from './izin-bedel-orani'
export default [ export default [
muhasebePiyangoListesi, muhasebePiyangoListesi,
muhasebePiyangoDetay, ...muhasebePiyangoDetay,
muhasebeAyarlar, muhasebeAyarlar,
izinBedelOrani, izinBedelOrani,
] ]

View File

@ -1,10 +1,19 @@
import MuhasebePiyangoDetay from '../views/MuhasebePiyangoDetay.vue' import MuhasebePiyangoDetay from '../views/MuhasebePiyangoDetay.vue'
export default { export default [
path: '/muhasebe/piyango-detay/:piyangoId', {
name: 'MuhasebePiyangoDetay', path: '/muhasebe/piyango-detay/:piyangoId',
component: MuhasebePiyangoDetay, redirect: (to:Record<string,any>) => ({
meta: { name: 'MuhasebePiyangoDetay',
authRequired: true params: { piyangoId: to.params.piyangoId, tabid: 'piyango-bilgileri' }
})
},
{
path: '/muhasebe/piyango-detay/:piyangoId/:tabid',
name: 'MuhasebePiyangoDetay',
component: MuhasebePiyangoDetay,
meta: {
authRequired: true
}
} }
} ]

View File

@ -1,8 +1,8 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb currentPageText="Muhasebe / Piyango Detay" /> <Breadcrumb currentPageText="Muhasebe / Piyango Detay" go="/muhasebe/piyango-listesi"/>
<tabs :tabList="tabList" v-if="loaded"> <tabs :tabList="tabList" v-if="loaded" isUseRoute>
<template #piyangobilgileri> <template #piyango-bilgileri>
<tab-muhasebe-piyango-bilgileri-display /> <tab-muhasebe-piyango-bilgileri-display />
</template> </template>
</tabs> </tabs>
@ -25,7 +25,7 @@
const loaded = ref<boolean>(false) const loaded = ref<boolean>(false)
const tabList = ref<Record<string, any>[]>([ const tabList = ref<Record<string, any>[]>([
{ text: 'Piyango Bilgileri', id: 'piyangobilgileri' } { text: 'Piyango Bilgileri', id: 'piyango-bilgileri' }
]) ])
onBeforeMount(async () => { onBeforeMount(async () => {

View File

@ -1,6 +1,6 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb currentPageText="Muhasebe / Piyango Listesi" /> <Breadcrumb currentPageText="Muhasebe / Piyango Listesi" go="/" />
<section class="section-list"> <section class="section-list">
<list-table-content <list-table-content
v-if="loaded" v-if="loaded"
@ -10,7 +10,8 @@
title="Piyangolar" title="Piyangolar"
listText="Piyango" listText="Piyango"
:apiList="'Cekilis/GetCekilislerListAtanan/' + usersStore.userId" :apiList="'Cekilis/GetCekilislerListAtanan/' + usersStore.userId"
apiText="Piyango Listesi" /> apiText="Piyango Listesi"
isUseRoute />
</section> </section>
</AdminLayout> </AdminLayout>
</template> </template>
@ -204,7 +205,7 @@
// tablodan herhangi bir satır tıklayınca çalısır // tablodan herhangi bir satır tıklayınca çalısır
const OpenPiyango = (row: any) => { const OpenPiyango = (row: any) => {
router.push('/muhasebe/piyango-detay/' + row.id) router.push('/muhasebe/piyango-detay/' + row.id + '/piyango-bilgileri')
} }
onBeforeMount(async () => { onBeforeMount(async () => {

View File

@ -8,7 +8,8 @@
title="Sistem Günlüğü" title="Sistem Günlüğü"
listText="Log" listText="Log"
apiList="Auth/GetOperationLogs" apiList="Auth/GetOperationLogs"
apiText="Sistem Günlüğü Listesi" /> apiText="Sistem Günlüğü Listesi"
isUseRoute />
</section> </section>
</AdminLayout> </AdminLayout>
</template> </template>
@ -26,19 +27,19 @@
return dateStore.dateFormat({ date: v.timestamp }) return dateStore.dateFormat({ date: v.timestamp })
}, },
sort: true, sort: true,
style:{width:'10%'} style: { width: '10%' }
}, },
{ {
name: 'userName', name: 'userName',
title: 'İşlemi yapan', title: 'İşlemi yapan',
sort: true, sort: true,
style:{width:'20%'} style: { width: '20%' }
}, },
{ {
name: 'operationType', name: 'operationType',
title: 'Bölüm', title: 'Bölüm',
sort: true, sort: true,
style:{width:'15%'} style: { width: '15%' }
}, },
{ {
name: 'description', name: 'description',

View File

@ -1,6 +1,6 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb currentPageText="Menü Listesi" /> <Breadcrumb currentPageText="Menü Listesi" go="/"/>
<section class="section-list"> <section class="section-list">
<list-table-content <list-table-content
:tableHeader="tableHeader" :tableHeader="tableHeader"

View File

@ -1,6 +1,6 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb current-page-text="Menu Yonetimi" /> <Breadcrumb current-page-text="Menu Yonetimi" go="/site-yonetimi/menu-listesi"/>
<div class="form-content"> <div class="form-content">
<div class="form-inner-content form-inner-content-left"> <div class="form-inner-content form-inner-content-left">
<div class="form-part"> <div class="form-part">

View File

@ -1,6 +1,6 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb currentPageText="Popup Listesi" /> <Breadcrumb currentPageText="Popup Listesi" go="/"/>
<section class="section-list"> <section class="section-list">
<list-table-content <list-table-content
:tableHeader="tableHeader" :tableHeader="tableHeader"

View File

@ -1,6 +1,6 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb current-page-text="Menu Yonetimi" /> <Breadcrumb current-page-text="Popup Yonetimi" />
<div class="form-content"> <div class="form-content">
<div class="form-inner-content form-inner-content-left"> <div class="form-inner-content form-inner-content-left">
<div class="form-part"> <div class="form-part">

View File

@ -1,6 +1,6 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb currentPageText="Sayfa Detay" /> <Breadcrumb currentPageText="Sayfa Detay" go="/site-yonetimi/sayfa-listesi"/>
<div class="form-part form-title"> <div class="form-part form-title">
<div class="form-title-buttons"> <div class="form-title-buttons">
<button <button

View File

@ -1,6 +1,6 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb current-page-text="Sayfa Listesi" /> <Breadcrumb current-page-text="Sayfa Listesi" go="/" />
<section class="section-list"> <section class="section-list">
<list-table-content <list-table-content
:tableHeader="tableHeader" :tableHeader="tableHeader"
@ -13,7 +13,8 @@
apiText="Sayfa Listesi" apiText="Sayfa Listesi"
:refresh="refresh" :refresh="refresh"
:rowActions="rowActions" :rowActions="rowActions"
:rowActionStyle="'width:10%;'" /> :rowActionStyle="'width:10%;'"
isUseRoute />
</section> </section>
</AdminLayout> </AdminLayout>
</template> </template>

View File

@ -9,7 +9,8 @@
listText="Piyango" listText="Piyango"
:addRoute="PiyangoLink()" :addRoute="PiyangoLink()"
:apiList="apiList" :apiList="apiList"
apiText="Piyango Listesi" /> apiText="Piyango Listesi"
isUseRoute />
</section> </section>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
@ -176,7 +177,7 @@
// tablodan herhangi bir satır tıklayınca çalısır // tablodan herhangi bir satır tıklayınca çalısır
const rwAction = (row: any) => { const rwAction = (row: any) => {
router.push('/piyangolar/detay/' + row.id) router.push('/piyangolar/detay/' + row.id + '/piyango-bilgileri')
} }
onBeforeMount(async () => { onBeforeMount(async () => {

View File

@ -8,14 +8,13 @@
icon="draws" icon="draws"
title="Yetkili Olduğu Kişi/Kurum" title="Yetkili Olduğu Kişi/Kurum"
listText="Kayıt" listText="Kayıt"
:apiList="'Auth/userbyuserChildList/' + usersStore.selectedUserId()" /> :apiList="'Auth/userbyuserChildList/' + usersStore.selectedUserId()"
isUseRoute />
</section> </section>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, computed, onBeforeMount } from 'vue' import { ref, computed, onBeforeMount } from 'vue'
import { useGlobalStore } from '@/stores/globalStore'
const globalStore = useGlobalStore()
import { useGlobalDataStore } from '@/stores/globalDataStore' import { useGlobalDataStore } from '@/stores/globalDataStore'
const globalDataStore = useGlobalDataStore() const globalDataStore = useGlobalDataStore()
import { useUsersStore } from '@/stores/usersStore' import { useUsersStore } from '@/stores/usersStore'
@ -82,7 +81,7 @@
listText: 'baslik', listText: 'baslik',
filterId: 'basvuruTipId' filterId: 'basvuruTipId'
}, },
style:{width:'10%'} style: { width: '10%' }
}, },
{ {
name: 'unvan', name: 'unvan',
@ -125,7 +124,13 @@
]) ])
const rwAction = (row: any) => { const rwAction = (row: any) => {
router.push('/uyeler/detay/' + UyeId() + '/yetkili-uye/detay/' + row.id) router.push(
'/uyeler/detay/' +
UyeId() +
'/yetkili-uye/detay/' +
row.id +
'/kisi-kurum-bilgileri'
)
} }
onBeforeMount(async () => { onBeforeMount(async () => {

View File

@ -4,4 +4,4 @@ import UyeYetkiliYeni from '@/module/uyeler/routes/uye-yetkili-yeni'
import UyeListe from '@/module/uyeler/routes/uye-liste' import UyeListe from '@/module/uyeler/routes/uye-liste'
import UyeTipleri from '@/module/uyeler/routes/uye-tipleri' import UyeTipleri from '@/module/uyeler/routes/uye-tipleri'
export default [UyeDetay,UyeYetkili,UyeYetkiliYeni, UyeListe, UyeTipleri] export default [...UyeDetay,...UyeYetkili,UyeYetkiliYeni, UyeListe, UyeTipleri]

View File

@ -1,10 +1,18 @@
import UyeDetay from '../views/UyeDetay.vue' import UyeDetay from '../views/UyeDetay.vue'
export default { export default [
path: '/uyeler/detay/:uyeId', {
name: 'UyeDetay', path: '/uyeler/detay/:uyeId',redirect: (to:Record<string,any>) => ({
component: UyeDetay, name: 'UyeDetay',
meta: { params: { uyeId: to.params.uyeId, tabid: 'uye-bilgileri' }
authRequired: true })
},
{
path: '/uyeler/detay/:uyeId/:tabid',
name: 'UyeDetay',
component: UyeDetay,
meta: {
authRequired: true
}
} }
} ]

View File

@ -1,10 +1,23 @@
import UyeYetkili from '../views/UyeYetkili.vue' import UyeYetkili from '../views/UyeYetkili.vue'
export default { export default [
path: '/uyeler/detay/:uyeId/yetkili-uye/detay/:altUyeId', {
name: 'UyeYetkiliDetay', path: '/uyeler/detay/:uyeId/yetkili-uye/detay/:altUyeId',
component: UyeYetkili, redirect: (to: Record<string, any>) => ({
meta: { name: 'UyeYetkiliDetay',
authRequired: true params: {
uyeId: to.params.uyeId,
altUyeId: to.params.altUyeId,
tabid: 'piyango-bilgileri'
}
})
},
{
path: '/uyeler/detay/:uyeId/yetkili-uye/detay/:altUyeId/:tabid',
name: 'UyeYetkiliDetay',
component: UyeYetkili,
meta: {
authRequired: true
}
} }
} ]

View File

@ -1,20 +1,20 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb currentPageText="Üye Detay" /> <Breadcrumb currentPageText="Üye Detay" go="/uyeler/uye-liste" />
<tabs :tabList="tabList"> <tabs :tabList="tabList" isUseRoute v-if="loaded">
<template #uyebilgileri> <template #uye-bilgileri>
<tab-uye-bilgileri /> <tab-uye-bilgileri />
</template> </template>
<template #yetkilikurum> <template #yetkili-kurum>
<tab-uye-yetkili-oldugu-kisi-kurum /> <tab-uye-yetkili-oldugu-kisi-kurum />
</template> </template>
<template #piyangolar> <template #piyangolar>
<tab-uye-piyangolar /> <tab-uye-piyangolar />
</template> </template>
<template #uyeloglari> <template #uye-loglari>
<tab-uye-loglari /> <tab-uye-loglari />
</template> </template>
<template #onaydurumu><tab-uye-onay-durumu /></template> <template #onay-durumu><tab-uye-onay-durumu /></template>
</tabs> </tabs>
</AdminLayout> </AdminLayout>
</template> </template>
@ -36,10 +36,11 @@
import TabUyeLoglari from '../components/TabUyeLoglari.vue' import TabUyeLoglari from '../components/TabUyeLoglari.vue'
import TabUyeOnayDurumu from '../components/TabUyeOnayDurumu.vue' import TabUyeOnayDurumu from '../components/TabUyeOnayDurumu.vue'
const tabList = ref<Record<string, any>[]>([]) const tabList = ref<Record<string, any>[]>([])
const loaded = ref<boolean>(false)
const CreateTabs = () => { const CreateTabs = () => {
tabList.value = [] tabList.value = []
tabList.value.push({ text: 'Üye Bilgileri', id: 'uyebilgileri' }) tabList.value.push({ text: 'Üye Bilgileri', id: 'uye-bilgileri' })
if ( if (
usersStore.isPanelUser && usersStore.isPanelUser &&
route.name !== 'Profil' && route.name !== 'Profil' &&
@ -48,23 +49,26 @@
let txt = usersStore.isPanelUser let txt = usersStore.isPanelUser
? 'Yetkili Olduğu Kişi/Kurum' ? 'Yetkili Olduğu Kişi/Kurum'
: 'Yetkili Olduğum Kişi/Kurum' : 'Yetkili Olduğum Kişi/Kurum'
tabList.value.push({ text: txt, id: 'yetkilikurum' }) tabList.value.push({ text: txt, id: 'yetkili-kurum' })
} }
if (usersStore.isPanelUser && route.name !== 'Profil') { if (usersStore.isPanelUser && route.name !== 'Profil') {
tabList.value.push( tabList.value.push(
{ text: 'Piyangolar', id: 'piyangolar' }, { text: 'Piyangolar', id: 'piyangolar' },
{ text: 'Üye Logları', id: 'uyeloglari' }, { text: 'Üye Logları', id: 'uye-loglari' },
{ text: 'Onay Durumu', id: 'onaydurumu' } { text: 'Onay Durumu', id: 'onay-durumu' }
) )
} }
} }
onBeforeMount(async () => { onBeforeMount(async () => {
usersStore.SetSelectedUser() usersStore.SetSelectedUser()
let tip = await dataStore.dataGet('Auth/uyedurumkontrol/' + usersStore.selectedUserId()) let tip = await dataStore.dataGet(
'Auth/uyedurumkontrol/' + usersStore.selectedUserId()
)
usersStore.userApproveId = tip.userIslemtipi usersStore.userApproveId = tip.userIslemtipi
CreateTabs() CreateTabs()
loaded.value = true
}) })
onBeforeUpdate(() => { onBeforeUpdate(() => {
CreateTabs() CreateTabs()

View File

@ -1,6 +1,6 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb currentPageText="Üye Detay" /> <Breadcrumb currentPageText="Üye Profil" />
<tabs :tabList="tabList" v-if="loaded"> <tabs :tabList="tabList" v-if="loaded">
<template #uyebilgileri> <template #uyebilgileri>
<tab-uye-bilgileri /> <tab-uye-bilgileri />

View File

@ -1,11 +1,13 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb currentPageText="Yetkili Olunan Kişi/Kurum Detay" /> <Breadcrumb
<tabs :tabList="tabList"> currentPageText="Yetkili Olunan Kişi/Kurum Detay"
<template #kisikurumbilgileri> :go="'/uyeler/detay/' + route.params.uyeId + '/uye-bilgileri'" />
<tabs :tabList="tabList" isUseRoute v-if="loaded">
<template #kisi-kurum-bilgileri>
<tab-yetkili-uye-bilgileri /> <tab-yetkili-uye-bilgileri />
</template> </template>
<template #onaydurumu> <template #onay-durumu>
<tab-uye-onay-durumu v-if="usersStore.isPanelUser" /> <tab-uye-onay-durumu v-if="usersStore.isPanelUser" />
<tab-uye-onay-durumu-user v-else /> <tab-uye-onay-durumu-user v-else />
</template> </template>
@ -26,10 +28,11 @@
import TabUyeOnayDurumu from '../components/TabUyeOnayDurumu.vue' import TabUyeOnayDurumu from '../components/TabUyeOnayDurumu.vue'
import TabUyeOnayDurumuUser from '../components/TabUyeOnayDurumuUser.vue' import TabUyeOnayDurumuUser from '../components/TabUyeOnayDurumuUser.vue'
const loaded = ref<boolean>(false)
const tabList = ref<Record<string, any>[]>([ const tabList = ref<Record<string, any>[]>([
{ text: 'Kişi/Kurum Bilgileri', id: 'kisikurumbilgileri' } { text: 'Kişi/Kurum Bilgileri', id: 'kisi-kurum-bilgileri' }
]) ])
tabList.value.push({ text: 'Onay Durumu', id: 'onaydurumu' }) tabList.value.push({ text: 'Onay Durumu', id: 'onay-durumu' })
onBeforeMount(async () => { onBeforeMount(async () => {
usersStore.SetSelectedUser() usersStore.SetSelectedUser()
@ -38,5 +41,6 @@
let tip = await dataStore.dataGet('Auth/uyedurumkontrol/' + route.params.altUyeId) let tip = await dataStore.dataGet('Auth/uyedurumkontrol/' + route.params.altUyeId)
usersStore.userSubApproveId = tip.userIslemtipi usersStore.userSubApproveId = tip.userIslemtipi
} }
loaded.value = true
}) })
</script> </script>

View File

@ -1,6 +1,6 @@
<template> <template>
<AdminLayout> <AdminLayout>
<Breadcrumb current-page-text="Üyeler Listesi" /> <Breadcrumb current-page-text="Üyeler Listesi" go="/" />
<section class="section-list"> <section class="section-list">
<list-table-content <list-table-content
v-if="loaded" v-if="loaded"
@ -10,7 +10,8 @@
title="Üyeler" title="Üyeler"
listText="Üye" listText="Üye"
apiList="Auth/UyelerList" apiList="Auth/UyelerList"
apiText="Üye Listesi" /> apiText="Üye Listesi"
isUseRoute />
</section> </section>
</AdminLayout> </AdminLayout>
</template> </template>
@ -121,7 +122,7 @@
]) ])
const rwAction = (row: any) => { const rwAction = (row: any) => {
if (usersStore.isPanelUser) globalStore.selCustomerType = row.basvuruTipId if (usersStore.isPanelUser) globalStore.selCustomerType = row.basvuruTipId
router.push('detay/' + row.id) router.push('detay/' + row.id+'/uye-bilgileri')
} }
onBeforeMount(async () => { onBeforeMount(async () => {

View File

@ -16,7 +16,7 @@ export const useGlobalStore = defineStore('globalStore', () => {
tablet: 992, tablet: 992,
tabletp: 768 tabletp: 768
}) })
const perPage = ref<number>(25) const perPage = ref<number>(10)
const selUser = ref<number>(0) const selUser = ref<number>(0)
const selAuthUser = ref<number>(0) const selAuthUser = ref<number>(0)
const selCustomer = ref<number>(0) const selCustomer = ref<number>(0)