/* 员工管理页面样式 */ .employee-management-container { height: 100vh; background: #f8f9fa; display: flex; flex-direction: column; } /* 顶部导航栏样式 */ .management-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 30rpx 40rpx; display: flex; justify-content: space-between; align-items: center; color: white; } .header-left { display: flex; align-items: center; } /* 微信风格返回按钮 */ .back-icon { width: 60rpx; height: 60rpx; border-radius: 50%; background: rgba(0, 0, 0, 0.1); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color 0.3s ease; } .back-icon:active { background: rgba(0, 0, 0, 0.2); } .back-arrow { font-size: 36rpx; font-weight: bold; color: #333; line-height: 1; } .back-btn { background: rgba(255, 255, 255, 0.2); border: none; color: white; font-size: 36rpx; padding: 15rpx 20rpx; border-radius: 8rpx; margin-right: 20rpx; } .header-title { font-size: 32rpx; font-weight: bold; } .employee-count { font-size: 26rpx; opacity: 0.9; } /* 页面标签样式 */ .page-tabs { display: flex; background: white; border-bottom: 1rpx solid #eee; } .tab-item { flex: 1; padding: 25rpx; text-align: center; font-size: 28rpx; color: #666; border-bottom: 4rpx solid transparent; transition: all 0.3s ease; } .tab-item.active { color: #667eea; border-bottom-color: #667eea; font-weight: bold; } /* 消息提示样式 */ .message-container { padding: 0 40rpx; } .error-message, .success-message { display: flex; justify-content: space-between; align-items: center; padding: 20rpx 25rpx; border-radius: 8rpx; margin: 20rpx 0; font-size: 26rpx; } .error-message { background: #ffeaea; color: #e74c3c; border: 1rpx solid #fadbd8; } .success-message { background: #e8f6ef; color: #27ae60; border: 1rpx solid #d4efdf; } .close-btn { font-size: 32rpx; cursor: pointer; padding: 5rpx 10rpx; } /* 加载状态样式 */ .loading-container { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 60rpx; } .loading-spinner { width: 60rpx; height: 60rpx; border: 4rpx solid #f3f3f3; border-top: 4rpx solid #667eea; border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 20rpx; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .loading-text { font-size: 28rpx; color: #666; } /* 列表容器样式 */ .list-container { flex: 1; display: flex; flex-direction: column; } /* 搜索框样式 */ .search-container { padding: 30rpx 40rpx; background: white; border-bottom: 1rpx solid #eee; } .search-input-wrapper { position: relative; display: flex; align-items: center; } .search-input { flex: 1; padding: 25rpx 60rpx 25rpx 30rpx; border: 1rpx solid #ddd; border-radius: 12rpx; font-size: 28rpx; background: #f8f9fa; } .search-icon { position: absolute; right: 30rpx; font-size: 28rpx; color: #999; } /* 员工列表样式 */ .employee-list { flex: 1; padding: 0 30rpx; box-sizing: border-box; } .employee-item { background: white; padding: 25rpx; margin: 15rpx 0; border-radius: 12rpx; box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05); display: flex; align-items: center; transition: transform 0.3s ease; box-sizing: border-box; max-width: 100%; overflow: hidden; } .employee-item:active { transform: translateY(-2rpx); } .employee-info { display: flex; align-items: center; flex: 1; min-width: 0; } .employee-avatar { width: 70rpx; height: 70rpx; border-radius: 50%; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); display: flex; align-items: center; justify-content: center; margin-right: 20rpx; color: white; font-size: 28rpx; font-weight: bold; flex-shrink: 0; overflow: hidden; position: relative; } .employee-avatar .avatar-image { width: 100%; height: 100%; object-fit: cover; } .employee-avatar .avatar-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); } .employee-avatar .avatar-text { font-size: 28rpx; font-weight: bold; color: white; } .employee-details { flex: 1; min-width: 0; } .employee-name-row { display: flex; align-items: center; margin-bottom: 8rpx; gap: 15rpx; } .employee-name { font-size: 28rpx; font-weight: bold; color: #333; flex-shrink: 0; max-width: 200rpx; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .employee-role { font-size: 22rpx; background: #f0f0f0; padding: 6rpx 12rpx; border-radius: 16rpx; color: #666; flex-shrink: 0; } .employee-role.admin-role { background: #ffeaa7; color: #e17055; } .role-icon { margin-right: 4rpx; } .employee-phone { display: block; font-size: 24rpx; color: #666; margin-bottom: 4rpx; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .employee-id { font-size: 20rpx; color: #999; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .employee-actions { margin-left: 15rpx; flex-shrink: 0; } .delete-btn { background: #e74c3c; color: white; border: none; padding: 15rpx 25rpx; border-radius: 8rpx; font-size: 24rpx; } /* 空状态样式 */ .empty-state { text-align: center; padding: 100rpx 40rpx; color: #999; } .empty-icon { font-size: 80rpx; margin-bottom: 20rpx; } .empty-text { display: block; font-size: 28rpx; margin-bottom: 10rpx; } .empty-hint { font-size: 24rpx; color: #ccc; } /* 添加员工页面样式 */ .add-container { flex: 1; padding: 40rpx; background: white; } .form-container { max-width: 600rpx; margin: 0 auto; } .form-item { margin-bottom: 40rpx; } .form-label { display: block; font-size: 28rpx; font-weight: bold; color: #333; margin-bottom: 15rpx; } .form-input { width: 100%; padding: 25rpx; border: 1rpx solid #ddd; border-radius: 8rpx; font-size: 28rpx; background: #f8f9fa; } .form-picker { width: 100%; } .picker-display { display: flex; justify-content: space-between; align-items: center; padding: 25rpx; border: 1rpx solid #ddd; border-radius: 8rpx; background: #f8f9fa; } .picker-text { font-size: 28rpx; color: #333; } .picker-arrow { color: #999; font-size: 24rpx; } .form-hint { background: #e8f6ef; padding: 20rpx; border-radius: 8rpx; margin-bottom: 40rpx; } .hint-text { font-size: 24rpx; color: #27ae60; } .submit-btn { width: 100%; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; padding: 30rpx; border-radius: 12rpx; font-size: 28rpx; font-weight: bold; } .submit-btn:disabled { opacity: 0.6; } /* 头像上传样式 */ .avatar-upload-container { display: flex; align-items: center; gap: 30rpx; } .avatar-preview { width: 120rpx; height: 120rpx; border-radius: 50%; overflow: hidden; background: #f0f0f0; display: flex; align-items: center; justify-content: center; border: 2rpx solid #ddd; } .avatar-image { width: 100%; height: 100%; } .avatar-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); } .avatar-text { font-size: 48rpx; font-weight: bold; color: white; } .avatar-actions { display: flex; flex-direction: column; gap: 15rpx; } .avatar-btn { background: #f8f9fa; border: 1rpx solid #ddd; color: #333; padding: 15rpx 20rpx; border-radius: 8rpx; font-size: 24rpx; } .avatar-btn:active { background: #e9ecef; } /* 编辑页面样式 */ .edit-container { flex: 1; padding: 40rpx; background: white; } .cancel-btn { width: 100%; background: #f8f9fa; color: #666; border: 1rpx solid #ddd; padding: 30rpx; border-radius: 12rpx; font-size: 28rpx; margin-top: 20rpx; }