- breadcrum geri butonu için manuel atamalar eklendi

- Tablar için route linklemesi eklendi
- piyango detay tabları için routelar düzenlendi
This commit is contained in:
M. Bestami
2025-10-02 12:43:05 +03:00
parent 07c73d39db
commit 5e83a11ecc
25 changed files with 96 additions and 53 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,8 +1,8 @@
<template>
<AdminLayout>
<Breadcrumb currentPageText="Piyango Detay" />
<tabs :tabList="tabList" v-if="loaded">
<template #piyangobilgileri>
<Breadcrumb currentPageText="Piyango Detay" go="/piyangolar/piyango-listesi" />
<tabs :tabList="tabList" v-if="loaded" route>
<template #piyango-bilgileri>
<tab-piyango-bilgileri-display
v-if="
usersStore.isPanelUser ||
@ -12,21 +12,23 @@
" />
<tab-piyango-bilgileri v-else />
</template>
<template #katilimcilistesi><tab-piyango-katilimci-listesi /></template>
<template #katilim-listesi><tab-piyango-katilimci-listesi /></template>
<template #talihliler><tab-piyango-talihli-listesi /></template>
<template #itirazsikayet><tab-piyango-itiraz /></template>
<template #piyangologlari><tab-piyango-loglari /></template>
<template #itiraz-sikayet><tab-piyango-itiraz /></template>
<template #piyango-loglari><tab-piyango-loglari /></template>
<template #yetkilendirme v-if="usersStore.isPanelUser">
<tab-piyango-yetkilendirme />
</template>
<template #onaydurumu>
<template #onay-durumu>
<tab-piyango-onay-durumu v-if="usersStore.isPanelUser" />
<tab-piyango-onay-durumu-user v-else />
</template>
<template #teminatlistesi>
<template #teminat-listesi>
<tab-piyango-teminat-durumu />
</template>
<template #dosyakapama v-if="usersStore.isPanelUser && piyangoStore.lotteryDrawState">
<template
#dosya-kapama
v-if="usersStore.isPanelUser && piyangoStore.lotteryDrawState">
<tab-piyango-dosya-kapama />
</template>
</tabs>
@ -59,7 +61,7 @@
const loaded = ref<boolean>(false)
const tabList = ref<Record<string, any>[]>([
{ text: 'Piyango Bilgileri', id: 'piyangobilgileri' }
{ text: 'Piyango Bilgileri', id: 'piyango-bilgileri' }
])
const CreateTabs = () => {
@ -74,25 +76,25 @@
piyangoStore.lotteryPurposeId !== 3
) {
tabList.value.push(
{ text: 'Katılım Listesi', id: 'katilimcilistesi' },
{ text: 'Katılım Listesi', id: 'katilim-listesi' },
{ text: 'Talihliler', id: 'talihliler' },
{ text: 'İtiraz/Şikayet', id: 'itirazsikayet' }
{ text: 'İtiraz/Şikayet', id: 'itiraz-sikayet' }
)
}
if (usersStore.isPanelUser) {
tabList.value.push(
{ text: 'Piyango Logları', id: 'piyangologlari' },
{ text: 'Piyango Logları', id: 'piyango-loglari' },
{ 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) {
tabList.value.push({ text: 'Teminat Listesi', id: 'teminatlistesi' })
tabList.value.push({ text: 'Teminat Listesi', id: 'teminat-listesi' })
}
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>
<AdminLayout>
<Breadcrumb currentPageText="Piyango Listesi" />
<Breadcrumb currentPageText="Piyango Listesi" go="/"/>
<div
class="form-inner-comment waiting-d"
v-if="!usersStore.isPanelUser && usersStore.userApproveId !== 4">
@ -230,7 +230,7 @@
// tablodan herhangi bir satır tıklayınca çalısır
const OpenPiyango = (row: any) => {
router.push('detay/' + row.id)
router.push('detay/' + row.id+'/piyango-bilgileri')
}
onBeforeMount(async () => {

View File

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

View File

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

View File

@ -1,6 +1,6 @@
<template>
<AdminLayout>
<Breadcrumb currentPageText="Kullanıcı Detay" />
<Breadcrumb currentPageText="Kullanıcı Detay" go="/kullanicilar/kullanici-liste"/>
<tabs :tabList="tabList">
<template #kullanicibilgileri>
<tab-kullanici-bilgileri />

View File

@ -1,6 +1,6 @@
<template>
<AdminLayout>
<Breadcrumb current-page-text="Kullanıcılar Listesi" />
<Breadcrumb current-page-text="Kullanıcılar Listesi" go="/"/>
<section class="section-list">
<list-table-content
v-if="loaded"

View File

@ -24,7 +24,9 @@
class="button-save">
İzin Bedelini Muhasebeleştir
</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
</router-link>
</div>

View File

@ -1,6 +1,6 @@
<template>
<AdminLayout>
<Breadcrumb currentPageText="Muhasebe / Piyango Detay" />
<Breadcrumb currentPageText="Muhasebe / Piyango Detay" go="/muhasebe/piyango-listesi"/>
<tabs :tabList="tabList" v-if="loaded">
<template #piyangobilgileri>
<tab-muhasebe-piyango-bilgileri-display />

View File

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

View File

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

View File

@ -1,6 +1,6 @@
<template>
<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-inner-content form-inner-content-left">
<div class="form-part">

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
<template>
<AdminLayout>
<Breadcrumb current-page-text="Sayfa Listesi" />
<Breadcrumb current-page-text="Sayfa Listesi" go="/"/>
<section class="section-list">
<list-table-content
:tableHeader="tableHeader"

View File

@ -176,7 +176,7 @@
// tablodan herhangi bir satır tıklayınca çalısır
const rwAction = (row: any) => {
router.push('/piyangolar/detay/' + row.id)
router.push('/piyangolar/detay/' + row.id + '/piyango-bilgileri')
}
onBeforeMount(async () => {

View File

@ -1,6 +1,6 @@
<template>
<AdminLayout>
<Breadcrumb currentPageText="Üye Detay" />
<Breadcrumb currentPageText="Üye Detay" go="/uyeler/uye-liste"/>
<tabs :tabList="tabList">
<template #uyebilgileri>
<tab-uye-bilgileri />

View File

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

View File

@ -1,6 +1,6 @@
<template>
<AdminLayout>
<Breadcrumb currentPageText="Yetkili Olunan Kişi/Kurum Detay" />
<Breadcrumb currentPageText="Yetkili Olunan Kişi/Kurum Detay" :go="'/uyeler/detay/'+route.params.uyeId"/>
<tabs :tabList="tabList">
<template #kisikurumbilgileri>
<tab-yetkili-uye-bilgileri />

View File

@ -1,6 +1,6 @@
<template>
<AdminLayout>
<Breadcrumb current-page-text="Üyeler Listesi" />
<Breadcrumb current-page-text="Üyeler Listesi" go="/"/>
<section class="section-list">
<list-table-content
v-if="loaded"