feat: UI Customer Detail 2 (more detail + i18n)

This commit is contained in:
oat_dev 2024-06-07 13:59:36 +07:00
parent f3a146e345
commit ccd7364b8a
5 changed files with 177 additions and 135 deletions

View file

@ -24,37 +24,57 @@ withDefaults(
<template> <template>
<AppBox class="row" no-padding bordered> <AppBox class="row" no-padding bordered>
<div <div
class="row col-12 q-px-md q-py-md justify-between bordered-b surface-3" class="row col-12 q-px-md q-py-md justify-between bordered-b surface-3 items-center"
> >
<div>รหสสาขา {{ data.branchCode }}</div> <div>{{ $t('customerBranchFormTab') }} {{ data.branchCode }}</div>
<div>รายละเอยด</div> <q-btn
@click.stop="$emit('view-detail')"
:label="$t('viewDetail')"
rounded
outline
dense
class="q-px-md"
style="color: var(--stone-6)"
/>
</div> </div>
<div class="row col-12 q-px-md q-py-sm bordered-b"> <div class="row col-12 q-px-md q-py-sm bordered-b">
<div class="col-5">อสาขา</div> <div class="col-5">{{ $t('branchName') }}</div>
<div class="col-7">{{ data.branchName }}</div> <div class="col-7">{{ data.branchName }}</div>
</div> </div>
<div class="row col-12 q-px-md q-py-sm bordered-b surface-2"> <div class="row col-12 q-px-md q-py-sm bordered-b surface-2">
<div class="col-5">อย</div> <div class="col-5">{{ $t('address') }}</div>
<div class="col-7">{{ data.address }}</div> <div class="col-7">{{ data.address }}</div>
</div> </div>
<div class="row col-12 q-px-md q-py-sm bordered-b"> <div class="row col-12 q-px-md q-py-sm bordered-b">
<div class="col-5">เบอรโทร</div> <div class="col-5">{{ $t('telephone') }}</div>
<div class="col-7">{{ data.tel }}</div> <div class="col-7">{{ data.tel }}</div>
</div> </div>
<div class="row col-12 q-px-md q-py-sm bordered-b surface-2"> <div class="row col-12 q-px-md q-py-sm bordered-b surface-2">
<div class="col-5">ประเภทสำนกงาน</div> <div class="col-5">{{ $t('businessTypePure') }}</div>
<div class="col-7">{{ data.type }}</div>
</div>
<div class="row col-12 q-px-md q-py-sm bordered-b">
<div class="col-5">ประเภทกจการ</div>
<div class="col-7">{{ data.typeCop }}</div> <div class="col-7">{{ data.typeCop }}</div>
</div> </div>
<div class="row col-12 q-px-md q-py-sm bordered-b surface-2"> <div class="row col-12 q-px-md q-py-sm bordered-b">
<div class="col-5">สถานะ</div> <div class="col-5">{{ $t('status') }}</div>
<div class="col-7">{{ data.branchName }}</div> <div class="col-7">
<q-badge
v-if="data.boolean"
class="q-px-md q-py-xs rounded"
style="background-color: var(--teal-1); color: var(--teal-4)"
>
{{ $t('statusACTIVE') }}
</q-badge>
<q-badge
v-else
text-color="orange"
class="q-px-md q-py-xs rounded"
style="background-color: var(--red-1); color: var(--orange-4)"
>
{{ $t('statusINACTIVE') }}
</q-badge>
</div>
</div> </div>
<div class="row col-12 q-px-md q-py-sm surface-3"> <div class="row col-12 q-px-md q-py-sm surface-3">
<div class="col-5">กจางทงหมด</div> <div class="col-5">{{ $t('allEmployee') }}</div>
<div class="col-7">{{ data.number }}</div> <div class="col-7">{{ data.number }}</div>
</div> </div>
</AppBox> </AppBox>

View file

@ -17,7 +17,7 @@ withDefaults(
<template> <template>
<AppBox no-padding bordered> <AppBox no-padding bordered>
<div class="row no-wrap justify-between q-pa-md bordered-b surface-2"> <div class="row no-wrap justify-between bordered-b surface-2">
<div class="row items-center"> <div class="row items-center">
<q-btn <q-btn
round round
@ -28,8 +28,8 @@ withDefaults(
class="q-mr-md" class="q-mr-md"
/> />
<q-card-section <q-card-section
class="q-pa-sm q-pt-md bg-green q-mr-md" class="q-pa-sm q-pt-md bg-green q-mr-md q-mb-sm"
style="border-radius: 0 0 40px 40px; position: relative; bottom: 20px" style="border-radius: 0 0 40px 40px; position: relative"
> >
<q-avatar no-padding size="50px"> <q-avatar no-padding size="50px">
<img src="https://cdn.quasar.dev/img/avatar1.jpg" /> <img src="https://cdn.quasar.dev/img/avatar1.jpg" />
@ -37,23 +37,27 @@ withDefaults(
</q-card-section> </q-card-section>
<div> <div>
<div>นายสขใจ แสนด</div> <div>นายสขใจ แสนด</div>
<div class="flex items-center"> <div class="row items-center">
<i <i
class="isax isax-frame5" class="isax isax-frame5"
style="font-size: 1rem; color: var(--stone-6)" style="font-size: 1rem; color: var(--stone-6)"
/> />
<div class="q-px-sm">
{{ '10' }} {{ '10' }}
</div>
<q-icon name="mdi-home" size="16px" style="color: var(--stone-6)" /> <q-icon name="mdi-home" size="16px" style="color: var(--stone-6)" />
<div class="q-px-sm">
{{ '2' }} {{ '2' }}
</div> </div>
</div> </div>
</div> </div>
<div class="row items-center"> </div>
<div class="row items-center q-pa-md">
<q-btn <q-btn
id="btn-add-customer" id="btn-add-customer"
dense dense
unelevated unelevated
:label="'+ ' + $t('customerAdd')" :label="'+ ' + $t('formDialogTitleCreateSubBranch')"
padding="4px 16px" padding="4px 16px"
@click="console.log('add')" @click="console.log('add')"
style="background-color: var(--cyan-6); color: white" style="background-color: var(--cyan-6); color: white"
@ -63,7 +67,7 @@ withDefaults(
style="width: 250px" style="width: 250px"
outlined outlined
dense dense
label="ค้นหา" :label="$t('search')"
class="q-mr-lg" class="q-mr-lg"
:bg-color="$q.dark.isActive ? 'dark' : 'white'" :bg-color="$q.dark.isActive ? 'dark' : 'white'"
v-model="inputSearch" v-model="inputSearch"
@ -72,6 +76,8 @@ withDefaults(
<q-btn <q-btn
icon="mdi-tune-vertical-variant" icon="mdi-tune-vertical-variant"
size="sm" size="sm"
:color="$q.dark.isActive ? 'dark' : 'white'"
:text-color="$q.dark.isActive ? 'white' : 'dark'"
class="bordered rounded" class="bordered rounded"
unelevated unelevated
> >
@ -105,7 +111,9 @@ withDefaults(
</div> </div>
<div class="row q-pa-lg q-col-gutter-xl"> <div class="row q-pa-lg q-col-gutter-xl">
<div v-for="i in 2" class="col-4"> <div v-for="i in 2" class="col-4">
<BranchCardCustomer></BranchCardCustomer> <BranchCardCustomer
@view-detail="$emit('viewDetail')"
></BranchCardCustomer>
</div> </div>
</div> </div>
</AppBox> </AppBox>

View file

@ -13,6 +13,8 @@ export default {
inputCustomerAddress: 'Employment office location (within the area)', inputCustomerAddress: 'Employment office location (within the area)',
businessType: 'Business type in Thai', businessType: 'Business type in Thai',
businessTypeEN: 'Business type in English', businessTypeEN: 'Business type in English',
businessTypePure: 'Business Type',
jobPosition: 'Job position in Thai', jobPosition: 'Job position in Thai',
jobPositionEN: 'Job position in English', jobPositionEN: 'Job position in English',
jobDescription: 'Job description', jobDescription: 'Job description',
@ -32,4 +34,6 @@ export default {
registerName: 'RegisterName', registerName: 'RegisterName',
customerBranchFormTab: 'Branch ', customerBranchFormTab: 'Branch ',
allEmployee: 'All Employee',
}; };

View file

@ -17,6 +17,7 @@ export default {
businessType: 'ประเภทกิจการ ภาษาไทย', businessType: 'ประเภทกิจการ ภาษาไทย',
businessTypeEN: 'ประเภทกิจการ ภาษาอังกฤษ', businessTypeEN: 'ประเภทกิจการ ภาษาอังกฤษ',
businessTypePure: 'ประเภทกิจการ',
jobPosition: 'ตําแหน่งงาน ภาษาไทย', jobPosition: 'ตําแหน่งงาน ภาษาไทย',
jobPositionEN: 'ตําแหน่งงาน ภาษาอังกฤษ', jobPositionEN: 'ตําแหน่งงาน ภาษาอังกฤษ',
@ -40,4 +41,8 @@ export default {
registerName: 'จดทะเบียนชื่อ', registerName: 'จดทะเบียนชื่อ',
customerBranchFormTab: 'สาขาที่', customerBranchFormTab: 'สาขาที่',
officeType: '',
allEmployee: 'ลูกจ้างทั้งหมด',
}; };

View file

@ -215,11 +215,12 @@ function undo() {
</script> </script>
<template> <template>
<div v-if="isMainPage" class="column q-pb-lg"> <div class="column q-pb-lg">
<div class="text-h6 text-weight-bold q-mb-md"> <div class="text-h6 text-weight-bold q-mb-md">
{{ $t('customerManagement') }} {{ $t('customerManagement') }}
</div> </div>
<div v-if="isMainPage">
<div class="row full-width q-mb-md no-wrap"> <div class="row full-width q-mb-md no-wrap">
<SelectorList <SelectorList
:list="selectorList" :list="selectorList"
@ -339,7 +340,11 @@ function undo() {
</AppBox> </AppBox>
</div> </div>
<div v-else> <div v-else>
<CustomerInfoComponent @back="isMainPage = true" /> <CustomerInfoComponent
@back="isMainPage = true"
@viewDetail="console.log('view detail')"
/>
</div>
</div> </div>
<FormDialog <FormDialog