workflow => ขอลา
This commit is contained in:
parent
f0ba8506ee
commit
7914b60af4
2 changed files with 122 additions and 75 deletions
|
|
@ -37,12 +37,12 @@ const dataUserComment = ref<any>();
|
|||
const isPermission = ref<boolean>(true); //การเข้าถึง Workflow
|
||||
const permission = ref<Permission>({
|
||||
isChangeState: false, //ส่งไปยังผู้บังคับบัญชา/ผู้มีอำนาจ
|
||||
isOperate: false, //เปลี่ยนสถานะ (state) เอกสารได้
|
||||
isOperate: false, //เปลี่ยนสถานะ (state) เอกสารได้ ผู้บังคับบัญชา
|
||||
isView: false, //ดูเอกสารได้
|
||||
isUpdate: false, //แก้ไขเอกสารได้
|
||||
isDelete: false, //ลบเอกสารได้ (ถ้ามี)
|
||||
isCancel: false, //ลบเอกสารได้ (ถ้ามี)
|
||||
isSign: false,
|
||||
isSign: false, //ผู้มีอำนาจ
|
||||
});
|
||||
const itemState = ref<DataListState[]>([]);
|
||||
|
||||
|
|
@ -50,8 +50,12 @@ const modalSelectPerson = ref<boolean>(false);
|
|||
const modalApprove = ref<boolean>(false);
|
||||
const typeSelectPerson = ref<string>("");
|
||||
|
||||
//รายการระบบที่ต้องการ disable step 3
|
||||
const displayArray = <string[]>["REGISTRY_PROFILE"];
|
||||
//รายการระบบที่ต้องการ disable step 3 หรือรองสุดท้าย
|
||||
const displayArray = <string[]>[
|
||||
"REGISTRY_PROFILE",
|
||||
"RETIREMENT_RESIFNATION",
|
||||
"LEAVE_LIST",
|
||||
];
|
||||
|
||||
async function fetchCheckState() {
|
||||
await http
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<script setup lang="ts">
|
||||
import { ref, reactive, onMounted } from "vue";
|
||||
import { ref, reactive, onMounted, computed } from "vue";
|
||||
import { useRoute, useRouter } from "vue-router";
|
||||
import { useQuasar } from "quasar";
|
||||
|
||||
|
|
@ -45,7 +45,7 @@ const stores = useLeavelistDataStore();
|
|||
const router = useRouter();
|
||||
const route = useRoute();
|
||||
const paramsId = route.params.id.toString();
|
||||
|
||||
const workflowRef = ref<any>(null);
|
||||
const modalApprove = ref(false);
|
||||
const typeDocx = ref<string>("docx");
|
||||
const typePdf = ref<string>("pdf");
|
||||
|
|
@ -329,45 +329,31 @@ function checkLeaveType(leaveTypeId: string, formData: FremData) {
|
|||
}
|
||||
|
||||
/** Function dialog*/
|
||||
// async function openModal(data: string) {
|
||||
// if (data === "approve") {
|
||||
// modalApprove.value = true;
|
||||
// dialogTitle.value = "อนุมัติ";
|
||||
// }
|
||||
// if (data === "UnApprove") {
|
||||
// modalApprove.value = true;
|
||||
// dialogTitle.value = "ไม่อนุมัติ";
|
||||
// }
|
||||
// if (data === "authority") {
|
||||
// modalApprove.value = true;
|
||||
// dialogTitle.value = "ส่งไปยังผู้มีอำนาจ";
|
||||
// dialogLabel.value = "ความคิดเห็น";
|
||||
// }
|
||||
// }
|
||||
async function openModal(data: string) {
|
||||
if (data === "approve") {
|
||||
modalApprove.value = true;
|
||||
dialogTitle.value = "อนุมัติ";
|
||||
}
|
||||
if (data === "UnApprove") {
|
||||
modalApprove.value = true;
|
||||
dialogTitle.value = "ไม่อนุมัติ";
|
||||
}
|
||||
if (data === "authority") {
|
||||
modalApprove.value = true;
|
||||
dialogTitle.value = "ความคิดเห็นของผู้บังคับบัญชา";
|
||||
dialogLabel.value = "ความคิดเห็น";
|
||||
}
|
||||
}
|
||||
|
||||
/** function ส่งไปผู้บังคับบัญชา*/
|
||||
// function sendToCommand() {
|
||||
// dialogConfirm(
|
||||
// $q,
|
||||
// async () => {
|
||||
// showLoader();
|
||||
// await http
|
||||
// .get(config.API.leaveApproveToComander(formData.id))
|
||||
// .then(async () => {
|
||||
// await fetchDetailLeave(paramsId);
|
||||
// success($q, "บันทึกข้อมูลสำเร็จ");
|
||||
// })
|
||||
// .catch((err) => {
|
||||
// messageError($q, err);
|
||||
// })
|
||||
// .finally(async () => {
|
||||
// hideLoader();
|
||||
// });
|
||||
// },
|
||||
// "ยืนยันการส่งไปผู้บังคับบัญชา",
|
||||
// "ต้องการยืนยันการส่งไปผู้บังคับบัญชานี้ใช่หรือไม่ ?"
|
||||
// );
|
||||
// }
|
||||
function sendToCommand() {
|
||||
dialogConfirm(
|
||||
$q,
|
||||
async () => {},
|
||||
"ยืนยันการส่งไปผู้บังคับบัญชา",
|
||||
"ต้องการยืนยันการส่งไปผู้บังคับบัญชานี้ใช่หรือไม่ ?"
|
||||
);
|
||||
}
|
||||
|
||||
/** Function Save */
|
||||
function clickSave(reason: string) {
|
||||
|
|
@ -422,17 +408,27 @@ function clickSave(reason: string) {
|
|||
"ต้องการยืนยันไม่อนุมัติใช่หรือไม่ ?"
|
||||
);
|
||||
}
|
||||
if (dialogTitle.value === "ส่งไปยังผู้มีอำนาจ") {
|
||||
if (dialogTitle.value === "ความคิดเห็นของผู้บังคับบัญชา") {
|
||||
dialogConfirm(
|
||||
$q,
|
||||
async () => {
|
||||
showLoader();
|
||||
await http
|
||||
.put(config.API.leaveComanderApprove(formData.id), body)
|
||||
.get(config.API.leaveApproveToComander(formData.id))
|
||||
.then(async () => {
|
||||
await fetchDetailLeave(paramsId);
|
||||
success($q, "บันทึกข้อมูลสำเร็จ");
|
||||
modalApprove.value = false;
|
||||
await http
|
||||
.put(config.API.leaveComanderApprove(formData.id), body)
|
||||
.then(async () => {
|
||||
await fetchDetailLeave(paramsId);
|
||||
success($q, "บันทึกข้อมูลสำเร็จ");
|
||||
modalApprove.value = false;
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
})
|
||||
.finally(async () => {
|
||||
hideLoader();
|
||||
});
|
||||
})
|
||||
.catch((err) => {
|
||||
messageError($q, err);
|
||||
|
|
@ -441,8 +437,8 @@ function clickSave(reason: string) {
|
|||
hideLoader();
|
||||
});
|
||||
},
|
||||
"ยืนยันการส่งไปยังผู้มีอำนาจ",
|
||||
"ต้องการยืนยันการส่งไปยังผู้มีอำนาจใช่หรือไม่ ?"
|
||||
"ยืนยันการแสดงความคิดเห็นของผู้บังคับบัญชา",
|
||||
"ต้องการยืนยันการแสดงความคิดเห็นของผู้บังคับบัญชานี้ใช่หรือไม่ ?"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
@ -467,6 +463,12 @@ function formattedNumber(x: number) {
|
|||
return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
||||
}
|
||||
|
||||
const isCheckData = computed(() => {
|
||||
if (formData.reasonCommander !== "-" && formData.reasonOligarch !== "-") {
|
||||
return true;
|
||||
} else return false;
|
||||
});
|
||||
|
||||
onMounted(async () => {
|
||||
if (paramsId) {
|
||||
await fetchDetailLeave(paramsId);
|
||||
|
|
@ -695,23 +697,29 @@ onMounted(async () => {
|
|||
</div>
|
||||
|
||||
<!-- ความคิดเห็นของผู้บังคับบัญชา -->
|
||||
<!-- <div
|
||||
class="col-xs-12 col-sm-12 row"
|
||||
v-if="
|
||||
formData.approveStep === 'st3' ||
|
||||
formData.approveStep === 'st4' ||
|
||||
formData.approveStep === 'st5'
|
||||
"
|
||||
>
|
||||
<q-card bordered class="row col-12 text-dark q-mt-sm">
|
||||
<div
|
||||
class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"
|
||||
>
|
||||
<div class="col-xs-12 col-sm-12 row">
|
||||
<q-card bordered class="row col-12 text-dark">
|
||||
<div class="bg-grey-1 q-pa-sm col-12 row items-center">
|
||||
<div class="q-pl-sm text-weight-bold text-dark">
|
||||
ความคิดเห็นของผู้บังคับบัญชา
|
||||
</div>
|
||||
<q-space />
|
||||
|
||||
<q-btn
|
||||
v-if="
|
||||
workflowRef?.permission.isUpdate &&
|
||||
checkPermission($route)?.attrIsUpdate &&
|
||||
formData.reasonCommander === '-'
|
||||
"
|
||||
unelevated
|
||||
color="orange-5"
|
||||
label="ความคิดเห็นของผู้บังคับบัญชา"
|
||||
@click="openModal('authority')"
|
||||
><q-tooltip>ความคิดเห็นของผู้บังคับบัญชา</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
<q-separator />
|
||||
<div class="col-12"><q-separator /></div>
|
||||
|
||||
<div class="row col-12 q-pa-md">
|
||||
<div class="col-12 row bg-white q-col-gutter-md">
|
||||
<div class="col-xs-6 row items-start">
|
||||
|
|
@ -722,24 +730,49 @@ onMounted(async () => {
|
|||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
<!-- ความคิดเห็นของผู้มีอำนาจ -->
|
||||
<!-- <div
|
||||
class="col-xs-12 col-sm-12 row"
|
||||
v-if="
|
||||
formData.approveStep === 'st4' || formData.approveStep === 'st5'
|
||||
"
|
||||
>
|
||||
<q-card bordered class="row col-12 text-dark q-mt-sm">
|
||||
<div class="col-xs-12 col-sm-12 row">
|
||||
<q-card bordered class="row col-12 text-dark">
|
||||
<div
|
||||
class="bg-grey-1 q-pa-sm col-12 row items-center text-primary"
|
||||
>
|
||||
<div class="q-pl-sm text-weight-bold text-dark">
|
||||
ความคิดเห็นของผู้มีอำนาจ
|
||||
</div>
|
||||
<q-space />
|
||||
|
||||
<div
|
||||
class="row q-gutter-sm"
|
||||
v-if="
|
||||
workflowRef?.permission.isUpdate &&
|
||||
checkPermission($route)?.attrIsUpdate &&
|
||||
formData.reasonOligarch === '-'
|
||||
"
|
||||
>
|
||||
<q-btn
|
||||
unelevated
|
||||
color="orange-5"
|
||||
label="ไม่อนุมัติ"
|
||||
@click="openModal('UnApprove')"
|
||||
><q-tooltip>ไม่อนุมัติ</q-tooltip>
|
||||
</q-btn>
|
||||
<!-- v-if="
|
||||
formData.approveStep === 'st3' &&
|
||||
formData.status !== 'ยกเลิก' &&
|
||||
checkPermission($route)?.attrIsUpdate
|
||||
" -->
|
||||
<q-btn
|
||||
unelevated
|
||||
color="primary"
|
||||
label="อนุมัติ"
|
||||
@click="openModal('approve')"
|
||||
><q-tooltip>อนุมัติ</q-tooltip>
|
||||
</q-btn>
|
||||
</div>
|
||||
</div>
|
||||
<q-separator />
|
||||
<div class="col-12"><q-separator /></div>
|
||||
<div class="row col-12 q-pa-md">
|
||||
<div class="col-12 row bg-white q-col-gutter-md">
|
||||
<div class="col-xs-6 row items-start">
|
||||
|
|
@ -747,13 +780,18 @@ onMounted(async () => {
|
|||
ผลการพิจารณา
|
||||
</div>
|
||||
<div class="col-12 text-detail">
|
||||
{{ formData.status }}
|
||||
{{
|
||||
formData.reasonOligarch !== "-"
|
||||
? formData.status
|
||||
: "-"
|
||||
}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-xs-6 row items-start">
|
||||
<div class="col-12 text-weight-bold text-top">
|
||||
ความคิดเห็น
|
||||
</div>
|
||||
|
||||
<div class="col-12 text-detail">
|
||||
{{ formData.reasonOligarch }}
|
||||
</div>
|
||||
|
|
@ -761,12 +799,17 @@ onMounted(async () => {
|
|||
</div>
|
||||
</div>
|
||||
</q-card>
|
||||
</div> -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Workflow -->
|
||||
<div class="col-xs-12 col-sm-12">
|
||||
<WorkFlow ref="workflowRef" :id="paramsId" sys-name="LEAVE_LIST" />
|
||||
<WorkFlow
|
||||
ref="workflowRef"
|
||||
:id="paramsId"
|
||||
v-model:is-check-data="isCheckData"
|
||||
sys-name="LEAVE_LIST"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue