/* 订单管理页面样式 */ .order-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-btn { background: rgba(255, 255, 255, 0.2); border: none; color: white; font-size: 36rpx; padding: 15rpx 20rpx; border-radius: 8rpx; margin-right: 20rpx; } /* 微信风格返回按钮 */ .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; } .header-title { font-size: 32rpx; font-weight: bold; display: block; margin-bottom: 5rpx; } .order-count { font-size: 24rpx; opacity: 0.9; } .add-btn { background: rgba(255, 255, 255, 0.2); border: none; color: white; font-size: 28rpx; padding: 15rpx 25rpx; border-radius: 8rpx; } /* 消息提示样式 */ .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: 100rpx; } .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; } /* 订单标签页样式 */ .order-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; } /* 订单列表样式 */ .order-list { flex: 1; padding: 20rpx 40rpx; } .order-item { background: white; padding: 30rpx; margin: 20rpx 0; border-radius: 12rpx; box-shadow: 0 2rpx 10rpx rgba(0, 0, 0, 0.05); transition: transform 0.3s ease; } .order-item:active { transform: translateY(-2rpx); } .order-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20rpx; } .order-id { font-size: 28rpx; font-weight: bold; color: #333; } .order-status { font-size: 24rpx; padding: 8rpx 16rpx; border-radius: 20rpx; font-weight: bold; } .order-status.pending { background: #fff7e6; color: #fa8c16; } .order-status.assigned { background: #e6f7ff; color: #1890ff; } .order-status.in_transit { background: #f6ffed; color: #52c41a; } .order-status.delivered { background: #f6f6f6; color: #666; } .order-info { margin-bottom: 20rpx; } .route-info, .goods-info, .time-info { display: flex; align-items: center; margin-bottom: 10rpx; } .route-icon, .goods-icon, .time-icon { font-size: 24rpx; margin-right: 10rpx; opacity: 0.7; } .route-text, .goods-text, .time-text { font-size: 26rpx; color: #666; } /* 操作按钮样式 */ .order-actions { display: flex; gap: 15rpx; } .action-btn { flex: 1; border: none; padding: 15rpx 20rpx; border-radius: 8rpx; font-size: 24rpx; font-weight: bold; } .assign-btn { background: #1890ff; color: white; } .delete-btn { background: #f5222d; color: white; } .transit-btn { background: #52c41a; color: white; } .complete-btn { background: #722ed1; color: white; } /* 空状态样式 */ .empty-state { text-align: center; padding: 100rpx 40rpx; color: #999; } .empty-icon { font-size: 80rpx; margin-bottom: 20rpx; display: block; } .empty-text { display: block; font-size: 28rpx; margin-bottom: 10rpx; } .empty-hint { font-size: 24rpx; color: #ccc; } /* 弹窗样式 */ .modal-mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); z-index: 1000; } .modal-content { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; border-radius: 12rpx; width: 80%; max-width: 600rpx; z-index: 1001; box-shadow: 0 10rpx 30rpx rgba(0, 0, 0, 0.2); } .modal-content.large { width: 90%; max-width: 700rpx; } .modal-header { display: flex; justify-content: space-between; align-items: center; padding: 30rpx; border-bottom: 1rpx solid #eee; } .modal-title { font-size: 32rpx; font-weight: bold; color: #333; } .modal-close { font-size: 36rpx; color: #999; cursor: pointer; padding: 10rpx; } .modal-body { padding: 30rpx; } .modal-text { font-size: 28rpx; color: #666; margin-bottom: 20rpx; display: block; } /* 员工选择列表 */ .staff-select-list { max-height: 400rpx; } .staff-select-item { display: flex; align-items: center; padding: 20rpx; border: 1rpx solid #eee; border-radius: 8rpx; margin-bottom: 15rpx; transition: all 0.3s ease; } .staff-select-item:active { background: #f5f5f5; } .staff-avatar { width: 60rpx; height: 60rpx; 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: 24rpx; font-weight: bold; } .staff-info { flex: 1; } .staff-name { font-size: 28rpx; font-weight: bold; color: #333; display: block; margin-bottom: 5rpx; } .staff-phone { font-size: 24rpx; color: #666; display: block; margin-bottom: 5rpx; } .staff-status { font-size: 22rpx; color: #999; } .empty-staff { text-align: center; padding: 40rpx; color: #999; } /* 表单样式 */ .form-hint { background: #e8f6ef; padding: 20rpx; border-radius: 8rpx; margin-bottom: 30rpx; } .hint-text { font-size: 24rpx; color: #27ae60; } .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; } .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; } .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; margin-top: 20rpx; }