ilk commit
This commit is contained in:
210
src/stores/dataStore.ts
Normal file
210
src/stores/dataStore.ts
Normal file
@ -0,0 +1,210 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive } from 'vue'
|
||||
import { useGlobalDataStore } from '@/stores/globalDataStore'
|
||||
import { useToastStore } from '@/components/global/toastStore'
|
||||
import axios from 'axios'
|
||||
|
||||
export const useDataStore = defineStore('dataStore', () => {
|
||||
const globalDataStore = useGlobalDataStore()
|
||||
const toastStore = useToastStore()
|
||||
|
||||
const siteBase = ref<string>('https://mpiapi.beyaz.net/')
|
||||
const apiBase = ref<string>('api/')
|
||||
const panelData = reactive<Record<string, any>>({})
|
||||
const pageData = reactive<Record<string, any>>({})
|
||||
const panelDataChanged = ref<boolean>(false)
|
||||
const pageDataChanged = ref<boolean>(false)
|
||||
const pageDataUpdate = ref<boolean>(false)
|
||||
const isLoading = ref<boolean>(false)
|
||||
|
||||
const dataGet = async (
|
||||
api: string,
|
||||
data: {
|
||||
data?: any
|
||||
params?: Record<string, any>
|
||||
headers?: Record<string, any>
|
||||
options?: Record<string, any>
|
||||
toast?: Record<string, any>
|
||||
full?: boolean
|
||||
} = {}
|
||||
) => {
|
||||
try {
|
||||
const sendData: Record<string, any> = {}
|
||||
|
||||
if (data.options !== undefined) Object.assign(sendData, data.options)
|
||||
if (data.data !== undefined) sendData.data = data.data
|
||||
if (data.params !== undefined) sendData.params = data.params
|
||||
if (data.headers !== undefined) sendData.headers = data.headers
|
||||
if (data.toast !== undefined) {
|
||||
toastStore.AddToast(data.toast.toast, data.toast.type, data.toast.timeout)
|
||||
}
|
||||
|
||||
const response = await axios.get(apiBase.value + api, sendData)
|
||||
console.log('response --', api, response)
|
||||
|
||||
if (data.full !== undefined && data.full) {
|
||||
return response
|
||||
} else {
|
||||
return response.data
|
||||
}
|
||||
} catch (error: any) {
|
||||
CheckApiError(error.response.status, error.response.data)
|
||||
console.error('Hata oluştu -:', error)
|
||||
return 'errorfalse'
|
||||
}
|
||||
}
|
||||
|
||||
const dataPost = async (
|
||||
api: string,
|
||||
data: {
|
||||
data?: any
|
||||
params?: Record<string, any>
|
||||
headers?: Record<string, any>
|
||||
options?: Record<string, any>
|
||||
toast?: Record<string, any>
|
||||
full?: boolean
|
||||
} = {}
|
||||
): Promise<any> => {
|
||||
try {
|
||||
const sendData: Record<string, any> = {}
|
||||
const postData = data.data || {}
|
||||
|
||||
if (data.options !== undefined) Object.assign(sendData, data.options)
|
||||
if (data.params !== undefined) sendData.params = data.params
|
||||
if (data.headers !== undefined) sendData.headers = data.headers
|
||||
if (data.toast !== undefined) {
|
||||
toastStore.AddToast(data.toast.toast, data.toast.type, data.toast.timeout)
|
||||
}
|
||||
|
||||
const response = await axios.post(apiBase.value + api, postData, sendData)
|
||||
|
||||
if (data.full !== undefined && data.full) {
|
||||
return response
|
||||
} else {
|
||||
return response.data
|
||||
}
|
||||
} catch (error: any) {
|
||||
CheckApiError(error.response.status, error.response.data)
|
||||
|
||||
console.error('Hata oluştu:', error)
|
||||
return Promise.resolve('errorfalse')
|
||||
}
|
||||
}
|
||||
|
||||
const dataPut = async (
|
||||
api: string,
|
||||
data: {
|
||||
data?: any
|
||||
params?: Record<string, any>
|
||||
headers?: Record<string, any>
|
||||
options?: Record<string, any>
|
||||
toast?: Record<string, any>
|
||||
full?: boolean
|
||||
} = {}
|
||||
): Promise<any> => {
|
||||
try {
|
||||
const sendData: Record<string, any> = {}
|
||||
const postData = data.data || {}
|
||||
|
||||
if (data.options !== undefined) Object.assign(sendData, data.options)
|
||||
if (data.params !== undefined) sendData.params = data.params
|
||||
if (data.headers !== undefined) sendData.headers = data.headers
|
||||
if (data.toast !== undefined) {
|
||||
toastStore.AddToast(data.toast.toast, data.toast.type, data.toast.timeout)
|
||||
}
|
||||
|
||||
const response = await axios.put(apiBase.value + api, postData, sendData)
|
||||
if (data.full !== undefined && data.full) {
|
||||
return response
|
||||
} else {
|
||||
return response.data
|
||||
}
|
||||
} catch (error: any) {
|
||||
CheckApiError(error.response.status, error.response.data)
|
||||
|
||||
console.error('Hata oluştu:', error)
|
||||
return Promise.resolve('errorfalse')
|
||||
}
|
||||
}
|
||||
|
||||
const dataDelete = async (
|
||||
api: string,
|
||||
data: {
|
||||
data?: object
|
||||
params?: Record<string, any>
|
||||
headers?: Record<string, any>
|
||||
options?: Record<string, any>
|
||||
toast?: Record<string, any>
|
||||
full?: boolean
|
||||
} = {}
|
||||
): Promise<any> => {
|
||||
try {
|
||||
const sendData: Record<string, any> = {}
|
||||
|
||||
if (data.options !== undefined) Object.assign(sendData, data.options)
|
||||
if (data.params !== undefined) sendData.params = data.params
|
||||
if (data.headers !== undefined) sendData.headers = data.headers
|
||||
if (data.toast !== undefined) {
|
||||
toastStore.AddToast(data.toast.toast, data.toast.type, data.toast.timeout)
|
||||
}
|
||||
|
||||
const response = await axios.delete(apiBase.value + api, sendData)
|
||||
if (data.full !== undefined && data.full) {
|
||||
return response
|
||||
} else {
|
||||
return response.data
|
||||
}
|
||||
} catch (error: any) {
|
||||
CheckApiError(error.response.status, error.response.data)
|
||||
console.error('Hata oluştu:', error)
|
||||
return Promise.resolve('errorfalse')
|
||||
}
|
||||
}
|
||||
|
||||
const CheckApiError = async (status: number, data: Record<string, any>) => {
|
||||
if (status === 400) {
|
||||
const errorKey = data['hata'] || data['errors']
|
||||
|
||||
if (errorKey !== undefined) {
|
||||
errorKey.forEach((el: string) => {
|
||||
toastStore.AddToast(el, 'alert')
|
||||
})
|
||||
} else {
|
||||
toastStore.AddToast('Bir hata oluştu.', 'alert')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const GetCustomerTipList = async () => {
|
||||
if (globalDataStore.customerTips.length === 0) {
|
||||
let list = await dataGet('Auth/uyetipiList')
|
||||
|
||||
if (list !== 'errorfalse') globalDataStore.customerTips = list
|
||||
}
|
||||
}
|
||||
|
||||
const GetIlList = async () => {
|
||||
if (globalDataStore.ilList.length === 0) {
|
||||
let list = await dataGet('Il')
|
||||
|
||||
if (list !== 'errorfalse') globalDataStore.ilList = list
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
isLoading,
|
||||
siteBase,
|
||||
apiBase,
|
||||
panelData,
|
||||
pageData,
|
||||
panelDataChanged,
|
||||
pageDataChanged,
|
||||
pageDataUpdate,
|
||||
dataGet,
|
||||
dataPost,
|
||||
dataPut,
|
||||
dataDelete,
|
||||
GetCustomerTipList,
|
||||
GetIlList
|
||||
}
|
||||
})
|
||||
105
src/stores/dateStore.ts
Normal file
105
src/stores/dateStore.ts
Normal file
@ -0,0 +1,105 @@
|
||||
import { defineStore } from 'pinia'
|
||||
|
||||
export const useDateStore = defineStore('dateStore', {
|
||||
state: () => ({
|
||||
dayNames: ['Pazar', 'Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'],
|
||||
dayShortNames: ['Paz', 'Pzt', 'Sal', 'Çar', 'Per', 'Cum', 'Cts'],
|
||||
monthNames: [
|
||||
{ name: 'Ocak', val: 0 },
|
||||
{ name: 'Şubat', val: 1 },
|
||||
{ name: 'Mart', val: 2 },
|
||||
{ name: 'Nisan', val: 3 },
|
||||
{ name: 'Mayıs', val: 4 },
|
||||
{ name: 'Haziran', val: 5 },
|
||||
{ name: 'Temmuz', val: 6 },
|
||||
{ name: 'Ağustos', val: 7 },
|
||||
{ name: 'Eylül', val: 8 },
|
||||
{ name: 'Ekim', val: 9 },
|
||||
{ name: 'Kasım', val: 10 },
|
||||
{ name: 'Aralık', val: 11 }
|
||||
]
|
||||
}),
|
||||
actions: {
|
||||
dateFormat({
|
||||
pattern = 'dd-mm-yy-ddd-tt',
|
||||
date,
|
||||
splitDate = '/',
|
||||
splitTime = ' '
|
||||
}: {
|
||||
pattern?: string
|
||||
date?: Date | string | null
|
||||
splitDate?: string
|
||||
splitTime?: string
|
||||
}): string {
|
||||
let formattedDate = ''
|
||||
let inDate = date !== null && date !== undefined ? new Date(date) : new Date()
|
||||
let patternA = pattern.split('-')
|
||||
|
||||
for (let i = 0; i < patternA.length; i++) {
|
||||
if (patternA[i] == 'y') formattedDate += inDate.getFullYear().toString().slice(-2)
|
||||
if (patternA[i] == 'yy') formattedDate += inDate.getFullYear()
|
||||
if (patternA[i] == 'm') formattedDate += inDate.getMonth() + 1
|
||||
if (patternA[i] == 'mm')
|
||||
formattedDate += (inDate.getMonth() + 1).toString().padStart(2, '0')
|
||||
if (patternA[i] == 'mmm')
|
||||
formattedDate += this.monthNames[inDate.getMonth()].name.slice(0, 3)
|
||||
if (patternA[i] == 'mmmm')
|
||||
formattedDate += this.monthNames[inDate.getMonth()].name
|
||||
if (patternA[i] == 'd') formattedDate += inDate.getDate()
|
||||
if (patternA[i] == 'dd')
|
||||
formattedDate += inDate.getDate().toString().padStart(2, '0')
|
||||
if (patternA[i] == 'ddd' || patternA[i] == 'dddd') {
|
||||
if (i > 0) {
|
||||
let lc = formattedDate.slice(-1)
|
||||
if (lc == splitDate)
|
||||
formattedDate = formattedDate.slice(0, formattedDate.length - 1)
|
||||
formattedDate += ' '
|
||||
}
|
||||
if (patternA[i] == 'ddd') formattedDate += this.dayShortNames[inDate.getDay()]
|
||||
if (patternA[i] == 'dddd') formattedDate += this.dayNames[inDate.getDay()]
|
||||
if (i == 0) formattedDate += ' '
|
||||
}
|
||||
if (patternA[i] == 't' || patternA[i] == 'tt' || patternA[i] == 'ttt') {
|
||||
if (i > 0) {
|
||||
let lc = formattedDate.slice(-1)
|
||||
if (lc == splitDate)
|
||||
formattedDate = formattedDate.slice(0, formattedDate.length - 1)
|
||||
formattedDate += splitTime
|
||||
}
|
||||
if (patternA[i] == 't')
|
||||
formattedDate +=
|
||||
inDate.getHours().toString().padStart(2, '0') +
|
||||
':' +
|
||||
inDate.getMinutes().toString().padStart(2, '0')
|
||||
if (patternA[i] == 'tt')
|
||||
formattedDate +=
|
||||
inDate.getHours().toString().padStart(2, '0') +
|
||||
':' +
|
||||
inDate.getMinutes().toString().padStart(2, '0') +
|
||||
':' +
|
||||
inDate.getSeconds().toString().padStart(2, '0')
|
||||
if (patternA[i] == 'ttt')
|
||||
formattedDate +=
|
||||
inDate.getHours().toString().padStart(2, '0') +
|
||||
':' +
|
||||
inDate.getMinutes().toString().padStart(2, '0') +
|
||||
':' +
|
||||
inDate.getSeconds().toString().padStart(2, '0') +
|
||||
'.' +
|
||||
inDate.getMilliseconds()
|
||||
if (i == 0) formattedDate += splitTime
|
||||
}
|
||||
if (
|
||||
i != patternA.length - 1 &&
|
||||
patternA[i] != 'ddd' &&
|
||||
patternA[i] != 'dddd' &&
|
||||
patternA[i] != 't' &&
|
||||
patternA[i] != 'tt' &&
|
||||
patternA[i] != 'ttt'
|
||||
)
|
||||
formattedDate += splitDate
|
||||
}
|
||||
return formattedDate
|
||||
}
|
||||
}
|
||||
})
|
||||
12
src/stores/globalDataStore.ts
Normal file
12
src/stores/globalDataStore.ts
Normal file
@ -0,0 +1,12 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref } from 'vue'
|
||||
|
||||
export const useGlobalDataStore = defineStore('globalDataStore', () => {
|
||||
const customerTips = ref<Record<string, any>[]>([])
|
||||
const ilList = ref<Record<string, any>[]>([])
|
||||
|
||||
return {
|
||||
customerTips,
|
||||
ilList
|
||||
}
|
||||
})
|
||||
14
src/stores/pageStore.ts
Normal file
14
src/stores/pageStore.ts
Normal file
@ -0,0 +1,14 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { useRoute } from 'vue-router'
|
||||
|
||||
export const usePageStore = defineStore('pageStore', () => {
|
||||
const route = useRoute()
|
||||
|
||||
const IsAuthPage = (): boolean => {
|
||||
return route.meta.authpage as boolean
|
||||
}
|
||||
|
||||
return {
|
||||
IsAuthPage
|
||||
}
|
||||
})
|
||||
147
src/stores/previewStore.ts
Normal file
147
src/stores/previewStore.ts
Normal file
@ -0,0 +1,147 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { useDataStore } from '@/stores/dataStore'
|
||||
import { useGlobalStore } from '@/stores/globalStore'
|
||||
import htmlToPdfMake from 'html-to-pdfmake'
|
||||
|
||||
export const usePreviewStore = defineStore('previewStore', () => {
|
||||
const dataStore = useDataStore()
|
||||
const globalStore = useGlobalStore()
|
||||
|
||||
const DownloadPDF = async (content: string) => {
|
||||
var pdfData = `<style>
|
||||
.form-item{
|
||||
width: 100%;
|
||||
border: 1px solid #dddddd;
|
||||
float:left;
|
||||
}
|
||||
.form-item-half{
|
||||
width:49%;
|
||||
}
|
||||
.display-title{
|
||||
width: 100%;
|
||||
padding: 8px 0;
|
||||
border-bottom: 1px solid #e7e7e7;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
</style>`
|
||||
|
||||
pdfData += content
|
||||
|
||||
let pdf: any = await dataStore.dataPost('Auth/GeneratePdfFromHtml/', {
|
||||
data: pdfData,
|
||||
options: {
|
||||
responseType: 'arraybuffer'
|
||||
},
|
||||
full: true
|
||||
})
|
||||
|
||||
var filename = ''
|
||||
var dispos = pdf.headers['content-disposition']
|
||||
var filenameRegex = /filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/
|
||||
var matches = filenameRegex.exec(dispos)
|
||||
|
||||
if (matches != null && matches[1]) {
|
||||
filename = matches[1].replace(/['"]/g, '')
|
||||
filename = decodeURIComponent(filename)
|
||||
}
|
||||
|
||||
const file = new Blob([pdf.data], { type: 'application/pdf' })
|
||||
const url = URL.createObjectURL(file)
|
||||
|
||||
const link = document.createElement('a')
|
||||
link.href = url
|
||||
link.download = globalStore.CreateSlug(filename)
|
||||
document.body.appendChild(link)
|
||||
link.dispatchEvent(
|
||||
new MouseEvent('click', { bubbles: true, cancelable: true, view: window })
|
||||
)
|
||||
link.remove()
|
||||
window.URL.revokeObjectURL(link.href)
|
||||
}
|
||||
|
||||
const CreatePdfFromHtml = (make: any, content: string) => {
|
||||
const converted = htmlToPdfMake(content)
|
||||
var tableLayouts = {
|
||||
pdfTableLayout: {
|
||||
hLineWidth: function () {
|
||||
return 1
|
||||
},
|
||||
vLineWidth: function () {
|
||||
return 1
|
||||
},
|
||||
hLineColor: function () {
|
||||
return '#e7e7e7'
|
||||
},
|
||||
vLineColor: function () {
|
||||
return '#e7e7e7'
|
||||
},
|
||||
paddingLeft: function () {
|
||||
return 6
|
||||
},
|
||||
paddingRight: function () {
|
||||
return 6
|
||||
},
|
||||
paddingTop: function () {
|
||||
return 6
|
||||
},
|
||||
paddingBottom: function () {
|
||||
return 6
|
||||
}
|
||||
},
|
||||
pdfTableLayoutNoLine: {
|
||||
hLineWidth: function () {
|
||||
return 0
|
||||
},
|
||||
vLineWidth: function () {
|
||||
return 0
|
||||
},
|
||||
hLineColor: function () {
|
||||
return '#fff'
|
||||
},
|
||||
vLineColor: function () {
|
||||
return '#fff'
|
||||
},
|
||||
paddingLeft: function () {
|
||||
return 0
|
||||
},
|
||||
paddingRight: function () {
|
||||
return 0
|
||||
},
|
||||
paddingTop: function () {
|
||||
return 0
|
||||
},
|
||||
paddingBottom: function () {
|
||||
return 6
|
||||
}
|
||||
}
|
||||
}
|
||||
make.addTableLayouts(tableLayouts)
|
||||
|
||||
const docDefinition = {
|
||||
pageSize: 'A4',
|
||||
pageMargins: [20, 40, 20, 40],
|
||||
content: converted
|
||||
}
|
||||
make.createPdf(docDefinition).download()
|
||||
}
|
||||
|
||||
const PrintContent = (id: number) => {
|
||||
var el: HTMLElement = document.getElementById('pre' + id) as HTMLElement
|
||||
var printContent = el.innerHTML
|
||||
document.body.classList.add('print')
|
||||
const printEl = document.createElement('div')
|
||||
|
||||
printEl.className = 'print-c'
|
||||
printEl.innerHTML = printContent
|
||||
document.body.appendChild(printEl)
|
||||
window.print()
|
||||
document.body.classList.remove('print')
|
||||
printEl.remove()
|
||||
}
|
||||
|
||||
return {
|
||||
DownloadPDF,
|
||||
PrintContent,
|
||||
CreatePdfFromHtml
|
||||
}
|
||||
})
|
||||
332
src/stores/sehirlerStore.ts
Normal file
332
src/stores/sehirlerStore.ts
Normal file
@ -0,0 +1,332 @@
|
||||
import {defineStore} from "pinia";
|
||||
|
||||
export const useSehirlerStore = defineStore('sehirlerStore', () => {
|
||||
const ililce = [
|
||||
{
|
||||
"il": "Adana",
|
||||
"ilceler": ["Aladağ", "Ceyhan", "Çukurova", "Feke", "İmamoğlu", "Karaisalı", "Karataş", "Kozan", "Pozantı", "Saimbeyli", "Sarıçam", "Seyhan", "Tufanbeyli", "Yumurtalık", "Yüreğir"]
|
||||
},
|
||||
{
|
||||
"il": "Adıyaman",
|
||||
"ilceler": ["Besni", "Çelikhan", "Gerger", "Gölbaşı", "Kahta", "Merkez", "Samsat", "Sincik", "Tut"]
|
||||
},
|
||||
{
|
||||
"il": "Afyonkarahisar",
|
||||
"ilceler": ["Başmakçı", "Bayat", "Bolvadin", "Çay", "Çobanlar", "Dazkırı", "Dinar", "Emirdağ", "Evciler", "Hocalar", "İhsaniye", "İscehisar", "Kızılören", "Merkez", "Sandıklı", "Sinanpaşa", "Sultandağı", "Şuhut"]
|
||||
},
|
||||
{
|
||||
"il": "Ağrı",
|
||||
"ilceler": ["Diyadin", "Doğubayazıt", "Eleşkirt", "Hamur", "Merkez", "Patnos", "Taşlıçay", "Tutak"]
|
||||
},
|
||||
{
|
||||
"il": "Aksaray",
|
||||
"ilceler": ["Ağaçören", "Eskil", "Gülağaç", "Güzelyurt", "Merkez", "Ortaköy", "Sarıyahşi"]
|
||||
},
|
||||
{
|
||||
"il": "Amasya",
|
||||
"ilceler": ["Göynücek", "Gümüşhacıköy", "Hamamözü", "Merkez", "Merzifon", "Suluova", "Taşova"]
|
||||
},
|
||||
{
|
||||
"il": "Ankara",
|
||||
"ilceler": ["Akyurt", "Altındağ", "Ayaş", "Bala", "Beypazarı", "Çamlıdere", "Çankaya", "Çubuk", "Elmadağ", "Etimesgut", "Evren", "Gölbaşı", "Güdül", "Haymana", "Kalecik", "Kahramankazan", "Keçiören", "Kızılcahamam", "Mamak", "Nallıhan", "Polatlı", "Pursaklar", "Sincan", "Şereflikoçhisar", "Yenimahalle"]
|
||||
},
|
||||
{
|
||||
"il": "Antalya",
|
||||
"ilceler": ["Akseki", "Aksu", "Alanya", "Döşemealtı", "Elmalı", "Finike", "Gazipaşa", "Gündoğmuş", "İbradı", "Kaş", "Kemer", "Kepez", "Konyaaltı", "Korkuteli", "Kumluca", "Manavgat", "Muratpaşa", "Serik"]
|
||||
},
|
||||
{
|
||||
"il": "Ardahan",
|
||||
"ilceler": ["Çıldır", "Damal", "Göle", "Hanak", "Merkez", "Posof"]
|
||||
},
|
||||
{
|
||||
"il": "Artvin",
|
||||
"ilceler": ["Ardanuç", "Arhavi", "Borçka", "Hopa", "Kemalpaşa", "Merkez", "Murgul", "Şavşat", "Yusufeli"]
|
||||
},
|
||||
{
|
||||
"il": "Aydın",
|
||||
"ilceler": ["Bozdoğan", "Buharkent", "Çine", "Didim", "Efeler", "Germencik", "İncirliova", "Karacasu", "Karpuzlu", "Koçarlı", "Köşk", "Kuşadası", "Kuyucak", "Nazilli", "Söke", "Sultanhisar", "Yenipazar"]
|
||||
},
|
||||
{
|
||||
"il": "Balıkesir",
|
||||
"ilceler": ["Altıeylül", "Ayvalık", "Balya", "Bandırma", "Bigadiç", "Burhaniye", "Dursunbey", "Edremit", "Erdek", "Gömeç", "Gönen", "Havran", "İvrindi", "Karesi", "Kepsut", "Manyas", "Marmara", "Savaştepe", "Sındırgı", "Susurluk"]
|
||||
},
|
||||
{
|
||||
"il": "Bartın",
|
||||
"ilceler": ["Amasra", "Kurucaşile", "Merkez", "Ulus"]
|
||||
},
|
||||
{
|
||||
"il": "Batman",
|
||||
"ilceler": ["Beşiri", "Gercüş", "Hasankeyf", "Kozluk", "Merkez", "Sason"]
|
||||
},
|
||||
{
|
||||
"il": "Bayburt",
|
||||
"ilceler": ["Aydıntepe", "Demirözü", "Merkez"]
|
||||
},
|
||||
{
|
||||
"il": "Bilecik",
|
||||
"ilceler": ["Bozüyük", "Gölpazarı", "İnhisar", "Merkez", "Osmaneli", "Pazaryeri", "Söğüt", "Yenipazar"]
|
||||
},
|
||||
{
|
||||
"il": "Bingöl",
|
||||
"ilceler": ["Adaklı", "Genç", "Karlıova", "Kiğı", "Merkez", "Solhan", "Yayladere", "Yedisu"]
|
||||
},
|
||||
{
|
||||
"il": "Bitlis",
|
||||
"ilceler": ["Adilcevaz", "Ahlat", "Güroymak", "Hizan", "Merkez", "Mutki", "Tatvan"]
|
||||
},
|
||||
{
|
||||
"il": "Bolu",
|
||||
"ilceler": ["Dörtdivan", "Gerede", "Göynük", "Kıbrıscık", "Mengen", "Merkez", "Mudurnu", "Seben", "Yeniçağa"]
|
||||
},
|
||||
{
|
||||
"il": "Burdur",
|
||||
"ilceler": ["Ağlasun", "Altınyayla", "Bucak", "Çavdır", "Çeltikçi", "Gölhisar", "Karamanlı", "Kemer", "Merkez", "Tefenni", "Yeşilova"]
|
||||
},
|
||||
{
|
||||
"il": "Bursa",
|
||||
"ilceler": ["Büyükorhan", "Gemlik", "Gürsu", "Harmancık", "İnegöl", "İznik", "Karacabey", "Keles", "Kestel", "Mudanya", "Mustafakemalpaşa", "Nilüfer", "Orhaneli", "Orhangazi", "Osmangazi", "Yenişehir", "Yıldırım"]
|
||||
},
|
||||
{
|
||||
"il": "Çanakkale",
|
||||
"ilceler": ["Ayvacık", "Bayramiç", "Biga", "Bozcaada", "Çan", "Eceabat", "Ezine", "Gelibolu", "Gökçeada", "Lapseki", "Merkez", "Yenice"]
|
||||
},
|
||||
{
|
||||
"il": "Çankırı",
|
||||
"ilceler": ["Atkaracalar", "Bayramören", "Çerkeş", "Eldivan", "Ilgaz", "Kızılırmak", "Korgun", "Kurşunlu", "Merkez", "Orta", "Şabanözü", "Yapraklı"]
|
||||
},
|
||||
{
|
||||
"il": "Çorum",
|
||||
"ilceler": ["Alaca", "Bayat", "Boğazkale", "Dodurga", "İskilip", "Kargı", "Laçin", "Mecitözü", "Merkez", "Oğuzlar", "Ortaköy", "Osmancık", "Sungurlu", "Uğurludağ"]
|
||||
},
|
||||
{
|
||||
"il": "Denizli",
|
||||
"ilceler": ["Acıpayam", "Babadağ", "Baklan", "Bekilli", "Beyağaç", "Bozkurt", "Buldan", "Çal", "Çameli", "Çardak", "Çivril", "Güney", "Honaz", "Kale", "Merkezefendi", "Pamukkale", "Sarayköy", "Serinhisar", "Tavas"]
|
||||
},
|
||||
{
|
||||
"il": "Diyarbakır",
|
||||
"ilceler": ["Bağlar", "Bismil", "Çermik", "Çınar", "Çüngüş", "Dicle", "Eğil", "Ergani", "Hani", "Hazro", "Kayapınar", "Kocaköy", "Kulp", "Lice", "Silvan", "Sur", "Yenişehir"]
|
||||
},
|
||||
{
|
||||
"il": "Düzce",
|
||||
"ilceler": ["Akçakoca", "Cumayeri", "Çilimli", "Gölyaka", "Gümüşova", "Kaynaşlı", "Merkez", "Yığılca"]
|
||||
},
|
||||
{
|
||||
"il": "Edirne",
|
||||
"ilceler": ["Enez", "Havsa", "İpsala", "Keşan", "Lalapaşa", "Meriç", "Merkez", "Süloğlu", "Uzunköprü"]
|
||||
},
|
||||
{
|
||||
"il": "Elazığ",
|
||||
"ilceler": ["Ağın", "Alacakaya", "Arıcak", "Baskil", "Karakoçan", "Keban", "Kovancılar", "Maden", "Merkez", "Palu", "Sivrice"]
|
||||
},
|
||||
{
|
||||
"il": "Erzincan",
|
||||
"ilceler": ["Çayırlı", "İliç", "Kemah", "Kemaliye", "Merkez", "Otlukbeli", "Refahiye", "Tercan", "Üzümlü"]
|
||||
},
|
||||
{
|
||||
"il": "Erzurum",
|
||||
"ilceler": ["Aşkale", "Aziziye", "Çat", "Hınıs", "Horasan", "İspir", "Karaçoban", "Karayazı", "Köprüköy", "Narman", "Oltu", "Olur", "Palandöken", "Pasinler", "Pazaryolu", "Şenkaya", "Tekman", "Tortum", "Uzundere", "Yakutiye"]
|
||||
},
|
||||
{
|
||||
"il": "Eskişehir",
|
||||
"ilceler": ["Alpu", "Beylikova", "Çifteler", "Günyüzü", "Han", "İnönü", "Mahmudiye", "Mihalgazi", "Mihalıççık", "Odunpazarı", "Sarıcakaya", "Seyitgazi", "Sivrihisar", "Tepebaşı"]
|
||||
},
|
||||
{
|
||||
"il": "Gaziantep",
|
||||
"ilceler": ["Araban", "İslahiye", "Karkamış", "Nizip", "Nurdağı", "Oğuzeli", "Şahinbey", "Şehitkamil", "Yavuzeli"]
|
||||
},
|
||||
{
|
||||
"il": "Giresun",
|
||||
"ilceler": ["Alucra", "Bulancak", "Çamoluk", "Çanakçı", "Dereli", "Doğankent", "Espiye", "Eynesil", "Görele", "Güce", "Keşap", "Merkez", "Piraziz", "Şebinkarahisar", "Tirebolu", "Yağlıdere"]
|
||||
},
|
||||
{
|
||||
"il": "Gümüşhane",
|
||||
"ilceler": ["Kelkit", "Köse", "Kürtün", "Merkez", "Şiran", "Torul"]
|
||||
},
|
||||
{
|
||||
"il": "Hakkari",
|
||||
"ilceler": ["Çukurca", "Derecik", "Merkez", "Şemdinli", "Yüksekova"]
|
||||
},
|
||||
{
|
||||
"il": "Hatay",
|
||||
"ilceler": ["Altınözü", "Antakya", "Arsuz", "Belen", "Defne", "Dörtyol", "Erzin", "Hassa", "İskenderun", "Kırıkhan", "Kumlu", "Payas", "Reyhanlı", "Samandağ", "Yayladağı"]
|
||||
},
|
||||
{
|
||||
"il": "Iğdır",
|
||||
"ilceler": ["Aralık", "Karakoyunlu", "Merkez", "Tuzluca"]
|
||||
},
|
||||
{
|
||||
"il": "Isparta",
|
||||
"ilceler": ["Aksu", "Atabey", "Eğirdir", "Gelendost", "Gönen", "Keçiborlu", "Merkez", "Senirkent", "Sütçüler", "Şarkikaraağaç", "Uluborlu", "Yalvaç", "Yenişarbademli"]
|
||||
},
|
||||
{
|
||||
"il": "İstanbul",
|
||||
"ilceler": ["Adalar", "Arnavutköy", "Ataşehir", "Avcılar", "Bağcılar", "Bahçelievler", "Bakırköy", "Başakşehir", "Bayrampaşa", "Beşiktaş", "Beykoz", "Beylikdüzü", "Beyoğlu", "Büyükçekmece", "Çatalca", "Çekmeköy", "Esenler", "Esenyurt", "Eyüpsultan", "Fatih", "Gaziosmanpaşa", "Güngören", "Kadıköy", "Kağıthane", "Kartal", "Küçükçekmece", "Maltepe", "Pendik", "Sancaktepe", "Sarıyer", "Silivri", "Sultanbeyli", "Sultangazi", "Şile", "Şişli", "Tuzla", "Ümraniye", "Üsküdar", "Zeytinburnu"]
|
||||
},
|
||||
{
|
||||
"il": "İzmir",
|
||||
"ilceler": ["Aliağa", "Balçova", "Bayındır", "Bayraklı", "Bergama", "Beydağ", "Bornova", "Buca", "Çeşme", "Çiğli", "Dikili", "Foça", "Gaziemir", "Güzelbahçe", "Karabağlar", "Karaburun", "Karşıyaka", "Kemalpaşa", "Kınık", "Kiraz", "Konak", "Menderes", "Menemen", "Narlıdere", "Ödemiş", "Seferihisar", "Selçuk", "Tire", "Torbalı", "Urla"]
|
||||
},
|
||||
{
|
||||
"il": "Kahramanmaraş",
|
||||
"ilceler": ["Afşin", "Andırın", "Dulkadiroğlu", "Ekinözü", "Elbistan", "Göksun", "Nurhak", "Onikişubat", "Pazarcık", "Türkoğlu"]
|
||||
},
|
||||
{
|
||||
"il": "Karabük",
|
||||
"ilceler": ["Eflani", "Eskipazar", "Merkez", "Ovacık", "Safranbolu", "Yenice"]
|
||||
},
|
||||
{
|
||||
"il": "Karaman",
|
||||
"ilceler": ["Ayrancı", "Başyayla", "Ermenek", "Kazımkarabekir", "Merkez", "Sarıveliler"]
|
||||
},
|
||||
{
|
||||
"il": "Kars",
|
||||
"ilceler": ["Akyaka", "Arpaçay", "Digor", "Kağızman", "Merkez", "Sarıkamış", "Selim", "Susuz"]
|
||||
},
|
||||
{
|
||||
"il": "Kastamonu",
|
||||
"ilceler": ["Abana", "Ağlı", "Araç", "Azdavay", "Bozkurt", "Cide", "Çatalzeytin", "Daday", "Devrekani", "Doğanyurt", "Hanönü", "İhsangazi", "İnebolu", "Küre", "Merkez", "Pınarbaşı", "Şenpazar", "Seydiler", "Taşköprü", "Tosya"]
|
||||
},
|
||||
{
|
||||
"il": "Kayseri",
|
||||
"ilceler": ["Akkışla", "Bünyan", "Develi", "Felahiye", "Hacılar", "İncesu", "Kocasinan", "Melikgazi", "Özvatan", "Pınarbaşı", "Sarıoğlan", "Sarız", "Talas", "Tomarza", "Yahyalı", "Yeşilhisar"]
|
||||
},
|
||||
{
|
||||
"il": "Kırıkkale",
|
||||
"ilceler": ["Bahşili", "Balışeyh", "Çelebi", "Delice", "Karakeçili", "Keskin", "Merkez", "Sulakyurt", "Yahşihan"]
|
||||
},
|
||||
{
|
||||
"il": "Kırklareli",
|
||||
"ilceler": ["Demirköy", "Kofçaz", "Lüleburgaz", "Merkez", "Pehlivanköy", "Pınarhisar", "Vize"]
|
||||
},
|
||||
{
|
||||
"il": "Kırşehir",
|
||||
"ilceler": ["Akçakent", "Akpınar", "Boztepe", "Çiçekdağı", "Kaman", "Merkez", "Mucur"]
|
||||
},
|
||||
{
|
||||
"il": "Kilis",
|
||||
"ilceler": ["Elbeyli", "Merkez", "Musabeyli", "Polateli"]
|
||||
},
|
||||
{
|
||||
"il": "Kocaeli",
|
||||
"ilceler": ["Başiskele", "Çayırova", "Darıca", "Derince", "Dilovası", "Gebze", "Gölcük", "İzmit", "Kandıra", "Karamürsel", "Kartepe", "Körfez"]
|
||||
},
|
||||
{
|
||||
"il": "Konya",
|
||||
"ilceler": ["Ahırlı", "Akören", "Akşehir", "Altınekin", "Beyşehir", "Bozkır", "Cihanbeyli", "Çeltik", "Çumra", "Derbent", "Derebucak", "Doğanhisar", "Emirgazi", "Ereğli", "Güneysınır", "Hadim", "Halkapınar", "Hüyük", "Ilgın", "Kadınhanı", "Karapınar", "Karatay", "Kulu", "Meram", "Sarayönü", "Selçuklu", "Seydişehir", "Taşkent", "Tuzlukçu", "Yalıhüyük", "Yunak"]
|
||||
},
|
||||
{
|
||||
"il": "Kütahya",
|
||||
"ilceler": ["Altıntaş", "Aslanapa", "Çavdarhisar", "Domaniç", "Dumlupınar", "Emet", "Gediz", "Hisarcık", "Merkez", "Pazarlar", "Şaphane", "Simav", "Tavşanlı"]
|
||||
},
|
||||
{
|
||||
"il": "Malatya",
|
||||
"ilceler": ["Akçadağ", "Arapgir", "Arguvan", "Battalgazi", "Darende", "Doğanşehir", "Doğanyol", "Hekimhan", "Kale", "Kuluncak", "Pütürge", "Yazıhan", "Yeşilyurt"]
|
||||
},
|
||||
{
|
||||
"il": "Manisa",
|
||||
"ilceler": ["Ahmetli", "Akhisar", "Alaşehir", "Demirci", "Gölmarmara", "Gördes", "Kırkağaç", "Köprübaşı", "Kula", "Salihli", "Sarıgöl", "Saruhanlı", "Selendi", "Soma", "Şehzadeler", "Turgutlu", "Yunusemre"]
|
||||
},
|
||||
{
|
||||
"il": "Mardin",
|
||||
"ilceler": ["Artuklu", "Dargeçit", "Derik", "Kızıltepe", "Mazıdağı", "Midyat", "Nusaybin", "Ömerli", "Savur", "Yeşilli"]
|
||||
},
|
||||
{
|
||||
"il": "Mersin",
|
||||
"ilceler": ["Akdeniz", "Anamur", "Aydıncık", "Bozyazı", "Çamlıyayla", "Erdemli", "Gülnar", "Mezitli", "Mut", "Silifke", "Tarsus", "Toroslar", "Yenişehir"]
|
||||
},
|
||||
{
|
||||
"il": "Muğla",
|
||||
"ilceler": ["Bodrum", "Dalaman", "Datça", "Fethiye", "Kavaklıdere", "Köyceğiz", "Marmaris", "Menteşe", "Milas", "Ortaca", "Seydikemer", "Ula", "Yatağan"]
|
||||
},
|
||||
{
|
||||
"il": "Muş",
|
||||
"ilceler": ["Bulanık", "Hasköy", "Korkut", "Malazgirt", "Merkez", "Varto"]
|
||||
},
|
||||
{
|
||||
"il": "Nevşehir",
|
||||
"ilceler": ["Avanos", "Derinkuyu", "Gülşehir", "Hacıbektaş", "Kozaklı", "Merkez", "Ürgüp"]
|
||||
},
|
||||
{
|
||||
"il": "Niğde",
|
||||
"ilceler": ["Altunhisar", "Bor", "Çamardı", "Çiftlik", "Merkez", "Ulukışla"]
|
||||
},
|
||||
{
|
||||
"il": "Ordu",
|
||||
"ilceler": ["Akkuş", "Altınordu", "Aybastı", "Çamaş", "Çatalpınar", "Çaybaşı", "Fatsa", "Gölköy", "Gülyalı", "Gürgentepe", "İkizce", "Kabadüz", "Kabataş", "Korgan", "Kumru", "Mesudiye", "Perşembe", "Ulubey", "Ünye"]
|
||||
},
|
||||
{
|
||||
"il": "Osmaniye",
|
||||
"ilceler": ["Bahçe", "Düziçi", "Hasanbeyli", "Kadirli", "Merkez", "Sumbas", "Toprakkale"]
|
||||
},
|
||||
{
|
||||
"il": "Rize",
|
||||
"ilceler": ["Ardeşen", "Çamlıhemşin", "Çayeli", "Derepazarı", "Fındıklı", "Güneysu", "Hemşin", "İkizdere", "İyidere", "Kalkandere", "Merkez", "Pazar"]
|
||||
},
|
||||
{
|
||||
"il": "Sakarya",
|
||||
"ilceler": ["Adapazarı", "Akyazı", "Arifiye", "Erenler", "Ferizli", "Geyve", "Hendek", "Karapürçek", "Karasu", "Kaynarca", "Kocaali", "Pamukova", "Sapanca", "Serdivan", "Söğütlü", "Taraklı"]
|
||||
},
|
||||
{
|
||||
"il": "Samsun",
|
||||
"ilceler": ["Alaçam", "Asarcık", "Atakum", "Ayvacık", "Bafra", "Canik", "Çarşamba", "Havza", "İlkadım", "Kavak", "Ladik", "Ondokuzmayıs", "Salıpazarı", "Tekkeköy", "Terme", "Vezirköprü", "Yakakent"]
|
||||
},
|
||||
{
|
||||
"il": "Siirt",
|
||||
"ilceler": ["Baykan", "Eruh", "Kurtalan", "Merkez", "Pervari", "Şirvan", "Tillo"]
|
||||
},
|
||||
{
|
||||
"il": "Sinop",
|
||||
"ilceler": ["Ayancık", "Boyabat", "Dikmen", "Durağan", "Erfelek", "Gerze", "Merkez", "Saraydüzü", "Türkeli"]
|
||||
},
|
||||
{
|
||||
"il": "Sivas",
|
||||
"ilceler": ["Akıncılar", "Altınyayla", "Divriği", "Doğanşar", "Gemerek", "Gölova", "Gürün", "Hafik", "İmranlı", "Kangal", "Koyulhisar", "Merkez", "Suşehri", "Şarkışla", "Ulaş", "Yıldızeli", "Zara"]
|
||||
},
|
||||
{
|
||||
"il": "Şanlıurfa",
|
||||
"ilceler": ["Akçakale", "Birecik", "Bozova", "Ceylanpınar", "Eyyübiye", "Halfeti", "Haliliye", "Harran", "Hilvan", "Karaköprü", "Siverek", "Suruç", "Viranşehir"]
|
||||
},
|
||||
{
|
||||
"il": "Şırnak",
|
||||
"ilceler": ["Beytüşşebap", "Cizre", "Güçlükonak", "İdil", "Silopi", "Uludere"]
|
||||
},
|
||||
{
|
||||
"il": "Tekirdağ",
|
||||
"ilceler": ["Çerkezköy", "Çorlu", "Ergene", "Hayrabolu", "Kapaklı", "Malkara", "Marmaraereğlisi", "Muratlı", "Saray", "Süleymanpaşa", "Şarköy"]
|
||||
},
|
||||
{
|
||||
"il": "Tokat",
|
||||
"ilceler": ["Almus", "Artova", "Başçiftlik", "Erbaa", "Merkez", "Niksar", "Pazar", "Reşadiye", "Sulusaray", "Turhal", "Yeşilyurt", "Zile"]
|
||||
},
|
||||
{
|
||||
"il": "Trabzon",
|
||||
"ilceler": ["Akçaabat", "Araklı", "Arsin", "Beşikdüzü", "Çarşıbaşı", "Çaykara", "Dernekpazarı", "Düzköy", "Hayrat", "Köprübaşı", "Maçka", "Of", "Ortahisar", "Sürmene", "Şalpazarı", "Tonya", "Vakfıkebir", "Yomra"]
|
||||
},
|
||||
{
|
||||
"il": "Tunceli",
|
||||
"ilceler": ["Çemişgezek", "Hozat", "Mazgirt", "Merkez", "Nazımiye", "Ovacık", "Pertek", "Pülümür"]
|
||||
},
|
||||
{
|
||||
"il": "Uşak",
|
||||
"ilceler": ["Banaz", "Eşme", "Karahallı", "Merkez", "Sivaslı", "Ulubey"]
|
||||
},
|
||||
{
|
||||
"il": "Van",
|
||||
"ilceler": ["Bahçesaray", "Başkale", "Çaldıran", "Çatak", "Edremit", "Erciş", "Gevaş", "Gürpınar", "İpekyolu", "Muradiye", "Özalp", "Saray", "Tuşba"]
|
||||
},
|
||||
{
|
||||
"il": "Yalova",
|
||||
"ilceler": ["Altınova", "Armutlu", "Çınarcık", "Çiftlikköy", "Merkez", "Termal"]
|
||||
},
|
||||
{
|
||||
"il": "Yozgat",
|
||||
"ilceler": ["Akdağmadeni", "Aydıncık", "Boğazlıyan", "Çandır", "Çayıralan", "Çekerek", "Kadışehri", "Merkez", "Saraykent", "Sarıkaya", "Sorgun", "Şefaatli", "Yenifakılı", "Yerköy"]
|
||||
},
|
||||
{
|
||||
"il": "Zonguldak",
|
||||
"ilceler": ["Alaplı", "Çaycuma", "Devrek", "Gökçebey", "Kilimli", "Kozlu", "Merkez"]
|
||||
}
|
||||
]
|
||||
|
||||
return {ililce}
|
||||
})
|
||||
193
src/stores/usersStore.ts
Normal file
193
src/stores/usersStore.ts
Normal file
@ -0,0 +1,193 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, reactive, computed } from 'vue'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { useCustomerStore } from '@/module/uyeler/stores/customerStore'
|
||||
import { useAppUserStore } from '@/module/kullanicilar/stores/appUserStore'
|
||||
|
||||
export const useUsersStore = defineStore('usersStore', () => {
|
||||
const route = useRoute()
|
||||
const customerStore = useCustomerStore()
|
||||
const appUserStore = useAppUserStore()
|
||||
|
||||
const userStorageKeys = reactive<Record<string, any>>({
|
||||
USER: 'username',
|
||||
TOKEN: 'token',
|
||||
IS_AUTH: 'is_auth',
|
||||
ROLES: 'roles',
|
||||
ID: 'id',
|
||||
STATUS: 'status',
|
||||
POSITION: 'position',
|
||||
DEPARTMENT: 'department'
|
||||
})
|
||||
|
||||
const userId = ref<number>(0)
|
||||
const userApproveId = ref<number | null>(null)
|
||||
const userSubApproveId = ref<number | null>(null)
|
||||
const userName = ref<string>('')
|
||||
const userMail = ref<string>('')
|
||||
const userIsAuth = ref<boolean>(false)
|
||||
const userRoles = ref<string[]>([])
|
||||
const userStatus = ref<number | null>(null)
|
||||
const userPosition = ref<number | null>(null)
|
||||
const userDepartment = ref<number | null>(null)
|
||||
const profilePhoto = ref<string>('')
|
||||
|
||||
const SetSelectedUser = () => {
|
||||
if (route.name === 'UyeYetkiliDetay') {
|
||||
customerStore.selectedCustomer = Number(route.params.uyeId)
|
||||
customerStore.selectedSubCustomer = Number(route.params.altUyeId)
|
||||
} else if (route.name === 'UyeDetay')
|
||||
customerStore.selectedCustomer = Number(route.params.uyeId)
|
||||
else if (route.name === 'Profil') {
|
||||
if (isAdmin.value) appUserStore.selectedAppUser = userId.value
|
||||
else customerStore.selectedCustomer = userId.value
|
||||
}
|
||||
}
|
||||
|
||||
const selectedUserId = ():number => {
|
||||
var id: number = Number(userId.value)
|
||||
if (route.name === 'UyeYetkiliDetay') {
|
||||
id = Number(route.params.altUyeId)
|
||||
} else if (route.name === 'UyeDetay') {
|
||||
id = Number(route.params.uyeId)
|
||||
} else if (route.name === 'Profil') {
|
||||
id = Number(userId.value)
|
||||
}
|
||||
return id
|
||||
}
|
||||
|
||||
const selectedUserApproveId = computed<number | null>(() => {
|
||||
var id: number | null = null
|
||||
if (route.name === 'UyeYetkiliDetay') {
|
||||
id = userSubApproveId.value
|
||||
} else if (route.name === 'UyeDetay' || route.name === 'Profil') {
|
||||
id = userApproveId.value
|
||||
}
|
||||
|
||||
return id
|
||||
})
|
||||
|
||||
const SetUserSessionData = (data: Record<string, any>) => {
|
||||
sessionStorage.setItem(userStorageKeys.TOKEN, data.token)
|
||||
sessionStorage.setItem(userStorageKeys.USER, data.username)
|
||||
sessionStorage.setItem(userStorageKeys.IS_AUTH, JSON.stringify(true))
|
||||
sessionStorage.setItem(userStorageKeys.ROLES, JSON.stringify(data.roles))
|
||||
sessionStorage.setItem(userStorageKeys.ID, JSON.stringify(data.id))
|
||||
sessionStorage.setItem(userStorageKeys.STATUS, JSON.stringify(data.islemtipi))
|
||||
sessionStorage.setItem(userStorageKeys.POSITION, JSON.stringify(data.gorevId))
|
||||
sessionStorage.setItem(userStorageKeys.DEPARTMENT, JSON.stringify(data.birimId))
|
||||
}
|
||||
|
||||
const RemoveUserSessionData = () => {
|
||||
sessionStorage.removeItem(userStorageKeys.TOKEN)
|
||||
sessionStorage.removeItem(userStorageKeys.USER)
|
||||
sessionStorage.removeItem(userStorageKeys.IS_AUTH)
|
||||
sessionStorage.removeItem(userStorageKeys.ROLES)
|
||||
sessionStorage.removeItem(userStorageKeys.ID)
|
||||
sessionStorage.removeItem(userStorageKeys.STATUS)
|
||||
sessionStorage.removeItem(userStorageKeys.POSITION)
|
||||
sessionStorage.removeItem(userStorageKeys.DEPARTMENT)
|
||||
}
|
||||
|
||||
const SetUserData = () => {
|
||||
let token = sessionStorage.getItem(userStorageKeys.TOKEN)
|
||||
if (token) {
|
||||
userId.value = Number(sessionStorage.getItem(userStorageKeys.ID)) as number
|
||||
|
||||
userName.value = sessionStorage.getItem(userStorageKeys.USER) as string
|
||||
|
||||
userIsAuth.value =
|
||||
sessionStorage.getItem(userStorageKeys.IS_AUTH) === 'true' || true ? true : false
|
||||
|
||||
userRoles.value = JSON.parse(
|
||||
sessionStorage.getItem(userStorageKeys.ROLES) as string
|
||||
) as string[]
|
||||
|
||||
userStatus.value = Number(sessionStorage.getItem(userStorageKeys.STATUS))
|
||||
|
||||
if (sessionStorage.getItem(userStorageKeys.POSITION) !== undefined)
|
||||
userPosition.value = Number(sessionStorage.getItem(userStorageKeys.POSITION))
|
||||
|
||||
if (sessionStorage.getItem(userStorageKeys.DEPARTMENT) !== undefined)
|
||||
userDepartment.value = Number(sessionStorage.getItem(userStorageKeys.DEPARTMENT))
|
||||
|
||||
if (isPanelUser.value) {
|
||||
userMail.value = sessionStorage.getItem(userStorageKeys.USER) as string
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const isAdmin = computed<boolean>(() => {
|
||||
return userRoles.value.includes('admin')
|
||||
})
|
||||
|
||||
const isSuperAdmin = computed<boolean>(() => {
|
||||
return userRoles.value.includes('superadmin')
|
||||
})
|
||||
|
||||
const isAccounting = computed<boolean>(() => {
|
||||
return userDepartment.value === 6 || userPosition.value === 5
|
||||
})
|
||||
|
||||
const isPanelUser = computed<boolean>(() => {
|
||||
return isAdmin.value || isSuperAdmin.value
|
||||
})
|
||||
|
||||
const isAraciFirma = computed<boolean>(() => {
|
||||
return userRoles.value.includes('AraciFirma')
|
||||
})
|
||||
|
||||
const isGercekKisi = computed<boolean>(() => {
|
||||
return userRoles.value.includes('gercekkisi')
|
||||
})
|
||||
|
||||
const isTuzelKisi = computed<boolean>(() => {
|
||||
return userRoles.value.includes('tuzelkisi')
|
||||
})
|
||||
|
||||
const isVakifDernek = computed<boolean>(() => {
|
||||
return userRoles.value.includes('vakifdernek')
|
||||
})
|
||||
|
||||
const ResetUserData = () => {
|
||||
RemoveUserSessionData()
|
||||
userId.value = 0
|
||||
userApproveId.value = null
|
||||
userSubApproveId.value = null
|
||||
userName.value = ''
|
||||
userMail.value = ''
|
||||
userIsAuth.value = false
|
||||
userRoles.value = []
|
||||
userStatus.value = null
|
||||
profilePhoto.value = ''
|
||||
}
|
||||
|
||||
return {
|
||||
userStorageKeys,
|
||||
userId,
|
||||
userName,
|
||||
userMail,
|
||||
userIsAuth,
|
||||
userRoles,
|
||||
userStatus,
|
||||
userPosition,
|
||||
userApproveId,
|
||||
userSubApproveId,
|
||||
selectedUserApproveId,
|
||||
profilePhoto,
|
||||
selectedUserId,
|
||||
isAdmin,
|
||||
isSuperAdmin,
|
||||
isPanelUser,
|
||||
isAccounting,
|
||||
isAraciFirma,
|
||||
isGercekKisi,
|
||||
isTuzelKisi,
|
||||
isVakifDernek,
|
||||
SetSelectedUser,
|
||||
SetUserSessionData,
|
||||
RemoveUserSessionData,
|
||||
SetUserData,
|
||||
ResetUserData
|
||||
}
|
||||
})
|
||||
142
src/stores/validationStore.ts
Normal file
142
src/stores/validationStore.ts
Normal file
@ -0,0 +1,142 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { reactive } from 'vue'
|
||||
|
||||
export const useValidationStore = defineStore('validationStore', () => {
|
||||
const panelInvalidText = reactive<Record<string, any>>({})
|
||||
const pageInvalidText = reactive<Record<string, any>>({})
|
||||
|
||||
const onlyDel = (e: KeyboardEvent): boolean => {
|
||||
return e.key !== 'Backspace' && e.key !== 'Delete'
|
||||
}
|
||||
const onlyTab = (e: KeyboardEvent): boolean => {
|
||||
return e.key !== 'Tab'
|
||||
}
|
||||
const onlyArrows = (e: KeyboardEvent): boolean => {
|
||||
return e.key !== 'ArrowLeft' && e.key !== 'ArrowRight'
|
||||
}
|
||||
const onlyNumbers = (e: KeyboardEvent): boolean => {
|
||||
return isNaN(Number(e.key))
|
||||
}
|
||||
const onlySpace = (e: KeyboardEvent): boolean => {
|
||||
return e.code === 'Space' || e.key === ' '
|
||||
}
|
||||
const onlyCopyPaste = (e: KeyboardEvent): boolean => {
|
||||
return (
|
||||
(e.ctrlKey && e.key === 'c') ||
|
||||
(e.ctrlKey && e.key === 'C') ||
|
||||
(e.ctrlKey && e.key === 'v') ||
|
||||
(e.ctrlKey && e.key === 'V')
|
||||
)
|
||||
}
|
||||
const onlyLetters = (e: KeyboardEvent): boolean => {
|
||||
return /[a-zA-Z\p{L}]/u.test(e.key)
|
||||
}
|
||||
const allowNumbers = (e: KeyboardEvent) => {
|
||||
if ((onlyNumbers(e) && onlyTab(e)) || onlySpace(e)) e.preventDefault()
|
||||
}
|
||||
const checkOnlyNumber = (s: string): boolean => {
|
||||
return /^\d+$/.test(s)
|
||||
}
|
||||
const checkEmail = (s: string): boolean => {
|
||||
return /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(
|
||||
s
|
||||
)
|
||||
}
|
||||
const checkEmpty = (s: any): boolean => {
|
||||
return s === '' || s === undefined || s === null
|
||||
}
|
||||
const checkMinLength = (s: string, min: number): boolean => {
|
||||
return s.length < min
|
||||
}
|
||||
const allowNumbersWithKeys = (e: KeyboardEvent) => {
|
||||
if (
|
||||
(onlyNumbers(e) &&
|
||||
!onlyCopyPaste(e) &&
|
||||
onlyDel(e) &&
|
||||
onlyArrows(e) &&
|
||||
onlyTab(e)) ||
|
||||
onlySpace(e)
|
||||
)
|
||||
e.preventDefault()
|
||||
}
|
||||
const allowPrice = (e: KeyboardEvent) => {
|
||||
if (
|
||||
(onlyNumbers(e) &&
|
||||
!onlyCopyPaste(e) &&
|
||||
onlyDel(e) &&
|
||||
onlyArrows(e) &&
|
||||
onlyTab(e) &&
|
||||
!/,/.test(e.key)) ||
|
||||
onlySpace(e)
|
||||
)
|
||||
e.preventDefault()
|
||||
}
|
||||
const allowNumbersWithKeysExtra = (e: KeyboardEvent, reg: RegExp) => {
|
||||
if (
|
||||
onlyNumbers(e) &&
|
||||
!onlyCopyPaste(e) &&
|
||||
onlyDel(e) &&
|
||||
onlyArrows(e) &&
|
||||
onlyTab(e) &&
|
||||
!reg.test(e.key)
|
||||
)
|
||||
e.preventDefault()
|
||||
}
|
||||
const allowLettersWithKeys = (e: KeyboardEvent) => {
|
||||
if (
|
||||
(!onlyLetters(e) &&
|
||||
!onlyCopyPaste(e) &&
|
||||
onlyDel(e) &&
|
||||
onlyArrows(e) &&
|
||||
onlyTab(e)) ||
|
||||
onlySpace(e)
|
||||
)
|
||||
e.preventDefault()
|
||||
}
|
||||
const allowLettersWithKeysExtra = (e: KeyboardEvent, reg: RegExp) => {
|
||||
if (
|
||||
!onlyLetters(e) &&
|
||||
!onlyCopyPaste(e) &&
|
||||
onlyDel(e) &&
|
||||
onlyArrows(e) &&
|
||||
onlyTab(e) &&
|
||||
!reg.test(e.key)
|
||||
)
|
||||
e.preventDefault()
|
||||
}
|
||||
const IsFieldEmpty = (
|
||||
formData: Record<string, any>,
|
||||
validData: Record<string, any>,
|
||||
field: string,
|
||||
text: string
|
||||
) => {
|
||||
if (checkEmpty(formData[field])) {
|
||||
validData[field] = text
|
||||
} else {
|
||||
delete validData[field]
|
||||
}
|
||||
}
|
||||
|
||||
return {
|
||||
panelInvalidText,
|
||||
pageInvalidText,
|
||||
onlyDel,
|
||||
onlyTab,
|
||||
onlyArrows,
|
||||
onlyNumbers,
|
||||
onlySpace,
|
||||
onlyCopyPaste,
|
||||
onlyLetters,
|
||||
allowNumbers,
|
||||
checkOnlyNumber,
|
||||
checkEmail,
|
||||
checkEmpty,
|
||||
checkMinLength,
|
||||
allowNumbersWithKeys,
|
||||
allowPrice,
|
||||
allowNumbersWithKeysExtra,
|
||||
allowLettersWithKeys,
|
||||
allowLettersWithKeysExtra,
|
||||
IsFieldEmpty
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user