diff --git a/src/api/06_retirement/api.retirement.ts b/src/api/06_retirement/api.retirement.ts index 5b392ab0f..6646d70a7 100644 --- a/src/api/06_retirement/api.retirement.ts +++ b/src/api/06_retirement/api.retirement.ts @@ -20,6 +20,8 @@ export default { //RetirementDeceased ถึงแก่กรรม listDeceased: () => `${retirement}/deceased`, detailDeceased: (id: string) => `${retirement}/deceased/${id}`, + detailByidDeceased: (id: string) => `${retirement}/deceased/detail/${id}`, + notiDeceased: (id: string) => `${retirement}/deceased/noti/${id}`, // RetirementResign ระบบลาออก listResign: () => `${retirement}/resign`, diff --git a/src/modules/06_retirement/components/resign/DetailByidDeceased.vue b/src/modules/06_retirement/components/resign/DetailByidDeceased.vue index 0a149c31a..f5ec7f42f 100644 --- a/src/modules/06_retirement/components/resign/DetailByidDeceased.vue +++ b/src/modules/06_retirement/components/resign/DetailByidDeceased.vue @@ -9,12 +9,8 @@ import type { treeTab } from "@/modules/05_placement/interface/index/Main"; import http from "@/plugins/http"; import config from "@/app.config"; import type { QTableProps } from "quasar"; -import type { - ResponseOrganiz, - ResponseCopyOrder, - DataCopyOrder, -} from "@/modules/05_placement/interface/response/Order"; -import type { RequestCopyOrder } from "@/modules/05_placement/interface/request/Order"; + +import type { requestSendNoti,DataCopyOrder,ResponseOrganiz } from "@/modules/06_retirement/interface/response/Deceased"; import { useRouter, useRoute } from "vue-router"; const router = useRouter(); const route = useRoute(); @@ -160,9 +156,24 @@ const rows = ref([]); const editRows = ref([]); onMounted(async () => { - await conditionId(); + await getData(); + // await getList(); }); +const getList = async () => { + showLoader(); + await http.get(config.API.detailByidDeceased(profileId.value)) + .then((res) => { + const data = res.data.result + console.log(data) + }).catch((e) => { + messageError($q, e); + }) + .finally(async () => { + hideLoader(); + }); + +} const listModal = async (id: string) => { showLoader(); await http @@ -192,40 +203,31 @@ const listModal = async (id: string) => { }); }; -const conditionId = async () => { - const id = route.params.orderid - ? route.params.orderid.toString() - : localStorage.getItem("orderId") - ? localStorage.getItem("orderId") - : null; - if (id !== null) { - await getData(id); - } -}; -const getData = async (id: string) => { +const getData = async () => { showLoader(); await http - .get(config.API.copyOrderId(id)) + .get(config.API.detailByidDeceased(profileId.value)) .then((res) => { const data = res.data.result; // console.log(data); let list: DataCopyOrder[] = []; - data.map((r: ResponseCopyOrder) => { + data.map((r: any) => { let selectCopyOrder = []; - if (r.emailChannel) { + if (r.isSendMail) { selectCopyOrder.push(1); } - if (r.inboxChannel) { + if (r.isSendInbox) { selectCopyOrder.push(2); } list.push({ - personalId: r.personalId ?? "", - name: r.name ?? "", - idCard: r.idCard ?? "", - position: r.position ?? "", - unit: r.unit ?? "", + id:r.id, + personalId: r.profileId ?? "", + name:`${r.prefix}${r.firstName} ${r.lastName}`, + idCard: r.citizenId ?? "", + position: r.positionName ?? "", + unit: r.organizationName ?? "-", send: "", mutiselect: selectCopyOrder, }); @@ -250,29 +252,22 @@ const getData = async (id: string) => { }; const saveData = async () => { - // console.log("select", selectedModal.value); - const id = route.params.orderid - ? route.params.orderid.toString() - : localStorage.getItem("orderId") - ? localStorage.getItem("orderId") - : null; - if (id !== null) { showLoader(); + const persons = selectedModal.value.map(item => ({ profileId: item.profileId })); + const dataToSend = { Persons: persons }; await http - .post(config.API.copyOrderPersonsId(id), selectedModal.value) + .put(config.API.detailByidDeceased(profileId.value), dataToSend) .then((res) => { - // const data = res.data.result; - // console.log(res); + }) .catch((e) => { messageError($q, e); }) .finally(async () => { - await conditionId(); clickClose(); - // hideLoader(); + getData(); + hideLoader(); }); - } }; const resetFilter = () => { @@ -304,6 +299,7 @@ const clickAdd = async () => { }; const clickDelete = (id: string) => { + console.log(id) dialogRemove( $q, () => deleteData(id), @@ -335,10 +331,8 @@ const onSelected = async (id: string) => { const deleteData = async (id: string) => { await http - .delete(config.API.copyOrderId(id)) + .delete(config.API.detailByidDeceased(id)) .then((res) => { - // const data = res.data.result; - // console.log(res); success($q, "ลบข้อมูลสำเร็จ"); }) .catch((e) => { @@ -346,7 +340,7 @@ const deleteData = async (id: string) => { }) .finally(async () => { // hideLoader(); - await conditionId(); + await getData(); }); }; @@ -361,18 +355,19 @@ const saveDataCopyOrder = async () => { }; const fetchSaveCopyOrder = async () => { - let list: RequestCopyOrder[] = []; + let list: requestSendNoti[] = []; rows.value.map((r: DataCopyOrder) => { list.push({ - personalId: r.personalId, - emailChannel: r.mutiselect.includes(1), - inboxChannel: r.mutiselect.includes(2), + profileId: r.personalId, + isSendMail: r.mutiselect.includes(1), + isSendInbox: r.mutiselect.includes(2), + isSendNotification: true, }); }); showLoader(); await http - .put(config.API.copyOrder, list) + .put(config.API.notiDeceased(profileId.value), {Persons:list}) .then((res: any) => { success($q, "บันทึกข้อมูลสำเร็จ"); next(); @@ -382,6 +377,7 @@ const fetchSaveCopyOrder = async () => { }) .finally(() => { hideLoader(); + getData() }); }; @@ -514,13 +510,14 @@ const updateData = (row: DataCopyOrder) => { + ลบข้อมูล @@ -628,6 +625,7 @@ const updateData = (row: DataCopyOrder) => { :filter="filterModal" row-key="profileId" selection="multiple" + v-model:selected="selectedModal" >