fastbee/yack-mini/miniprogram/pages/device/detail/detail.wxss

268 lines
3.6 KiB
Plaintext

/* 设备详情页样式 */
.container {
padding-bottom: 180rpx; /* 为底部操作按钮留出空间 */
}
.card {
background-color: #fff;
border-radius: 8rpx;
padding: 20rpx;
}
.device-info {
margin-bottom: 16rpx;
}
.info-row {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
padding: 12rpx 0;
border-bottom: 1rpx solid #f5f5f5;
}
.info-row:last-child {
border-bottom: none;
}
.info-label {
font-size: 26rpx;
color: #666;
}
.info-value {
font-size: 26rpx;
color: #333;
}
.data-section {
margin-bottom: 16rpx;
}
.section-header {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
margin-bottom: 16rpx;
}
.section-title {
font-size: 30rpx;
font-weight: 600;
color: #333;
}
.clear-btn {
font-size: 24rpx;
color: #ff4d4f;
}
.data-list {
max-height: 600rpx;
overflow-y: auto;
}
.data-item {
display: flex;
flex-direction: row;
align-items: center;
padding: 16rpx 0;
border-bottom: 1rpx solid #f5f5f5;
}
.data-item:last-child {
border-bottom: none;
}
.data-time {
width: 140rpx;
font-size: 24rpx;
color: #999;
}
.data-hex {
flex: 1;
font-size: 24rpx;
color: #333;
font-family: monospace;
word-break: break-all;
}
.data-flag {
width: 120rpx;
text-align: right;
}
.uploaded {
font-size: 22rpx;
color: #52c41a;
}
.pending {
font-size: 22rpx;
color: #bbb;
}
/* 空状态 - 紧凑版 */
.empty-compact {
text-align: center;
padding: 32rpx 24rpx;
background-color: #f5f5f5;
border-radius: 8rpx;
}
.empty-compact .empty-text {
font-size: 26rpx;
color: #999;
}
.empty-hint {
font-size: 24rpx;
color: #bbb;
margin-top: 12rpx;
}
/* 采集控制卡片 */
.collect-control {
display: flex;
flex-direction: column;
}
.collect-row {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.collect-text {
flex: 1;
padding-right: 20rpx;
}
.collect-title {
font-size: 28rpx;
font-weight: 600;
color: #333;
}
.collect-sub {
font-size: 22rpx;
color: #999;
margin-top: 6rpx;
}
.collect-status {
display: flex;
flex-direction: row;
align-items: center;
margin-top: 24rpx;
}
.status-label {
font-size: 24rpx;
color: #666;
margin-right: 16rpx;
}
.collect-meta {
display: flex;
flex-direction: row;
align-items: center;
font-size: 22rpx;
color: #999;
margin-top: 12rpx;
}
.collect-meta .dot {
margin: 0 8rpx;
}
.notice-text {
margin-top: 16rpx;
font-size: 22rpx;
color: #fa8c16;
}
.notice-text.error {
color: #ff4d4f;
}
.stats-section {
display: flex;
flex-direction: row;
margin-bottom: 20rpx;
}
.stat-item {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
padding: 16rpx 0;
}
.stat-value {
font-size: 40rpx;
font-weight: 600;
color: #1890ff;
}
.stat-label {
font-size: 24rpx;
color: #999;
margin-top: 8rpx;
}
.action-group {
display: flex;
flex-direction: row;
flex-wrap: wrap;
gap: 16rpx;
padding: 20rpx 0;
}
.btn-flush,
.btn-clear,
.btn-command {
flex: 1;
min-width: 200rpx;
display: flex;
align-items: center;
justify-content: center;
height: 80rpx;
line-height: 1;
font-size: 28rpx;
border-radius: 8rpx;
border: none;
padding: 0;
margin: 0;
}
.btn-flush::after,
.btn-clear::after,
.btn-command::after {
border: none;
}
.btn-flush {
background-color: #722ed1;
color: #fff;
}
.btn-flush[disabled] {
background-color: #b37feb;
color: #fff;
}
.btn-clear {
background-color: #ff4d4f;
color: #fff;
}
.btn-command {
background-color: #52c41a;
color: #fff;
}