เพิ่มปุ่มไปหน้าการลา และแก้ไข disbled ปุ่มลงเวลาหลังจากคลิกลงเวลา

This commit is contained in:
Warunee Tamkoo 2026-01-21 16:23:25 +07:00
parent e7e5ded4d9
commit 50b9ed9d35
5 changed files with 37 additions and 7 deletions

View file

@ -1,3 +1,4 @@
VITE_API_URI_CONFIG=VITE_API_URI_CONFIG
VITE_URL_SSO=VITE_URL_SSO
VITE_URL_LANDING=VITE_URL_LANDING
VITE_URL_USER=VITE_URL_USER

View file

@ -11,6 +11,7 @@ do
sed -i 's|VITE_API_URI_CONFIG|'${VITE_API_URI_CONFIG}'|g' $file
sed -i 's|VITE_URL_SSO|'${VITE_URL_SSO}'|g' $file
sed -i 's|VITE_URL_LANDING|'${VITE_URL_LANDING}'|g' $file
sed -i 's|VITE_URL_USER|'${VITE_URL_USER}'|g' $file
done

View file

@ -2,7 +2,8 @@ import router from '@/router'
const ACCESS_TOKEN = 'BMAHRISCKI_KEYCLOAK_IDENTITY'
const key_C_Config = {
url_Logout: import.meta.env.VITE_URL_SSO,
urlLogout: import.meta.env.VITE_URL_SSO,
urlUser: import.meta.env.VITE_URL_USER,
}
interface AuthResponse {
@ -31,7 +32,7 @@ async function setCookieSso(val: string, r: AuthResponse) {
async function logout() {
await deleteCookie(ACCESS_TOKEN)
// window.location.href = key_C_Config.url_Logout
// window.location.href = key_C_Config.urlLogout
router.push('/login')
}
@ -97,6 +98,14 @@ async function tokenParsed() {
return JSON.parse(jsonPayload)
}
async function gotoLeavePage() {
const token = await getToken()
if (!token) {
return
}
window.location.href = `${key_C_Config.urlUser}/auth?token=${token}&accessToken=${token}&redirectUrl=${key_C_Config.urlUser}/leave`
}
export {
getCookie,
getToken,
@ -105,4 +114,5 @@ export {
setAuthen,
tokenParsed,
setAuthenCheckin,
gotoLeavePage,
}

View file

@ -31,6 +31,7 @@ const isErr = ref<boolean | null>(null) // ข้อความแจ้งเ
const endTimeAfternoon = ref<string>('12:00:00') //
const isLoadingCheckTime = ref<boolean>(false) //
const disabledBtn = ref<boolean>(false)
/**
* fetch เชคเวลาตองลงเวลาเขาหรอออกงาน
@ -354,6 +355,7 @@ async function confirm() {
mapRef.value?.requestLocationPermission()
return
}
disabledBtn.value = true
showLoader()
const isLocation = workplace.value === 'in-place' //*true , false
const locationName = workplace.value === 'in-place' ? '' : useLocation.value
@ -383,9 +385,11 @@ async function confirm() {
timeChickin.value = timeString
modalTime.value = true
remark.value = ''
disabledBtn.value = false
})
.catch((err) => {
messageError($q, err)
disabledBtn.value = false
})
.finally(() => {
hideLoader()
@ -889,7 +893,7 @@ watch(
push
size="18px"
:class="$q.screen.gt.xs ? 'q-px-md' : 'full-width q-pa-sm'"
:disable="camera && img ? false : true"
:disable="disabledBtn ? true : camera && img ? false : true"
@click="validateForm"
:loading="inQueue"
/>
@ -1004,7 +1008,7 @@ watch(
push
size="18px"
:class="$q.screen.gt.xs ? 'q-px-md' : 'full-width q-pa-sm'"
:disable="camera && img ? false : true"
:disable="disabledBtn ? true : camera && img ? false : true"
@click="validateForm"
:loading="inQueue"
/>

View file

@ -6,7 +6,7 @@ import { useRouter } from 'vue-router'
import http from '@/plugins/http'
import config from '@/app.config'
import avatar from '@/assets/avatar_user.jpg'
import { logout, tokenParsed, getCookie } from '@/plugins/auth'
import { logout, tokenParsed, getCookie, gotoLeavePage } from '@/plugins/auth'
import { useCounterMixin } from '@/stores/mixin'
import { usePrivacyStore } from '@/stores/privacy'
@ -324,6 +324,18 @@ onMounted(async () => {
</div>
</div>
<q-space />
<q-btn
icon="mdi-calendar-account-outline"
unelevated
rounded
dense
flat
color="white"
class="q-mx-md"
@click="gotoLeavePage"
>
<q-tooltip>ไปหนาการลา</q-tooltip>
</q-btn>
<q-btn
icon="history"
unelevated
@ -332,7 +344,9 @@ onMounted(async () => {
flat
color="white"
@click="router.push('/history')"
/>
>
<q-tooltip>ไปหนาประวการลงเวลาฯ</q-tooltip>
</q-btn>
<q-btn round dense flat size="13px" class="q-mx-md">
<q-icon name="notifications" size="24px" color="white" />