ทะเบียนประวัติ: ข้อมูลที่อยู่ (แก้การเลือกจังหวัด)
This commit is contained in:
parent
47f84f444b
commit
41cc892c91
1 changed files with 129 additions and 66 deletions
|
|
@ -47,7 +47,7 @@ const resultData = ref({
|
||||||
currentDistrictId: "ce9a2984-938f-454c-a758-26dcf8176afe",
|
currentDistrictId: "ce9a2984-938f-454c-a758-26dcf8176afe",
|
||||||
currentSubDistrictId: "97dba284-7cdc-45c6-863c-9590810fe8e2",
|
currentSubDistrictId: "97dba284-7cdc-45c6-863c-9590810fe8e2",
|
||||||
currentZipCode: "50100",
|
currentZipCode: "50100",
|
||||||
registrationSame: "1",
|
registrationSame: "0",
|
||||||
});
|
});
|
||||||
|
|
||||||
const dataLabel = {
|
const dataLabel = {
|
||||||
|
|
@ -262,6 +262,20 @@ function defaultAdd() {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function fetchData() {
|
async function fetchData() {
|
||||||
|
// mock data
|
||||||
|
addressData.value.address = resultData.value.registrationAddress;
|
||||||
|
addressData.value.provinceId = resultData.value.registrationProvinceId;
|
||||||
|
addressData.value.districtId = resultData.value.registrationDistrictId;
|
||||||
|
addressData.value.subdistrictId = resultData.value.registrationSubDistrictId;
|
||||||
|
addressData.value.codep = resultData.value.registrationZipCode;
|
||||||
|
|
||||||
|
addressData.value.same = resultData.value.registrationSame;
|
||||||
|
|
||||||
|
addressData.value.addressC = resultData.value.currentAddress;
|
||||||
|
addressData.value.provinceIdC = resultData.value.currentProvinceId;
|
||||||
|
addressData.value.districtIdC = resultData.value.currentDistrictId;
|
||||||
|
addressData.value.subdistrictIdC = resultData.value.currentSubDistrictId;
|
||||||
|
addressData.value.codec = resultData.value.currentZipCode;
|
||||||
// if (route.params.id) {
|
// if (route.params.id) {
|
||||||
// // showLoader();
|
// // showLoader();
|
||||||
// await http
|
// await http
|
||||||
|
|
@ -464,13 +478,57 @@ async function fetchSubDistrict(id: string | null, position: string) {
|
||||||
} else isLoad.value++;
|
} else isLoad.value++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function selectProvince(e: string | null, name: string) {
|
||||||
|
if (e != null) {
|
||||||
|
if (name == "1") {
|
||||||
|
addressData.value.districtId = "";
|
||||||
|
addressData.value.subdistrictId = "";
|
||||||
|
addressData.value.codep = "";
|
||||||
|
} else {
|
||||||
|
addressData.value.districtIdC = "";
|
||||||
|
addressData.value.subdistrictIdC = "";
|
||||||
|
addressData.value.codec = "";
|
||||||
|
}
|
||||||
|
myForm.value.resetValidation();
|
||||||
|
await fetchDistrict(e, name);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
async function selectDistrict(e: string | null, name: string) {
|
||||||
|
if (e != null) {
|
||||||
|
if (name == "1") {
|
||||||
|
addressData.value.subdistrictId = "";
|
||||||
|
addressData.value.codep = "";
|
||||||
|
} else {
|
||||||
|
addressData.value.subdistrictIdC = "";
|
||||||
|
addressData.value.codec = "";
|
||||||
|
}
|
||||||
|
myForm.value.resetValidation();
|
||||||
|
await fetchSubDistrict(e, name);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function selectSubDistrict(e: string | null, name: string) {
|
||||||
|
if (e != null) {
|
||||||
|
if (name == "1") {
|
||||||
|
const findcode = Ops.value.subdistrictOps.filter((r) => r.id == e);
|
||||||
|
const namecode = findcode.length > 0 ? findcode[0].zipCode : "";
|
||||||
|
addressData.value.codep = namecode;
|
||||||
|
} else {
|
||||||
|
const findcode = Ops.value.subdistrictCOps.filter((r) => r.id == e);
|
||||||
|
const namecode = findcode.length > 0 ? findcode[0].zipCode : "";
|
||||||
|
addressData.value.codec = namecode;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
async function getNewData() {
|
async function getNewData() {
|
||||||
await fetchData();
|
await fetchData();
|
||||||
await fetchProvince();
|
await fetchProvince();
|
||||||
await fetchDistrict(resultData.value.registrationProvinceId, "1");
|
await fetchDistrict(addressData.value.provinceId, "1");
|
||||||
await fetchDistrict(resultData.value.currentProvinceId, "2");
|
await fetchDistrict(addressData.value.provinceIdC, "2");
|
||||||
await fetchSubDistrict(resultData.value.registrationDistrictId, "1");
|
await fetchSubDistrict(addressData.value.districtId, "1");
|
||||||
await fetchSubDistrict(resultData.value.currentDistrictId, "2");
|
await fetchSubDistrict(addressData.value.districtIdC, "2");
|
||||||
}
|
}
|
||||||
|
|
||||||
function filterSelector(val: any, update: Function, refData: string) {
|
function filterSelector(val: any, update: Function, refData: string) {
|
||||||
|
|
@ -554,15 +612,14 @@ function onSubmit() {
|
||||||
myForm.value.validate().then(async (result: boolean) => {
|
myForm.value.validate().then(async (result: boolean) => {
|
||||||
if (result) {
|
if (result) {
|
||||||
// await saveData();
|
// await saveData();
|
||||||
console.log("Hello");
|
|
||||||
modal.value = false;
|
modal.value = false;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await getNewData();
|
|
||||||
defaultAdd();
|
defaultAdd();
|
||||||
|
await getNewData();
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<template>
|
<template>
|
||||||
|
|
@ -587,7 +644,7 @@ onMounted(async () => {
|
||||||
<div :class="$q.screen.gt.xs ? 'row' : 'column'">
|
<div :class="$q.screen.gt.xs ? 'row' : 'column'">
|
||||||
<!-- column 1 -->
|
<!-- column 1 -->
|
||||||
<div class="col-md-6 col-12 row">
|
<div class="col-md-6 col-12 row">
|
||||||
<div class="col-4 text-grey-6 text-weight-medium">
|
<div class="col-5 text-grey-6 text-weight-medium">
|
||||||
<div
|
<div
|
||||||
v-for="label in Object.keys(dataLabel).slice(0, 5)"
|
v-for="label in Object.keys(dataLabel).slice(0, 5)"
|
||||||
class="q-py-xs"
|
class="q-py-xs"
|
||||||
|
|
@ -596,16 +653,16 @@ onMounted(async () => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- data -->
|
<!-- data -->
|
||||||
<div class="col-8">
|
<div class="col-7">
|
||||||
<div class="q-py-xs">
|
<div class="q-py-xs">
|
||||||
{{ resultData.registrationAddress }}
|
{{ addressData.address }}
|
||||||
</div>
|
</div>
|
||||||
<div class="q-py-xs">
|
<div class="q-py-xs">
|
||||||
{{
|
{{
|
||||||
resultData.registrationProvinceId
|
addressData.provinceId
|
||||||
? (
|
? (
|
||||||
Ops.provinceOps.find(
|
Ops.provinceOps.find(
|
||||||
(r) => r.id === resultData.registrationProvinceId
|
(r) => r.id === addressData.provinceId
|
||||||
) || {}
|
) || {}
|
||||||
).name
|
).name
|
||||||
: "-"
|
: "-"
|
||||||
|
|
@ -613,10 +670,10 @@ onMounted(async () => {
|
||||||
</div>
|
</div>
|
||||||
<div class="q-py-xs">
|
<div class="q-py-xs">
|
||||||
{{
|
{{
|
||||||
resultData.registrationDistrictId
|
addressData.districtId
|
||||||
? (
|
? (
|
||||||
Ops.districtOps.find(
|
Ops.districtOps.find(
|
||||||
(r) => r.id === resultData.registrationDistrictId
|
(r) => r.id === addressData.districtId
|
||||||
) || {}
|
) || {}
|
||||||
).name
|
).name
|
||||||
: "-"
|
: "-"
|
||||||
|
|
@ -624,17 +681,17 @@ onMounted(async () => {
|
||||||
</div>
|
</div>
|
||||||
<div class="q-py-xs">
|
<div class="q-py-xs">
|
||||||
{{
|
{{
|
||||||
resultData.registrationSubDistrictId
|
addressData.subdistrictId
|
||||||
? (
|
? (
|
||||||
Ops.subdistrictOps.find(
|
Ops.subdistrictOps.find(
|
||||||
(r) => r.id === resultData.registrationSubDistrictId
|
(r) => r.id === addressData.subdistrictId
|
||||||
) || {}
|
) || {}
|
||||||
).name
|
).name
|
||||||
: "-"
|
: "-"
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
<div class="q-py-xs">
|
<div class="q-py-xs">
|
||||||
{{ resultData.registrationZipCode }}
|
{{ addressData.codep }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -642,12 +699,12 @@ onMounted(async () => {
|
||||||
<!-- column 2 -->
|
<!-- column 2 -->
|
||||||
<div
|
<div
|
||||||
class="text-grey-6 text-weight-medium"
|
class="text-grey-6 text-weight-medium"
|
||||||
v-if="resultData.registrationSame === '1'"
|
v-if="addressData.same === '1'"
|
||||||
>
|
>
|
||||||
ที่อยู่ปัจจุบันตรงกับที่อยู่ตามทะเบียนบ้าน
|
ที่อยู่ปัจจุบันตรงกับที่อยู่ตามทะเบียนบ้าน
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6 col-12 row" v-else>
|
<div class="col-md-6 col-12 row" v-else>
|
||||||
<div class="col-4 text-grey-6 text-weight-medium">
|
<div class="col-5 text-grey-6 text-weight-medium">
|
||||||
<div
|
<div
|
||||||
v-for="label in Object.keys(dataLabel).slice(5, 10)"
|
v-for="label in Object.keys(dataLabel).slice(5, 10)"
|
||||||
class="q-py-xs"
|
class="q-py-xs"
|
||||||
|
|
@ -656,16 +713,16 @@ onMounted(async () => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- data -->
|
<!-- data -->
|
||||||
<div class="col-8">
|
<div class="col-7">
|
||||||
<div class="q-py-xs">
|
<div class="q-py-xs">
|
||||||
{{ resultData.currentAddress }}
|
{{ addressData.addressC }}
|
||||||
</div>
|
</div>
|
||||||
<div class="q-py-xs">
|
<div class="q-py-xs">
|
||||||
{{
|
{{
|
||||||
resultData.currentProvinceId
|
addressData.provinceIdC
|
||||||
? (
|
? (
|
||||||
Ops.provinceOps.find(
|
Ops.provinceOps.find(
|
||||||
(r) => r.id === resultData.currentProvinceId
|
(r) => r.id === addressData.provinceIdC
|
||||||
) || {}
|
) || {}
|
||||||
).name
|
).name
|
||||||
: "-"
|
: "-"
|
||||||
|
|
@ -673,10 +730,10 @@ onMounted(async () => {
|
||||||
</div>
|
</div>
|
||||||
<div class="q-py-xs">
|
<div class="q-py-xs">
|
||||||
{{
|
{{
|
||||||
resultData.currentDistrictId
|
addressData.districtIdC
|
||||||
? (
|
? (
|
||||||
Ops.districtOps.find(
|
Ops.districtCOps.find(
|
||||||
(r) => r.id === resultData.currentDistrictId
|
(r) => r.id === addressData.districtIdC
|
||||||
) || {}
|
) || {}
|
||||||
).name
|
).name
|
||||||
: "-"
|
: "-"
|
||||||
|
|
@ -684,17 +741,17 @@ onMounted(async () => {
|
||||||
</div>
|
</div>
|
||||||
<div class="q-py-xs">
|
<div class="q-py-xs">
|
||||||
{{
|
{{
|
||||||
resultData.currentSubDistrictId
|
addressData.subdistrictIdC
|
||||||
? (
|
? (
|
||||||
Ops.subdistrictOps.find(
|
Ops.subdistrictCOps.find(
|
||||||
(r) => r.id === resultData.currentSubDistrictId
|
(r) => r.id === addressData.subdistrictIdC
|
||||||
) || {}
|
) || {}
|
||||||
).name
|
).name
|
||||||
: "-"
|
: "-"
|
||||||
}}
|
}}
|
||||||
</div>
|
</div>
|
||||||
<div class="q-py-xs">
|
<div class="q-py-xs">
|
||||||
{{ resultData.registrationZipCode }}
|
{{ addressData.codec }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -719,14 +776,14 @@ onMounted(async () => {
|
||||||
lazy-rules
|
lazy-rules
|
||||||
hide-bottom-space
|
hide-bottom-space
|
||||||
type="textarea"
|
type="textarea"
|
||||||
v-model="resultData.registrationAddress"
|
v-model="addressData.address"
|
||||||
:label="dataLabel.registrationAddress"
|
:label="dataLabel.registrationAddress"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณากรอก ที่อยู่ตามทะเบียนบ้าน'}`]"
|
:rules="[(val:string) => !!val || `${'กรุณากรอก ที่อยู่ตามทะเบียนบ้าน'}`]"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="row col-12 q-col-gutter-x-xs q-col-gutter-y-xs">
|
<div class="row col-12 q-col-gutter-x-xs q-col-gutter-y-xs">
|
||||||
<div class="col-xs-6 col-sm-6 col-md-6">
|
<div class="col-xs-6 col-sm-6 col-md-6">
|
||||||
<selector
|
<q-select
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
use-input
|
use-input
|
||||||
|
|
@ -737,17 +794,18 @@ onMounted(async () => {
|
||||||
option-value="id"
|
option-value="id"
|
||||||
option-label="name"
|
option-label="name"
|
||||||
input-debounce="0"
|
input-debounce="0"
|
||||||
v-model="resultData.registrationProvinceId"
|
v-model="addressData.provinceId"
|
||||||
:options="Ops.provinceOps"
|
:options="Ops.provinceOps"
|
||||||
:label="dataLabel.registrationProvince"
|
:label="dataLabel.registrationProvince"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณาเลือก จังหวัด'}`]"
|
:rules="[(val:string) => !!val || `${'กรุณาเลือก จังหวัด'}`]"
|
||||||
|
@update:model-value="(value:string) => selectProvince(value, '1')"
|
||||||
@filter="(inputValue:string,
|
@filter="(inputValue:string,
|
||||||
doneFn:Function) => filterSelector(inputValue, doneFn,'provinceOps'
|
doneFn:Function) => filterSelector(inputValue, doneFn,'provinceOps'
|
||||||
) "
|
) "
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6 col-sm-6 col-md-6">
|
<div class="col-xs-6 col-sm-6 col-md-6">
|
||||||
<selector
|
<q-select
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
use-input
|
use-input
|
||||||
|
|
@ -758,17 +816,18 @@ onMounted(async () => {
|
||||||
option-value="id"
|
option-value="id"
|
||||||
option-label="name"
|
option-label="name"
|
||||||
input-debounce="0"
|
input-debounce="0"
|
||||||
v-model="resultData.registrationDistrictId"
|
v-model="addressData.districtId"
|
||||||
:options="Ops.districtOps"
|
:options="Ops.districtOps"
|
||||||
:label="dataLabel.registrationDistrict"
|
:label="dataLabel.registrationDistrict"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณาเลือก เขต / อำเภอ'}`]"
|
:rules="[(val:string) => !!val || `${'กรุณาเลือก เขต / อำเภอ'}`]"
|
||||||
|
@update:model-value="(value:string) => selectDistrict(value, '1')"
|
||||||
@filter="(inputValue:string,
|
@filter="(inputValue:string,
|
||||||
doneFn:Function) => filterSelector(inputValue, doneFn,'districtOps'
|
doneFn:Function) => filterSelector(inputValue, doneFn,'districtOps'
|
||||||
) "
|
) "
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6 col-sm-6 col-md-6">
|
<div class="col-xs-6 col-sm-6 col-md-6">
|
||||||
<selector
|
<q-select
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
use-input
|
use-input
|
||||||
|
|
@ -779,10 +838,11 @@ onMounted(async () => {
|
||||||
option-value="id"
|
option-value="id"
|
||||||
option-label="name"
|
option-label="name"
|
||||||
input-debounce="0"
|
input-debounce="0"
|
||||||
v-model="resultData.registrationSubDistrictId"
|
v-model="addressData.subdistrictId"
|
||||||
:options="Ops.subdistrictOps"
|
:options="Ops.subdistrictOps"
|
||||||
:label="dataLabel.registrationSubDistrict"
|
:label="dataLabel.registrationSubDistrict"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณาเลือก เขต / อำเภอ'}`]"
|
:rules="[(val:string) => !!val || `${'กรุณาเลือก แขวง / ตำบล'}`]"
|
||||||
|
@update:model-value="(value:string) => selectSubDistrict(value, '1')"
|
||||||
@filter="(inputValue:string,
|
@filter="(inputValue:string,
|
||||||
doneFn:Function) => filterSelector(inputValue, doneFn,'subdistrictOps'
|
doneFn:Function) => filterSelector(inputValue, doneFn,'subdistrictOps'
|
||||||
) "
|
) "
|
||||||
|
|
@ -795,7 +855,7 @@ onMounted(async () => {
|
||||||
outlined
|
outlined
|
||||||
lazy-rules
|
lazy-rules
|
||||||
hide-bottom-space
|
hide-bottom-space
|
||||||
v-model="resultData.registrationZipCode"
|
v-model="addressData.codep"
|
||||||
:label="dataLabel.registrationZipCode"
|
:label="dataLabel.registrationZipCode"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -806,24 +866,24 @@ onMounted(async () => {
|
||||||
>ที่อยู่ปัจจุบันตรงกับที่อยู่ตามทะเบียนบ้าน</label
|
>ที่อยู่ปัจจุบันตรงกับที่อยู่ตามทะเบียนบ้าน</label
|
||||||
>
|
>
|
||||||
<q-radio
|
<q-radio
|
||||||
v-model="resultData.registrationSame"
|
dense
|
||||||
checked-icon="task_alt"
|
|
||||||
unchecked-icon="panorama_fish_eye"
|
|
||||||
val="1"
|
val="1"
|
||||||
label="ใช่"
|
label="ใช่"
|
||||||
dense
|
checked-icon="task_alt"
|
||||||
|
v-model="addressData.same"
|
||||||
|
unchecked-icon="panorama_fish_eye"
|
||||||
/>
|
/>
|
||||||
<q-radio
|
<q-radio
|
||||||
v-model="resultData.registrationSame"
|
dense
|
||||||
checked-icon="task_alt"
|
|
||||||
unchecked-icon="panorama_fish_eye"
|
|
||||||
val="0"
|
val="0"
|
||||||
label="ไม่"
|
label="ไม่"
|
||||||
dense
|
checked-icon="task_alt"
|
||||||
|
v-model="addressData.same"
|
||||||
|
unchecked-icon="panorama_fish_eye"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<!-- current address -->
|
<!-- current address -->
|
||||||
<div v-if="resultData.registrationSame === '0'">
|
<div v-if="addressData.same === '0'">
|
||||||
<div class="col-12 q-pb-xs">
|
<div class="col-12 q-pb-xs">
|
||||||
<q-input
|
<q-input
|
||||||
dense
|
dense
|
||||||
|
|
@ -831,14 +891,14 @@ onMounted(async () => {
|
||||||
lazy-rules
|
lazy-rules
|
||||||
hide-bottom-space
|
hide-bottom-space
|
||||||
type="textarea"
|
type="textarea"
|
||||||
v-model="resultData.currentAddress"
|
v-model="addressData.addressC"
|
||||||
:label="dataLabel.currentAddress"
|
:label="dataLabel.currentAddress"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณากรอก ที่อยู่ปัจจุบัน'}`]"
|
:rules="[(val:string) => !!val || `${'กรุณากรอก ที่อยู่ปัจจุบัน'}`]"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="row col-12 q-col-gutter-x-xs q-col-gutter-y-xs">
|
<div class="row col-12 q-col-gutter-x-xs q-col-gutter-y-xs">
|
||||||
<div class="col-xs-6 col-sm-6 col-md-6">
|
<div class="col-xs-6 col-sm-6 col-md-6">
|
||||||
<selector
|
<q-select
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
use-input
|
use-input
|
||||||
|
|
@ -849,17 +909,18 @@ onMounted(async () => {
|
||||||
option-value="id"
|
option-value="id"
|
||||||
option-label="name"
|
option-label="name"
|
||||||
input-debounce="0"
|
input-debounce="0"
|
||||||
v-model="resultData.currentProvinceId"
|
v-model="addressData.provinceIdC"
|
||||||
:options="Ops.provinceOps"
|
:options="Ops.provinceOps"
|
||||||
:label="dataLabel.currentProvince"
|
:label="dataLabel.currentProvince"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณาเลือก จังหวัด'}`]"
|
:rules="[(val:string) => !!val || `${'กรุณาเลือก จังหวัด'}`]"
|
||||||
|
@update:model-value="(value:string) => selectProvince(value, '2')"
|
||||||
@filter="(inputValue:string,
|
@filter="(inputValue:string,
|
||||||
doneFn:Function) => filterSelector(inputValue, doneFn,'provinceOps'
|
doneFn:Function) => filterSelector(inputValue, doneFn,'provinceOps'
|
||||||
) "
|
) "
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6 col-sm-6 col-md-6">
|
<div class="col-xs-6 col-sm-6 col-md-6">
|
||||||
<selector
|
<q-select
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
use-input
|
use-input
|
||||||
|
|
@ -870,17 +931,18 @@ onMounted(async () => {
|
||||||
option-value="id"
|
option-value="id"
|
||||||
option-label="name"
|
option-label="name"
|
||||||
input-debounce="0"
|
input-debounce="0"
|
||||||
v-model="resultData.currentDistrictId"
|
v-model="addressData.districtIdC"
|
||||||
:options="Ops.districtOps"
|
:options="Ops.districtCOps"
|
||||||
:label="dataLabel.currentDistrict"
|
:label="dataLabel.currentDistrict"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณาเลือก เขต / อำเภอ'}`]"
|
:rules="[(val:string) => !!val || `${'กรุณาเลือก เขต / อำเภอ'}`]"
|
||||||
|
@update:model-value="(value:string) => selectDistrict(value, '2')"
|
||||||
@filter="(inputValue:string,
|
@filter="(inputValue:string,
|
||||||
doneFn:Function) => filterSelector(inputValue, doneFn,'districtOps'
|
doneFn:Function) => filterSelector(inputValue, doneFn,'districtOps'
|
||||||
) "
|
) "
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-6 col-sm-6 col-md-6">
|
<div class="col-xs-6 col-sm-6 col-md-6">
|
||||||
<selector
|
<q-select
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
use-input
|
use-input
|
||||||
|
|
@ -891,10 +953,11 @@ onMounted(async () => {
|
||||||
option-value="id"
|
option-value="id"
|
||||||
option-label="name"
|
option-label="name"
|
||||||
input-debounce="0"
|
input-debounce="0"
|
||||||
v-model="resultData.currentSubDistrictId"
|
v-model="addressData.subdistrictIdC"
|
||||||
:options="Ops.subdistrictOps"
|
:options="Ops.subdistrictCOps"
|
||||||
:label="dataLabel.currentSubDistrict"
|
:label="dataLabel.currentSubDistrict"
|
||||||
:rules="[(val:string) => !!val || `${'กรุณาเลือก เขต / อำเภอ'}`]"
|
:rules="[(val:string) => !!val || `${'กรุณาเลือก แขวง / ตำบล'}`]"
|
||||||
|
@update:model-value="(value:string) => selectSubDistrict(value, '2')"
|
||||||
@filter="(inputValue:string,
|
@filter="(inputValue:string,
|
||||||
doneFn:Function) => filterSelector(inputValue, doneFn,'subdistrictOps'
|
doneFn:Function) => filterSelector(inputValue, doneFn,'subdistrictOps'
|
||||||
) "
|
) "
|
||||||
|
|
@ -907,7 +970,7 @@ onMounted(async () => {
|
||||||
outlined
|
outlined
|
||||||
lazy-rules
|
lazy-rules
|
||||||
hide-bottom-space
|
hide-bottom-space
|
||||||
v-model="resultData.registrationZipCode"
|
v-model="addressData.codec"
|
||||||
:label="dataLabel.registrationZipCode"
|
:label="dataLabel.registrationZipCode"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -917,10 +980,10 @@ onMounted(async () => {
|
||||||
<q-separator />
|
<q-separator />
|
||||||
<div class="text-right q-pa-sm">
|
<div class="text-right q-pa-sm">
|
||||||
<q-btn
|
<q-btn
|
||||||
id="onSubmit"
|
|
||||||
type="submit"
|
|
||||||
dense
|
dense
|
||||||
unelevated
|
unelevated
|
||||||
|
id="onSubmit"
|
||||||
|
type="submit"
|
||||||
label="บันทึก"
|
label="บันทึก"
|
||||||
color="public"
|
color="public"
|
||||||
class="q-px-md"
|
class="q-px-md"
|
||||||
|
|
@ -933,14 +996,14 @@ onMounted(async () => {
|
||||||
</q-dialog>
|
</q-dialog>
|
||||||
|
|
||||||
<HistoryTable
|
<HistoryTable
|
||||||
:rows="rowsHistory"
|
|
||||||
:columns="columnsHistory"
|
|
||||||
:filter="filterHistory"
|
|
||||||
:visible-columns="visibleColumnsHistory"
|
|
||||||
v-model:modal="modalHistory"
|
v-model:modal="modalHistory"
|
||||||
|
v-model:tittle="tittleHistory"
|
||||||
v-model:inputfilter="filterHistory"
|
v-model:inputfilter="filterHistory"
|
||||||
v-model:inputvisible="visibleColumnsHistory"
|
v-model:inputvisible="visibleColumnsHistory"
|
||||||
v-model:tittle="tittleHistory"
|
:rows="rowsHistory"
|
||||||
|
:filter="filterHistory"
|
||||||
|
:columns="columnsHistory"
|
||||||
|
:visible-columns="visibleColumnsHistory"
|
||||||
>
|
>
|
||||||
<template #columns="props">
|
<template #columns="props">
|
||||||
<q-tr :props="props">
|
<q-tr :props="props">
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue