2023-12-15 17:23:33 +07:00
|
|
|
<script setup lang="ts">
|
|
|
|
|
const props = defineProps({
|
|
|
|
|
columns: {
|
2024-01-03 17:04:45 +07:00
|
|
|
type: Array as () => any[],
|
|
|
|
|
require: true,
|
|
|
|
|
},
|
|
|
|
|
row: {
|
|
|
|
|
type: Array as () => any[],
|
2023-12-15 17:23:33 +07:00
|
|
|
require: true,
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<template>
|
2024-01-18 11:02:23 +07:00
|
|
|
<q-table
|
2024-09-03 11:28:01 +07:00
|
|
|
ref="table"
|
|
|
|
|
flat
|
|
|
|
|
bordered
|
|
|
|
|
:columns="props.columns"
|
|
|
|
|
:rows="props.row"
|
|
|
|
|
dense
|
|
|
|
|
:rows-per-page-options="[10, 25, 50, 100]"
|
|
|
|
|
virtual-scroll
|
|
|
|
|
class="row col-12"
|
|
|
|
|
>
|
2024-12-18 11:22:38 +07:00
|
|
|
<template v-slot:header="props">
|
|
|
|
|
<q-tr :props="props" class="bg-grey-2">
|
|
|
|
|
<q-th v-for="col in props.cols" :key="col.name" :props="props">
|
|
|
|
|
<span class="text-body2 text-black">{{ col.label }}</span>
|
|
|
|
|
</q-th>
|
|
|
|
|
</q-tr>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<template v-slot:body="props">
|
|
|
|
|
<q-tr :props="props">
|
|
|
|
|
<q-td v-for="col in props.cols" :key="col.name" :props="props">
|
|
|
|
|
<div>
|
|
|
|
|
{{ !col.value ? "-" : col.value }}
|
|
|
|
|
</div>
|
|
|
|
|
</q-td>
|
|
|
|
|
</q-tr>
|
|
|
|
|
</template>
|
2024-01-18 11:02:23 +07:00
|
|
|
</q-table>
|
2023-12-15 17:23:33 +07:00
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<style scoped></style>
|