<template>
|
<div
|
class="bedside-auxiliary-screen-card"
|
:style="{
|
'--bg-color': props.backgroundColor,
|
}"
|
>
|
<div class="card-header">
|
<img :src="props.icon" class="card-icon" alt="" srcset="" />
|
<span class="card-title">{{ props.title }}</span>
|
</div>
|
<div class="card-main">
|
<slot />
|
</div>
|
</div>
|
</template>
|
|
<script lang="ts" setup name="Card">
|
interface Props {
|
backgroundColor: string; // 背景颜色
|
title: string; // 标题
|
icon: string;
|
height?: number;
|
}
|
const props = defineProps<Props>();
|
</script>
|
|
<style lang="less" scoped>
|
* {
|
box-sizing: border-box;
|
}
|
.bedside-auxiliary-screen-card {
|
display: flex;
|
flex-direction: column;
|
// height: 100%;
|
padding: 3px 4px;
|
border-radius: 2px;
|
background-color: var(--bg-color, #70a3dd);
|
overflow: hidden;
|
overflow-y: auto;
|
height: 100%;
|
|
.card-header {
|
flex: 0 0 6px;
|
display: flex;
|
align-items: center;
|
margin-bottom: 2px;
|
|
.card-icon {
|
width: 6px;
|
height: 6px;
|
margin-right: 2px;
|
}
|
|
.card-title {
|
flex: 1;
|
font-family: PingFangSC, PingFang SC;
|
font-weight: 500;
|
font-size: 4px;
|
color: #333333;
|
text-align: left;
|
font-style: normal;
|
white-space: nowrap;
|
overflow: hidden;
|
text-overflow: ellipsis;
|
}
|
}
|
|
.card-main {
|
flex: 1;
|
overflow: hidden;
|
overflow-y: auto;
|
min-height: 0;
|
}
|
.card-main > * {
|
min-height: 0;
|
overflow: hidden;
|
}
|
}
|
:deep(.el-scrollbar__view) {
|
min-height: 0;
|
height: 100%;
|
overflow: hidden;
|
overflow-y: auto;
|
}
|
</style>
|