jws-frontend/src/pages/02_personnel-management/MainPage.vue

177 lines
4.7 KiB
Vue
Raw Normal View History

2024-04-03 18:28:59 +07:00
<script setup lang="ts">
2024-04-04 15:03:39 +07:00
import { ref } from 'vue';
2024-04-03 18:28:59 +07:00
import PersonCard from 'src/components/home/PersonCard.vue';
import AppBox from 'components/app/AppBox.vue';
2024-04-04 15:03:39 +07:00
import StatCardComponet from 'components/StatCardComponet.vue';
import SelectorList from 'src/components/SelectorList.vue';
import BtnAddComponet from 'components/01_branch-management/BtnAddComponet.vue';
import TooltipComponet from 'src/components/TooltipComponet.vue';
2024-04-04 15:03:39 +07:00
const selectorLabel = ref('');
2024-04-03 18:28:59 +07:00
const person = [
{
name: 'นายสันติ เมติกาญจ์',
badge: 'CORP000001-01-240002',
detail: [
{ label: 'สัญชาติ', value: 'ไทย' },
{ label: 'ตำแหน่ง', value: 'นักบริหาร' },
{ label: 'โทรศัพท์', value: '0621249602' },
{ label: 'ตำแหน่ง', value: '32 ปี' },
],
male: true,
2024-04-04 17:48:48 +07:00
img: 'profile.png',
2024-04-03 18:28:59 +07:00
},
{
name: 'นางสาวสุขใจ แสนดี',
badge: 'CORP000001-01-240001',
detail: [
{ label: 'สัญชาติ', value: 'ไทย' },
{ label: 'ตำแหน่ง', value: 'นักบริหาร' },
{ label: 'โทรศัพท์', value: '0621249602' },
{ label: 'ตำแหน่ง', value: '32 ปี' },
],
female: true,
},
{
name: 'นายสันติ เมติกาญจ์',
badge: 'CORP000001-01-240002',
detail: [
{ label: 'สัญชาติ', value: 'ไทย' },
{ label: 'ตำแหน่ง', value: 'นักบริหาร' },
{ label: 'โทรศัพท์', value: '0621249602' },
{ label: 'ตำแหน่ง', value: '32 ปี' },
],
male: true,
disabled: true,
2024-04-04 17:48:48 +07:00
img: 'profile.png',
2024-04-03 18:28:59 +07:00
},
{
name: 'นางสาวสุขใจ แสนดี',
badge: 'CORP000001-01-240001',
detail: [
{ label: 'สัญชาติ', value: 'ไทย' },
{ label: 'ตำแหน่ง', value: 'นักบริหาร' },
{ label: 'โทรศัพท์', value: '0621249602' },
{ label: 'ตำแหน่ง', value: '32 ปี' },
],
female: true,
2024-04-04 15:03:39 +07:00
disabled: true,
2024-04-03 18:28:59 +07:00
},
{
name: 'นางสาวสุขใจ แสนดี',
badge: 'CORP000001-01-240001',
detail: [
{ label: 'สัญชาติ', value: 'ไทย' },
{ label: 'ตำแหน่ง', value: 'นักบริหาร' },
{ label: 'โทรศัพท์', value: '0621249602' },
{ label: 'ตำแหน่ง', value: '32 ปี' },
],
female: true,
},
] satisfies InstanceType<typeof PersonCard>['$props']['list'];
2024-04-04 15:03:39 +07:00
const branchStat = ref<
{
amount: string;
label: string;
}[]
>([
{
amount: '0',
label: '-',
2024-04-04 15:03:39 +07:00
},
{
amount: '0',
label: '-',
2024-04-04 15:03:39 +07:00
},
{
amount: '0',
label: '-',
2024-04-04 15:03:39 +07:00
},
{
amount: '0',
label: '-',
2024-04-04 15:03:39 +07:00
},
{
amount: '0',
label: '-',
2024-04-04 15:03:39 +07:00
},
]);
const selectorList = [
{
2024-04-04 18:08:37 +07:00
label: 'personnelSelector1',
2024-04-04 15:03:39 +07:00
count: 0,
},
{
2024-04-04 18:08:37 +07:00
label: 'personnelSelector2',
2024-04-04 15:03:39 +07:00
count: 0,
},
{
2024-04-04 18:08:37 +07:00
label: 'personnelSelector3',
2024-04-04 15:03:39 +07:00
count: 0,
},
{
2024-04-04 18:08:37 +07:00
label: 'personnelSelector4',
2024-04-04 15:03:39 +07:00
count: 0,
},
] satisfies InstanceType<typeof SelectorList>['$props']['list'];
2024-04-03 18:28:59 +07:00
</script>
<template>
2024-04-04 15:03:39 +07:00
<div class="column q-pb-lg">
<div class="text-h6 text-weight-bold q-mb-md">
{{ $t('personnelManagement') }}
</div>
2024-04-04 15:03:39 +07:00
<div class="row full-width q-mb-md no-wrap">
<!-- selector -->
<SelectorList
:list="selectorList"
v-model:selector="selectorLabel"
class="q-mr-md col-4"
/>
2024-04-04 15:03:39 +07:00
<!-- stat -->
<AppBox bordered class="column full-width" style="overflow-x: auto">
2024-04-04 15:03:39 +07:00
<span class="text-weight-bold text-subtitle1">
2024-04-04 18:08:37 +07:00
{{ $t('personnelStatTitle') + selectorLabel }}
2024-04-04 15:03:39 +07:00
</span>
<div class="row q-pt-lg">
<stat-card-componet :branch="branchStat" class="no-wrap" />
</div>
2024-04-04 15:03:39 +07:00
</AppBox>
</div>
2024-04-03 18:28:59 +07:00
2024-04-04 15:03:39 +07:00
<!-- main -->
<AppBox bordered style="width: 100%; height: 580px; overflow-y: auto">
2024-04-04 18:08:37 +07:00
<!-- <PersonCard :list="person" class="q-mb-md" /> -->
<div class="column" style="height: 100%">
<div class="col-1 self-end">
<div class="row">
<tooltip-componet
title="personnelTooltipTitle"
caption="personnelTooltipCaption"
imgSrc="personnel-table-"
/>
</div>
</div>
<div class="col self-center" style="display: flex; align-items: center">
<btn-add-componet
2024-04-04 18:08:37 +07:00
:label="'personnelAdd'"
@trigger="
() => {
console.log('test');
}
"
/>
</div>
</div>
2024-04-03 18:28:59 +07:00
</AppBox>
</div>
</template>