diff --git a/src/modules/06_retirement/components/Discharged/dischargedMain.vue b/src/modules/06_retirement/components/Discharged/dischargedMain.vue index 79bd53767..f307bfc5a 100644 --- a/src/modules/06_retirement/components/Discharged/dischargedMain.vue +++ b/src/modules/06_retirement/components/Discharged/dischargedMain.vue @@ -9,7 +9,6 @@ import { useTransferDataStore } from "@/modules/05_placement/store"; import http from "@/plugins/http"; import config from "@/app.config"; -import DialogFooter from "@/modules/06_retirement/components/DialogFooter.vue"; import DialogHeader from "@/modules/06_retirement/components/DialogHeader.vue"; import type { ResponseData } from "@/modules/06_retirement/interface/response/discharged"; @@ -63,9 +62,6 @@ const resetFilter = () => { filterRef.value.focus(); }; -// const nextPage = (id:string) => { -// router.push("/retirement/resign/"+id); -// }; const rows = ref([]); const rows2 = ref([]); const filters = ref([]); @@ -216,7 +212,7 @@ const getData = async () => { let list: ResponseData[] = []; data.map((r: ResponseData) => { list.push({ - createdAt:date2Thai(r.createdAt), + createdAt: date2Thai(r.createdAt), date: new Date(), firstName: r.firstName ?? "", id: r.id ?? "", @@ -288,9 +284,7 @@ const saveOrder = async () => { showLoader(); await http .post(config.API.dischargeReport, body) - .then((res: any) => { - // const data = res.data.result; - // console.log(data); + .then((any) => { success($q, "ส่งไปออกคำสั่งโอนออกสำเร็จ"); closeModal(); }) @@ -440,7 +434,7 @@ const pagination = ref({ {{ props.row.createdAt }} @@ -449,7 +443,10 @@ const pagination = ref({ +import { onMounted, ref } from "vue"; +import { useQuasar } from "quasar"; +import { useRoute, useRouter } from "vue-router"; +import { useCounterMixin } from "@/stores/mixin"; + +import CurrencyInput from "@/components/CurruncyInput.vue"; +import http from "@/plugins/http"; +import config from "@/app.config"; +import keycloak from "@/plugins/keycloak"; + +import type { QForm } from "quasar"; +import type { ResponseDataDetail } from "@/modules/06_retirement/interface/response/discharged"; + +const $q = useQuasar(); +const route = useRoute(); +const router = useRouter(); +const mixin = useCounterMixin(); + +const dataId = route.params.id.toString(); +const { + date2Thai, + dialogMessage, + messageError, + showLoader, + hideLoader, + success, + dialogConfirm, +} = mixin; + +const myForm = ref(null); +const roleAdmin = ref(false); +const edit = ref(false); + +const organizationPositionOld = ref(""); +const positionTypeOld = ref(""); +const positionLevelOld = ref(""); +const posNo = ref(""); +const salary = ref(0); +const organization = ref(""); +const date = ref(null); +const reason = ref(""); + +const responseData = ref({ + personId: "", + avataPath: "", + createdAt: new Date(), + date: new Date(), + id: "", + organization: "", + organizationPositionOld: "", + positionLevelOld: "", + positionNumberOld: "", + positionTypeOld: "", + reason: "", + salary: 0, + status: "", + fullname: "", +}); + +onMounted(async () => { + if (keycloak.tokenParsed != null) { + roleAdmin.value = await keycloak.tokenParsed.role.includes("placement1"); + console.log("roleAdmin===>", roleAdmin.value); + } + await getData(); +}); + +const getData = async () => { + showLoader(); + await http + .get(config.API.dischargeByid(dataId)) + .then((res: any) => { + const data = res.data.result; + responseData.value.personId = data.profileId; + responseData.value.createdAt = data.createdAt; + responseData.value.date = + data.date !== null ? new Date(data.date) : new Date(); + responseData.value.id = data.id ?? ""; + responseData.value.organization = data.organization ?? ""; + responseData.value.organizationPositionOld = + data.organizationPositionOld ?? ""; + responseData.value.positionLevelOld = data.positionLevelOld ?? ""; + responseData.value.positionNumberOld = data.positionNumberOld ?? ""; + responseData.value.positionTypeOld = data.positionTypeOld ?? ""; + responseData.value.reason = data.reason ?? ""; + responseData.value.salary = data.salary !== null ? data.salary : 0; + responseData.value.status = data.status ?? ""; + responseData.value.avataPath = data.avatar ?? ""; + responseData.value.fullname = `${data.firstName ?? "-"} ${ + data.lastName ?? "-" + }`; + organizationPositionOld.value = data.organizationPositionOld ?? ""; + positionTypeOld.value = data.positionTypeOld ?? ""; + positionLevelOld.value = data.positionLevelOld ?? ""; + posNo.value = data.posNo ?? ""; + salary.value = data.salary ?? ""; + organization.value = data.organization ?? ""; + date.value = data.date !== null ? new Date(data.date) : null; + reason.value = data.reason ?? ""; + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + hideLoader(); + }); +}; + +const conditionSave = async () => { + if (myForm.value !== null) { + myForm.value.validate().then((success) => { + if (success) { + dialogConfirm( + $q, + async () => { + await saveData(); + }, + "ยืนยันการแก้ไขข้อมูล", + "ต้องการยืนยันการแก้ไขข้อมูลเพื่อลงบัญชีแนบท้ายหรือไม่?" + ); + } + }); + } +}; + +const saveData = async () => { + const body = { + organization: organization.value, + reason: reason.value, + organizationPositionOld: organizationPositionOld.value, + date: date.value, + positionTypeOld: positionTypeOld.value, + positionLevelOld: positionLevelOld.value, + positionNumberOld: posNo.value, + amountOld: salary.value, + }; + showLoader(); + await http + .put(config.API.dischargeByid(dataId), body) + .then((res: any) => { + // const data = res.data.result; + // console.log(data); + success($q, "แก้ไขข้อมูลเพื่อลงบัญชีแนบท้ายสำเร็จ"); + edit.value = false; + }) + .catch((e) => { + messageError($q, e); + }) + .finally(async () => { + await getData(); + hideLoader(); + }); +}; + +const getClass = (val: boolean) => { + return { + "full-width inputgreen cursor-pointer": val, + "full-width cursor-pointer": !val, + }; +}; + -