เครื่องราช
This commit is contained in:
parent
6642e3f25b
commit
a94bebd6d0
6 changed files with 136 additions and 77 deletions
|
|
@ -45,4 +45,6 @@ export default {
|
||||||
insigniaTypeNewIdOrg: (id: string) => `${insigniaTypeOrg}${id}`,
|
insigniaTypeNewIdOrg: (id: string) => `${insigniaTypeOrg}${id}`,
|
||||||
insigniaNewIdOrg: (id: string) => `${insigniaOrg}${id}`,
|
insigniaNewIdOrg: (id: string) => `${insigniaOrg}${id}`,
|
||||||
insigniaSortOrg: (id: string) => `${insigniaOrg}sort/${id}`,
|
insigniaSortOrg: (id: string) => `${insigniaOrg}sort/${id}`,
|
||||||
|
|
||||||
|
checkIsofficer: `${env.API_URI}/org/workflow/keycloak/isofficer/`,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -255,7 +255,7 @@ const person = ref<any>([]);
|
||||||
/** เช็คสถานนะแสดงปุ่มเพิ่ม*/
|
/** เช็คสถานนะแสดงปุ่มเพิ่ม*/
|
||||||
const checkStatus = computed(() => {
|
const checkStatus = computed(() => {
|
||||||
if (
|
if (
|
||||||
roleDataStore.insignia1Role &&
|
DataStore.isStaff &&
|
||||||
(DataStore.requestStatus == "st1" || DataStore.requestStatus == "st4")
|
(DataStore.requestStatus == "st1" || DataStore.requestStatus == "st4")
|
||||||
) {
|
) {
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -789,8 +789,6 @@ function clearInsigniaFilters(name: string) {
|
||||||
|
|
||||||
/** Hook*/
|
/** Hook*/
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
console.log(DataStore.optionsTypeOc);
|
|
||||||
|
|
||||||
filterOrganizationOP.value = await DataStore.optionsTypeOc;
|
filterOrganizationOP.value = await DataStore.optionsTypeOc;
|
||||||
organization.value = DataStore.typeOc;
|
organization.value = DataStore.typeOc;
|
||||||
|
|
||||||
|
|
@ -806,6 +804,14 @@ onMounted(async () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => DataStore.typeOc,
|
||||||
|
async () => {
|
||||||
|
filterOrganizationOP.value = await DataStore.optionsTypeOc;
|
||||||
|
organization.value = await DataStore.typeOc;
|
||||||
|
}
|
||||||
|
);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -813,7 +819,7 @@ onMounted(async () => {
|
||||||
<div class="row col-12">
|
<div class="row col-12">
|
||||||
<div class="row col-12 q-col-gutter-sm">
|
<div class="row col-12 q-col-gutter-sm">
|
||||||
<q-select
|
<q-select
|
||||||
v-if="roleDataStore.adminRole"
|
v-if="DataStore.isOfficer"
|
||||||
v-model="organization"
|
v-model="organization"
|
||||||
label="หน่วยงาน"
|
label="หน่วยงาน"
|
||||||
dense
|
dense
|
||||||
|
|
@ -869,7 +875,6 @@ onMounted(async () => {
|
||||||
map-options
|
map-options
|
||||||
:options="columns"
|
:options="columns"
|
||||||
option-value="name"
|
option-value="name"
|
||||||
|
|
||||||
style="min-width: 140px"
|
style="min-width: 140px"
|
||||||
class="col-xs-12 col-sm-3 col-md-2"
|
class="col-xs-12 col-sm-3 col-md-2"
|
||||||
/>
|
/>
|
||||||
|
|
@ -877,7 +882,7 @@ onMounted(async () => {
|
||||||
<q-card bordered class="q-pa-sm col-12 bg-grey-1 q-mt-sm">
|
<q-card bordered class="q-pa-sm col-12 bg-grey-1 q-mt-sm">
|
||||||
<div class="row col-12 q-col-gutter-sm">
|
<div class="row col-12 q-col-gutter-sm">
|
||||||
<q-select
|
<q-select
|
||||||
:class="roleDataStore.adminRole ? 'col-1' : 'col-3'"
|
:class="DataStore.isOfficer ? 'col-1' : 'col-3'"
|
||||||
v-model="DataStore.typeinsignia"
|
v-model="DataStore.typeinsignia"
|
||||||
label="ประเภทเครื่องราชฯ ที่ยืนขอ"
|
label="ประเภทเครื่องราชฯ ที่ยืนขอ"
|
||||||
dense
|
dense
|
||||||
|
|
@ -993,7 +998,7 @@ onMounted(async () => {
|
||||||
v-if="
|
v-if="
|
||||||
(DataStore.isLock == false &&
|
(DataStore.isLock == false &&
|
||||||
DataStore.requestStatus == 'st5' &&
|
DataStore.requestStatus == 'st5' &&
|
||||||
roleDataStore.adminRole) ||
|
DataStore.isOfficer) ||
|
||||||
(checkStatus == true && checkPermission($route)?.attrIsCreate)
|
(checkStatus == true && checkPermission($route)?.attrIsCreate)
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
|
|
@ -1041,14 +1046,14 @@ onMounted(async () => {
|
||||||
v-if="
|
v-if="
|
||||||
(DataStore.isLock == false &&
|
(DataStore.isLock == false &&
|
||||||
DataStore.requestStatus == 'st5' &&
|
DataStore.requestStatus == 'st5' &&
|
||||||
roleDataStore.adminRole) ||
|
DataStore.isOfficer) ||
|
||||||
checkStatus == true
|
checkStatus == true
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="
|
v-if="
|
||||||
roleDataStore.adminRole ||
|
DataStore.isOfficer ||
|
||||||
(roleDataStore.insignia1Role &&
|
(DataStore.isStaff &&
|
||||||
(requestStatus == 'st1' || requestStatus == 'st4') &&
|
(requestStatus == 'st1' || requestStatus == 'st4') &&
|
||||||
(checkPermission($route)?.attrIsGet ||
|
(checkPermission($route)?.attrIsGet ||
|
||||||
checkPermission($route)?.attrIsUpdate))
|
checkPermission($route)?.attrIsUpdate))
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted, ref } from "vue";
|
import { onMounted, ref, watch } from "vue";
|
||||||
|
|
||||||
import { checkPermission } from "@/utils/permissions";
|
import { checkPermission } from "@/utils/permissions";
|
||||||
import { useInsigniaDataStore } from "@/modules/07_insignia/store";
|
import { useInsigniaDataStore } from "@/modules/07_insignia/store";
|
||||||
|
|
@ -273,13 +273,21 @@ onMounted(async () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => DataStore.typeOc,
|
||||||
|
async () => {
|
||||||
|
filterOrganizationOP.value = await DataStore.optionsTypeOc;
|
||||||
|
organization.value = await DataStore.typeOc;
|
||||||
|
}
|
||||||
|
);
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
<div class="col-12 row q-pa-md">
|
<div class="col-12 row q-pa-md">
|
||||||
<div class="row col-12">
|
<div class="row col-12">
|
||||||
<div class="row col-12 q-col-gutter-sm">
|
<div class="row col-12 q-col-gutter-sm">
|
||||||
<q-select
|
<q-select
|
||||||
v-if="roleDataStore.adminRole"
|
v-if="DataStore.isOfficer"
|
||||||
v-model="organization"
|
v-model="organization"
|
||||||
label="หน่วยงาน"
|
label="หน่วยงาน"
|
||||||
dense
|
dense
|
||||||
|
|
@ -335,7 +343,6 @@ onMounted(async () => {
|
||||||
map-options
|
map-options
|
||||||
:options="columns"
|
:options="columns"
|
||||||
option-value="name"
|
option-value="name"
|
||||||
|
|
||||||
style="min-width: 140px"
|
style="min-width: 140px"
|
||||||
class="col-xs-12 col-sm-3 col-md-2"
|
class="col-xs-12 col-sm-3 col-md-2"
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted, ref } from "vue";
|
import { onMounted, ref, watch } from "vue";
|
||||||
|
|
||||||
import { checkPermission } from "@/utils/permissions";
|
import { checkPermission } from "@/utils/permissions";
|
||||||
import { useInsigniaDataStore } from "@/modules/07_insignia/store";
|
import { useInsigniaDataStore } from "@/modules/07_insignia/store";
|
||||||
|
|
@ -273,6 +273,14 @@ onMounted(async () => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
watch(
|
||||||
|
() => DataStore.typeOc,
|
||||||
|
async () => {
|
||||||
|
filterOrganizationOP.value = await DataStore.optionsTypeOc;
|
||||||
|
organization.value = await DataStore.typeOc;
|
||||||
|
}
|
||||||
|
);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -280,7 +288,7 @@ onMounted(async () => {
|
||||||
<div class="row col-12">
|
<div class="row col-12">
|
||||||
<div class="row col-12 q-col-gutter-sm">
|
<div class="row col-12 q-col-gutter-sm">
|
||||||
<q-select
|
<q-select
|
||||||
v-if="roleDataStore.adminRole"
|
v-if="DataStore.isOfficer"
|
||||||
v-model="organization"
|
v-model="organization"
|
||||||
label="หน่วยงาน"
|
label="หน่วยงาน"
|
||||||
dense
|
dense
|
||||||
|
|
@ -336,7 +344,6 @@ onMounted(async () => {
|
||||||
map-options
|
map-options
|
||||||
:options="columns"
|
:options="columns"
|
||||||
option-value="name"
|
option-value="name"
|
||||||
|
|
||||||
style="min-width: 140px"
|
style="min-width: 140px"
|
||||||
class="col-xs-12 col-sm-3 col-md-2"
|
class="col-xs-12 col-sm-3 col-md-2"
|
||||||
/>
|
/>
|
||||||
|
|
|
||||||
|
|
@ -31,6 +31,10 @@ export const useInsigniaDataStore = defineStore("insignia", () => {
|
||||||
{ name: "ลูกจ้างประจำ", id: "perm" },
|
{ name: "ลูกจ้างประจำ", id: "perm" },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
const isOfficer = ref<boolean>(false);
|
||||||
|
const isStaff = ref<boolean>(false);
|
||||||
|
const isDirector = ref<boolean>(false);
|
||||||
|
|
||||||
/** option รายงาน */
|
/** option รายงาน */
|
||||||
const optionReport = ref<OptionReport[]>([
|
const optionReport = ref<OptionReport[]>([
|
||||||
{
|
{
|
||||||
|
|
@ -48,7 +52,6 @@ export const useInsigniaDataStore = defineStore("insignia", () => {
|
||||||
* @param data ข้อมูลรายชื่อข้าราชการสามัญ
|
* @param data ข้อมูลรายชื่อข้าราชการสามัญ
|
||||||
*/
|
*/
|
||||||
async function fetchData(data: any) {
|
async function fetchData(data: any) {
|
||||||
|
|
||||||
if (data !== null) {
|
if (data !== null) {
|
||||||
let datalist = await data.map((e: any) => ({
|
let datalist = await data.map((e: any) => ({
|
||||||
id: e.id,
|
id: e.id,
|
||||||
|
|
@ -252,5 +255,8 @@ export const useInsigniaDataStore = defineStore("insignia", () => {
|
||||||
optionReport,
|
optionReport,
|
||||||
convertStatus,
|
convertStatus,
|
||||||
dataInsigniaType,
|
dataInsigniaType,
|
||||||
|
isStaff,
|
||||||
|
isOfficer,
|
||||||
|
isDirector,
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { onMounted, ref } from "vue";
|
import { onMounted, onUnmounted, ref } from "vue";
|
||||||
import { useQuasar } from "quasar";
|
import { useQuasar } from "quasar";
|
||||||
|
|
||||||
import { useRoute } from "vue-router";
|
import { useRoute } from "vue-router";
|
||||||
|
|
@ -77,25 +77,25 @@ async function fecthlistRound() {
|
||||||
|
|
||||||
//มีรอบการเสนอขอพระราชทานเครื่องแสดง UI
|
//มีรอบการเสนอขอพระราชทานเครื่องแสดง UI
|
||||||
if (optionRound.value.length !== 0) {
|
if (optionRound.value.length !== 0) {
|
||||||
DataStore.optionRound = optionRound.value;
|
// DataStore.optionRound = optionRound.value;
|
||||||
const lastValue = optionRound.value[0];
|
// const lastValue = optionRound.value[0];
|
||||||
await fetchListOrg(lastValue.period_revision);
|
// await fetchListOrg(lastValue.period_revision);
|
||||||
await fecthAgency(lastValue.period_revision);
|
// await fecthAgency(lastValue.period_revision);
|
||||||
if (DataStore.roundId) {
|
// if (DataStore.roundId) {
|
||||||
round.value = DataStore.roundId; // รอบการเสนอให้ใช้รอบที่เลือก
|
// round.value = DataStore.roundId; // รอบการเสนอให้ใช้รอบที่เลือก
|
||||||
} else {
|
// } else {
|
||||||
round.value = lastValue.id.toString(); // รอบการเสนอให้ใช้รอบล่าสุด
|
// round.value = lastValue.id.toString(); // รอบการเสนอให้ใช้รอบล่าสุด
|
||||||
}
|
// }
|
||||||
await fecthStat(round.value);
|
// // await fecthStat(round.value);
|
||||||
DataStore.roundId = round.value;
|
// DataStore.roundId = round.value;
|
||||||
roundName.value = lastValue.name;
|
// roundName.value = lastValue.name;
|
||||||
loadview.value = true;
|
loadview.value = true;
|
||||||
} else {
|
|
||||||
hideLoader();
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
messageError($q, err);
|
messageError($q, err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
hideLoader();
|
hideLoader();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -104,14 +104,16 @@ async function fecthlistRound() {
|
||||||
* function เรียกดู Stat ของรอบการเสนอขอพระราชทานเครื่อง
|
* function เรียกดู Stat ของรอบการเสนอขอพระราชทานเครื่อง
|
||||||
*/
|
*/
|
||||||
async function fecthStat(id: string) {
|
async function fecthStat(id: string) {
|
||||||
await http
|
if (DataStore.isOfficer) {
|
||||||
.get(config.API.insigniaDashboard(id))
|
await http
|
||||||
.then((res) => {
|
.get(config.API.insigniaDashboard(id))
|
||||||
stat.value = res.data.result;
|
.then((res) => {
|
||||||
})
|
stat.value = res.data.result;
|
||||||
.catch((err) => {
|
})
|
||||||
messageError($q, err);
|
.catch((err) => {
|
||||||
});
|
messageError($q, err);
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -119,24 +121,26 @@ async function fecthStat(id: string) {
|
||||||
* @param id โครงสร้างปัจจุบัน
|
* @param id โครงสร้างปัจจุบัน
|
||||||
*/
|
*/
|
||||||
async function fetchListOrg(id: string) {
|
async function fetchListOrg(id: string) {
|
||||||
await http
|
if (DataStore.isOfficer) {
|
||||||
.get(config.API.orgByIdSystemRoot(id, route.meta.Key as string))
|
await http
|
||||||
.then(async (res) => {
|
.get(config.API.orgByIdSystemRoot(id, route.meta.Key as string))
|
||||||
const data = res.data.result;
|
.then(async (res) => {
|
||||||
if (data.length !== 0) {
|
const data = res.data.result;
|
||||||
optiontypeOc.value = await res.data.result.map(
|
if (data.length !== 0) {
|
||||||
(item: DataStructureTree) => ({
|
optiontypeOc.value = await res.data.result.map(
|
||||||
id: item.orgTreeId,
|
(item: DataStructureTree) => ({
|
||||||
name: item.orgName,
|
id: item.orgTreeId,
|
||||||
})
|
name: item.orgName,
|
||||||
);
|
})
|
||||||
|
);
|
||||||
|
|
||||||
await DataStore.fetchOption(optiontypeOc.value); //ค่าของหน่วยงานทั้งหมดไว้ที่ DataStore
|
await DataStore.fetchOption(optiontypeOc.value); //ค่าของหน่วยงานทั้งหมดไว้ที่ DataStore
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
messageError($q, err);
|
messageError($q, err);
|
||||||
});
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -175,6 +179,20 @@ async function fecthInsignia() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function fetchCheckIsofficer() {
|
||||||
|
http
|
||||||
|
.get(config.API.checkIsofficer + `SYS_INSIGNIA_MANAGE`)
|
||||||
|
.then((res) => {
|
||||||
|
const data = res.data.result;
|
||||||
|
DataStore.isStaff = data.isStaff;
|
||||||
|
DataStore.isOfficer = data.isOfficer;
|
||||||
|
DataStore.isDirector = data.isDirector;
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
messageError($q, err);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* function เปลี่ยนรอบการแสดง
|
* function เปลี่ยนรอบการแสดง
|
||||||
*/
|
*/
|
||||||
|
|
@ -433,7 +451,11 @@ async function uploadFile(event: any) {
|
||||||
*/
|
*/
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
tab.value = DataStore.mainTab ?? "";
|
tab.value = DataStore.mainTab ?? "";
|
||||||
await Promise.all([fecthlistRound(), fecthInsignia(), fecthInsignia()]);
|
await Promise.all([fecthlistRound(), fecthInsignia(), fetchCheckIsofficer()]);
|
||||||
|
});
|
||||||
|
|
||||||
|
onUnmounted(() => {
|
||||||
|
DataStore.typeOc = "";
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
@ -441,7 +463,14 @@ onMounted(async () => {
|
||||||
<div class="toptitle text-dark col-12 row items-center">
|
<div class="toptitle text-dark col-12 row items-center">
|
||||||
รายชื่อข้าราชการสามัญฯ ที่มีสิทธิ์ยื่นขอพระราชทานเครื่องราชอิสริยาภรณ์
|
รายชื่อข้าราชการสามัญฯ ที่มีสิทธิ์ยื่นขอพระราชทานเครื่องราชอิสริยาภรณ์
|
||||||
</div>
|
</div>
|
||||||
<q-card bordered class="row col-12 q-mt-sm" v-if="loadview">
|
<q-card
|
||||||
|
bordered
|
||||||
|
class="row col-12 q-mt-sm"
|
||||||
|
v-if="
|
||||||
|
loadview &&
|
||||||
|
(DataStore.isDirector || DataStore.isOfficer || DataStore.isStaff)
|
||||||
|
"
|
||||||
|
>
|
||||||
<div class="row col-12 items-center bg-grey-1">
|
<div class="row col-12 items-center bg-grey-1">
|
||||||
<div class="q-pl-md q-pr-sm text-weight-medium text-grey-7">รอบ</div>
|
<div class="q-pl-md q-pr-sm text-weight-medium text-grey-7">รอบ</div>
|
||||||
<q-select
|
<q-select
|
||||||
|
|
@ -458,10 +487,9 @@ onMounted(async () => {
|
||||||
|
|
||||||
<q-space />
|
<q-space />
|
||||||
<!-- สกจ. Freez ข้อมูล -->
|
<!-- สกจ. Freez ข้อมูล -->
|
||||||
|
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="
|
v-if="
|
||||||
roleDataStore.adminRole &&
|
DataStore.isOfficer &&
|
||||||
DataStore.isLock !== true &&
|
DataStore.isLock !== true &&
|
||||||
hideBottom &&
|
hideBottom &&
|
||||||
checkPermission($route)?.attrIsUpdate
|
checkPermission($route)?.attrIsUpdate
|
||||||
|
|
@ -477,7 +505,7 @@ onMounted(async () => {
|
||||||
</q-btn>
|
</q-btn>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12"><q-separator /></div>
|
<div class="col-12"><q-separator /></div>
|
||||||
<div v-if="roleDataStore.adminRole" class="col-12 row bg-white">
|
<div v-if="DataStore.isOfficer" class="col-12 row bg-white">
|
||||||
<div class="fit q-px-md q-py-sm">
|
<div class="fit q-px-md q-py-sm">
|
||||||
<div class="row col-12 q-col-gutter-sm fit">
|
<div class="row col-12 q-col-gutter-sm fit">
|
||||||
<!-- stat -->
|
<!-- stat -->
|
||||||
|
|
@ -514,11 +542,19 @@ onMounted(async () => {
|
||||||
</div>
|
</div>
|
||||||
</q-card>
|
</q-card>
|
||||||
|
|
||||||
<q-card flat bordered class="col-12 q-mt-sm" v-if="loadview">
|
<q-card
|
||||||
|
flat
|
||||||
|
bordered
|
||||||
|
class="col-12 q-mt-sm"
|
||||||
|
v-if="
|
||||||
|
loadview &&
|
||||||
|
(DataStore.isDirector || DataStore.isOfficer || DataStore.isStaff)
|
||||||
|
"
|
||||||
|
>
|
||||||
<div
|
<div
|
||||||
v-if="
|
v-if="
|
||||||
(roleDataStore.insignia1Role && requestStatus == 'st4') ||
|
(DataStore.isStaff && requestStatus == 'st4') ||
|
||||||
(roleDataStore.insignia2Role && requestStatus == 'st5')
|
(DataStore.isDirector && requestStatus == 'st5')
|
||||||
"
|
"
|
||||||
class="q-pa-md q-gutter-sm"
|
class="q-pa-md q-gutter-sm"
|
||||||
>
|
>
|
||||||
|
|
@ -545,7 +581,7 @@ onMounted(async () => {
|
||||||
<q-tab name="reject" label="คนที่ไม่ยื่นขอ" />
|
<q-tab name="reject" label="คนที่ไม่ยื่นขอ" />
|
||||||
<q-tab name="delete" label="คนที่ถูกลบออก" />
|
<q-tab name="delete" label="คนที่ถูกลบออก" />
|
||||||
<q-tab
|
<q-tab
|
||||||
v-if="roleDataStore.adminRole"
|
v-if="DataStore.isOfficer"
|
||||||
name="organization"
|
name="organization"
|
||||||
label="หน่วยงานที่ยังไม่ได้ส่งรายชื่อ"
|
label="หน่วยงานที่ยังไม่ได้ส่งรายชื่อ"
|
||||||
/>
|
/>
|
||||||
|
|
@ -585,7 +621,7 @@ onMounted(async () => {
|
||||||
|
|
||||||
<!-- แทบหน่วยงานที่ยังไม่ได้ส่งรายชื่อ -->
|
<!-- แทบหน่วยงานที่ยังไม่ได้ส่งรายชื่อ -->
|
||||||
<q-tab-panel
|
<q-tab-panel
|
||||||
v-if="roleDataStore.adminRole"
|
v-if="DataStore.isOfficer"
|
||||||
name="organization"
|
name="organization"
|
||||||
class="q-pa-none"
|
class="q-pa-none"
|
||||||
>
|
>
|
||||||
|
|
@ -595,9 +631,7 @@ onMounted(async () => {
|
||||||
|
|
||||||
<q-toolbar class="q-py-md text-right">
|
<q-toolbar class="q-py-md text-right">
|
||||||
<q-file
|
<q-file
|
||||||
v-if="
|
v-if="DataStore.isStaff && checkPermission($route)?.attrIsUpdate"
|
||||||
roleDataStore.insignia1Role && checkPermission($route)?.attrIsUpdate
|
|
||||||
"
|
|
||||||
bg-color="white"
|
bg-color="white"
|
||||||
clearable
|
clearable
|
||||||
outlined
|
outlined
|
||||||
|
|
@ -628,9 +662,7 @@ onMounted(async () => {
|
||||||
flat
|
flat
|
||||||
round
|
round
|
||||||
color="primary"
|
color="primary"
|
||||||
v-if="
|
v-if="DataStore.isStaff && checkPermission($route)?.attrIsGet"
|
||||||
roleDataStore.insignia1Role && checkPermission($route)?.attrIsGet
|
|
||||||
"
|
|
||||||
:href="document"
|
:href="document"
|
||||||
target="_blank"
|
target="_blank"
|
||||||
>
|
>
|
||||||
|
|
@ -651,7 +683,7 @@ onMounted(async () => {
|
||||||
<q-space />
|
<q-space />
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="
|
v-if="
|
||||||
roleDataStore.insignia1Role &&
|
DataStore.isStaff &&
|
||||||
(requestStatus == 'st1' || requestStatus == 'st4') &&
|
(requestStatus == 'st1' || requestStatus == 'st4') &&
|
||||||
checkPermission($route)?.attrIsUpdate
|
checkPermission($route)?.attrIsUpdate
|
||||||
"
|
"
|
||||||
|
|
@ -664,7 +696,7 @@ onMounted(async () => {
|
||||||
/>
|
/>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="
|
v-if="
|
||||||
roleDataStore.insignia2Role &&
|
DataStore.isDirector &&
|
||||||
(requestStatus == 'st3' || requestStatus == 'st5') &&
|
(requestStatus == 'st3' || requestStatus == 'st5') &&
|
||||||
checkPermission($route)?.attrIsUpdate
|
checkPermission($route)?.attrIsUpdate
|
||||||
"
|
"
|
||||||
|
|
@ -677,7 +709,7 @@ onMounted(async () => {
|
||||||
/>
|
/>
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="
|
v-if="
|
||||||
roleDataStore.insignia2Role &&
|
DataStore.isDirector &&
|
||||||
requestStatus == 'st3' &&
|
requestStatus == 'st3' &&
|
||||||
checkPermission($route)?.attrIsUpdate
|
checkPermission($route)?.attrIsUpdate
|
||||||
"
|
"
|
||||||
|
|
@ -691,7 +723,7 @@ onMounted(async () => {
|
||||||
<q-btn
|
<q-btn
|
||||||
v-if="
|
v-if="
|
||||||
requestStatus == 'st6' &&
|
requestStatus == 'st6' &&
|
||||||
roleDataStore.adminRole &&
|
DataStore.isOfficer &&
|
||||||
!DataStore.isLock &&
|
!DataStore.isLock &&
|
||||||
checkPermission($route)?.attrIsUpdate
|
checkPermission($route)?.attrIsUpdate
|
||||||
"
|
"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue