|
|
@@ -348,17 +348,19 @@ export default {
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
-<style scoped>
|
|
|
+<style scoped lang="scss">
|
|
|
+// iOS 警示橙(单页专有;vs $status-warning-2 #F59E0B 全局警示档)
|
|
|
+$c-accent-ios: #FF9500;
|
|
|
.container {
|
|
|
min-height: 100vh;
|
|
|
- background: #f5f7fa;
|
|
|
+ background: $app-bg;
|
|
|
padding-bottom: 120rpx;
|
|
|
}
|
|
|
|
|
|
/* ===== 报告卡 ===== */
|
|
|
.report-card {
|
|
|
margin: 20rpx 30rpx;
|
|
|
- background: #fff;
|
|
|
+ background: $app-surface;
|
|
|
border-radius: 24rpx;
|
|
|
padding: 40rpx;
|
|
|
box-shadow: 0 4rpx 20rpx rgba(0,0,0,0.06);
|
|
|
@@ -375,22 +377,22 @@ export default {
|
|
|
.report-title {
|
|
|
font-size: calc(36rpx * var(--font-scale, 1));
|
|
|
font-weight: bold;
|
|
|
- color: #333;
|
|
|
+ color: $facade-text-strong;
|
|
|
}
|
|
|
|
|
|
.report-date {
|
|
|
font-size: calc(24rpx * var(--font-scale, 1));
|
|
|
- color: #999;
|
|
|
+ color: $facade-text-muted;
|
|
|
}
|
|
|
|
|
|
/* ===== 综合评分 ===== */
|
|
|
.overall-score-wrap {
|
|
|
text-align: center;
|
|
|
padding: 40rpx 0;
|
|
|
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
|
+ background: linear-gradient(135deg, $accent-indigo 0%, $accent-indigo-deep 100%);
|
|
|
border-radius: 20rpx;
|
|
|
margin-bottom: 40rpx;
|
|
|
- color: #fff;
|
|
|
+ color: $app-surface;
|
|
|
}
|
|
|
|
|
|
.overall-label {
|
|
|
@@ -443,19 +445,19 @@ export default {
|
|
|
|
|
|
.dimension-name {
|
|
|
font-size: calc(28rpx * var(--font-scale, 1));
|
|
|
- color: #333;
|
|
|
+ color: $facade-text-strong;
|
|
|
font-weight: 500;
|
|
|
}
|
|
|
|
|
|
.dimension-score {
|
|
|
font-size: calc(32rpx * var(--font-scale, 1));
|
|
|
font-weight: bold;
|
|
|
- color: #667eea;
|
|
|
+ color: $accent-indigo;
|
|
|
}
|
|
|
|
|
|
.dimension-desc {
|
|
|
font-size: calc(22rpx * var(--font-scale, 1));
|
|
|
- color: #999;
|
|
|
+ color: $facade-text-muted;
|
|
|
line-height: 1.4;
|
|
|
}
|
|
|
|
|
|
@@ -467,7 +469,7 @@ export default {
|
|
|
gap: 24rpx;
|
|
|
margin-bottom: 20rpx;
|
|
|
padding: 12rpx 16rpx;
|
|
|
- background: #f8f9ff;
|
|
|
+ background: $dim-wisdom-tint-4;
|
|
|
border-radius: 12rpx;
|
|
|
}
|
|
|
|
|
|
@@ -476,7 +478,7 @@ export default {
|
|
|
flex-direction: row;
|
|
|
align-items: center;
|
|
|
font-size: calc(22rpx * var(--font-scale, 1));
|
|
|
- color: #888;
|
|
|
+ color: $facade-text-faint;
|
|
|
}
|
|
|
|
|
|
.norm-dot {
|
|
|
@@ -487,11 +489,11 @@ export default {
|
|
|
}
|
|
|
|
|
|
.norm-dot-p50 {
|
|
|
- background: #FF9500;
|
|
|
+ background: $c-accent-ios;
|
|
|
}
|
|
|
|
|
|
.norm-dot-child {
|
|
|
- background: #667eea;
|
|
|
+ background: $accent-indigo;
|
|
|
}
|
|
|
|
|
|
.dimension-score-wrap {
|
|
|
@@ -509,23 +511,23 @@ export default {
|
|
|
}
|
|
|
|
|
|
.nl-weak, .nl-below-average {
|
|
|
- background: #FEF2F2;
|
|
|
- color: #EF4444;
|
|
|
+ background: $status-danger-tint-2;
|
|
|
+ color: $status-danger;
|
|
|
}
|
|
|
|
|
|
.nl-average {
|
|
|
- background: #FFFBEB;
|
|
|
- color: #F59E0B;
|
|
|
+ background: $status-warning-tint;
|
|
|
+ color: $status-warning-2;
|
|
|
}
|
|
|
|
|
|
.nl-good, .nl-excellent {
|
|
|
- background: #F0FDF4;
|
|
|
- color: #22C55E;
|
|
|
+ background: $status-success-tint-2;
|
|
|
+ color: $status-success-2;
|
|
|
}
|
|
|
|
|
|
.dimension-bar {
|
|
|
height: 16rpx;
|
|
|
- background: #f0f0f0;
|
|
|
+ background: $facade-fill;
|
|
|
border-radius: 8rpx;
|
|
|
margin-bottom: 8rpx;
|
|
|
position: relative;
|
|
|
@@ -533,7 +535,7 @@ export default {
|
|
|
|
|
|
.dimension-bar-fill {
|
|
|
height: 100%;
|
|
|
- background: linear-gradient(90deg, #667eea, #764ba2);
|
|
|
+ background: linear-gradient(90deg, $accent-indigo, $accent-indigo-deep);
|
|
|
border-radius: 8rpx;
|
|
|
transition: width 0.5s;
|
|
|
}
|
|
|
@@ -550,7 +552,7 @@ export default {
|
|
|
.norm-marker-line {
|
|
|
width: 4rpx;
|
|
|
height: 24rpx;
|
|
|
- background: #FF9500;
|
|
|
+ background: $c-accent-ios;
|
|
|
border-radius: 2rpx;
|
|
|
}
|
|
|
|
|
|
@@ -562,11 +564,11 @@ export default {
|
|
|
}
|
|
|
|
|
|
.report-analysis {
|
|
|
- background: #f9f9ff;
|
|
|
+ background: $dim-wisdom-tint-5;
|
|
|
}
|
|
|
|
|
|
.report-suggestions {
|
|
|
- background: #f0fdf4;
|
|
|
+ background: $status-success-tint-2;
|
|
|
}
|
|
|
|
|
|
.analysis-header-row {
|
|
|
@@ -584,12 +586,12 @@ export default {
|
|
|
.analysis-title {
|
|
|
font-size: calc(30rpx * var(--font-scale, 1));
|
|
|
font-weight: bold;
|
|
|
- color: #333;
|
|
|
+ color: $facade-text-strong;
|
|
|
}
|
|
|
|
|
|
.analysis-content, .suggestion-content {
|
|
|
font-size: calc(26rpx * var(--font-scale, 1));
|
|
|
- color: #666;
|
|
|
+ color: $facade-text-body;
|
|
|
line-height: 1.7;
|
|
|
display: block;
|
|
|
}
|
|
|
@@ -612,25 +614,25 @@ export default {
|
|
|
}
|
|
|
|
|
|
.action-btn.primary {
|
|
|
- background: linear-gradient(135deg, #667eea, #764ba2);
|
|
|
+ background: linear-gradient(135deg, $accent-indigo, $accent-indigo-deep);
|
|
|
margin-left: 16rpx;
|
|
|
box-shadow: 0 4rpx 16rpx rgba(102,126,234,0.3);
|
|
|
}
|
|
|
|
|
|
.action-btn.secondary {
|
|
|
- background: #fff;
|
|
|
- border: 2rpx solid #ddd;
|
|
|
+ background: $app-surface;
|
|
|
+ border: 2rpx solid $facade-border-soft;
|
|
|
margin-right: 16rpx;
|
|
|
}
|
|
|
|
|
|
.action-btn-text {
|
|
|
font-size: 28rpx;
|
|
|
font-weight: 500;
|
|
|
- color: #fff;
|
|
|
+ color: $app-surface;
|
|
|
}
|
|
|
|
|
|
.action-btn.secondary .action-btn-text {
|
|
|
- color: #666;
|
|
|
+ color: $facade-text-body;
|
|
|
}
|
|
|
|
|
|
/* ===== 家庭行动建议 ===== */
|
|
|
@@ -653,18 +655,18 @@ export default {
|
|
|
.action-plan-title {
|
|
|
font-size: calc(34rpx * var(--font-scale, 1));
|
|
|
font-weight: bold;
|
|
|
- color: #333;
|
|
|
+ color: $facade-text-strong;
|
|
|
}
|
|
|
|
|
|
.action-plan-desc {
|
|
|
font-size: calc(26rpx * var(--font-scale, 1));
|
|
|
- color: #888;
|
|
|
+ color: $facade-text-faint;
|
|
|
margin-bottom: 20rpx;
|
|
|
display: block;
|
|
|
}
|
|
|
|
|
|
.overall-suggestion {
|
|
|
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
|
+ background: linear-gradient(135deg, $accent-indigo 0%, $accent-indigo-deep 100%);
|
|
|
border-radius: 16rpx;
|
|
|
padding: 24rpx 28rpx;
|
|
|
margin-bottom: 24rpx;
|
|
|
@@ -672,31 +674,31 @@ export default {
|
|
|
|
|
|
.overall-suggestion-text {
|
|
|
font-size: calc(26rpx * var(--font-scale, 1));
|
|
|
- color: #fff;
|
|
|
+ color: $app-surface;
|
|
|
line-height: 1.6;
|
|
|
display: block;
|
|
|
}
|
|
|
|
|
|
/* 各维度推荐卡片 */
|
|
|
.rec-item {
|
|
|
- background: #fff;
|
|
|
+ background: $app-surface;
|
|
|
border-radius: 20rpx;
|
|
|
padding: 28rpx;
|
|
|
margin-bottom: 20rpx;
|
|
|
box-shadow: 0 4rpx 16rpx rgba(0,0,0,0.05);
|
|
|
- border-left: 8rpx solid #667eea;
|
|
|
+ border-left: 8rpx solid $accent-indigo;
|
|
|
}
|
|
|
|
|
|
.rec-item.rec-level-high {
|
|
|
- border-left-color: #EF4444;
|
|
|
+ border-left-color: $status-danger;
|
|
|
}
|
|
|
|
|
|
.rec-item.rec-level-normal {
|
|
|
- border-left-color: #F59E0B;
|
|
|
+ border-left-color: $status-warning-2;
|
|
|
}
|
|
|
|
|
|
.rec-item.rec-level-low {
|
|
|
- border-left-color: #22C55E;
|
|
|
+ border-left-color: $status-success-2;
|
|
|
}
|
|
|
|
|
|
.rec-header {
|
|
|
@@ -721,13 +723,13 @@ export default {
|
|
|
.rec-label {
|
|
|
font-size: calc(28rpx * var(--font-scale, 1));
|
|
|
font-weight: bold;
|
|
|
- color: #333;
|
|
|
+ color: $facade-text-strong;
|
|
|
margin-right: 12rpx;
|
|
|
}
|
|
|
|
|
|
.rec-score {
|
|
|
font-size: calc(24rpx * var(--font-scale, 1));
|
|
|
- color: #888;
|
|
|
+ color: $facade-text-faint;
|
|
|
}
|
|
|
|
|
|
.rec-level-tag {
|
|
|
@@ -738,23 +740,23 @@ export default {
|
|
|
}
|
|
|
|
|
|
.tag-high {
|
|
|
- background: #FEF2F2;
|
|
|
- color: #EF4444;
|
|
|
+ background: $status-danger-tint-2;
|
|
|
+ color: $status-danger;
|
|
|
}
|
|
|
|
|
|
.tag-normal {
|
|
|
- background: #FFFBEB;
|
|
|
- color: #F59E0B;
|
|
|
+ background: $status-warning-tint;
|
|
|
+ color: $status-warning-2;
|
|
|
}
|
|
|
|
|
|
.tag-low {
|
|
|
- background: #F0FDF4;
|
|
|
- color: #22C55E;
|
|
|
+ background: $status-success-tint-2;
|
|
|
+ color: $status-success-2;
|
|
|
}
|
|
|
|
|
|
.rec-suggestion {
|
|
|
font-size: calc(26rpx * var(--font-scale, 1));
|
|
|
- color: #555;
|
|
|
+ color: $facade-text-deep;
|
|
|
line-height: 1.6;
|
|
|
display: block;
|
|
|
margin-bottom: 16rpx;
|
|
|
@@ -781,18 +783,18 @@ export default {
|
|
|
}
|
|
|
|
|
|
.add-task-btn {
|
|
|
- background: #EEF2FF;
|
|
|
- color: #667eea;
|
|
|
+ background: $dim-wisdom-tint-2;
|
|
|
+ color: $accent-indigo;
|
|
|
}
|
|
|
|
|
|
.game-btn {
|
|
|
- background: #FEF3C7;
|
|
|
- color: #D97706;
|
|
|
+ background: $status-warning-soft;
|
|
|
+ color: $status-warning-deep;
|
|
|
}
|
|
|
|
|
|
.article-btn {
|
|
|
- background: #F0FDF4;
|
|
|
- color: #16A34A;
|
|
|
+ background: $status-success-tint-2;
|
|
|
+ color: $status-success-strong-2;
|
|
|
}
|
|
|
|
|
|
.rec-tag-btn-icon {
|
|
|
@@ -815,7 +817,7 @@ export default {
|
|
|
|
|
|
.loading-text {
|
|
|
font-size: calc(28rpx * var(--font-scale, 1));
|
|
|
- color: #999;
|
|
|
+ color: $facade-text-muted;
|
|
|
}
|
|
|
|
|
|
/* ===== 空状态 ===== */
|
|
|
@@ -833,22 +835,22 @@ export default {
|
|
|
|
|
|
.empty-title {
|
|
|
font-size: calc(32rpx * var(--font-scale, 1));
|
|
|
- color: #333;
|
|
|
+ color: $facade-text-strong;
|
|
|
font-weight: bold;
|
|
|
margin-bottom: 16rpx;
|
|
|
}
|
|
|
|
|
|
.empty-desc {
|
|
|
font-size: calc(26rpx * var(--font-scale, 1));
|
|
|
- color: #999;
|
|
|
+ color: $facade-text-muted;
|
|
|
text-align: center;
|
|
|
line-height: 1.6;
|
|
|
margin-bottom: 40rpx;
|
|
|
}
|
|
|
|
|
|
.empty-btn {
|
|
|
- background: linear-gradient(135deg, #667eea, #764ba2);
|
|
|
- color: #fff;
|
|
|
+ background: linear-gradient(135deg, $accent-indigo, $accent-indigo-deep);
|
|
|
+ color: $app-surface;
|
|
|
font-size: 28rpx;
|
|
|
font-weight: bold;
|
|
|
padding: 16rpx 64rpx;
|
|
|
@@ -876,7 +878,7 @@ export default {
|
|
|
.trend-title {
|
|
|
font-size: calc(34rpx * var(--font-scale, 1));
|
|
|
font-weight: bold;
|
|
|
- color: #333;
|
|
|
+ color: $facade-text-strong;
|
|
|
}
|
|
|
|
|
|
.trend-overview-row {
|
|
|
@@ -888,7 +890,7 @@ export default {
|
|
|
|
|
|
.trend-stat {
|
|
|
flex: 1;
|
|
|
- background: #fff;
|
|
|
+ background: $app-surface;
|
|
|
border-radius: 16rpx;
|
|
|
padding: 20rpx;
|
|
|
text-align: center;
|
|
|
@@ -897,7 +899,7 @@ export default {
|
|
|
|
|
|
.trend-stat-label {
|
|
|
font-size: calc(24rpx * var(--font-scale, 1));
|
|
|
- color: #888;
|
|
|
+ color: $facade-text-faint;
|
|
|
display: block;
|
|
|
margin-bottom: 8rpx;
|
|
|
}
|
|
|
@@ -909,19 +911,19 @@ export default {
|
|
|
}
|
|
|
|
|
|
.ts-up {
|
|
|
- color: #22C55E;
|
|
|
+ color: $status-success-2;
|
|
|
}
|
|
|
|
|
|
.ts-down {
|
|
|
- color: #EF4444;
|
|
|
+ color: $status-danger;
|
|
|
}
|
|
|
|
|
|
.ts-flat {
|
|
|
- color: #F59E0B;
|
|
|
+ color: $status-warning-2;
|
|
|
}
|
|
|
|
|
|
.ts-neutral {
|
|
|
- color: #333;
|
|
|
+ color: $facade-text-strong;
|
|
|
}
|
|
|
|
|
|
.trend-stat-sub {
|
|
|
@@ -931,15 +933,15 @@ export default {
|
|
|
}
|
|
|
|
|
|
.ts-up + .trend-stat-sub {
|
|
|
- color: #22C55E;
|
|
|
+ color: $status-success-2;
|
|
|
}
|
|
|
|
|
|
.ts-down + .trend-stat-sub {
|
|
|
- color: #EF4444;
|
|
|
+ color: $status-danger;
|
|
|
}
|
|
|
|
|
|
.trend-compare {
|
|
|
- background: #fff;
|
|
|
+ background: $app-surface;
|
|
|
border-radius: 20rpx;
|
|
|
padding: 24rpx;
|
|
|
box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.05);
|
|
|
@@ -948,13 +950,13 @@ export default {
|
|
|
.tc-header {
|
|
|
margin-bottom: 16rpx;
|
|
|
padding-bottom: 12rpx;
|
|
|
- border-bottom: 2rpx solid #f0f0f0;
|
|
|
+ border-bottom: 2rpx solid $facade-fill;
|
|
|
}
|
|
|
|
|
|
.tc-title {
|
|
|
font-size: calc(28rpx * var(--font-scale, 1));
|
|
|
font-weight: bold;
|
|
|
- color: #333;
|
|
|
+ color: $facade-text-strong;
|
|
|
}
|
|
|
|
|
|
.tc-dim-row {
|
|
|
@@ -962,12 +964,12 @@ export default {
|
|
|
flex-direction: row;
|
|
|
align-items: center;
|
|
|
padding: 12rpx 0;
|
|
|
- border-bottom: 1rpx solid #f5f5f5;
|
|
|
+ border-bottom: 1rpx solid $facade-fill-2;
|
|
|
}
|
|
|
|
|
|
.tc-header-row {
|
|
|
padding-bottom: 10rpx;
|
|
|
- border-bottom: 2rpx solid #e8e8e8;
|
|
|
+ border-bottom: 2rpx solid $facade-fill-4;
|
|
|
}
|
|
|
|
|
|
.tc-dim-row:last-child {
|
|
|
@@ -977,13 +979,13 @@ export default {
|
|
|
.tc-dim-name {
|
|
|
flex: 2;
|
|
|
font-size: calc(26rpx * var(--font-scale, 1));
|
|
|
- color: #333;
|
|
|
+ color: $facade-text-strong;
|
|
|
}
|
|
|
|
|
|
.tc-old {
|
|
|
flex: 1;
|
|
|
font-size: calc(24rpx * var(--font-scale, 1));
|
|
|
- color: #999;
|
|
|
+ color: $facade-text-muted;
|
|
|
text-align: center;
|
|
|
}
|
|
|
|
|
|
@@ -992,15 +994,15 @@ export default {
|
|
|
font-size: calc(26rpx * var(--font-scale, 1));
|
|
|
font-weight: bold;
|
|
|
text-align: center;
|
|
|
- color: #333;
|
|
|
+ color: $facade-text-strong;
|
|
|
}
|
|
|
|
|
|
.sc-up {
|
|
|
- color: #22C55E;
|
|
|
+ color: $status-success-2;
|
|
|
}
|
|
|
|
|
|
.sc-down {
|
|
|
- color: #EF4444;
|
|
|
+ color: $status-danger;
|
|
|
}
|
|
|
|
|
|
.tc-change {
|
|
|
@@ -1010,14 +1012,14 @@ export default {
|
|
|
}
|
|
|
|
|
|
.change-up {
|
|
|
- color: #22C55E;
|
|
|
+ color: $status-success-2;
|
|
|
}
|
|
|
|
|
|
.change-down {
|
|
|
- color: #EF4444;
|
|
|
+ color: $status-danger;
|
|
|
}
|
|
|
|
|
|
.change-flat {
|
|
|
- color: #999;
|
|
|
+ color: $facade-text-muted;
|
|
|
}
|
|
|
</style>
|