refactor: change layout of stat card

This commit is contained in:
Methapon2001 2024-07-04 13:14:21 +07:00
parent 9126270de6
commit 16bd9d03c5
4 changed files with 158 additions and 189 deletions

View file

@ -441,7 +441,6 @@ watch(locale, () => {
label-i18n label-i18n
:branch="stats" :branch="stats"
:dark="$q.dark.isActive" :dark="$q.dark.isActive"
nowrap
/> />
<div <div

View file

@ -533,46 +533,38 @@ watch(inputSearch, async () => await fetchUserList());
></q-fab-action> ></q-fab-action>
</ButtonAddComponent> </ButtonAddComponent>
<div class="column full-height">
<div class="row full-width q-pb-md q-gutter-y-md">
<!-- selector -->
<div class="col-sm-5 col-md-3 col-12 q-mr-md">
<SelectorList :list="selectorList" v-model:selector="selectorLabel" />
</div>
<!-- stat --> <!-- stat -->
<div class="col-12 col-sm bordered surface-1 rounded"> <div class="scroll q-mb-md">
<div class="text-weight-bold text-subtitle1 q-pa-md"> <div style="display: inline-block">
{{ $t('personnelStatTitle') }}
{{ selectorLabel === '' ? '' : $t(selectorLabel) }}
</div>
<div class="scroll">
<div class="q-mx-md" style="display: inline-block">
<StatCardComponent <StatCardComponent
v-if="sortedUserStats" v-if="sortedUserStats"
:branch=" :branch="
sortedUserStats.map((v) => ({ sortedUserStats.map((v) => ({
count: v.count, count: v.count,
label: $i18n.locale === 'en-US' ? v.nameEN : v.name, label: $i18n.locale === 'en-US' ? v.nameEN : v.name,
icon: 'mdi-account',
color: v.isHeadOffice ? 'pink' : 'purple', color: v.isHeadOffice ? 'pink' : 'purple',
})) }))
" "
:dark="$q.dark.isActive" :dark="$q.dark.isActive"
nowrap
class="q-mb-md"
/> />
</div> </div>
</div> </div>
</div>
</div>
<!-- main --> <!-- main -->
<div <div
class="col scroll bordered surface-1 rounded q-pa-md justify-between column no-wrap" class="col scroll bordered surface-1 rounded q-pa-md justify-between column no-wrap"
> >
<div> <div>
<div class="row q-mb-md justify-between"> <div class="row q-mb-md justify-end" style="gap: var(--size-2)">
<q-input
for="input-search"
style="width: 250px"
outlined
dense
:label="$t('search')"
debounce="500"
v-model="inputSearch"
></q-input>
<q-btn <q-btn
id="btn-filter" id="btn-filter"
icon="mdi-tune-vertical-variant" icon="mdi-tune-vertical-variant"
@ -617,24 +609,12 @@ watch(inputSearch, async () => await fetchUserList());
</q-list> </q-list>
</q-menu> </q-menu>
</q-btn> </q-btn>
<q-input
for="input-search"
style="width: 250px"
outlined
dense
:label="$t('search')"
debounce="500"
v-model="inputSearch"
></q-input>
</div> </div>
<PersonCard <PersonCard
:list=" :list="
userData?.result userData?.result
.filter((v) => { .filter((v) => {
if ( if (statusFilter === 'statusACTIVE' && v.status === 'INACTIVE') {
statusFilter === 'statusACTIVE' &&
v.status === 'INACTIVE'
) {
return false; return false;
} }
if ( if (
@ -718,7 +698,6 @@ watch(inputSearch, async () => await fetchUserList());
/> />
</div> </div>
</div> </div>
</div>
<DrawerInfo <DrawerInfo
v-if="currentUser" v-if="currentUser"

View file

@ -1332,16 +1332,7 @@ watch([inputSearch, currentStatus], async () => {
<div class="column full-height no-wrap"> <div class="column full-height no-wrap">
<div v-if="isMainPage" class="column full-height"> <div v-if="isMainPage" class="column full-height">
<div class="row full-width q-pb-md q-gutter-y-md"> <div class="row full-width">
<div class="col-sm-5 col-md-3 col-12 q-mr-md">
<SelectorList
clickable
:list="selectorList"
v-model:selector="selectorLabel"
class="full-height"
/>
</div>
<!-- stat --> <!-- stat -->
<div class="col-12 col-sm bordered surface-1 rounded"> <div class="col-12 col-sm bordered surface-1 rounded">
<div class="text-weight-bold text-subtitle1 q-pa-md"> <div class="text-weight-bold text-subtitle1 q-pa-md">

View file

@ -1183,9 +1183,9 @@ watch(inputSearchProductAndService, async () => {
<div <div
v-if="productMode === 'group' || productMode === 'type'" v-if="productMode === 'group' || productMode === 'type'"
class="q-mb-md bordered rounded surface-1 scroll" class="scroll q-mb-md"
> >
<div class="q-ma-md" style="display: inline-block"> <div style="display: inline-block">
<StatCard label-i18n :branch="stat" :dark="$q.dark.isActive" nowrap /> <StatCard label-i18n :branch="stat" :dark="$q.dark.isActive" nowrap />
</div> </div>
</div> </div>