|
@@ -738,19 +738,57 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 详细评价区域样式
|
|
|
+ .detailed-review-section {
|
|
|
+ margin-top: ios.$ios-spacing-lg;
|
|
|
+
|
|
|
+ .detailed-header {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: ios.$ios-spacing-lg;
|
|
|
+ padding: ios.$ios-spacing-lg;
|
|
|
+ background: linear-gradient(135deg, rgba(ios.$ios-primary, 0.08), rgba(ios.$ios-primary, 0.03));
|
|
|
+ border-radius: 16px;
|
|
|
+ border: 1px solid rgba(ios.$ios-primary, 0.15);
|
|
|
+
|
|
|
+ h4 {
|
|
|
+ margin: 0;
|
|
|
+ font-size: ios.$ios-font-size-xl;
|
|
|
+ font-weight: ios.$ios-font-weight-bold;
|
|
|
+ background: linear-gradient(135deg, ios.$ios-primary, color.adjust(ios.$ios-primary, $lightness: -20%));
|
|
|
+ -webkit-background-clip: text;
|
|
|
+ -webkit-text-fill-color: transparent;
|
|
|
+ background-clip: text;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
// 详细评价表单样式
|
|
|
.detailed-form {
|
|
|
- background: #f8f9fa;
|
|
|
- border-radius: 8px;
|
|
|
- padding: 24px;
|
|
|
- margin-bottom: 20px;
|
|
|
- border: 1px solid #e9ecef;
|
|
|
+ background: linear-gradient(135deg, rgba(#f8f9fa, 0.8), rgba(#ffffff, 0.9));
|
|
|
+ border-radius: 16px;
|
|
|
+ padding: ios.$ios-spacing-xl;
|
|
|
+ margin-bottom: ios.$ios-spacing-lg;
|
|
|
+ border: 1px solid rgba(ios.$ios-border, 0.3);
|
|
|
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
|
|
|
|
|
|
h4 {
|
|
|
- color: #2c3e50;
|
|
|
- margin-bottom: 16px;
|
|
|
- font-size: 16px;
|
|
|
- font-weight: 600;
|
|
|
+ color: ios.$ios-text-primary;
|
|
|
+ margin-bottom: ios.$ios-spacing-lg;
|
|
|
+ font-size: ios.$ios-font-size-lg;
|
|
|
+ font-weight: ios.$ios-font-weight-bold;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: ios.$ios-spacing-sm;
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ content: '';
|
|
|
+ width: 4px;
|
|
|
+ height: 24px;
|
|
|
+ background: linear-gradient(180deg, ios.$ios-primary, color.adjust(ios.$ios-primary, $lightness: -20%));
|
|
|
+ border-radius: 2px;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1066,4 +1104,447 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // 详细评价列表样式优化
|
|
|
+ .detailed-reviews-list {
|
|
|
+ margin-top: ios.$ios-spacing-xl;
|
|
|
+
|
|
|
+ .list-header {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: ios.$ios-spacing-lg;
|
|
|
+ padding: ios.$ios-spacing-md ios.$ios-spacing-lg;
|
|
|
+ background: linear-gradient(135deg, rgba(ios.$ios-success, 0.08), rgba(ios.$ios-success, 0.03));
|
|
|
+ border-radius: 12px;
|
|
|
+ border: 1px solid rgba(ios.$ios-success, 0.15);
|
|
|
+
|
|
|
+ h5 {
|
|
|
+ margin: 0;
|
|
|
+ font-size: ios.$ios-font-size-lg;
|
|
|
+ font-weight: ios.$ios-font-weight-bold;
|
|
|
+ background: linear-gradient(135deg, ios.$ios-success, color.adjust(ios.$ios-success, $lightness: -20%));
|
|
|
+ -webkit-background-clip: text;
|
|
|
+ -webkit-text-fill-color: transparent;
|
|
|
+ background-clip: text;
|
|
|
+ }
|
|
|
+
|
|
|
+ .review-count {
|
|
|
+ padding: 6px 16px;
|
|
|
+ background: rgba(ios.$ios-success, 0.1);
|
|
|
+ color: ios.$ios-success;
|
|
|
+ border-radius: 20px;
|
|
|
+ font-size: ios.$ios-font-size-sm;
|
|
|
+ font-weight: ios.$ios-font-weight-semibold;
|
|
|
+ border: 1px solid rgba(ios.$ios-success, 0.2);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .review-items {
|
|
|
+ display: grid;
|
|
|
+ gap: ios.$ios-spacing-lg;
|
|
|
+
|
|
|
+ .review-item {
|
|
|
+ background: linear-gradient(135deg, rgba(#ffffff, 1), rgba(#f8f9fa, 0.5));
|
|
|
+ border: 1px solid rgba(ios.$ios-border, 0.3);
|
|
|
+ border-radius: 20px;
|
|
|
+ padding: ios.$ios-spacing-xl;
|
|
|
+ box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
|
|
|
+ transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
|
+ position: relative;
|
|
|
+ overflow: hidden;
|
|
|
+
|
|
|
+ // 装饰性渐变背景
|
|
|
+ &::before {
|
|
|
+ content: '';
|
|
|
+ position: absolute;
|
|
|
+ top: 0;
|
|
|
+ left: 0;
|
|
|
+ right: 0;
|
|
|
+ height: 4px;
|
|
|
+ background: linear-gradient(90deg,
|
|
|
+ ios.$ios-primary 0%,
|
|
|
+ ios.$ios-success 50%,
|
|
|
+ ios.$ios-warning 100%
|
|
|
+ );
|
|
|
+ opacity: 0;
|
|
|
+ transition: opacity 0.4s ease;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ transform: translateY(-4px) scale(1.01);
|
|
|
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
|
|
|
+ border-color: ios.$ios-primary;
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ opacity: 1;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .review-header {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: flex-start;
|
|
|
+ margin-bottom: ios.$ios-spacing-lg;
|
|
|
+ padding-bottom: ios.$ios-spacing-md;
|
|
|
+ border-bottom: 2px solid rgba(ios.$ios-border, 0.2);
|
|
|
+
|
|
|
+ .customer-info {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ gap: ios.$ios-spacing-xs;
|
|
|
+
|
|
|
+ .customer-name {
|
|
|
+ font-size: ios.$ios-font-size-xl;
|
|
|
+ font-weight: ios.$ios-font-weight-bold;
|
|
|
+ background: linear-gradient(135deg, ios.$ios-text-primary, color.adjust(ios.$ios-text-primary, $lightness: 20%));
|
|
|
+ -webkit-background-clip: text;
|
|
|
+ -webkit-text-fill-color: transparent;
|
|
|
+ background-clip: text;
|
|
|
+ }
|
|
|
+
|
|
|
+ .review-date {
|
|
|
+ font-size: ios.$ios-font-size-sm;
|
|
|
+ color: ios.$ios-text-secondary;
|
|
|
+ font-weight: ios.$ios-font-weight-medium;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: 6px;
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ content: '📅';
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .overall-rating {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: ios.$ios-spacing-sm;
|
|
|
+ padding: ios.$ios-spacing-sm ios.$ios-spacing-lg;
|
|
|
+ background: linear-gradient(135deg, rgba(#FFD700, 0.15), rgba(#FFA500, 0.1));
|
|
|
+ border-radius: 30px;
|
|
|
+ border: 2px solid rgba(#FFD700, 0.3);
|
|
|
+ box-shadow: 0 4px 12px rgba(#FFD700, 0.2);
|
|
|
+
|
|
|
+ .rating-label {
|
|
|
+ font-size: ios.$ios-font-size-sm;
|
|
|
+ font-weight: ios.$ios-font-weight-semibold;
|
|
|
+ color: ios.$ios-text-secondary;
|
|
|
+ }
|
|
|
+
|
|
|
+ .stars {
|
|
|
+ display: flex;
|
|
|
+ gap: 2px;
|
|
|
+
|
|
|
+ span {
|
|
|
+ font-size: ios.$ios-font-size-lg;
|
|
|
+ color: #FFD700;
|
|
|
+ text-shadow: 0 2px 4px rgba(#FFD700, 0.3);
|
|
|
+ animation: starPulse 2s ease-in-out infinite;
|
|
|
+
|
|
|
+ @for $i from 1 through 5 {
|
|
|
+ &:nth-child(#{$i}) {
|
|
|
+ animation-delay: #{$i * 0.1}s;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .rating-number {
|
|
|
+ font-size: ios.$ios-font-size-lg;
|
|
|
+ font-weight: ios.$ios-font-weight-bold;
|
|
|
+ background: linear-gradient(135deg, #FFD700, #FFA500);
|
|
|
+ -webkit-background-clip: text;
|
|
|
+ -webkit-text-fill-color: transparent;
|
|
|
+ background-clip: text;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .review-dimensions {
|
|
|
+ display: grid;
|
|
|
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
|
|
+ gap: ios.$ios-spacing-md;
|
|
|
+ margin-bottom: ios.$ios-spacing-lg;
|
|
|
+ padding: ios.$ios-spacing-lg;
|
|
|
+ background: linear-gradient(135deg, rgba(ios.$ios-primary, 0.03), rgba(ios.$ios-primary, 0.01));
|
|
|
+ border-radius: 16px;
|
|
|
+ border: 1px solid rgba(ios.$ios-primary, 0.1);
|
|
|
+
|
|
|
+ .dimension-summary {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ gap: ios.$ios-spacing-xs;
|
|
|
+ padding: ios.$ios-spacing-md;
|
|
|
+ background: ios.$ios-background;
|
|
|
+ border-radius: 12px;
|
|
|
+ border: 1px solid rgba(ios.$ios-border, 0.3);
|
|
|
+ transition: all 0.3s ease;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ transform: translateY(-2px);
|
|
|
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
|
|
|
+ border-color: ios.$ios-primary;
|
|
|
+ }
|
|
|
+
|
|
|
+ .dim-label {
|
|
|
+ font-size: ios.$ios-font-size-sm;
|
|
|
+ font-weight: ios.$ios-font-weight-semibold;
|
|
|
+ color: ios.$ios-text-secondary;
|
|
|
+ text-transform: uppercase;
|
|
|
+ letter-spacing: 0.5px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .dim-rating {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ gap: ios.$ios-spacing-sm;
|
|
|
+
|
|
|
+ .stars.mini {
|
|
|
+ display: flex;
|
|
|
+ gap: 1px;
|
|
|
+
|
|
|
+ span {
|
|
|
+ font-size: ios.$ios-font-size-sm;
|
|
|
+ color: #FFD700;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .dim-score {
|
|
|
+ font-size: ios.$ios-font-size-md;
|
|
|
+ font-weight: ios.$ios-font-weight-bold;
|
|
|
+ padding: 4px 10px;
|
|
|
+ border-radius: 12px;
|
|
|
+
|
|
|
+ &.high-score {
|
|
|
+ background: rgba(ios.$ios-success, 0.15);
|
|
|
+ color: ios.$ios-success;
|
|
|
+ border: 1px solid rgba(ios.$ios-success, 0.3);
|
|
|
+ }
|
|
|
+
|
|
|
+ &.medium-score {
|
|
|
+ background: rgba(ios.$ios-warning, 0.15);
|
|
|
+ color: ios.$ios-warning;
|
|
|
+ border: 1px solid rgba(ios.$ios-warning, 0.3);
|
|
|
+ }
|
|
|
+
|
|
|
+ &.low-score {
|
|
|
+ background: rgba(ios.$ios-danger, 0.15);
|
|
|
+ color: ios.$ios-danger;
|
|
|
+ border: 1px solid rgba(ios.$ios-danger, 0.3);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .scene-reviews {
|
|
|
+ margin-bottom: ios.$ios-spacing-lg;
|
|
|
+ padding: ios.$ios-spacing-lg;
|
|
|
+ background: linear-gradient(135deg, rgba(ios.$ios-success, 0.05), rgba(ios.$ios-success, 0.02));
|
|
|
+ border-radius: 16px;
|
|
|
+ border: 1px solid rgba(ios.$ios-success, 0.15);
|
|
|
+
|
|
|
+ h6 {
|
|
|
+ margin: 0 0 ios.$ios-spacing-md 0;
|
|
|
+ font-size: ios.$ios-font-size-md;
|
|
|
+ font-weight: ios.$ios-font-weight-bold;
|
|
|
+ color: ios.$ios-success;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: ios.$ios-spacing-sm;
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ content: '🏠';
|
|
|
+ font-size: ios.$ios-font-size-lg;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .scene-summary {
|
|
|
+ margin-bottom: ios.$ios-spacing-md;
|
|
|
+ padding: ios.$ios-spacing-md;
|
|
|
+ background: ios.$ios-background;
|
|
|
+ border-radius: 12px;
|
|
|
+ border: 1px solid rgba(ios.$ios-border, 0.3);
|
|
|
+
|
|
|
+ &:last-child {
|
|
|
+ margin-bottom: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .scene-info {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: ios.$ios-spacing-sm;
|
|
|
+
|
|
|
+ .scene-name {
|
|
|
+ font-size: ios.$ios-font-size-md;
|
|
|
+ font-weight: ios.$ios-font-weight-semibold;
|
|
|
+ color: ios.$ios-text-primary;
|
|
|
+ }
|
|
|
+
|
|
|
+ .scene-rating {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: ios.$ios-spacing-xs;
|
|
|
+
|
|
|
+ .stars.mini {
|
|
|
+ display: flex;
|
|
|
+ gap: 1px;
|
|
|
+
|
|
|
+ span {
|
|
|
+ font-size: ios.$ios-font-size-sm;
|
|
|
+ color: #FFD700;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .scene-score {
|
|
|
+ font-size: ios.$ios-font-size-sm;
|
|
|
+ font-weight: ios.$ios-font-weight-bold;
|
|
|
+ color: ios.$ios-text-secondary;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .scene-feedback {
|
|
|
+ font-size: ios.$ios-font-size-sm;
|
|
|
+ line-height: 1.6;
|
|
|
+ color: ios.$ios-text-primary;
|
|
|
+ padding: ios.$ios-spacing-sm ios.$ios-spacing-md;
|
|
|
+ background: rgba(ios.$ios-background-secondary, 0.5);
|
|
|
+ border-radius: 8px;
|
|
|
+ border-left: 3px solid ios.$ios-success;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .optimization-suggestions {
|
|
|
+ margin-bottom: ios.$ios-spacing-lg;
|
|
|
+ padding: ios.$ios-spacing-lg;
|
|
|
+ background: linear-gradient(135deg, rgba(ios.$ios-warning, 0.05), rgba(ios.$ios-warning, 0.02));
|
|
|
+ border-radius: 16px;
|
|
|
+ border: 1px solid rgba(ios.$ios-warning, 0.15);
|
|
|
+
|
|
|
+ h6 {
|
|
|
+ margin: 0 0 ios.$ios-spacing-md 0;
|
|
|
+ font-size: ios.$ios-font-size-md;
|
|
|
+ font-weight: ios.$ios-font-weight-bold;
|
|
|
+ color: ios.$ios-warning;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: ios.$ios-spacing-sm;
|
|
|
+
|
|
|
+ &::before {
|
|
|
+ content: '💡';
|
|
|
+ font-size: ios.$ios-font-size-lg;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .suggestions-list {
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ gap: ios.$ios-spacing-sm;
|
|
|
+ margin-bottom: ios.$ios-spacing-md;
|
|
|
+
|
|
|
+ .suggestion-tag {
|
|
|
+ padding: 6px 14px;
|
|
|
+ background: linear-gradient(135deg, rgba(ios.$ios-warning, 0.15), rgba(ios.$ios-warning, 0.08));
|
|
|
+ color: color.adjust(ios.$ios-warning, $lightness: -20%);
|
|
|
+ border-radius: 20px;
|
|
|
+ font-size: ios.$ios-font-size-sm;
|
|
|
+ font-weight: ios.$ios-font-weight-medium;
|
|
|
+ border: 1px solid rgba(ios.$ios-warning, 0.3);
|
|
|
+ transition: all 0.3s ease;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ transform: translateY(-2px);
|
|
|
+ box-shadow: 0 4px 8px rgba(ios.$ios-warning, 0.3);
|
|
|
+ background: linear-gradient(135deg, rgba(ios.$ios-warning, 0.25), rgba(ios.$ios-warning, 0.15));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .custom-suggestion {
|
|
|
+ padding: ios.$ios-spacing-md;
|
|
|
+ background: ios.$ios-background;
|
|
|
+ border-radius: 12px;
|
|
|
+ border: 1px solid rgba(ios.$ios-border, 0.3);
|
|
|
+ font-size: ios.$ios-font-size-sm;
|
|
|
+ line-height: 1.6;
|
|
|
+ color: ios.$ios-text-primary;
|
|
|
+
|
|
|
+ strong {
|
|
|
+ color: ios.$ios-warning;
|
|
|
+ font-weight: ios.$ios-font-weight-bold;
|
|
|
+ margin-right: ios.$ios-spacing-xs;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .review-actions {
|
|
|
+ display: flex;
|
|
|
+ gap: ios.$ios-spacing-sm;
|
|
|
+ justify-content: flex-end;
|
|
|
+ padding-top: ios.$ios-spacing-md;
|
|
|
+ border-top: 1px solid rgba(ios.$ios-border, 0.2);
|
|
|
+
|
|
|
+ .btn {
|
|
|
+ padding: ios.$ios-spacing-sm ios.$ios-spacing-lg;
|
|
|
+ border: none;
|
|
|
+ border-radius: 24px;
|
|
|
+ font-size: ios.$ios-font-size-sm;
|
|
|
+ font-weight: ios.$ios-font-weight-semibold;
|
|
|
+ cursor: pointer;
|
|
|
+ transition: all 0.3s ease;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ gap: ios.$ios-spacing-xs;
|
|
|
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ transform: translateY(-2px);
|
|
|
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
|
|
|
+ }
|
|
|
+
|
|
|
+ &.btn-primary {
|
|
|
+ background: linear-gradient(135deg, ios.$ios-primary, color.adjust(ios.$ios-primary, $lightness: -10%));
|
|
|
+ color: white;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ background: linear-gradient(135deg, color.adjust(ios.$ios-primary, $lightness: -5%), color.adjust(ios.$ios-primary, $lightness: -15%));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ &.btn-secondary {
|
|
|
+ background: linear-gradient(135deg, ios.$ios-color-system-gray-1-light, color.adjust(ios.$ios-color-system-gray-1-light, $lightness: -10%));
|
|
|
+ color: white;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ background: linear-gradient(135deg, color.adjust(ios.$ios-color-system-gray-1-light, $lightness: -5%), color.adjust(ios.$ios-color-system-gray-1-light, $lightness: -15%));
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ i {
|
|
|
+ font-size: ios.$ios-font-size-xs;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 星星闪烁动画
|
|
|
+ @keyframes starPulse {
|
|
|
+ 0%, 100% {
|
|
|
+ transform: scale(1);
|
|
|
+ opacity: 1;
|
|
|
+ }
|
|
|
+ 50% {
|
|
|
+ transform: scale(1.1);
|
|
|
+ opacity: 0.8;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|