Files
his/openhis-ui-vue3/src/components/Layout/index.vue
2025-12-27 15:30:25 +08:00

51 lines
903 B
Vue

<template>
<div class="page-container">
<div v-if="$slots.header" class="page-header">
<slot name="header" />
</div>
<div class="page-content">
<slot />
</div>
<div v-if="$slots.footer" class="page-footer">
<slot name="footer" />
</div>
</div>
</template>
<style scoped lang="scss">
.page-container {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 16px;
box-sizing: border-box;
}
.page-header {
flex-shrink: 0;
display: flex;
justify-content: flex-end;
align-items: center;
margin-bottom: 16px;
}
.page-content {
flex: 1;
min-height: 0;
overflow-y: auto;
}
.page-footer {
flex-shrink: 0;
display: flex;
justify-content: center;
align-items: center;
margin-top: 16px;
padding-top: 16px;
border-top: 1px solid #ebeef5;
}
</style>