Files
coba-tampilan/pages/tables/TableHeaderFixed.vue

91 lines
3.6 KiB
Vue

<script setup lang="ts">
import { ref } from 'vue';
// common components
import BaseBreadcrumb from '@/components/shared/BaseBreadcrumb.vue';
import UiParentCard from '@/components/shared/UiParentCard.vue';
import {tableFixedHeaderData} from '@/_mockApis/components/table/basicTables';
// template breadcrumb
const page = ref({ title: 'Fixed Header Table' });
const breadcrumbs = ref([
{
text: 'Dashboard',
disabled: false,
href: '#'
},
{
text: 'Fixed Header Table',
disabled: true,
href: '#'
}
]);
</script>
<template>
<!-- ---------------------------------------------------- -->
<!-- Table Header Fixed -->
<!-- ---------------------------------------------------- -->
<BaseBreadcrumb :title="page.title" :breadcrumbs="breadcrumbs"></BaseBreadcrumb>
<v-row>
<v-col cols="12">
<UiParentCard title="Header Fixed Table">
<v-card class="border" elevation="0">
<v-table class="month-table" fixed-header height="400px">
<thead>
<tr>
<th class="text-h6 ps-6">Customer</th>
<th class="text-h6">Status</th>
<th class="text-h6">Email Address</th>
<th class="text-h6">Teams</th>
</tr>
</thead>
<tbody>
<tr v-for="item in tableFixedHeaderData" :key="item.name" class="month-item">
<td class=" ps-6">
<div class="d-flex gap-3 align-center">
<v-avatar size="40">
<img :src="item.avatar" alt="avatar" height="40" />
</v-avatar>
<div>
<h6 class="text-h6">{{ item.name }}</h6>
<div class="text-body-1 textSecondary">{{ item.handle }}</div>
</div>
</div>
</td>
<td>
<v-chip rounded="sm" v-if="item.statusoffline" class="font-weight-bold " :color="item.statuscolor" size="small">
<ClockHour4Icon size="15" class="mr-1" />
{{ item.status }}
</v-chip>
<v-chip rounded="sm" v-else class="font-weight-bold " :color="item.statuscolor" size="small">
<CircleIcon size="15" class="mr-1" />
{{ item.status }}
</v-chip>
</td>
<td>
<div class="text-subtitle-1 text-medium-emphasis">{{ item.email }}</div>
</td>
<td>
<div class="d-flex align-center">
<div class="d-flex gap-2">
<v-chip
v-for="team in item.teams"
:key="team.status"
rounded="sm"
:class="'font-weight-bold bg-' + team.statuscolor"
size="small"
>
{{ team.status }}
</v-chip>
</div>
</div>
</td>
</tr>
</tbody>
</v-table>
</v-card>
</UiParentCard>
</v-col>
</v-row>
</template>