Merge branch 'develop' into devTee
This commit is contained in:
commit
98e5eaad27
13 changed files with 234 additions and 61 deletions
|
|
@ -53,8 +53,9 @@ const typeSelectPerson = ref<string>("");
|
|||
//รายการระบบที่ต้องการ disable step 3 หรือรองสุดท้าย
|
||||
const displayArray = <string[]>[
|
||||
"REGISTRY_PROFILE",
|
||||
"SYS_RETIREMENT",
|
||||
"SYS_RESIGN",
|
||||
"SYS_LEAVE_LIST",
|
||||
"SYS_LEAVE_EMP",
|
||||
];
|
||||
|
||||
async function fetchCheckState() {
|
||||
|
|
|
|||
|
|
@ -56,7 +56,13 @@ async function fetchOrganizationActive() {
|
|||
const data = await res.data.result;
|
||||
if (data) {
|
||||
await store.fetchDataActive(data);
|
||||
await fetchCheckIslock(data.draftId);
|
||||
// ต้องมี id ของแบบร่างถึงจะเช็ค isLock
|
||||
if (data.draftId) {
|
||||
await fetchCheckIslock(data.draftId);
|
||||
} else {
|
||||
store.isLosck = false;
|
||||
}
|
||||
|
||||
if (data.activeName === null && data.draftName === null) {
|
||||
isStatusData.value = false;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<script setup lang="ts">
|
||||
import { onMounted, ref, reactive, computed } from "vue";
|
||||
import { onMounted, ref, reactive, computed, readonly } from "vue";
|
||||
import { useQuasar } from "quasar";
|
||||
|
||||
import { useRouter, useRoute } from "vue-router";
|
||||
|
|
@ -20,7 +20,9 @@ import DialogUpdateCouple from "@/modules/04_registryPerson/components/Dialog/06
|
|||
const $q = useQuasar();
|
||||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
const typeEmp = ref<string>("");
|
||||
const typeEmp = ref<string>(
|
||||
route.name === "registryNewRequestEditEmpDetail" ? "employee" : ""
|
||||
);
|
||||
const store = useRequestEditStore();
|
||||
const {
|
||||
dialogConfirm,
|
||||
|
|
@ -72,8 +74,6 @@ const isCheckData = computed(() => {
|
|||
/** function fetch ข้อมูลคำร้องแก้ไข*/
|
||||
async function fetchDataRequest() {
|
||||
showLoader();
|
||||
typeEmp.value =
|
||||
route.name === "registryNewRequestEditEmpDetail" ? "employee" : "";
|
||||
await http
|
||||
.get(
|
||||
config.API.requestEditByType(
|
||||
|
|
@ -86,6 +86,7 @@ async function fetchDataRequest() {
|
|||
|
||||
formData.status = data.status;
|
||||
formData.remark = data.remark;
|
||||
|
||||
if (data.status !== "PENDING") {
|
||||
isReadOnly.value = true;
|
||||
} else {
|
||||
|
|
@ -239,8 +240,22 @@ function topicConvert(type: string) {
|
|||
}
|
||||
}
|
||||
|
||||
const isStaff = ref<boolean>(false);
|
||||
function fetchCheckIsofficer() {
|
||||
if (typeEmp.value === "employee") {
|
||||
http
|
||||
.get(config.API.workflowKeycloakSystem("REGISTRY_PROFILE_EMP"))
|
||||
.then((res) => {
|
||||
isStaff.value = res.data.result.isStaff;
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
onMounted(async () => {
|
||||
await fetchDataRequest();
|
||||
await Promise.all([fetchDataRequest(), fetchCheckIsofficer()]);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
|
@ -261,8 +276,14 @@ onMounted(async () => {
|
|||
<q-space />
|
||||
<q-btn
|
||||
v-if="
|
||||
workflowRef?.permission.isUpdate &&
|
||||
topicConvert(dataRequest.topic) !== ''
|
||||
(typeEmp !== 'employee' &&
|
||||
workflowRef?.permission.isUpdate &&
|
||||
topicConvert(dataRequest.topic) !== '' &&
|
||||
!isReadOnly) ||
|
||||
(typeEmp === 'employee' &&
|
||||
isStaff &&
|
||||
topicConvert(dataRequest.topic) !== '' &&
|
||||
!isReadOnly)
|
||||
"
|
||||
color="public"
|
||||
:label="topicConvert(dataRequest.topic)"
|
||||
|
|
@ -413,11 +434,17 @@ onMounted(async () => {
|
|||
<q-select
|
||||
:class="
|
||||
classInput(
|
||||
isReadOnly || !workflowRef?.permission.isUpdate
|
||||
isReadOnly ||
|
||||
(typeEmp === 'employee' && !isStaff) ||
|
||||
(typeEmp !== 'employee' &&
|
||||
!workflowRef?.permission.isUpdate)
|
||||
)
|
||||
"
|
||||
:readonly="
|
||||
isReadOnly || !workflowRef?.permission.isUpdate
|
||||
isReadOnly ||
|
||||
(typeEmp === 'employee' && !isStaff) ||
|
||||
(typeEmp !== 'employee' &&
|
||||
!workflowRef?.permission.isUpdate)
|
||||
"
|
||||
v-model="formData.status"
|
||||
label="สถานะ"
|
||||
|
|
@ -450,11 +477,17 @@ onMounted(async () => {
|
|||
<q-input
|
||||
:class="
|
||||
classInput(
|
||||
isReadOnly || !workflowRef?.permission.isUpdate
|
||||
isReadOnly ||
|
||||
(typeEmp === 'employee' && !isStaff) ||
|
||||
(typeEmp !== 'employee' &&
|
||||
!workflowRef?.permission.isUpdate)
|
||||
)
|
||||
"
|
||||
:readonly="
|
||||
isReadOnly || !workflowRef?.permission.isUpdate
|
||||
isReadOnly ||
|
||||
(typeEmp === 'employee' && !isStaff) ||
|
||||
(typeEmp !== 'employee' &&
|
||||
!workflowRef?.permission.isUpdate)
|
||||
"
|
||||
v-model="formData.remark"
|
||||
label="หมายเหตุ"
|
||||
|
|
@ -467,7 +500,10 @@ onMounted(async () => {
|
|||
|
||||
<div
|
||||
class="row col-12 justify-end"
|
||||
v-if="!isReadOnly && workflowRef?.permission.isUpdate"
|
||||
v-if="
|
||||
(!isReadOnly && workflowRef?.permission.isUpdate) ||
|
||||
(typeEmp === 'employee' && isStaff && !isReadOnly)
|
||||
"
|
||||
>
|
||||
<q-btn label="บันทึก" color="secondary" type="submit"
|
||||
><q-tooltip>บันทึก</q-tooltip></q-btn
|
||||
|
|
|
|||
|
|
@ -351,9 +351,9 @@ onMounted(async () => {
|
|||
:readonly="!edit"
|
||||
:borderless="!edit"
|
||||
:model-value="date !== null ? date2Thai(date) : null"
|
||||
:rules="[(val:string) => !!val || `${'กรุณาเลือกตั้งแต่วัน'}`]"
|
||||
:rules="[(val:string) => !!val || `${'กรุณาเลือกตั้งแต่วันที่'}`]"
|
||||
hide-bottom-space
|
||||
:label="`${'ตั้งแต่วัน'}`"
|
||||
:label="`${'ตั้งแต่วันที่'}`"
|
||||
>
|
||||
<template v-slot:prepend>
|
||||
<q-icon
|
||||
|
|
|
|||
|
|
@ -70,6 +70,8 @@ const dataDetail = ref<any>({
|
|||
status: "",
|
||||
statustext: "",
|
||||
fullname: "",
|
||||
statusMain: "",
|
||||
cancelReason: "",
|
||||
});
|
||||
|
||||
const workflowRef = ref<any>(null);
|
||||
|
|
@ -628,6 +630,18 @@ onMounted(async () => {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="col-xs-12 col-sm-12 row items-start"
|
||||
v-if="dataDetail.statusMain === 'CANCEL'"
|
||||
>
|
||||
<div class="col-12">
|
||||
<div class="col-12 text-top">เหตุผลการขอยกเลิก</div>
|
||||
<div class="col-12 text-detail text-red">
|
||||
{{ dataDetail.cancelReason }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
|
|
@ -744,7 +758,11 @@ onMounted(async () => {
|
|||
<q-space />
|
||||
|
||||
<div
|
||||
v-if="!checkRoutePermisson && workflowRef?.permission.isUpdate"
|
||||
v-if="
|
||||
!checkRoutePermisson &&
|
||||
workflowRef?.permission.isUpdate &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
>
|
||||
<div v-if="!conditions">
|
||||
<q-btn
|
||||
|
|
@ -819,7 +837,9 @@ onMounted(async () => {
|
|||
<div class="col-12 row">
|
||||
<q-file
|
||||
v-if="
|
||||
!checkRoutePermisson && workflowRef?.permission.isUpdate
|
||||
!checkRoutePermisson &&
|
||||
workflowRef?.permission.isUpdate &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
class="col-12"
|
||||
for="#evidenceFiles"
|
||||
|
|
@ -875,8 +895,8 @@ onMounted(async () => {
|
|||
<div>
|
||||
<q-btn
|
||||
v-if="
|
||||
dataDetail.status == 'WAITTING' &&
|
||||
!checkRoutePermisson
|
||||
!checkRoutePermisson &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
dense
|
||||
flat
|
||||
|
|
@ -959,7 +979,8 @@ onMounted(async () => {
|
|||
class="q-gutter-x-sm"
|
||||
v-if="
|
||||
workflowRef?.permission.isUpdate &&
|
||||
dataDetail.commanderReject === null
|
||||
dataDetail.commanderReject === null &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
>
|
||||
<q-btn
|
||||
|
|
@ -1031,7 +1052,8 @@ onMounted(async () => {
|
|||
class="q-gutter-x-sm"
|
||||
v-if="
|
||||
workflowRef?.permission.isUpdate &&
|
||||
dataDetail.oligarchReject === null
|
||||
dataDetail.oligarchReject === null &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
>
|
||||
<q-btn
|
||||
|
|
@ -1106,7 +1128,13 @@ onMounted(async () => {
|
|||
</div>
|
||||
<q-space />
|
||||
|
||||
<div v-if="!checkRoutePermisson && workflowRef?.permission.isUpdate">
|
||||
<div
|
||||
v-if="
|
||||
!checkRoutePermisson &&
|
||||
workflowRef?.permission.isUpdate &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
>
|
||||
<div class="q-gutter-sm" v-if="!edit">
|
||||
<q-btn
|
||||
outline
|
||||
|
|
@ -1335,7 +1363,7 @@ onMounted(async () => {
|
|||
ref="workflowRef"
|
||||
v-model:is-check-data="isCheckData"
|
||||
:id="id"
|
||||
sys-name="SYS_RETIREMENT"
|
||||
sys-name="SYS_RESIGN"
|
||||
/>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ const dataDetail = ref<any>({
|
|||
status: "",
|
||||
statustext: "",
|
||||
fullname: "",
|
||||
statusMain: "",
|
||||
});
|
||||
|
||||
const workflowRef = ref<any>(null);
|
||||
|
|
@ -380,7 +381,8 @@ onMounted(async () => {
|
|||
class="q-gutter-x-sm"
|
||||
v-if="
|
||||
workflowRef?.permission.isUpdate &&
|
||||
dataDetail.commanderReject === null
|
||||
dataDetail.commanderReject === null &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
>
|
||||
<q-btn
|
||||
|
|
@ -453,7 +455,8 @@ onMounted(async () => {
|
|||
class="q-gutter-x-sm"
|
||||
v-if="
|
||||
workflowRef?.permission.isUpdate &&
|
||||
dataDetail.oligarchReject === null
|
||||
dataDetail.oligarchReject === null &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
>
|
||||
<q-btn
|
||||
|
|
|
|||
|
|
@ -282,7 +282,7 @@ watchEffect(() => {
|
|||
|
||||
<DialogCreateCommand
|
||||
v-model:modal="modalCommand"
|
||||
:command-type-code="props.mainTabs === '1' ? 'C-PM-17' : 'C-PM-41'"
|
||||
:command-type-code="props.mainTabs === '1' ? 'C-PM-23' : 'C-PM-42'"
|
||||
:persons="dataMapToSend"
|
||||
/>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -70,6 +70,8 @@ const dataDetail = ref<any>({
|
|||
status: "",
|
||||
statustext: "",
|
||||
fullname: "",
|
||||
statusMain: "",
|
||||
cancelReason: "",
|
||||
});
|
||||
|
||||
const workflowRef = ref<any>(null);
|
||||
|
|
@ -516,10 +518,29 @@ function removeFile(fileName: string) {
|
|||
});
|
||||
}
|
||||
|
||||
const isDirector = ref<boolean>(false);
|
||||
const isStaff = ref<boolean>(false);
|
||||
|
||||
function fetchCheckIsofficer() {
|
||||
http
|
||||
.get(config.API.workflowKeycloakSystem("SYS_RESIGN_EMP"))
|
||||
.then((res) => {
|
||||
isStaff.value = res.data.result.isStaff;
|
||||
isDirector.value = res.data.result.isDirector;
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
});
|
||||
}
|
||||
|
||||
/** Hook */
|
||||
onMounted(async () => {
|
||||
showLoader();
|
||||
await Promise.all([fetchData(id.value), fetchFile()]).finally(() => {
|
||||
await Promise.all([
|
||||
fetchData(id.value),
|
||||
fetchFile(),
|
||||
fetchCheckIsofficer(),
|
||||
]).finally(() => {
|
||||
hideLoader();
|
||||
});
|
||||
});
|
||||
|
|
@ -628,6 +649,18 @@ onMounted(async () => {
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div
|
||||
class="col-xs-12 col-sm-12 row items-start"
|
||||
v-if="dataDetail.statusMain === 'CANCEL'"
|
||||
>
|
||||
<div class="col-12">
|
||||
<div class="col-12 text-top">เหตุผลการขอยกเลิก</div>
|
||||
<div class="col-12 text-detail text-red">
|
||||
{{ dataDetail.cancelReason }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
|
|
@ -742,8 +775,14 @@ onMounted(async () => {
|
|||
เงื่อนไขต่าง ๆ
|
||||
</div>
|
||||
<q-space />
|
||||
<!-- && workflowRef?.permission.isUpdate -->
|
||||
<div v-if="!checkRoutePermisson">
|
||||
|
||||
<div
|
||||
v-if="
|
||||
!checkRoutePermisson &&
|
||||
isStaff &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
>
|
||||
<div v-if="!conditions">
|
||||
<q-btn
|
||||
outline
|
||||
|
|
@ -815,9 +854,12 @@ onMounted(async () => {
|
|||
<div class="col-12"><q-separator /></div>
|
||||
<div class="row col-12 q-col-gutter-y-sm q-pa-sm">
|
||||
<div class="col-12 row">
|
||||
<!-- && workflowRef?.permission.isUpdate -->
|
||||
<q-file
|
||||
v-if="!checkRoutePermisson"
|
||||
v-if="
|
||||
!checkRoutePermisson &&
|
||||
isStaff &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
class="col-12"
|
||||
for="#evidenceFiles"
|
||||
outlined
|
||||
|
|
@ -872,8 +914,9 @@ onMounted(async () => {
|
|||
<div>
|
||||
<q-btn
|
||||
v-if="
|
||||
dataDetail.status == 'WAITTING' &&
|
||||
!checkRoutePermisson
|
||||
!checkRoutePermisson &&
|
||||
isStaff &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
dense
|
||||
flat
|
||||
|
|
@ -955,8 +998,9 @@ onMounted(async () => {
|
|||
<div
|
||||
class="q-gutter-x-sm"
|
||||
v-if="
|
||||
workflowRef?.permission.isUpdate &&
|
||||
dataDetail.commanderReject === null
|
||||
isDirector &&
|
||||
dataDetail.commanderReject === null &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
>
|
||||
<q-btn
|
||||
|
|
@ -1027,8 +1071,9 @@ onMounted(async () => {
|
|||
<div
|
||||
class="q-gutter-x-sm"
|
||||
v-if="
|
||||
workflowRef?.permission.isUpdate &&
|
||||
dataDetail.oligarchReject === null
|
||||
isDirector &&
|
||||
dataDetail.oligarchReject === null &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
>
|
||||
<q-btn
|
||||
|
|
@ -1102,8 +1147,13 @@ onMounted(async () => {
|
|||
แก้ไขข้อมูลเพื่อลงบัญชีแนบท้าย
|
||||
</div>
|
||||
<q-space />
|
||||
<!-- && workflowRef?.permission.isUpdate -->
|
||||
<div v-if="!checkRoutePermisson">
|
||||
<div
|
||||
v-if="
|
||||
!checkRoutePermisson &&
|
||||
isStaff &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
>
|
||||
<div class="q-gutter-sm" v-if="!edit">
|
||||
<q-btn
|
||||
outline
|
||||
|
|
@ -1331,7 +1381,7 @@ onMounted(async () => {
|
|||
ref="workflowRef"
|
||||
v-model:is-check-data="isCheckData"
|
||||
:id="id"
|
||||
sys-name="SYS_RETIREMENT"
|
||||
sys-name="SYS_RESIGN"
|
||||
/> -->
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ const dataDetail = ref<any>({
|
|||
status: "",
|
||||
statustext: "",
|
||||
fullname: "",
|
||||
statusMain: "",
|
||||
});
|
||||
|
||||
const workflowRef = ref<any>(null);
|
||||
|
|
@ -176,7 +177,10 @@ function onSubmit() {
|
|||
reject: !actionPass.value,
|
||||
};
|
||||
await http
|
||||
.put(config.API.resignRejectEMP(`${roleUser.value}-cancel`, id.value), body)
|
||||
.put(
|
||||
config.API.resignRejectEMP(`${roleUser.value}-cancel`, id.value),
|
||||
body
|
||||
)
|
||||
.then(async () => {
|
||||
await fetchData(id.value);
|
||||
closeModal();
|
||||
|
|
@ -255,9 +259,24 @@ function statusOrder(val: boolean) {
|
|||
}
|
||||
}
|
||||
|
||||
const isDirector = ref<boolean>(false);
|
||||
const isStaff = ref<boolean>(false);
|
||||
|
||||
function fetchCheckIsofficer() {
|
||||
http
|
||||
.get(config.API.workflowKeycloakSystem("RETIREMENT_CANCEL_EMP"))
|
||||
.then((res) => {
|
||||
isStaff.value = res.data.result.isStaff;
|
||||
isDirector.value = res.data.result.isDirector;
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
});
|
||||
}
|
||||
|
||||
/** Hook */
|
||||
onMounted(async () => {
|
||||
await fetchData(id.value);
|
||||
await Promise.all([fetchData(id.value), fetchCheckIsofficer()]);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
|
@ -379,8 +398,9 @@ onMounted(async () => {
|
|||
<div
|
||||
class="q-gutter-x-sm"
|
||||
v-if="
|
||||
workflowRef?.permission.isUpdate &&
|
||||
dataDetail.commanderReject === null
|
||||
isDirector &&
|
||||
dataDetail.commanderReject === null &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
>
|
||||
<q-btn
|
||||
|
|
@ -452,8 +472,9 @@ onMounted(async () => {
|
|||
<div
|
||||
class="q-gutter-x-sm"
|
||||
v-if="
|
||||
workflowRef?.permission.isUpdate &&
|
||||
dataDetail.oligarchReject === null
|
||||
isDirector &&
|
||||
dataDetail.oligarchReject === null &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
>
|
||||
<q-btn
|
||||
|
|
@ -528,7 +549,13 @@ onMounted(async () => {
|
|||
</div>
|
||||
<q-space />
|
||||
<!-- && workflowRef?.permission.isUpdate -->
|
||||
<div v-if="!checkRoutePermisson">
|
||||
<div
|
||||
v-if="
|
||||
!checkRoutePermisson &&
|
||||
isStaff &&
|
||||
dataDetail.statusMain === 'WAITTING'
|
||||
"
|
||||
>
|
||||
<div class="q-gutter-sm" v-if="!edit">
|
||||
<q-btn
|
||||
outline
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ export default [
|
|||
component: Main,
|
||||
meta: {
|
||||
Auth: true,
|
||||
Key: "SYS_RETIREMENT",
|
||||
Key: "SYS_RESIGN",
|
||||
Role: "STAFF",
|
||||
},
|
||||
},
|
||||
|
|
@ -60,7 +60,7 @@ export default [
|
|||
component: Listretirement,
|
||||
meta: {
|
||||
Auth: true,
|
||||
Key: "SYS_RETIREMENT",
|
||||
Key: "SYS_RESIGN",
|
||||
Role: "STAFF",
|
||||
},
|
||||
},
|
||||
|
|
@ -70,7 +70,7 @@ export default [
|
|||
component: ListretirementDetail,
|
||||
meta: {
|
||||
Auth: true,
|
||||
Key: "SYS_RETIREMENT",
|
||||
Key: "SYS_RESIGN",
|
||||
Role: "STAFF",
|
||||
},
|
||||
},
|
||||
|
|
@ -80,7 +80,7 @@ export default [
|
|||
component: Listretirement,
|
||||
meta: {
|
||||
Auth: true,
|
||||
Key: "SYS_RETIREMENT",
|
||||
Key: "SYS_RESIGN",
|
||||
Role: "STAFF",
|
||||
},
|
||||
},
|
||||
|
|
@ -141,7 +141,7 @@ export default [
|
|||
component: resign_EMP,
|
||||
meta: {
|
||||
Auth: true,
|
||||
Key: "SYS_RETIREMENT_EMP",
|
||||
Key: "SYS_RESIGN_EMP",
|
||||
Role: "STAFF",
|
||||
},
|
||||
},
|
||||
|
|
@ -172,7 +172,7 @@ export default [
|
|||
component: resignByidEMP,
|
||||
meta: {
|
||||
Auth: true,
|
||||
Key: "SYS_RETIREMENT_EMP",
|
||||
Key: "SYS_RESIGN_EMP",
|
||||
Role: "STAFF",
|
||||
},
|
||||
},
|
||||
|
|
@ -182,7 +182,7 @@ export default [
|
|||
component: resignByidEMP,
|
||||
meta: {
|
||||
Auth: true,
|
||||
Key: "SYS_RETIREMENT_EMP",
|
||||
Key: "SYS_RESIGN_EMP",
|
||||
Role: "STAFF",
|
||||
},
|
||||
},
|
||||
|
|
@ -214,7 +214,7 @@ export default [
|
|||
component: resignRejectEMP,
|
||||
meta: {
|
||||
Auth: true,
|
||||
Key: "SYS_RETIREMENT_EMP",
|
||||
Key: "SYS_RESIGN_EMP",
|
||||
Role: "STAFF",
|
||||
},
|
||||
},
|
||||
|
|
@ -224,7 +224,7 @@ export default [
|
|||
component: resignRejectEMP,
|
||||
meta: {
|
||||
Auth: true,
|
||||
Key: "SYS_RETIREMENT_EMP",
|
||||
Key: "SYS_RESIGN_EMP",
|
||||
Role: "STAFF",
|
||||
},
|
||||
},
|
||||
|
|
|
|||
|
|
@ -121,13 +121,17 @@ const formData = reactive<FremData>({
|
|||
approveStep: "",
|
||||
dear: "",
|
||||
leaveRange: "",
|
||||
profileType: "",
|
||||
});
|
||||
|
||||
const isLoadData = ref<boolean>(false);
|
||||
|
||||
/**
|
||||
* Function fetch รายละเอียดของข้อมูล
|
||||
* @param paramsId รับ ID จาก paramID
|
||||
*/
|
||||
async function fetchDetailLeave(paramsId: string) {
|
||||
isLoadData.value = false;
|
||||
showLoader();
|
||||
await http
|
||||
.get(config.API.leaveListById(paramsId))
|
||||
|
|
@ -264,6 +268,9 @@ async function fetchDetailLeave(paramsId: string) {
|
|||
: "-";
|
||||
formData.approveStep = data.approveStep ? data.approveStep : "-";
|
||||
formData.dear = data.dear ? data.dear : "-";
|
||||
formData.profileType = data.profileType;
|
||||
|
||||
isLoadData.value = true;
|
||||
|
||||
/** ส่งประเภทของการลาไป Function เช็คประเภทการลา*/
|
||||
await fectOptionType();
|
||||
|
|
@ -802,12 +809,16 @@ onMounted(async () => {
|
|||
</div>
|
||||
|
||||
<!-- Workflow -->
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<div class="col-xs-12 col-sm-12" v-if="isLoadData">
|
||||
<WorkFlow
|
||||
ref="workflowRef"
|
||||
:id="paramsId"
|
||||
v-model:is-check-data="isCheckData"
|
||||
sys-name="SYS_LEAVE_LIST"
|
||||
:sys-name="
|
||||
formData.profileType === 'OFFICER'
|
||||
? 'SYS_LEAVE_LIST'
|
||||
: 'SYS_LEAVE_LIST_EMP'
|
||||
"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -147,8 +147,11 @@ const formData = reactive<FremData>({
|
|||
coupleDaySumTotalHistory: "", //ประวัติ ในกรณีลาติดต่อกับครั้งก่อน รวมทั้งนี้ด้วย เป็นเวลา กี่ปี กี่เดือน กี่วัน (ลาติดตามคู่สมรส)
|
||||
approveStep: "",
|
||||
dear: "",
|
||||
profileType: "",
|
||||
});
|
||||
|
||||
const isLoadData = ref<boolean>(false);
|
||||
|
||||
onMounted(async () => {
|
||||
if (paramsId) {
|
||||
showLoader();
|
||||
|
|
@ -192,6 +195,7 @@ async function fetchDetailDeleteLeave(paramsId: string) {
|
|||
}
|
||||
|
||||
async function fetchDetailLeave(paramsId: string) {
|
||||
isLoadData.value = false;
|
||||
await http
|
||||
.get(config.API.leaveListById(paramsId))
|
||||
.then(async (res) => {
|
||||
|
|
@ -275,6 +279,8 @@ async function fetchDetailLeave(paramsId: string) {
|
|||
formData.coupleDaySumTotalHistory = data.coupleDaySumTotalHistory;
|
||||
formData.approveStep = data.approveStep;
|
||||
formData.dear = data.dear ? data.dear : "-";
|
||||
formData.profileType = data.profileType;
|
||||
isLoadData.value = true;
|
||||
await fectOptionType();
|
||||
})
|
||||
.catch((err) => {
|
||||
|
|
@ -708,11 +714,15 @@ async function onClickDownloadFile(id: string, fileName: string, type: string) {
|
|||
</div>
|
||||
|
||||
<!-- Workflow -->
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<div class="col-xs-12 col-sm-12" v-if="isLoadData">
|
||||
<WorkFlow
|
||||
ref="workflowRef"
|
||||
:id="paramsId"
|
||||
sys-name="SYS_LEAVE_LIST"
|
||||
:sys-name="
|
||||
formData.profileType === 'OFFICER'
|
||||
? 'SYS_LEAVE_LIST'
|
||||
: 'SYS_LEAVE_LIST_EMP'
|
||||
"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -90,6 +90,7 @@ interface FremData {
|
|||
approveStep: string;
|
||||
dear: string;
|
||||
leaveRange?: string;
|
||||
profileType: string;
|
||||
}
|
||||
|
||||
export type { ListsData, FremData, QuerySting, DateFilter };
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue