diff --git a/src/components/shared/SelectInput.vue b/src/components/shared/SelectInput.vue
new file mode 100644
index 00000000..480af59a
--- /dev/null
+++ b/src/components/shared/SelectInput.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+ {{ $t('general.noData') }}
+
+
+
+
+
diff --git a/src/pages/01_branch-management/MainPage.vue b/src/pages/01_branch-management/MainPage.vue
index c8fbc23b..80ec32ad 100644
--- a/src/pages/01_branch-management/MainPage.vue
+++ b/src/pages/01_branch-management/MainPage.vue
@@ -348,6 +348,12 @@ const defaultFormData = {
subDistrictId: '',
districtId: '',
provinceId: '',
+ moo: '',
+ mooEN: '',
+ soi: '',
+ soiEN: '',
+ street: '',
+ streetEN: '',
lineId: '',
webUrl: '',
virtual: false,
@@ -450,6 +456,12 @@ async function fetchBranchById(id: string) {
webUrl: res.webUrl,
virtual: res.virtual,
selectedImage: res.selectedImage,
+ moo: res.moo,
+ mooEN: res.mooEN,
+ soi: res.soi,
+ soiEN: res.soiEN,
+ street: res.street,
+ streetEN: res.streetEN,
permitExpireDate: new Date(res.permitExpireDate),
permitIssueDate: new Date(res.permitIssueDate),
@@ -571,7 +583,6 @@ async function triggerEdit(
currentId.value = id;
-
if (!currentRecord) return;
currentEdit.value = {
@@ -1296,7 +1307,7 @@ watch(currentHq, () => {
() => {
if (
props.row.isHeadOffice &&
- props.row._count.branch !== 0
+ props.row._count?.branch !== 0
) {
fieldSelectedBranch.value = '';
inputSearch = '';
@@ -1408,19 +1419,25 @@ watch(currentHq, () => {
{{
props.row.contact !== undefined
- ? props.row.contact[0]?.telephoneNo
+ ? props.row.contact[0]?.telephoneNo || '-'
: '-'
}}
- {{ props.row.contactName }}
+ {{ props.row.contactName || '-' }}
- {{ props.row.address }}
+ {{
+ locale === 'eng'
+ ? `${props.row.addressEN} ${props.row.mooEN && `Moo ${props.row.mooEN}`} ${props.row.soiEN && `Soi ${props.row.soiEN}`} ${props.row.streetEN && `${props.row.streetEN} Street`} ${props.row.subDistrict.nameEN} ${props.row.district.nameEN} ${props.row.province.nameEN} ${props.row.subDistrict.zipCode}` ||
+ '-'
+ : `${props.row.address} ${props.row.moo && `หมู่ ${props.row.moo}`} ${props.row.soi && `ซอย ${props.row.soi}`} ${props.row.street && `ถนน ${props.row.street}`} ต.${props.row.subDistrict.name} อ.${props.row.district.name} จ.${props.row.province.name} ${props.row.subDistrict.zipCode}` ||
+ '-'
+ }}
{
:virtual-branch="props.row.virtual"
:id="`branch-card-${props.row.name}`"
:class="{
- 'cursor-pointer': props.row._count.branch !== 0,
+ 'cursor-pointer': props.row._count?.branch !== 0,
}"
@click="
() => {
if (
props.row.isHeadOffice &&
- props.row._count.branch !== 0
+ props.row._count?.branch !== 0
) {
fieldSelectedBranch.value = '';
inputSearch = '';
@@ -1524,14 +1541,16 @@ watch(currentHq, () => {
? props.row.nameEN
: props.row.name,
taxNo: props.row.taxNo,
- branchLabelTel: props.row.contact
- .map((c: BranchContact) => c.telephoneNo)
- .join(','),
- contactName: props.row.contactName,
+ branchLabelTel:
+ props.row.contact &&
+ props.row.contact
+ .map((c: BranchContact) => c.telephoneNo || '-')
+ .join(','),
+ contactName: props.row.contactName || '-',
branchLabelAddress:
$i18n.locale === 'eng'
- ? `${props.row.addressEN || ''} ${props.row.subDistrict?.nameEN || ''} ${props.row.district?.nameEN || ''} ${props.row.province?.nameEN || ''}`
- : `${props.row.address || ''} ${props.row.subDistrict?.name || ''} ${props.row.district?.name || ''} ${props.row.province?.name || ''}`,
+ ? `${props.row.addressEN} ${props.row.mooEN && `Moo ${props.row.mooEN}`} ${props.row.soiEN && `Soi ${props.row.soiEN}`} ${props.row.streetEN && `${props.row.streetEN} Street`} ${props.row.subDistrict.nameEN} ${props.row.district.nameEN} ${props.row.province.nameEN} ${props.row.subDistrict.zipCode}`
+ : `${props.row.address} ${props.row.moo && `หมู่ ${props.row.moo}`} ${props.row.soi && `ซอย ${props.row.soi}`} ${props.row.street && `ถนน ${props.row.street}`} ต.${props.row.subDistrict.name} อ.${props.row.district.name} จ.${props.row.province.name} ${props.row.subDistrict.zipCode}`,
branchImgUrl: `/branch/${props.row.id}/branch`,
}"
:field-selected="fieldSelected"
@@ -1876,7 +1895,12 @@ watch(currentHq, () => {
v-model:province-id="formData.provinceId"
v-model:district-id="formData.districtId"
v-model:sub-district-id="formData.subDistrictId"
- v-model:zip-code="formData.zipCode"
+ v-model:moo="formData.moo"
+ v-model:mooEN="formData.mooEN"
+ v-model:soi="formData.soi"
+ v-model:soiEN="formData.soiEN"
+ v-model:street="formData.street"
+ v-model:streetEN="formData.streetEN"
:readonly="formType === 'view'"
/>
{
v-model:province-id="formData.provinceId"
v-model:district-id="formData.districtId"
v-model:sub-district-id="formData.subDistrictId"
+ v-model:moo="formData.moo"
+ v-model:mooEN="formData.mooEN"
+ v-model:soi="formData.soi"
+ v-model:soiEN="formData.soiEN"
+ v-model:street="formData.street"
+ v-model:streetEN="formData.streetEN"
v-model:zip-code="formData.zipCode"
class="q-mb-xl"
/>
diff --git a/src/pages/03_customer-management/MainPage.vue b/src/pages/03_customer-management/MainPage.vue
index ad02b9d8..5950094b 100644
--- a/src/pages/03_customer-management/MainPage.vue
+++ b/src/pages/03_customer-management/MainPage.vue
@@ -1269,11 +1269,9 @@ const emptyCreateDialog = ref(false);
{{
- props.row.branch.length !== 0
- ? props.row.branch[0].address !== null
- ? `${props.row.branch[0].address} ${props.row.branch[0].moo} ${props.row.branch[0].soi} ${props.row.branch[0].street} จ.${props.row.branch[0].province.name} อ.${props.row.branch[0].district.name} ต.${props.row.branch[0].subDistrict.name} ${props.row.branch[0].subDistrict.zipCode}`
- : '-'
- : '-'
+ locale === 'eng'
+ ? `${props.row.branch[0].addressEN} ${props.row.branch[0].mooEN} ${props.row.branch[0].soiEN} ${props.row.branch[0].streetEN} ${props.row.branch[0].subDistrict.nameEN} ${props.row.branch[0].district.nameEN} ${props.row.branch[0].province.nameEN} ${props.row.branch[0].subDistrict.zipCode}`
+ : `${props.row.branch[0].address} ${props.row.branch[0].moo} ${props.row.branch[0].soi} ${props.row.branch[0].street} ต.${props.row.branch[0].subDistrict.name} อ.${props.row.branch[0].district.name} จ.${props.row.branch[0].province.name} ${props.row.branch[0].subDistrict.zipCode}`
}}
@@ -1532,7 +1530,7 @@ const emptyCreateDialog = ref(false);
props.row.branch[0].jobPosition,
)
: key === 'officeTel'
- ? props.row.branch[0].officeTel
+ ? props.row.branch[0].officeTel || '-'
: ''
}}
diff --git a/src/stores/branch/types.ts b/src/stores/branch/types.ts
index c5ab94e8..f11c72cd 100644
--- a/src/stores/branch/types.ts
+++ b/src/stores/branch/types.ts
@@ -41,6 +41,12 @@ export type Branch = {
provinceId: string | null;
addressEN: string;
address: string;
+ moo?: string;
+ mooEN?: string;
+ soi?: string;
+ soiEN?: string;
+ street?: string;
+ streetEN?: string;
nameEN: string;
name: string;
taxNo: string;
@@ -70,6 +76,12 @@ export type BranchCreate = {
name: string;
addressEN: string;
address: string;
+ moo?: string;
+ mooEN?: string;
+ soi?: string;
+ soiEN?: string;
+ street?: string;
+ streetEN?: string;
zipCode: string;
email: string;
longitude: string;