V13-FE-011: finalize search list layout slice

This commit is contained in:
2026-08-09 02:57:26 +09:00
parent 9efd202e76
commit 6422cb2b13
984 changed files with 120811 additions and 1498 deletions
@@ -0,0 +1,30 @@
<script setup lang="ts">
import type { KbxWorkItem, KbxWorkItemAction, KbxWorkQueueCounter } from '@kbx/contracts'
import KbxExceptionSummary from './KbxExceptionSummary.vue'
import KbxExceptionDetailDrawer from './KbxExceptionDetailDrawer.vue'
defineProps<{
counters: KbxWorkQueueCounter[]
activeKey?: string | null
selectedItem?: KbxWorkItem | null
can?: (permission: string) => boolean
}>()
const emit = defineEmits<{
filter: [string | null]
closeDetail: []
action: [KbxWorkItemAction]
}>()
</script>
<template>
<section class="kbx-exception-center">
<KbxExceptionSummary :counters="counters" :active-key="activeKey" @select="emit('filter', $event)" />
<div class="kbx-exception-center__queue"><slot /></div>
<KbxExceptionDetailDrawer :item="selectedItem ?? null" :can="can" @close="emit('closeDetail')" @action="emit('action', $event)" />
</section>
</template>
<style scoped>
.kbx-exception-center { display:flex; flex-direction:column; gap:8px; min-height:0; height:100%; }
.kbx-exception-center__queue { min-height:0; flex:1; }
</style>