From c776d4e7f12feb976501284ab6e8f02e493a9ae9 Mon Sep 17 00:00:00 2001 From: setthawutttty Date: Fri, 1 Nov 2024 17:25:19 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B8=95=E0=B9=88=E0=B8=AD=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/registry/api.registry.ts | 2 + .../components/Dialog/02_Address.vue | 23 +----- .../components/Dialog/04_Father.vue | 22 +++--- .../components/Dialog/05_Mother.vue | 22 +++--- .../components/Dialog/06_Couple.vue | 25 ++++--- .../components/Dialog/DialogUpdate.vue | 75 +++++++++---------- .../requestEdit/01_TabInformation.vue | 1 + .../components/requestEdit/Page01_Detail.vue | 26 +++---- .../interface/request/Address.ts | 10 ++- .../04_registryPerson/stores/RequestEdit.ts | 2 + 10 files changed, 105 insertions(+), 103 deletions(-) diff --git a/src/api/registry/api.registry.ts b/src/api/registry/api.registry.ts index 40c26ef3e..e72bd36d6 100644 --- a/src/api/registry/api.registry.ts +++ b/src/api/registry/api.registry.ts @@ -201,4 +201,6 @@ export default { `${registryNew}-employee/employment/history/${id}`, developMentPlan: `${registryNew}/development`, + + requestInformationbyType:(type:string,id:string)=>`${registryNew}/request-edit/${type}/${id}` }; diff --git a/src/modules/04_registryPerson/components/Dialog/02_Address.vue b/src/modules/04_registryPerson/components/Dialog/02_Address.vue index fa40bba52..35239965f 100644 --- a/src/modules/04_registryPerson/components/Dialog/02_Address.vue +++ b/src/modules/04_registryPerson/components/Dialog/02_Address.vue @@ -2,10 +2,10 @@ import { ref, onMounted, watch } from "vue"; import { useDataLinkCenter } from "@/modules/04_registryPerson/stores/LinkCenter"; -import type { RequestAddressObject } from "@/modules/04_registryPerson/interface/request/Address"; +import type { RequestregistrationAddressObject } from "@/modules/04_registryPerson/interface/request/Address"; const storeLinkCenter = useDataLinkCenter(); -const formDataAddress = defineModel("formDataAddress", { +const formDataAddress = defineModel("formDataAddress", { required: true, }); const presentAddress = defineModel("presentAddress", { @@ -18,12 +18,6 @@ const dataLabel = { registrationDistrict: "เขต/อำเภอ", registrationSubDistrict: "แขวง / ตำบล", registrationZipCode: "รหัสไปรษณีย์", - currentAddress: "ที่อยู่ปัจจุบัน", - currentProvince: "จังหวัด", - currentDistrict: "เขต/อำเภอ", - currentSubDistrict: "แขวง / ตำบล", - currentZipCode: "รหัสไปรษณีย์", - registrationSame: "ที่อยู่ปัจจุบันตรงกับที่อยู่ตามทะเบียนบ้าน", }; /** @@ -37,10 +31,6 @@ async function selectProvince(e: string | null, name: string) { formDataAddress.value.registrationSubDistrictId = ""; formDataAddress.value.registrationZipCode = ""; formDataAddress.value.registrationDistrictId = ""; - } else { - formDataAddress.value.currentSubDistrictId = ""; - formDataAddress.value.currentZipCode = ""; - formDataAddress.value.currentDistrictId = ""; } await storeLinkCenter.fetchDistrict(e, name, true); } @@ -56,9 +46,6 @@ async function selectDistrict(e: string | null, name: string) { if (name == "1") { formDataAddress.value.registrationSubDistrictId = ""; formDataAddress.value.registrationZipCode = ""; - } else { - formDataAddress.value.currentSubDistrictId = ""; - formDataAddress.value.currentZipCode = ""; } await storeLinkCenter.fetchSubDistrict(e, name, true); } @@ -81,7 +68,6 @@ function selectSubDistrict(e: string | null, name: string) { (r) => r.id == e ); const namecode = findcode.length > 0 ? findcode[0].zipCode : ""; - formDataAddress.value.currentZipCode = namecode; } } @@ -92,11 +78,6 @@ watch( () => presentAddress.value, (v) => { if (v === "0") { - formDataAddress.value.currentAddress = ""; - formDataAddress.value.currentProvinceId = ""; - formDataAddress.value.currentDistrictId = ""; - formDataAddress.value.currentSubDistrictId = ""; - formDataAddress.value.currentZipCode = ""; storeLinkCenter.OpsAddress.districtCOps = []; storeLinkCenter.OpsAddress.subdistrictCOps = []; } diff --git a/src/modules/04_registryPerson/components/Dialog/04_Father.vue b/src/modules/04_registryPerson/components/Dialog/04_Father.vue index 72f0cc181..9d0328f53 100644 --- a/src/modules/04_registryPerson/components/Dialog/04_Father.vue +++ b/src/modules/04_registryPerson/components/Dialog/04_Father.vue @@ -7,7 +7,7 @@ import config from "@/app.config"; import { useCounterMixin } from "@/stores/mixin"; import { useDataLinkCenter } from "@/modules/04_registryPerson/stores/LinkCenter"; import { useProfileDataStore } from "@/modules/04_registryPerson/stores/profile"; - +import { useRequestEditStore } from "@/modules/04_registryPerson/stores/RequestEdit"; import type { FormPerson } from "@/modules/04_registryPerson/interface/index/family"; import Header from "@/components/DialogHeader.vue"; //ส่วนหัว popup @@ -15,6 +15,7 @@ import Header from "@/components/DialogHeader.vue"; //ส่วนหัว popu const $q = useQuasar(); const mixin = useCounterMixin(); const storeLinkCenter = useDataLinkCenter(); +const storeRequestEdit = useRequestEditStore(); const storeProfile = useProfileDataStore(); const { @@ -56,30 +57,30 @@ async function closeDialog() { fatherData.job = ""; } -async function onSubmit() { +function onSubmit() { dialogConfirm($q, async () => { const body = { - profileId: profileId.value, - fatherCitizenId: fatherData.citizenId, fatherPrefix: fatherData.prefix, fatherFirstName: fatherData.firstName, fatherLastName: fatherData.lastName, fatherCareer: fatherData.job, fatherLive: fatherData.isLive === 1 ? true : false, }; + showLoader(); http - .post(config.API.profileFamily("", "father"), body) + .patch( + config.API.requestInformationbyType("father", storeRequestEdit.profileId), + body + ) .then(async (res) => { await upDateStatus(); - success($q, "บันทึกข้อมูลสำเร็จ"); - closeDialog(); - await props.fetchData?.(); }) .catch((e) => { messageError($q, e); - hideLoader(); }) - .finally(() => {}); + .finally(() => { + hideLoader(); + }); }); } @@ -102,6 +103,7 @@ async function upDateStatus() { hideLoader(); }); } + watch( () => modal.value, () => { diff --git a/src/modules/04_registryPerson/components/Dialog/05_Mother.vue b/src/modules/04_registryPerson/components/Dialog/05_Mother.vue index 7f3aa53ad..9d7f1b32a 100644 --- a/src/modules/04_registryPerson/components/Dialog/05_Mother.vue +++ b/src/modules/04_registryPerson/components/Dialog/05_Mother.vue @@ -7,7 +7,7 @@ import config from "@/app.config"; import { useCounterMixin } from "@/stores/mixin"; import { useDataLinkCenter } from "@/modules/04_registryPerson/stores/LinkCenter"; import { useProfileDataStore } from "@/modules/04_registryPerson/stores/profile"; - +import { useRequestEditStore } from "@/modules/04_registryPerson/stores/RequestEdit"; import type { FormPerson } from "@/modules/04_registryPerson/interface/index/family"; import Header from "@/components/DialogHeader.vue"; //ส่วนหัว popup @@ -16,6 +16,8 @@ const $q = useQuasar(); const mixin = useCounterMixin(); const storeLinkCenter = useDataLinkCenter(); const storeProfile = useProfileDataStore(); +const storeRequestEdit = useRequestEditStore(); + const { showLoader, hideLoader, @@ -55,30 +57,30 @@ async function closeDialog() { motherData.job = ""; } -async function onSubmit() { +function onSubmit() { dialogConfirm($q, async () => { const body = { - profileId: profileId.value, - motherCitizenId: motherData.citizenId, motherPrefix: motherData.prefix, motherFirstName: motherData.firstName, motherLastName: motherData.lastName, motherCareer: motherData.job, motherLive: motherData.isLive === 1 ? true : false, }; + showLoader(); http - .post(config.API.profileFamily("", "mother"), body) + .patch( + config.API.requestInformationbyType("mother", storeRequestEdit.profileId), + body + ) .then(async (res) => { await upDateStatus(); - success($q, "บันทึกข้อมูลสำเร็จ"); - closeDialog(); - await props.fetchData?.(); }) .catch((e) => { messageError($q, e); - hideLoader(); }) - .finally(() => {}); + .finally(() => { + hideLoader(); + }); }); } diff --git a/src/modules/04_registryPerson/components/Dialog/06_Couple.vue b/src/modules/04_registryPerson/components/Dialog/06_Couple.vue index 0b1995a2b..79106694b 100644 --- a/src/modules/04_registryPerson/components/Dialog/06_Couple.vue +++ b/src/modules/04_registryPerson/components/Dialog/06_Couple.vue @@ -7,7 +7,7 @@ import config from "@/app.config"; import { useCounterMixin } from "@/stores/mixin"; import { useDataLinkCenter } from "@/modules/04_registryPerson/stores/LinkCenter"; import { useProfileDataStore } from "@/modules/04_registryPerson/stores/profile"; - +import { useRequestEditStore } from "@/modules/04_registryPerson/stores/RequestEdit"; import type { FormPerson } from "@/modules/04_registryPerson/interface/index/family"; import Header from "@/components/DialogHeader.vue"; //ส่วนหัว popup @@ -16,6 +16,8 @@ const $q = useQuasar(); const mixin = useCounterMixin(); const storeLinkCenter = useDataLinkCenter(); const storeProfile = useProfileDataStore(); +const storeRequestEdit = useRequestEditStore(); + const { showLoader, hideLoader, @@ -59,11 +61,9 @@ async function closeDialog() { coupleData.statusMarital = ""; } -async function onSubmit() { +function onSubmit() { dialogConfirm($q, async () => { const body = { - profileId: profileId.value, - coupleCitizenId: coupleData.citizenId, couplePrefix: coupleData.prefix, coupleFirstName: coupleData.firstName, coupleLastName: coupleData.lastName, @@ -72,19 +72,24 @@ async function onSubmit() { relationship: coupleData.statusMarital, coupleLastNameOld: coupleData.lastNameOld, }; + showLoader(); http - .post(config.API.profileFamily("", "couple"), body) + .patch( + config.API.requestInformationbyType( + "couple", + storeRequestEdit.profileId + ), + body + ) .then(async (res) => { await upDateStatus(); - success($q, "บันทึกข้อมูลสำเร็จ"); - closeDialog(); - await props.fetchData?.(); }) .catch((e) => { messageError($q, e); - hideLoader(); }) - .finally(() => {}); + .finally(() => { + hideLoader(); + }); }); } diff --git a/src/modules/04_registryPerson/components/Dialog/DialogUpdate.vue b/src/modules/04_registryPerson/components/Dialog/DialogUpdate.vue index e57904985..65e635510 100644 --- a/src/modules/04_registryPerson/components/Dialog/DialogUpdate.vue +++ b/src/modules/04_registryPerson/components/Dialog/DialogUpdate.vue @@ -8,8 +8,9 @@ import config from "@/app.config"; import { useCounterMixin } from "@/stores/mixin"; import { useLinkageStore } from "@/stores/linkage"; import { useDataLinkCenter } from "@/modules/04_registryPerson/stores/LinkCenter"; +import { useRequestEditStore } from "@/modules/04_registryPerson/stores/RequestEdit"; -import type { RequestAddressObject } from "@/modules/04_registryPerson/interface/request/Address"; +import type { RequestregistrationAddressObject } from "@/modules/04_registryPerson/interface/request/Address"; import type { RequestObject } from "@/modules/04_registryPerson/interface/request/Profile"; import type { FormPerson, @@ -27,6 +28,7 @@ const profileId = defineModel("profileId", { required: true }); //id บ const $q = useQuasar(); const mixin = useCounterMixin(); const storeLinkage = useLinkageStore(); +const storeRequestEdit = useRequestEditStore(); const storeLinkCenter = useDataLinkCenter(); const { showLoader, @@ -62,13 +64,7 @@ const formInformations = reactive({ rank: null, }); -const formDataAddress = reactive({ - currentZipCode: "", - currentSubDistrictId: "", - currentDistrictId: "", - currentProvinceId: "", - currentAddress: "", - +const formDataAddress = reactive({ registrationZipCode: "", registrationSubDistrictId: "", registrationDistrictId: "", @@ -114,12 +110,6 @@ async function upDateInfomation() { /** อัพเดตข้อมูลที่อยู่ */ async function upDateAddress() { if (presentAddress.value === "1") { - formDataAddress.currentAddress = formDataAddress.registrationAddress; - formDataAddress.currentProvinceId = formDataAddress.registrationProvinceId; - formDataAddress.currentDistrictId = formDataAddress.registrationDistrictId; - formDataAddress.currentSubDistrictId = - formDataAddress.registrationSubDistrictId; - formDataAddress.currentZipCode = formDataAddress.registrationZipCode; storeLinkCenter.OpsAddress.districtCOps = storeLinkCenter.OpsAddress.districtOps; storeLinkCenter.OpsAddress.subdistrictCOps = @@ -162,16 +152,40 @@ async function upDateStatus() { /** อัพเดตข้อมูล */ function onSubmit() { dialogConfirm($q, async () => { + const body = { + registrationZipCode: formDataAddress.registrationZipCode, + registrationSubDistrictId: formDataAddress.registrationSubDistrictId, + registrationDistrictId: formDataAddress.registrationDistrictId, + registrationProvinceId: formDataAddress.registrationProvinceId, + registrationAddress: formDataAddress.registrationAddress, + + bloodGroup: formInformations.bloodGroup, + relationship: formInformations.relationship, + gender: formInformations.gender, + religion: formInformations.religion, + nationality: formInformations.nationality, + ethnicity: formInformations.ethnicity, + birthDate: formInformations.birthDate, + lastName: formInformations.lastName, + firstName: formInformations.firstName, + prefix: formInformations.prefix, + rank: formInformations.rank, + }; showLoader(); - await upDateInfomation(); - await upDateAddress(); - if (count.value == 2) { - await upDateStatus(); - success($q, "บันทึกข้อมูลสำเร็จ"); - closeDialog(); - await props.fetchData?.(); - } - hideLoader(); + http + .patch( + config.API.requestInformationbyType("myprofile", storeRequestEdit.profileId), + body + ) + .then(async (res) => { + await upDateStatus(); + }) + .catch((e) => { + messageError($q, e); + }) + .finally(() => { + hideLoader(); + }); }); } @@ -243,11 +257,6 @@ async function amiRequest() { formDataAddress.registrationSubDistrictId = data.value.registrationSubDistrictId; formDataAddress.registrationZipCode = data.value.registrationZipCode; - formDataAddress.currentAddress = data.value.currentAddress; - formDataAddress.currentProvinceId = data.value.currentProvinceId; - formDataAddress.currentDistrictId = data.value.currentDistrictId; - formDataAddress.currentSubDistrictId = data.value.currentSubDistrictId; - formDataAddress.currentZipCode = data.value.currentZipCode; } watch( @@ -272,21 +281,11 @@ watch( "1", false ); - storeLinkCenter.fetchDistrict( - formDataAddress.currentProvinceId, - "2", - false - ); storeLinkCenter.fetchSubDistrict( formDataAddress.registrationDistrictId, "1", false ); - storeLinkCenter.fetchSubDistrict( - formDataAddress.currentDistrictId, - "2", - false - ); } hideLoader(); diff --git a/src/modules/04_registryPerson/components/requestEdit/01_TabInformation.vue b/src/modules/04_registryPerson/components/requestEdit/01_TabInformation.vue index 27a7164e3..e1356d8c4 100644 --- a/src/modules/04_registryPerson/components/requestEdit/01_TabInformation.vue +++ b/src/modules/04_registryPerson/components/requestEdit/01_TabInformation.vue @@ -180,6 +180,7 @@ function filterOption(val: string, update: Function) { */ function onclickEdit(data: Request) { requestId.value = data.id; + store.profileId = data.profileId; router.push(`/registry-officer/request-edit/personal/${data.id}`); } diff --git a/src/modules/04_registryPerson/components/requestEdit/Page01_Detail.vue b/src/modules/04_registryPerson/components/requestEdit/Page01_Detail.vue index 3f97fda1c..d3eb18d63 100644 --- a/src/modules/04_registryPerson/components/requestEdit/Page01_Detail.vue +++ b/src/modules/04_registryPerson/components/requestEdit/Page01_Detail.vue @@ -234,7 +234,7 @@ onMounted(async () => {