From 60dcf38aa2a48f917a4ed3f6ca6996512655091a Mon Sep 17 00:00:00 2001 From: setthawutttty Date: Tue, 11 Mar 2025 15:19:04 +0700 Subject: [PATCH 1/6] =?UTF-8?q?convertDate=20=E0=B8=A7=E0=B8=B4=E0=B8=99?= =?UTF-8?q?=E0=B8=B1=E0=B8=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/03_resignEmp/ResignByid.vue | 6 ++-- .../components/06_dismissOrder/DetailEMP.vue | 3 +- .../components/1_Complaint/Form.vue | 8 ++++- .../components/2_InvestigateFacts/Form.vue | 26 ++++++-------- .../3_InvestigateDisciplinary/Form.vue | 35 +++++++++++-------- .../components/7_ListSuspend/DetailPage.vue | 5 +-- 6 files changed, 45 insertions(+), 38 deletions(-) diff --git a/src/modules/06_retirement/components/03_resignEmp/ResignByid.vue b/src/modules/06_retirement/components/03_resignEmp/ResignByid.vue index 95ca702ef..8c58a186d 100644 --- a/src/modules/06_retirement/components/03_resignEmp/ResignByid.vue +++ b/src/modules/06_retirement/components/03_resignEmp/ResignByid.vue @@ -36,6 +36,7 @@ const { success, dialogConfirm, dialogRemove, + convertDateToAPI, } = mixin; /** ตัวแปร */ @@ -353,9 +354,8 @@ function onSubmitConditions() { function onSubmitAttached() { dialogConfirm($q, () => { const formData = new FormData(); - const send = date.value !== null ? new Date(date.value).toUTCString() : ""; - const activeDate = - dateLeave.value !== null ? new Date(dateLeave.value).toUTCString() : ""; + const send = convertDateToAPI(date.value) ?? ""; + const activeDate = convertDateToAPI(dateLeave.value) ?? ""; formData.append("Location", location.value); formData.append("SendDate", send); formData.append("ActiveDate", activeDate); diff --git a/src/modules/06_retirement/components/06_dismissOrder/DetailEMP.vue b/src/modules/06_retirement/components/06_dismissOrder/DetailEMP.vue index 0add29545..789c789ff 100644 --- a/src/modules/06_retirement/components/06_dismissOrder/DetailEMP.vue +++ b/src/modules/06_retirement/components/06_dismissOrder/DetailEMP.vue @@ -30,6 +30,7 @@ const { hideLoader, success, findOrgName, + convertDateToAPI, } = mixin; /** @@ -129,7 +130,7 @@ async function onSubmit() { amountOld: salary.value.toString().replace(/,/g, ""), organization: organization.value, reason: reason.value, - date: date.value, + date: convertDateToAPI(date.value), }; showLoader(); await http diff --git a/src/modules/11_discipline/components/1_Complaint/Form.vue b/src/modules/11_discipline/components/1_Complaint/Form.vue index 865676297..c85b5322c 100644 --- a/src/modules/11_discipline/components/1_Complaint/Form.vue +++ b/src/modules/11_discipline/components/1_Complaint/Form.vue @@ -46,6 +46,7 @@ const { hideLoader, showLoader, downloadRenameFileByLink, + convertDateToAPI, } = mixin; const { filterSelector } = complainstStore; // function จาก store complainstStore @@ -133,7 +134,12 @@ function onSubmit() { if (mainStore.rowsAdd) { formData.persons = await mainStore.rowsAdd; } - await props.onSubmit(formData); + await props.onSubmit({ + ...formData, + dateConsideration: convertDateToAPI(formData.dateConsideration), + dateNotification: convertDateToAPI(formData.dateNotification), + dateReceived: convertDateToAPI(formData.dateReceived), + }); isSave.value = false; }); } diff --git a/src/modules/11_discipline/components/2_InvestigateFacts/Form.vue b/src/modules/11_discipline/components/2_InvestigateFacts/Form.vue index 4b9d9d43c..e9d26ff42 100644 --- a/src/modules/11_discipline/components/2_InvestigateFacts/Form.vue +++ b/src/modules/11_discipline/components/2_InvestigateFacts/Form.vue @@ -49,6 +49,7 @@ const { messageError, dialogRemove, downloadRenameFileByLink, + convertDateToAPI, } = mixin; const investigateDis = useInvestigateDisStore(); const countNum = ref(1); @@ -167,25 +168,18 @@ const calendarModalclose = () => (calendarModal.value = !calendarModal.value); function onSubmit() { countNum.value = 1; dialogConfirm($q, async () => { - if ( - formData.investigationDateStart !== null && - formData.investigationDateEnd !== null - ) { - const investigationDateStart = new Date(formData.investigationDateStart); - const investigationDateEnd = new Date(formData.investigationDateEnd); - - formData.investigationDateStart = moment(investigationDateStart).format( - "YYYY-MM-DD" - ); - formData.investigationDateEnd = - moment(investigationDateEnd).format("YYYY-MM-DD"); - } - if (mainStore.rowsAdd) { formData.persons = mainStore.rowsAdd; } - - props.onSubmit(formData); + props.onSubmit({ + ...formData, + investigationDateStart: convertDateToAPI( + formData.investigationDateStart as Date + ), + investigationDateEnd: convertDateToAPI( + formData.investigationDateEnd as Date + ), + }); isSave.value = false; investigationExtendStatus.value = false; }); diff --git a/src/modules/11_discipline/components/3_InvestigateDisciplinary/Form.vue b/src/modules/11_discipline/components/3_InvestigateDisciplinary/Form.vue index 06e091a6c..2dc4696ad 100644 --- a/src/modules/11_discipline/components/3_InvestigateDisciplinary/Form.vue +++ b/src/modules/11_discipline/components/3_InvestigateDisciplinary/Form.vue @@ -47,6 +47,7 @@ const { dialogConfirm, messageError, success, + convertDateToAPI, } = mixin; const modalPersonal = ref(false); @@ -200,25 +201,29 @@ async function calEndDate(val: string) { */ function onSubmit() { dialogConfirm($q, async () => { - if ( - formData.disciplinaryDateStart !== null && - formData.disciplinaryDateEnd !== null - ) { - const disciplinaryDateStart = new Date(formData.disciplinaryDateStart); - const disciplinaryDateEnd = new Date(formData.disciplinaryDateEnd); - - formData.disciplinaryDateStart = moment(disciplinaryDateStart).format( - "YYYY-MM-DD" - ); - formData.disciplinaryDateEnd = - moment(disciplinaryDateEnd).format("YYYY-MM-DD"); - } - if (mainStore.rowsAdd) { formData.persons = mainStore.rowsAdd as any; } - emit("submit:disciplinary", formData); + emit("submit:disciplinary", { + ...formData, + disciplinaryDateStart: convertDateToAPI( + formData.disciplinaryDateStart as Date + ), + disciplinaryDateEnd: convertDateToAPI( + formData.disciplinaryDateEnd as Date + ), + disciplinaryDateAllegation: convertDateToAPI( + formData.disciplinaryDateAllegation + ), + disciplinaryDateEvident: convertDateToAPI( + formData.disciplinaryDateEvident + ), + disciplinaryDateInvestigation: convertDateToAPI( + formData.disciplinaryDateInvestigation + ), + disciplinaryDateResult: convertDateToAPI(formData.disciplinaryDateResult), + }); isSave.value = false; isSaveInfo.value = false; extendStatus.value = false; diff --git a/src/modules/11_discipline/components/7_ListSuspend/DetailPage.vue b/src/modules/11_discipline/components/7_ListSuspend/DetailPage.vue index ceb2cd728..be80e8e25 100644 --- a/src/modules/11_discipline/components/7_ListSuspend/DetailPage.vue +++ b/src/modules/11_discipline/components/7_ListSuspend/DetailPage.vue @@ -36,6 +36,7 @@ const { showLoader, hideLoader, success, + convertDateToAPI, } = mixin; /** @@ -208,8 +209,8 @@ async function saveData() { positionLevel: data.positionLevel, salary: data.salary, descriptionSuspend: data.descriptionSuspend, - startDateSuspend: data.startDateSuspend, - endDateSuspend: data.endDateSuspend, + startDateSuspend: convertDateToAPI(data.startDateSuspend), + endDateSuspend: convertDateToAPI(data.endDateSuspend), }; showLoader(); await http From 6720b04fddfa6b12046055b069a0b9481ad4daca Mon Sep 17 00:00:00 2001 From: setthawutttty Date: Tue, 11 Mar 2025 15:38:58 +0700 Subject: [PATCH 2/6] eva convertDate --- .../11_discipline/components/7_ListSuspend/DetailPage.vue | 2 +- .../12_evaluatePersonal/components/Meeting/EditPage.vue | 8 ++------ .../12_evaluatePersonal/components/Meeting/Form.vue | 7 ++++++- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/modules/11_discipline/components/7_ListSuspend/DetailPage.vue b/src/modules/11_discipline/components/7_ListSuspend/DetailPage.vue index be80e8e25..62ff4f3e5 100644 --- a/src/modules/11_discipline/components/7_ListSuspend/DetailPage.vue +++ b/src/modules/11_discipline/components/7_ListSuspend/DetailPage.vue @@ -11,7 +11,7 @@ import { useDisciplineSuspendStore } from "@/modules/11_discipline/store/Suspend /**Import type */ import type { QForm } from "quasar"; -import type { DataDetail } from "@/modules/11_discipline/interface/response/Suspend"; +import type { DataDetail } from "@/modules/11_discipline/interface/response/suspend"; import type { DataProfile } from "@/modules/05_placement/interface/index/Main"; import PopupPersonal from "@/components/Dialogs/PopupPersonalNew.vue"; diff --git a/src/modules/12_evaluatePersonal/components/Meeting/EditPage.vue b/src/modules/12_evaluatePersonal/components/Meeting/EditPage.vue index 01da68e70..30b7f9df1 100644 --- a/src/modules/12_evaluatePersonal/components/Meeting/EditPage.vue +++ b/src/modules/12_evaluatePersonal/components/Meeting/EditPage.vue @@ -85,12 +85,8 @@ function onSubmit(formData: FormData) { .put(config.API.meetingById(personalId.value), { round: formData.rounded ?? "", title: formData.title, - dateStart: formData.dateMeetingStart - ? dateToISO(formData.dateMeetingStart) - : null, - dateEnd: formData.dateMeetingEnd - ? dateToISO(formData.dateMeetingEnd) - : null, + dateStart: formData.dateMeetingStart, + dateEnd: formData.dateMeetingEnd, result: formData.consider, duration: formData.period, }) diff --git a/src/modules/12_evaluatePersonal/components/Meeting/Form.vue b/src/modules/12_evaluatePersonal/components/Meeting/Form.vue index 7376eb1b9..1202d1be1 100644 --- a/src/modules/12_evaluatePersonal/components/Meeting/Form.vue +++ b/src/modules/12_evaluatePersonal/components/Meeting/Form.vue @@ -24,6 +24,7 @@ const { date2Thai, hideLoader, dialogRemove, + convertDatetimeToAPI, } = useCounterMixin(); /** @@ -62,7 +63,11 @@ const fileDataDownload = ref([]); ///รายการเอกสาร /** บันทึกข้อมูล */ function submit() { - props.onSubmit(formData); + props.onSubmit({ + ...formData, + dateMeetingStart: convertDatetimeToAPI(formData.dateMeetingStart), + dateMeetingEnd: convertDatetimeToAPI(formData.dateMeetingEnd), + }); } /** From d97241a199faca92858b0f1b6c2d4e61f1d0b7a5 Mon Sep 17 00:00:00 2001 From: setthawutttty Date: Tue, 11 Mar 2025 16:24:47 +0700 Subject: [PATCH 3/6] kpi convertDateToAPI --- src/modules/14_KPI/views/01_kpiRound.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/modules/14_KPI/views/01_kpiRound.vue b/src/modules/14_KPI/views/01_kpiRound.vue index 2bfe6573f..263e655bb 100644 --- a/src/modules/14_KPI/views/01_kpiRound.vue +++ b/src/modules/14_KPI/views/01_kpiRound.vue @@ -187,7 +187,11 @@ function onSubmit() { ? config.API.kpiPeriodById("12") : config.API.kpiPeriod; const method = isStatusEdit.value ? "put" : "post"; - await http[method](url, formData); + await http[method](url, { + ...formData, + startDate: formData.startDate, + endDate: formData.endDate, + }); await fetchList(); await success($q, "บันทึกข้อมูลสำเร็จ"); closeDialog(); From ebb5d0e65f88a84d20e4f2cd8c6fcf4946fe0688 Mon Sep 17 00:00:00 2001 From: setthawutttty Date: Tue, 11 Mar 2025 16:37:35 +0700 Subject: [PATCH 4/6] =?UTF-8?q?=E0=B8=9E=E0=B8=B1=E0=B8=92=E0=B8=99?= =?UTF-8?q?=E0=B8=B2=E0=B8=9A=E0=B8=B8=E0=B8=84=E0=B8=A5=E0=B8=B2=E0=B8=81?= =?UTF-8?q?=E0=B8=A3=20=20convertDate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../15_development/components/ProjectDetail.vue | 4 +++- .../components/scholarship/DetailView.vue | 17 ++++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/modules/15_development/components/ProjectDetail.vue b/src/modules/15_development/components/ProjectDetail.vue index 15f04d24e..bde2519d2 100644 --- a/src/modules/15_development/components/ProjectDetail.vue +++ b/src/modules/15_development/components/ProjectDetail.vue @@ -23,7 +23,7 @@ const $q = useQuasar(); const store = useDevelopmentDataStore(); const route = useRoute(); const itemsDevelopment = uselistDevelopmentDataStore(); -const { showLoader, hideLoader, messageError, date2Thai, diffDay, success } = +const { showLoader, hideLoader, messageError, date2Thai, diffDay, success,convertDateToAPI } = useCounterMixin(); const isChangeData = defineModel("isChangeData", { required: true }); @@ -247,6 +247,8 @@ async function onSubmit() { await http .put(config.API.developmentMainTab("tab3", projectId.value), { ...formData, + dateEnd:convertDateToAPI(formData.dateEnd), + dateStart:convertDateToAPI(formData.dateStart), totalDate: formData.totalDate === "" ? null : formData.totalDate, projectDayBackPlanned: formData.projectDayBackPlanned === "" diff --git a/src/modules/15_development/components/scholarship/DetailView.vue b/src/modules/15_development/components/scholarship/DetailView.vue index 8d1fcd4ec..1990e71d4 100644 --- a/src/modules/15_development/components/scholarship/DetailView.vue +++ b/src/modules/15_development/components/scholarship/DetailView.vue @@ -29,6 +29,7 @@ const { success, date2Thai, calculateDurationYmd, + convertDateToAPI, } = useCounterMixin(); const checkRouteDetail = ref( @@ -298,12 +299,26 @@ function onSubmit() { formBody.reportBackDate = null; formBody.changeDetail = ""; } + try { const url = scholarshipId.value ? config.API.devScholarshipByid(scholarshipId.value) : config.API.devScholarship; const method = scholarshipId.value ? "put" : "post"; - await http[method](url, formBody); + await http[method](url, { + ...formBody, + bookApproveDate: convertDateToAPI(formBody.bookApproveDate), + bookNoDate: convertDateToAPI(formBody.bookNoDate), + contractDate: convertDateToAPI(formBody.contractDate), + endDate: convertDateToAPI(formBody.endDate), + reportBackDate: convertDateToAPI(formBody.reportBackDate), + reportBackNoDate: convertDateToAPI(formBody.reportBackNoDate), + startDate: convertDateToAPI(formBody.startDate), + studyAbroadEndDate: convertDateToAPI(formBody.studyAbroadEndDate), + studyAbroadStartDate: convertDateToAPI(formBody.studyAbroadStartDate), + studyEndDate: convertDateToAPI(formBody.studyEndDate), + studyStartDate: convertDateToAPI(formBody.studyStartDate), + }); scholarshipId.value ? await fetchDataDetail(scholarshipId.value) From 9cae42bc7d410364e4254ac8cbba96312837c979 Mon Sep 17 00:00:00 2001 From: "DESKTOP-1R2VSQH\\Lenovo ThinkPad E490" Date: Tue, 11 Mar 2025 17:43:20 +0700 Subject: [PATCH 5/6] =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B1=E0=B8=9A?= =?UTF-8?q?=E0=B8=97=E0=B8=B0=E0=B9=80=E0=B8=9A=E0=B8=B5=E0=B8=A2=E0=B8=99?= =?UTF-8?q?=E0=B8=9B=E0=B8=A3=E0=B8=B0=E0=B8=A7=E0=B8=B1=E0=B8=95=E0=B8=B7?= =?UTF-8?q?=20=E0=B8=82=E0=B9=89=E0=B8=AD=E0=B8=A1=E0=B8=B9=E0=B8=A5?= =?UTF-8?q?=E0=B8=AA=E0=B9=88=E0=B8=A7=E0=B8=99=E0=B8=95=E0=B8=B1=E0=B8=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/DialogHistory.vue | 34 +- .../components/detail/DialogHistory.vue | 128 +++++ .../detail/PersonalInformation/01_Profile.vue | 135 +---- .../02_NameChangeHistory.vue | 126 ++--- .../detail/PersonalInformation/03_Address.vue | 132 +---- .../PersonalInformation/04_FamilyNew.vue | 221 +++----- .../PersonalInformation/05_Education.vue | 515 ++++-------------- .../PersonalInformation/06_SpecialSkill.vue | 348 ++++-------- .../requestEdit/01_TabInformation.vue | 29 +- .../components/requestEdit/02_TabIDP.vue | 2 +- .../requestEdit/Page02_DetailIDP.vue | 1 - .../interface/request/SpecialSkill.ts | 2 - .../views/requestEditView.vue | 6 +- 13 files changed, 492 insertions(+), 1187 deletions(-) create mode 100644 src/modules/04_registryPerson/components/detail/DialogHistory.vue diff --git a/src/modules/04_registryPerson/components/DialogHistory.vue b/src/modules/04_registryPerson/components/DialogHistory.vue index a7d3f4d95..15d41a880 100644 --- a/src/modules/04_registryPerson/components/DialogHistory.vue +++ b/src/modules/04_registryPerson/components/DialogHistory.vue @@ -33,10 +33,7 @@ const employeeClass = ref( const typeKeyword = ref(""); const Keyword = ref(""); const positionKeyword = ref(""); -const employeeClassOps = ref([ - { id: "officer", name: "ข้าราชการ กทม.สามัญ" }, - { id: "perm", name: "ลูกจ้างประจำ" }, -]); + //ตัวเลือกประเภทการค้นหา const typeKeywordOps = ref([ { id: "no", name: "ตำแหน่งเลขที่" }, @@ -97,14 +94,6 @@ const columns = ref([ ]); const rows = ref([]); -/** function เปลี่ยนประเภท*/ -function changeEmployeeClass() { - typeKeyword.value = ""; - Keyword.value = ""; - positionKeyword.value = ""; - rows.value = []; -} - /** * function ค้นหาประวัติถือครองตำแหน่ง * @param type ประเภทข่าราชการ @@ -186,27 +175,6 @@ function closeDialog() {
- -
+import { ref, watch } from "vue"; +import { useCounterMixin } from "@/stores/mixin"; + +import type { QTableColumn, QTableProps } from "quasar"; + +import DialogHeader from "@/components/DialogHeader.vue"; + +const { onSearchDataTable } = useCounterMixin(); + +const modal = defineModel("modal", { required: true }); +const title = defineModel("title", { required: true }); +const columns = defineModel("columns", { + required: true, +}); +const visibleColumnsMain = defineModel("visibleColumns", { + required: true, +}); + +const props = defineProps({ + fetchData: { type: Function, required: true }, +}); + +const filter = ref(""); +const rows = ref([]); +const dataMain = ref([]); +const visibleColumns = ref([]); +const pagination = ref({ + sortBy: "lastUpdatedAt", +}); + +async function fetchDataTable() { + visibleColumns.value = visibleColumnsMain.value; + const data = await props?.fetchData?.(); + dataMain.value = data; + rows.value = data; +} + +/** ฟังก์ค้นหาข้อมูลรายการประวัติแก้ไขข้อมูลส่วนตัว */ +function serchDataTable() { + rows.value = onSearchDataTable(filter.value, dataMain.value, columns.value); +} + +watch( + () => modal.value, + () => { + if (modal.value) { + fetchDataTable(); + } else { + filter.value = ""; + dataMain.value = []; + rows.value = []; + pagination.value.sortBy = "lastUpdatedAt"; + } + } +); + + + + + diff --git a/src/modules/04_registryPerson/components/detail/PersonalInformation/01_Profile.vue b/src/modules/04_registryPerson/components/detail/PersonalInformation/01_Profile.vue index 9915ecf7b..ac0565fcf 100644 --- a/src/modules/04_registryPerson/components/detail/PersonalInformation/01_Profile.vue +++ b/src/modules/04_registryPerson/components/detail/PersonalInformation/01_Profile.vue @@ -1,5 +1,5 @@ @@ -509,7 +478,6 @@ onMounted(async () => { bordered virtual-scroll ref="table" - v-bind="attrs" :rows="rows" :columns="columns" :visible-columns="visibleColumns" diff --git a/src/modules/04_registryPerson/components/detail/PersonalInformation/03_Address.vue b/src/modules/04_registryPerson/components/detail/PersonalInformation/03_Address.vue index 4aa8531f5..ec28446c5 100644 --- a/src/modules/04_registryPerson/components/detail/PersonalInformation/03_Address.vue +++ b/src/modules/04_registryPerson/components/detail/PersonalInformation/03_Address.vue @@ -9,13 +9,13 @@ import { useAddressDataStore } from "@/modules/04_registryPerson/stores/Address" import http from "@/plugins/http"; import config from "@/app.config"; -import type { QTableProps } from "quasar"; +import type { QTableColumn } from "quasar"; import type { DataOption } from "@/modules/04_registryPerson/interface/index/Main"; import type { ResponseObject } from "@/modules/04_registryPerson/interface/response/Address"; import type { RequestObject } from "@/modules/04_registryPerson/interface/request/Address"; import DialogHeader from "@/components/DialogHeader.vue"; - +import DialogHistory from "@/modules/04_registryPerson/components/detail/DialogHistory.vue"; const $q = useQuasar(); const store = useAddressDataStore(); @@ -36,7 +36,6 @@ const { hideLoader, dialogConfirm, pathRegistryEmp, - onSearchDataTable, } = mixin; /** @@ -81,10 +80,7 @@ const dataLabel = { }; const modalHistory = ref(false); //แสดง Popup ประวัติแก้ไขข้อมูลที่อยู่ -const rowsHistory = ref([]); //ข้อมูลรายการประวัติแก้ไขข้อมูลที่อยู่ -const rowsHistoryMain = ref([]); //ข้อมูลรายการประวัติแก้ไขข้อมูลที่อยู่ -const filterHistory = ref(""); //คำค้นหา -const visibleColumnsHistory = ref([ +const visibleColumnsHistory = ref([ "currentAddress", "currentDistrict", "currentSubDistrict", @@ -99,7 +95,7 @@ const visibleColumnsHistory = ref([ "lastUpdateFullName", "lastUpdatedAt", ]); -const columnsHistory = ref([ +const columnsHistory = ref([ { name: "registrationAddress", align: "left", @@ -252,9 +248,6 @@ const columnsHistory = ref([ a.localeCompare(b, undefined, { numeric: true, sensitivity: "base" }), }, ]); -const pagination = ref({ - sortBy: "lastUpdatedAt", -}); /** * ฟังก์ชันดึงข้อมูลที่อยู่ @@ -470,26 +463,23 @@ function clickClose() { modal.value = false; } -/** - * ฟังก์ชันเปิด popup ประวัติแก้ไขข้อมูลที่อยู่ - * และดึงข้อมูลรายการประวัติแก้ไขข้อมูลที่อยู่ - */ +/** ฟังก์ชันเปิด popup ประวัติแก้ไขข้อมูลที่อยู่*/ async function clickHistory() { - showLoader(); modalHistory.value = true; - filterHistory.value = ""; - await http - .get(config.API.profileNewAddressHisById(profileId.value, empType.value)) - .then(async (res) => { - rowsHistory.value = await res.data.result; - rowsHistoryMain.value = await res.data.result; - }) - .catch((e) => { - messageError($q, e); - }) - .finally(() => { - hideLoader(); - }); +} + +async function fetchDataHistory() { + showLoader(); + try { + const res = await http.get( + config.API.profileNewAddressHisById(profileId.value, empType.value) + ); + const data = res.data.result; + return data; + } catch (err) { + } finally { + hideLoader(); + } } /** @@ -508,15 +498,6 @@ function sameAddressToggle(v: string) { } } -/** ฟังก์ค้นหาข้อมูลรายการประวัติแก้ไขข้อมูลที่อยู่ */ -function serchDataTable() { - rowsHistory.value = onSearchDataTable( - filterHistory.value, - rowsHistoryMain.value, - columnsHistory.value ? columnsHistory.value : [] - ); -} - /** ดูการเปลี่ยนแปลงที่อยู่ปัจจุบันตรงกับที่อยู่ตามทะเบียนบ้า*/ watch( () => sameAddress.value, @@ -904,74 +885,13 @@ onMounted(async () => { - - - - - - -
- - - - - -
- - > - - - -
-
-
+ diff --git a/src/modules/04_registryPerson/components/detail/PersonalInformation/04_FamilyNew.vue b/src/modules/04_registryPerson/components/detail/PersonalInformation/04_FamilyNew.vue index efed70aa5..6305f3d9c 100644 --- a/src/modules/04_registryPerson/components/detail/PersonalInformation/04_FamilyNew.vue +++ b/src/modules/04_registryPerson/components/detail/PersonalInformation/04_FamilyNew.vue @@ -9,7 +9,7 @@ import { useCounterMixin } from "@/stores/mixin"; import http from "@/plugins/http"; import config from "@/app.config"; -import type { QTableProps } from "quasar"; +import type { QTableColumn } from "quasar"; import type { DataOption } from "@/modules/04_registryPerson/interface/index/Main"; import type { FormPerson, @@ -17,6 +17,7 @@ import type { } from "@/modules/04_registryPerson/interface/index/family"; import DialogHeader from "@/components/DialogHeader.vue"; +import DialogHistory from "@/modules/04_registryPerson/components/detail/DialogHistory.vue"; const $q = useQuasar(); const route = useRoute(); @@ -30,7 +31,6 @@ const { messageError, success, pathRegistryEmp, - onSearchDataTable, } = useCounterMixin(); /** props*/ @@ -43,9 +43,7 @@ const profileId = ref( const empType = ref(pathRegistryEmp(route.name?.toString() ?? "")); /** TableHisoty*/ -const rows = ref([]); -const rowsMain = ref([]); -const visibleColumns = ref([ +const visibleColumns = ref([ "statusMarital", "citizenId", "prefix", @@ -57,7 +55,7 @@ const visibleColumns = ref([ "lastUpdateFullName", "lastUpdatedAt", ]); -const columns = ref([ +const columns = ref([ { name: "statusMarital", align: "left", @@ -151,9 +149,6 @@ const columns = ref([ format: (val) => date2Thai(val, false, true), }, ]); -const pagination = ref({ - sortBy: "lastUpdatedAt", -}); /** ข้อมูล*/ const fatherData = reactive({ @@ -190,6 +185,7 @@ const modalHistory = ref(false); const filterHistory = ref(""); const titleForm = ref(""); const typeForm = ref(""); +const historyId = ref(""); const isEdit = ref(false); const childernId = ref(""); @@ -353,7 +349,6 @@ function closeDialog() { fromData.job = ""; fromData.lastNameOld = ""; fromData.statusMarital = ""; - rows.value = []; filterHistory.value = ""; } @@ -418,10 +413,9 @@ function onOpenDialogForm( * @param id */ async function onOpenDialogHistory(type: string, id: string = "") { - modalHistory.value = true; typeForm.value = type; - const historyId = type === "children" ? id : profileId.value; - await fetchHistory(historyId, type); + historyId.value = type === "children" ? id : profileId.value; + modalHistory.value = true; } /** function fetch ข้อมูลความสัมพันธ์ */ @@ -453,59 +447,41 @@ function filterSelectorRelation(val: string, update: Function) { }); } -/** - * function fetch ข้อมูลประวัติการแก้ไขข้อมูล - * @param id - * @param type - */ -async function fetchHistory(id: string, type: string) { +async function fetchDataHistory() { showLoader(); - await http - .get(config.API.profileFamilyHistory(id, empType.value, type)) - .then(async (res) => { - const data = await res.data.result; - rows.value = await data.map((e: any) => ({ - citizenId: e[`${type}CitizenId`], - prefix: e[`${type}Prefix`], - firstName: e[`${type}FirstName`], - lastName: e[`${type}LastName`], - job: e[`${type}Career`], - isLive: e[`${type}Live`], - lastNameOld: - type === "couple" - ? e.coupleLastNameOld - : type === "mother" - ? e.motherLastNameOld - : undefined, - lastUpdateFullName: e.lastUpdateFullName, - lastUpdatedAt: e.lastUpdatedAt, - statusMarital: type === "couple" ? e.relationship : undefined, - })); - rowsMain.value = rows.value; - }) - .catch((err) => { - messageError($q, err); - }) - .finally(() => { - hideLoader(); - }); -} + try { + const res = await http.get( + config.API.profileFamilyHistory( + historyId.value, + empType.value, + typeForm.value + ) + ); -/** ฟังก์ค้นหาข้อมูลรายการประวัติแก้ไขข้อมูล */ -function serchDataTable() { - const baseColumns = - typeForm.value === "couple" - ? columns.value - : typeForm.value === "mother" - ? columns.value?.filter((e) => e.name !== "statusMarital") - : columns.value?.filter( - (e) => e.name !== "lastNameOld" && e.name !== "statusMarital" - ); - rows.value = onSearchDataTable( - filterHistory.value, - rowsMain.value, - baseColumns ? baseColumns : [] - ); + const data = await res.data.result.map((e: any) => ({ + citizenId: e[`${typeForm.value}CitizenId`], + prefix: e[`${typeForm.value}Prefix`], + firstName: e[`${typeForm.value}FirstName`], + lastName: e[`${typeForm.value}LastName`], + job: e[`${typeForm.value}Career`], + isLive: e[`${typeForm.value}Live`], + lastNameOld: + typeForm.value === "couple" + ? e.coupleLastNameOld + : typeForm.value === "mother" + ? e.motherLastNameOld + : undefined, + lastUpdateFullName: e.lastUpdateFullName, + lastUpdatedAt: e.lastUpdatedAt, + statusMarital: typeForm.value === "couple" ? e.relationship : undefined, + })); + + return data; + } catch (err) { + messageError($q, err); + } finally { + hideLoader(); + } } /** ทำงานเมื่อ Components ถูกเรียกใช้งาน*/ @@ -1073,100 +1049,29 @@ onMounted(async () => { - - - - - - -
- - - - - -
- - - > - - - -
-
-
+ diff --git a/src/modules/04_registryPerson/components/detail/PersonalInformation/05_Education.vue b/src/modules/04_registryPerson/components/detail/PersonalInformation/05_Education.vue index 0dc06d5c4..222fa2033 100644 --- a/src/modules/04_registryPerson/components/detail/PersonalInformation/05_Education.vue +++ b/src/modules/04_registryPerson/components/detail/PersonalInformation/05_Education.vue @@ -1,4 +1,3 @@ -div