You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

212 lines
2.8 KiB
Plaintext

/* pages/index/index.wxss */
.page {
background: #eaf4ef;
min-height: 100vh;
padding: 24rpx;
}
/* 顶部卡片 */
.top-card {
background: #fff;
border-radius: 20rpx;
padding: 24rpx;
margin-bottom: 24rpx;
}
.top-header {
display: flex;
justify-content: space-between;
font-size: 24rpx;
color: #999;
}
.switch {
display: flex;
align-items: center;
gap: 10rpx;
}
/* 内容 */
.top-content {
display: grid;
grid-template-columns: 260rpx 1fr;
margin-top: 20rpx;
}
/* 圆环 */
.circle-wrap {
display: flex;
justify-content: center;
align-items: center;
}
.circle {
width: 200rpx;
height: 200rpx;
border-radius: 50%;
border: 14rpx solid #4caf50;
position: relative;
}
.inner {
position: absolute;
inset: 30rpx;
background: #fff;
border-radius: 50%;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
}
.total {
font-size: 44rpx;
font-weight: bold;
}
.unit {
font-size: 22rpx;
color: #999;
}
/* 右侧状态 */
.status-list {
display: grid;
grid-template-columns: 1fr 1fr;
row-gap: 16rpx;
column-gap: 20rpx;
padding-left: 20rpx;
}
.status {
font-size: 36rpx;
font-weight: bold;
}
.status:nth-child(n+5) {
display: none;
}
.status text {
display: block;
font-size: 22rpx;
font-weight: normal;
color: #999;
}
.green {
color: #4caf50;
}
.red {
color: #f44336;
}
.yellow {
color: #fbc02d;
}
.gray {
color: #9e9e9e;
}
/* Tabs */
.tabs {
background: #fff;
border-radius: 16rpx;
display: flex;
justify-content: space-around;
padding: 20rpx 0;
margin-bottom: 20rpx;
}
.tab {
font-size: 30rpx;
color: #999;
}
.tab.active {
color: #4caf50;
position: relative;
}
.tab.active::after {
content: '';
position: absolute;
bottom: -10rpx;
left: 50%;
transform: translateX(-50%);
width: 40rpx;
height: 6rpx;
background: #4caf50;
border-radius: 4rpx;
}
/* 筛选 */
.filter {
background: #fff;
padding: 20rpx;
border-radius: 16rpx;
margin-bottom: 20rpx;
color: #666;
font-size: 24rpx;
}
/* 设备卡片 */
.card-list {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 20rpx;
}
.card {
background: #fff;
border-radius: 16rpx;
padding: 24rpx;
position: relative;
padding-bottom: 50rpx;
}
.title {
font-size: 28rpx;
margin-bottom: 20rpx;
font-weight: bold;
}
.value {
margin-top: 20rpx;
font-size: 24rpx;
font-weight: bold;
}
.iconView {
position: absolute;
right: 24rpx;
bottom: 24rpx;
width: 10vw;
height: 10vw;
border-radius: 50%;
background-color: #F5F8F9;
}
.icon {
position: absolute;
top: 50%;
left: 50%;
width: 5vw;
height: 5vw;
transform: translate(-50%, -50%);
}
.picker {
position: relative;
}
.pickerIcon {
position: absolute;
top: 50%;
right: 24rpx;
width: 20rpx;
height: 20rpx;
transform: translateY(-50%);
}