378 lines
6.4 KiB
Plaintext
378 lines
6.4 KiB
Plaintext
/* subpackage/teacher/student-fitness-detail/student-fitness-detail.wxss */
|
|
|
|
/* ===== 成绩弹窗 ===== */
|
|
.popup-mask {
|
|
position: fixed;
|
|
top: 0; left: 0; right: 0; bottom: 0;
|
|
background: rgba(0,0,0,0.45);
|
|
z-index: 999;
|
|
}
|
|
|
|
.score-popup {
|
|
position: fixed;
|
|
left: 0; right: 0; bottom: 0;
|
|
background: #fff;
|
|
border-radius: 36rpx 36rpx 0 0;
|
|
padding: 36rpx 40rpx 60rpx;
|
|
z-index: 9999;
|
|
transform: translateY(100%);
|
|
transition: transform 0.3s ease;
|
|
box-shadow: 0 -8rpx 40rpx rgba(73,165,252,0.18);
|
|
}
|
|
|
|
.popup-show {
|
|
transform: translateY(0);
|
|
}
|
|
|
|
.popup-header {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: 36rpx;
|
|
}
|
|
|
|
.popup-icon {
|
|
width: 88rpx;
|
|
height: 88rpx;
|
|
margin-right: 20rpx;
|
|
border-radius: 50%;
|
|
/* background: linear-gradient(135deg, #8dcfff, #49a5fc); */
|
|
/* padding: 14rpx; */
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.popup-title {
|
|
flex: 1;
|
|
font-size: 34rpx;
|
|
font-weight: bold;
|
|
color: #18394D;
|
|
}
|
|
|
|
.popup-close {
|
|
width: 56rpx;
|
|
height: 56rpx;
|
|
border-radius: 50%;
|
|
background: #f0f4f8;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
font-size: 26rpx;
|
|
color: #999;
|
|
}
|
|
|
|
.score-rows {
|
|
background: #f7fbff;
|
|
border-radius: 20rpx;
|
|
padding: 8rpx 30rpx;
|
|
margin-bottom: 36rpx;
|
|
}
|
|
|
|
.score-row {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 24rpx 0;
|
|
border-bottom: 1rpx solid #eef2f8;
|
|
}
|
|
|
|
.score-row:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.score-divider {
|
|
height: 2rpx;
|
|
background: linear-gradient(90deg, transparent, #d0e8ff, transparent);
|
|
margin: 4rpx 0;
|
|
}
|
|
|
|
.score-label {
|
|
font-size: 28rpx;
|
|
color: #666;
|
|
}
|
|
|
|
.score-value {
|
|
font-size: 34rpx;
|
|
font-weight: bold;
|
|
color: #333;
|
|
}
|
|
|
|
.score-highlight {
|
|
color: #1d78e8;
|
|
font-size: 40rpx;
|
|
}
|
|
|
|
.score-unit {
|
|
font-size: 22rpx;
|
|
color: #999;
|
|
font-weight: normal;
|
|
}
|
|
|
|
.popup-btn {
|
|
background: linear-gradient(135deg, #49a5fc, #1d78e8);
|
|
color: #fff;
|
|
text-align: center;
|
|
padding: 28rpx 0;
|
|
border-radius: 50rpx;
|
|
font-size: 30rpx;
|
|
font-weight: bold;
|
|
box-shadow: 0 6rpx 20rpx rgba(73,165,252,0.4);
|
|
letter-spacing: 2rpx;
|
|
}
|
|
|
|
/* ===== 体测报告卡片 ===== */
|
|
.fitness-card {
|
|
background: #fff;
|
|
border-radius: 24rpx;
|
|
padding: 30rpx 20rpx 10rpx;
|
|
box-shadow: 0 4rpx 20rpx rgba(73,165,252,0.12);
|
|
margin-bottom: 30rpx;
|
|
margin-top: 20rpx;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
}
|
|
|
|
.fitness-chart-title {
|
|
font-size: 30rpx;
|
|
font-weight: bold;
|
|
color: #18394D;
|
|
margin-bottom: 16rpx;
|
|
position: relative;
|
|
padding: 0 30rpx;
|
|
}
|
|
|
|
.fitness-chart-title::before,
|
|
.fitness-chart-title::after {
|
|
content: '';
|
|
display: inline-block;
|
|
width: 60rpx;
|
|
height: 4rpx;
|
|
background: linear-gradient(90deg, transparent, #49a5fc);
|
|
vertical-align: middle;
|
|
margin-right: 16rpx;
|
|
border-radius: 2rpx;
|
|
}
|
|
|
|
.fitness-chart-title::after {
|
|
background: linear-gradient(90deg, #49a5fc, transparent);
|
|
margin-right: 0;
|
|
margin-left: 16rpx;
|
|
}
|
|
|
|
.radar-wrap {
|
|
overflow: hidden;
|
|
}
|
|
|
|
/* ===== 六项指标网格 ===== */
|
|
.fitness-grid {
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
gap: 20rpx;
|
|
margin-bottom: 10rpx;
|
|
}
|
|
|
|
.fitness-item {
|
|
width: calc(33.33% - 14rpx);
|
|
background: #fff;
|
|
border-radius: 20rpx;
|
|
box-shadow: 0 4rpx 16rpx rgba(73,165,252,0.12);
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
padding: 30rpx 10rpx 24rpx;
|
|
box-sizing: border-box;
|
|
active-opacity: 0.7;
|
|
}
|
|
|
|
.fitness-item:active {
|
|
transform: scale(0.96);
|
|
}
|
|
|
|
.fitness-icon {
|
|
width: 88rpx;
|
|
height: 88rpx;
|
|
}
|
|
|
|
.fitness-name {
|
|
font-size: 24rpx;
|
|
color: #333;
|
|
font-weight: 500;
|
|
text-align: center;
|
|
margin-bottom: 8rpx;
|
|
}
|
|
|
|
.fitness-score {
|
|
font-size: 30rpx;
|
|
font-weight: bold;
|
|
color: #1d78e8;
|
|
}
|
|
|
|
.fitness-unit {
|
|
font-size: 20rpx;
|
|
color: #999;
|
|
font-weight: normal;
|
|
}
|
|
|
|
/* ===== 空状态 ===== */
|
|
.empty-tip {
|
|
text-align: center;
|
|
padding: 80rpx 0;
|
|
color: #bbb;
|
|
font-size: 26rpx;
|
|
|
|
flex-wrap: wrap;
|
|
gap: 10rpx;
|
|
}
|
|
|
|
.meta-tag {
|
|
background-color: rgba(255, 255, 255, 0.25);
|
|
border-radius: 20rpx;
|
|
padding: 4rpx 18rpx;
|
|
font-size: 22rpx;
|
|
color: #fff;
|
|
}
|
|
|
|
.score-wrap {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background-color: rgba(255, 255, 255, 0.2);
|
|
border-radius: 20rpx;
|
|
padding: 16rpx 28rpx;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.score-num {
|
|
font-size: 52rpx;
|
|
font-weight: bold;
|
|
color: #fff;
|
|
line-height: 1;
|
|
}
|
|
|
|
|
|
/* ===== 章节标题 ===== */
|
|
.section-title {
|
|
display: flex;
|
|
align-items: center;
|
|
margin: 36rpx 30rpx 16rpx;
|
|
font-size: 28rpx;
|
|
font-weight: bold;
|
|
color: #222;
|
|
}
|
|
|
|
.title-bar {
|
|
width: 6rpx;
|
|
height: 28rpx;
|
|
border-radius: 6rpx;
|
|
background: linear-gradient(180deg, #26A5F6, #1478D4);
|
|
margin-right: 16rpx;
|
|
}
|
|
|
|
/* ===== 成绩表格 ===== */
|
|
.table-card {
|
|
background-color: #fff;
|
|
border-radius: 24rpx;
|
|
margin: 0 30rpx 40rpx;
|
|
overflow: hidden;
|
|
box-shadow: 0 4rpx 20rpx rgba(38, 165, 246, 0.1);
|
|
}
|
|
|
|
.table-row {
|
|
display: grid;
|
|
grid-template-columns: 2fr 1.5fr 1fr 1.2fr;
|
|
align-items: center;
|
|
padding: 0 24rpx;
|
|
min-height: 90rpx;
|
|
}
|
|
|
|
.table-header {
|
|
background: linear-gradient(90deg, #EAF4FF, #f5faff);
|
|
font-size: 24rpx;
|
|
font-weight: bold;
|
|
color: #26A5F6;
|
|
min-height: 72rpx;
|
|
border-bottom: 2rpx solid #e8f3ff;
|
|
}
|
|
|
|
.row-even {
|
|
background-color: #fff;
|
|
border-bottom: 2rpx solid #f5f5f5;
|
|
}
|
|
|
|
.row-odd {
|
|
background-color: #f8fcff;
|
|
border-bottom: 2rpx solid #f5f5f5;
|
|
}
|
|
|
|
.col-name {
|
|
font-size: 26rpx;
|
|
color: #333;
|
|
padding-right: 10rpx;
|
|
word-break: break-all;
|
|
}
|
|
|
|
.col {
|
|
font-size: 25rpx;
|
|
color: #555;
|
|
text-align: center;
|
|
}
|
|
|
|
.col-score {
|
|
font-weight: bold;
|
|
color: #26A5F6;
|
|
}
|
|
|
|
.col-rank {
|
|
text-align: center;
|
|
border-radius: 20rpx;
|
|
font-size: 22rpx;
|
|
padding: 4rpx 0;
|
|
}
|
|
|
|
.col-rank.rank-1 {
|
|
color: #1aad19;
|
|
background-color: #e8f9e8;
|
|
}
|
|
|
|
.col-rank.rank-2 {
|
|
color: #26A5F6;
|
|
background-color: #eaf4ff;
|
|
}
|
|
|
|
.col-rank.rank-3 {
|
|
color: #ff9900;
|
|
background-color: #fff7e8;
|
|
}
|
|
|
|
.col-rank.rank-4 {
|
|
color: #e64340;
|
|
background-color: #fff0f0;
|
|
}
|
|
|
|
/* ===== 空状态 ===== */
|
|
.empty {
|
|
text-align: center;
|
|
padding: 80rpx 0;
|
|
color: #bbb;
|
|
font-size: 26rpx;
|
|
}
|
|
|
|
/* ===== 加载骨架 ===== */
|
|
.skeleton {
|
|
padding: 24rpx 30rpx;
|
|
}
|
|
|
|
.sk-header {
|
|
height: 160rpx;
|
|
background: linear-gradient(90deg, #dbeeff 25%, #c8e5ff 50%, #dbeeff 75%);
|
|
border-radius: 24rpx;
|
|
margin-bottom: 40rpx;
|
|
}
|
|
|
|
.sk-row {
|
|
height: 80rpx;
|
|
background: linear-gradient(90deg, #f0f0f0 25%, #e8e8e8 50%, #f0f0f0 75%);
|
|
border-radius: 12rpx;
|
|
margin-bottom: 16rpx;
|
|
}
|