| | |
| | | /* 用户信息区域 */ |
| | | .user-section { |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | padding: 60rpx 0 40rpx 0; |
| | | padding: 40rpx 30rpx; |
| | | margin-bottom: 40rpx; |
| | | justify-content: space-between; |
| | | } |
| | | |
| | | .user-avatar-wrapper { |
| | | margin-bottom: 20rpx; |
| | | position: relative; |
| | | } |
| | | |
| | | .user-avatar { |
| | | width: 120rpx; |
| | | height: 120rpx; |
| | | border-radius: 50%; |
| | | border-radius: 60rpx; |
| | | border: 4rpx solid #ffffff; |
| | | box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1); |
| | | } |
| | | |
| | | .user-avatar-placeholder { |
| | | width: 120rpx; |
| | | height: 120rpx; |
| | | border-radius: 50%; |
| | | background: #ffa726; |
| | | border-radius: 60rpx; |
| | | border: 4rpx solid #ffffff; |
| | | box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1); |
| | | background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | |
| | | .avatar-text { |
| | | color: #ffffff; |
| | | color: white; |
| | | font-size: 48rpx; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .avatar { |
| | | width: 120rpx; |
| | | height: 120rpx; |
| | | border-radius: 60rpx; |
| | | border: 4rpx solid #ffffff; |
| | | box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1); |
| | | } |
| | | |
| | | .user-info { |
| | | flex: 1; |
| | | margin-left: 30rpx; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .user-name { |
| | |
| | | .user-role { |
| | | font-size: 28rpx; |
| | | color: #999999; |
| | | } |
| | | |
| | | .settings-btn { |
| | | width: 80rpx; |
| | | height: 80rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | background: rgba(0, 0, 0, 0.05); |
| | | border-radius: 40rpx; |
| | | transition: all 0.3s ease; |
| | | } |
| | | |
| | | .settings-btn:active { |
| | | background: rgba(0, 0, 0, 0.1); |
| | | transform: scale(0.95); |
| | | } |
| | | |
| | | .icon-settings { |
| | | font-size: 40rpx; |
| | | } |
| | | |
| | | /* 项目区域 */ |
| | |
| | | } |
| | | |
| | | .project-card { |
| | | background: #ffffff; |
| | | border-radius: 16rpx; |
| | | padding: 30rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1); |
| | | padding: 24rpx; |
| | | margin-bottom: 16rpx; |
| | | background: white; |
| | | border-radius: 16rpx; |
| | | box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05); |
| | | transition: all 0.3s ease; |
| | | } |
| | | |
| | | .project-card:active { |
| | | transform: scale(0.98); |
| | | background: #f8f9fa; |
| | | } |
| | | |
| | | .project-a .project-icon { |
| | | background: #2e7d32; |
| | | .project-card:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | |
| | | .project-icon { |
| | | width: 80rpx; |
| | | height: 80rpx; |
| | | border-radius: 16rpx; |
| | |
| | | align-items: center; |
| | | justify-content: center; |
| | | margin-right: 24rpx; |
| | | font-size: 32rpx; |
| | | background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .project-b .project-icon { |
| | | background: #66bb6a; |
| | | width: 80rpx; |
| | | height: 80rpx; |
| | | .project-thumbnail { |
| | | width: 100%; |
| | | height: 100%; |
| | | border-radius: 16rpx; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | margin-right: 24rpx; |
| | | } |
| | | |
| | | .icon-plant, |
| | | .icon-trophy { |
| | | font-size: 36rpx; |
| | | .icon-project { |
| | | color: white; |
| | | } |
| | | |
| | | .project-info { |
| | | flex: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | |
| | | .project-name { |
| | | font-size: 30rpx; |
| | | font-weight: bold; |
| | | color: #333333; |
| | | display: block; |
| | | .project-title { |
| | | font-size: 32rpx; |
| | | font-weight: 600; |
| | | color: #1a1a1a; |
| | | margin-bottom: 8rpx; |
| | | } |
| | | |
| | | .project-desc { |
| | | .project-subtitle { |
| | | font-size: 26rpx; |
| | | color: #666; |
| | | } |
| | | |
| | | .project-status { |
| | | margin-right: 16rpx; |
| | | } |
| | | |
| | | .status-text { |
| | | font-size: 24rpx; |
| | | color: #999999; |
| | | display: block; |
| | | padding: 8rpx 16rpx; |
| | | border-radius: 12rpx; |
| | | font-weight: 500; |
| | | } |
| | | |
| | | /* 基于web端的状态样式 */ |
| | | .status-text.status-warning { |
| | | background: #fff3e0; |
| | | color: #f57c00; |
| | | } |
| | | |
| | | .status-text.status-success { |
| | | background: #e8f5e8; |
| | | color: #388e3c; |
| | | } |
| | | |
| | | .status-text.status-danger { |
| | | background: #ffebee; |
| | | color: #d32f2f; |
| | | } |
| | | |
| | | .status-text.status-info { |
| | | background: #e3f2fd; |
| | | color: #1976d2; |
| | | } |
| | | |
| | | .status-text.status-primary { |
| | | background: #e3f2fd; |
| | | color: #1976d2; |
| | | } |
| | | |
| | | /* 兼容旧的字符串状态样式 */ |
| | | .status-text.status-SUBMITTED { |
| | | background: #e3f2fd; |
| | | color: #1976d2; |
| | | } |
| | | |
| | | .status-text.status-UNDER_REVIEW { |
| | | background: #fff3e0; |
| | | color: #f57c00; |
| | | } |
| | | |
| | | .status-text.status-REVIEWED { |
| | | background: #e8f5e8; |
| | | color: #388e3c; |
| | | } |
| | | |
| | | .status-text.status-REJECTED { |
| | | background: #ffebee; |
| | | color: #d32f2f; |
| | | } |
| | | |
| | | .project-arrow { |
| | | font-size: 32rpx; |
| | | color: #ccc; |
| | | margin-left: 16rpx; |
| | | } |
| | | |
| | | /* 空状态 */ |
| | | .empty-projects { |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | padding: 80rpx 40rpx; |
| | | background: white; |
| | | border-radius: 16rpx; |
| | | box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05); |
| | | } |
| | | |
| | | .empty-icon { |
| | | font-size: 80rpx; |
| | | margin-bottom: 24rpx; |
| | | opacity: 0.5; |
| | | } |
| | | |
| | | .empty-text { |
| | | font-size: 32rpx; |
| | | font-weight: 600; |
| | | color: #666; |
| | | margin-bottom: 12rpx; |
| | | } |
| | | |
| | | .empty-desc { |
| | | font-size: 26rpx; |
| | | color: #999; |
| | | text-align: center; |
| | | line-height: 1.5; |
| | | } |
| | | |
| | | /* 评审区域 */ |
| | | .review-section { |
| | | margin-bottom: 40rpx; |
| | | } |
| | | |
| | | .section-header { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | margin-bottom: 30rpx; |
| | | } |
| | | |
| | | .review-action-btn { |
| | | display: flex; |
| | | align-items: center; |
| | | padding: 12rpx 24rpx; |
| | | background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); |
| | | border-radius: 24rpx; |
| | | transition: all 0.3s ease; |
| | | } |
| | | |
| | | .review-action-btn:active { |
| | | transform: scale(0.95); |
| | | opacity: 0.8; |
| | | } |
| | | |
| | | .action-text { |
| | | font-size: 28rpx; |
| | | color: #cccccc; |
| | | color: white; |
| | | font-weight: 500; |
| | | margin-right: 8rpx; |
| | | } |
| | | |
| | | .action-arrow { |
| | | font-size: 24rpx; |
| | | color: white; |
| | | } |
| | | |
| | | .review-stats { |
| | | display: flex; |
| | | align-items: center; |
| | | padding: 32rpx; |
| | | background: white; |
| | | border-radius: 16rpx; |
| | | box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05); |
| | | } |
| | | |
| | | .stat-item { |
| | | flex: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | } |
| | | |
| | | .stat-number { |
| | | font-size: 48rpx; |
| | | font-weight: bold; |
| | | color: #667eea; |
| | | margin-bottom: 8rpx; |
| | | } |
| | | |
| | | .stat-label { |
| | | font-size: 24rpx; |
| | | color: #666; |
| | | } |
| | | |
| | | .stat-divider { |
| | | width: 1rpx; |
| | | height: 60rpx; |
| | | background: #e0e0e0; |
| | | margin: 0 20rpx; |
| | | } |
| | | |
| | | /* 其他菜单区域 */ |