From 4f7d0cee9900861c8c3c1dfdd97ecca5862674c7 Mon Sep 17 00:00:00 2001 From: "STW_TTTY\\stwtt" Date: Tue, 14 May 2024 22:37:35 +0700 Subject: [PATCH] =?UTF-8?q?=E0=B9=81=E0=B8=AA=E0=B8=94=E0=B8=87=E0=B8=82?= =?UTF-8?q?=E0=B9=89=E0=B8=AD=E0=B8=A1=E0=B8=B9=E0=B8=A5=20=E0=B9=81?= =?UTF-8?q?=E0=B8=82=E0=B8=A7=E0=B8=87/=E0=B8=95=E0=B8=B3=E0=B8=9A?= =?UTF-8?q?=E0=B8=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/manage/api.person.ts | 6 +-- .../components/personal/DialogForm.vue | 20 ++++++++ .../personal/province/01_District.vue | 9 ++-- .../personal/province/02_SubDistrict.vue | 46 +++++++++++-------- .../interface/response/personal/personal.ts | 12 +++-- 5 files changed, 64 insertions(+), 29 deletions(-) diff --git a/src/api/manage/api.person.ts b/src/api/manage/api.person.ts index 26f48d0eb..06059c2a8 100644 --- a/src/api/manage/api.person.ts +++ b/src/api/manage/api.person.ts @@ -22,9 +22,9 @@ const orgGender = `${env.API_URI}/org/metadata/gender/`; const orgReligion = `${env.API_URI}/org/metadata/religion/`; const orgEducationLevel = `${env.API_URI}/org/metadata/educationLevel/`; -const orgProvince = `${env.API_URI}/org/metadata/province/`; -const orgDistrict = `${env.API_URI}/org/metadata/district/`; -const orgSubDistrict = `${env.API_URI}/org/metadata/subDistrict/`; +const orgProvince = `${env.API_URI}/org/metadata/province`; +const orgDistrict = `${env.API_URI}/org/metadata/district`; +const orgSubDistrict = `${env.API_URI}/org/metadata/subDistrict`; export default { person: `${person}person`, diff --git a/src/modules/01_metadataNew/components/personal/DialogForm.vue b/src/modules/01_metadataNew/components/personal/DialogForm.vue index 72e086dfe..b76e2e488 100644 --- a/src/modules/01_metadataNew/components/personal/DialogForm.vue +++ b/src/modules/01_metadataNew/components/personal/DialogForm.vue @@ -9,6 +9,7 @@ const mixin = useCounterMixin(); const { dialogConfirm } = mixin; const dataRef = ref(null); +const zipCodeRef = ref(null); const educationRankRef = ref(null); const data = defineModel("data", { required: true, @@ -18,6 +19,7 @@ const dialogStatus = defineModel("dialogStatus"); const editId = defineModel("editId"); const dialog = defineModel("dialog"); const educationRank = defineModel("educationRank"); +const zipCode = defineModel("zipCode"); const props = defineProps({ fetchData: { type: Function, @@ -38,6 +40,7 @@ function closeDialog() { function validateForm() { dataRef.value?.validate(); + zipCodeRef.value?.validate(); educationRankRef.value?.validate(); onSubmit(); } @@ -109,6 +112,23 @@ async function onSubmit() { /> + +
+ +
+
(""); const rows = ref([]) const dialogStatus = ref(""); -const personalName = ref("อำเภอ"); +const personalName = ref("เขต/อำเภอ"); const visibleColumns = ref([ "name", "createdAt", @@ -83,7 +83,7 @@ const visibleColumns = ref([ async function fetchData() { showLoader(); await http - .get(config.API.orgProvince+`${id.value}`) + .get(config.API.orgProvince+`/${id.value}`) .then(async (res) => { const data = res.data.result.districts const list = data.map((e:any) => ({ @@ -105,7 +105,6 @@ async function addData() { await http .post(config.API.orgDistrict, { name: district.value, - provinceId:id.value }) .then(() => { fetchData(); @@ -121,7 +120,7 @@ async function addData() { async function editData(id: string) { await http - .put(config.API.orgDistrict + `${id}`, { + .put(config.API.orgDistrict + `/${id}`, { name: district.value, }) .then(() => { @@ -138,7 +137,7 @@ async function editData(id: string) { async function deleteData(id: string) { await http - .delete(config.API.orgDistrict + `${id}`) + .delete(config.API.orgDistrict + `/${id}`) .then(() => { fetchData(); success($q, "ลบข้อมูลสำเร็จ"); diff --git a/src/modules/01_metadataNew/components/personal/province/02_SubDistrict.vue b/src/modules/01_metadataNew/components/personal/province/02_SubDistrict.vue index 1f6f68733..a6aa3150b 100644 --- a/src/modules/01_metadataNew/components/personal/province/02_SubDistrict.vue +++ b/src/modules/01_metadataNew/components/personal/province/02_SubDistrict.vue @@ -8,13 +8,16 @@ import { useQuasar } from "quasar"; import DialogForm from "@/modules/01_metadataNew/components/personal/DialogForm.vue"; import http from "@/plugins/http"; import config from "@/app.config"; +import type{ FormSubDistrict } from '@/modules/01_metadataNew/interface/response/personal/personal' +const rows = ref([]) const router = useRouter(); const route = useRoute(); const id = ref(route.params.id as string) +const idProvince = ref(route.params.provinceId as string) const store = usePersonalDataStore(); const mixin = useCounterMixin(); -const { dialogRemove, messageError, showLoader, hideLoader, success } = mixin; +const { dialogRemove, messageError, showLoader, hideLoader, success,date2Thai } = mixin; const columns = [ { name: "name", @@ -66,10 +69,11 @@ const $q = useQuasar(); const editId = ref(""); const filterKeyword = ref(""); const dialog = ref(false); -const province = ref(""); +const subDistrict = ref(""); +const zipCode = ref(""); const dialogStatus = ref(""); -const personalName = ref("อำเภอ"); +const personalName = ref("แขวง/ตำบล"); const visibleColumns = ref([ "name", "createdAt", @@ -80,9 +84,15 @@ const visibleColumns = ref([ async function fetchData() { showLoader(); await http - .get(config.API.orgDistrict+`${id.value}`) + .get(config.API.orgDistrict+`/${id.value}`) .then(async (res) => { - store.save(res.data.result); + const data = res.data.result.subDistricts + const list = data.map((e:any) => ({ + ...e, + createdAt: e.createdAt ? date2Thai(e.createdAt) : "", + lastUpdatedAt: e.lastUpdatedAt ? date2Thai(e.lastUpdatedAt) : "", + })); + rows.value = list }) .catch((err) => { messageError($q, err); @@ -94,8 +104,8 @@ async function fetchData() { async function addData() { await http - .post(config.API.orgDistrict, { - name: province.value, + .post(config.API.orgSubDistrict, { + name: subDistrict.value, }) .then(() => { fetchData(); @@ -111,8 +121,9 @@ async function addData() { async function editData(id: string) { await http - .put(config.API.orgDistrict + `${id}`, { - name: province.value, + .put(config.API.orgSubDistrict + `/${id}`, { + name: subDistrict.value, + zipCode: zipCode.value, }) .then(() => { fetchData(); @@ -128,7 +139,7 @@ async function editData(id: string) { async function deleteData(id: string) { await http - .delete(config.API.orgDistrict + `${id}`) + .delete(config.API.orgSubDistrict + `/${id}`) .then(() => { fetchData(); success($q, "ลบข้อมูลสำเร็จ"); @@ -141,9 +152,6 @@ async function deleteData(id: string) { }); } -function nextPage(id: string) { - router.push(`/master-data/personal/sub-district/${id}`); -} onMounted(async () => { fetchData(); @@ -178,7 +186,8 @@ onMounted(async () => { () => { dialogStatus = 'create'; dialog = true; - province = ''; + subDistrict = ''; + zipCode = '' } " > @@ -212,7 +221,7 @@ onMounted(async () => { {
{{ col.value }} @@ -256,7 +264,8 @@ onMounted(async () => { dialogStatus = 'edit'; dialog = true; editId = props.row.id; - province = props.row.name; + subDistrict = props.row.name; + zipCode = props.row.zipCode; } " > @@ -286,7 +295,8 @@ onMounted(async () => {