refactor code & fixed location
This commit is contained in:
parent
41c1aa8e45
commit
487a6b520e
23 changed files with 566 additions and 145 deletions
|
|
@ -8,7 +8,7 @@ const mixin = useCounterMixin()
|
|||
const { date2Thai } = mixin
|
||||
|
||||
/** store for checkin history*/
|
||||
export const useChekIn = defineStore('checkin', () => {
|
||||
export const useCheckIn = defineStore('checkin', () => {
|
||||
const year = ref<number>(calculateFiscalYear(new Date())) //ปีงบประมาณ
|
||||
const rows = ref<Datalist[]>([])
|
||||
const tab = ref<string>('history')
|
||||
|
|
@ -1,65 +1,66 @@
|
|||
import { ref } from 'vue'
|
||||
import { defineStore } from 'pinia'
|
||||
import type { KeycloakPosition } from '@/interface/keycloak-position'
|
||||
|
||||
export const usePositionKeycloakStore = defineStore('positionKeycloak', () => {
|
||||
const menuData = ref<string[]>([
|
||||
'ลงเวลาปฏิบัติงาน',
|
||||
'ประวัติการลงเวลา',
|
||||
'รายการลงเวลากรณีพิเศษ',
|
||||
])
|
||||
const dataPositionKeycloak = ref<any>(null)
|
||||
export const usePositionKeycloakStore = defineStore(
|
||||
'positionKeycloak',
|
||||
() => {
|
||||
const menuData = ref<string[]>([
|
||||
'ลงเวลาปฏิบัติงาน',
|
||||
'ประวัติการลงเวลา',
|
||||
'รายการลงเวลากรณีพิเศษ',
|
||||
])
|
||||
const dataPositionKeycloak = ref<KeycloakPosition | null>(null)
|
||||
|
||||
function setPositionKeycloak(data: any) {
|
||||
dataPositionKeycloak.value = data
|
||||
}
|
||||
|
||||
function findOrgName(obj: any) {
|
||||
if (obj) {
|
||||
let name =
|
||||
obj.child4 != null &&
|
||||
obj.child4 !== '' &&
|
||||
obj.child3 != null &&
|
||||
obj.child3 !== ''
|
||||
? obj.child4 + (obj.child3 ? '/' : '')
|
||||
: obj.child4 != null && obj.child4 !== ''
|
||||
? obj.child4
|
||||
: ''
|
||||
|
||||
name +=
|
||||
obj.child3 != null &&
|
||||
obj.child3 !== '' &&
|
||||
obj.child2 != null &&
|
||||
obj.child2 !== ''
|
||||
? obj.child3 + (obj.child2 ? '/' : '')
|
||||
: obj.child3 != null && obj.child3 !== ''
|
||||
? obj.child3
|
||||
: ''
|
||||
|
||||
name +=
|
||||
obj.child2 != null &&
|
||||
obj.child2 !== '' &&
|
||||
obj.child1 != null &&
|
||||
obj.child1 !== ''
|
||||
? obj.child2 + (obj.child1 ? '/' : '')
|
||||
: obj.child2 != null && obj.child2 !== ''
|
||||
? obj.child2
|
||||
: ''
|
||||
|
||||
name +=
|
||||
obj.child1 != null &&
|
||||
obj.child1 !== '' &&
|
||||
obj.root != null &&
|
||||
obj.root !== ''
|
||||
? obj.child1 + (obj.root ? '/' : '')
|
||||
: obj.child1 != null && obj.child1 !== ''
|
||||
? obj.child1
|
||||
: ''
|
||||
name += obj.root != null && obj.root !== '' ? obj.root : ''
|
||||
return name == '' ? '-' : name
|
||||
} else {
|
||||
return ''
|
||||
function setPositionKeycloak(data: KeycloakPosition) {
|
||||
dataPositionKeycloak.value = data
|
||||
}
|
||||
}
|
||||
|
||||
return { setPositionKeycloak, dataPositionKeycloak, findOrgName, menuData }
|
||||
})
|
||||
/**
|
||||
* ล้างข้อมูล Keycloak position (ใช้เมื่อ logout)
|
||||
*/
|
||||
function clearPositionKeycloak() {
|
||||
dataPositionKeycloak.value = null
|
||||
// ลบ localStorage ด้วยเพื่อให้แน่ใจว่าข้อมูลหายจริง
|
||||
localStorage.removeItem('positionKeycloak')
|
||||
}
|
||||
|
||||
/**
|
||||
* สร้างชื่อหน่วยงานจากข้อมูลลำดับชั้นองค์กร
|
||||
* @param obj ข้อมูลองค์กรที่มีโครงสร้าง child4 -> child3 -> child2 -> child1 -> root
|
||||
* @returns ชื่อหน่วยงานในรูปแบบ string เชื่อมด้วย /
|
||||
*/
|
||||
function findOrgName(obj: KeycloakPosition | null): string {
|
||||
if (!obj?.organization) {
|
||||
return ''
|
||||
}
|
||||
|
||||
const org = obj.organization
|
||||
const levels = ['child4', 'child3', 'child2', 'child1', 'root'] as const
|
||||
const parts: string[] = []
|
||||
|
||||
for (const level of levels) {
|
||||
const value = org[level]
|
||||
if (value) {
|
||||
parts.push(value)
|
||||
}
|
||||
}
|
||||
|
||||
return parts.length > 0 ? parts.join('/') : '-'
|
||||
}
|
||||
|
||||
return {
|
||||
setPositionKeycloak,
|
||||
clearPositionKeycloak,
|
||||
dataPositionKeycloak,
|
||||
findOrgName,
|
||||
menuData,
|
||||
}
|
||||
},
|
||||
{
|
||||
persist: {
|
||||
key: 'positionKeycloak',
|
||||
storage: localStorage, // ใช้ localStorage เพื่อให้ข้อมูลอยู่ถาวร
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue