.userManagement { width: 100%; height: 100%; display: flex; flex-direction: column; /* 顶部固定区 */ .header { width: 100%; padding: 24rpx 30rpx 0; box-sizing: border-box; margin-bottom: 24rpx; .device-card { width: 100%; padding: 32rpx; border-radius: 24rpx; background-color: #FFFFFF; box-sizing: border-box; margin-bottom: 24rpx; display: flex; align-items: center; .device-icon { width: 88rpx; height: 88rpx; overflow: hidden; margin-right: 24rpx; border-radius: 24rpx; background-color: #1385FA; flex-shrink: 0; } .device-info { flex: 1; .device-name-row { width: 100%; display: flex; align-items: center; justify-content: space-between; margin-bottom: 16rpx; .device-name { color: #252535; height: 32rpx; font-size: 32rpx; line-height: 32rpx; } .device-status { height: 22rpx; display: flex; align-items: center; .status-dot { width: 12rpx; height: 12rpx; border-radius: 50%; background-color: #2AC79F; margin-right: 8rpx; } .status-text { color: #2AC79F; height: 22rpx; font-size: 22rpx; line-height: 22rpx; } } } .device-meta { color: #808080; height: 26rpx; font-size: 26rpx; line-height: 26rpx; margin-bottom: 8rpx; } } } .section-header { width: 100%; display: flex; align-items: center; justify-content: space-between; margin-bottom: 16rpx; .section-title { color: #252535; height: 32rpx; font-size: 32rpx; line-height: 32rpx; } .sync-btn { height: 48rpx; padding: 0 20rpx; border-radius: 24rpx; background-color: #1385FA; color: #FFFFFF; font-size: 24rpx; line-height: 48rpx; } } .sync-tip { color: #F2994A; font-size: 24rpx; line-height: 34rpx; } } /* 用户列表滚动区 */ .body { flex: 1; overflow: hidden; .empty-state { width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; .empty-img { width: 193rpx; height: 138rpx; } .empty-text { color: #B6B6B6; font-size: 28rpx; line-height: 42rpx; text-align: center; margin-top: 32rpx; white-space: pre-line; } } .scrollViewContent { width: 100%; padding: 0 30rpx; box-sizing: border-box; .member-card { width: 100%; padding: 32rpx; border-radius: 24rpx; background-color: #FFFFFF; box-sizing: border-box; margin-bottom: 24rpx; display: flex; align-items: center; .member-avatar { width: 88rpx; height: 88rpx; border-radius: 24rpx; margin-right: 24rpx; flex-shrink: 0; } .member-avatar--male { background-color: #C6E6FF; } .member-avatar--female { background-color: #FFD5E3; } .member-info { flex: 1; .member-name-row { display: flex; align-items: center; margin-bottom: 16rpx; .member-name { color: #252535; height: 32rpx; font-size: 32rpx; line-height: 32rpx; margin-right: 16rpx; } .member-type-tag { height: 40rpx; padding: 0 10rpx; font-size: 24rpx; line-height: 40rpx; border-radius: 8rpx; color: #FFFFFF; } .member-type-tag--self { background-color: #1385FA; } .member-type-tag--employee { background-color: #10B981; } .member-type-tag--family { background-color: #F59E0B; } } .member-sub { color: #808080; height: 26rpx; font-size: 26rpx; line-height: 26rpx; } } .member-right { display: flex; flex-direction: column; align-items: flex-end; .member-sync { height: 22rpx; font-size: 22rpx; line-height: 22rpx; margin-bottom: 16rpx; } .member-sync--done { color: #2AC79F; } .member-sync--pending { color: #F2994A; } .member-sync--deleted { color: #F24439; } .member-ops { display: flex; .op-edit { color: #77849E; height: 26rpx; font-size: 26rpx; line-height: 26rpx; margin-right: 24rpx; } .op-delete { color: #F24439; height: 26rpx; font-size: 26rpx; line-height: 26rpx; } } } } } } /* 底部常驻添加用户按钮 */ .footer { width: 100%; height: 120rpx; padding: 0 30rpx; display: flex; gap: 15rpx; flex-wrap: nowrap; align-items: center; box-sizing: border-box; background-color: #FFFFFF; box-shadow: 0 2rpx 8rpx 0 rgba(19, 133, 250, 0.06); .btn-cancel { color: #1385FA; flex: 1; height: 88rpx; font-size: 32rpx; text-align: center; line-height: 84rpx; border-radius: 44rpx; box-sizing: border-box; border: 2rpx solid #1385FA; background-color: #FFFFFF; } .btn-primary { color: #FFFFFF; flex: 1; height: 88rpx; font-size: 32rpx; font-weight: bold; text-align: center; line-height: 88rpx; border-radius: 44rpx; background-color: #1385FA; } } }