page { background-color: #F2F3F5; font-size: 28rpx; color: #333; } .page-container { padding: 0 16rpx 20rpx; } /* 基础信息 */ .base-info { background: #fff; border-radius: 8rpx; padding: 24rpx; margin: 20rpx 0; box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.05); } .car-no { font-size: 36rpx; font-weight: 700; margin-bottom: 20rpx; color: #165DFF; } .car-base { display: flex; flex-wrap: wrap; gap: 24rpx 40rpx; } .base-item { font-size: 26rpx; color: #666; } /* 标签页 */ .tab-bar { display: flex; background: #fff; border-radius: 8rpx; overflow: hidden; box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.05); } .tab-item { flex: 1; text-align: center; padding: 20rpx 0; font-size: 28rpx; color: #86909C; border-bottom: 4rpx solid transparent; } .tab-item.active { color: #165DFF; border-bottom: 4rpx solid #165DFF; font-weight: 500; } /* 面板 */ .panel { margin-top: 20rpx; background: #fff; border-radius: 8rpx; padding: 24rpx; box-shadow: 0 2rpx 10rpx rgba(0,0,0,0.05); } .empty-panel { text-align: center; padding: 80rpx 0; color: #86909C; } /* 面板 */ .panel1 { margin-top: 20rpx; border-radius: 8rpx; padding:0rpx 0rpx; } .empty-panel1 { text-align: center; color: #86909C; } /* 数据网格 */ .data-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24rpx; } .data-item { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 20rpx; border: 1rpx solid #f0f0f0; border-radius: 8rpx; } .item-title { font-size: 26rpx; color: #86909C; margin-bottom: 16rpx; } .item-value { font-size: 36rpx; font-weight: 700; color: #333; } .unit { font-size: 28rpx; color: #666; margin-left: 4rpx; } .power-charge { color: #165DFF; } /* 状态标签 */ .status-1 {color: #00B42A;} .status-2 {color: #165DFF;} .status-3 {color: #86909C;} .status-4 {color: #4E5969;} .status-5 {color: #FF7D00;} .status-6 {color: #F53F3F;} /* 深色模式适配 */ page { width: 100%; height: 100%; background-color: #F7F8FA; font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif; box-sizing: border-box; } .container { width: 100%; min-height: 100%; padding: 20rpx; padding-bottom: 120rpx; box-sizing: border-box; } .filter_top{ position: fixed; top: 0; left: 0; right: 0; z-index: 99; padding: 20rpx; box-sizing: border-box; background-color: #FFFFFF; } /* 告警分类筛选栏 */ .filter-bar { width: 100%; display: flex; background: #FFFFFF; padding: 8rpx 0rpx; margin-bottom: 16rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04); overflow-x: auto; white-space: nowrap; box-sizing: border-box; } .filter-bar::-webkit-scrollbar { display: none; } .filter-item { display: inline-flex; align-items: center; padding: 16rpx 24rpx; margin: 0 8rpx; border-radius: 8rpx; font-size: 28rpx; color: #4E5969; position: relative; } .filter-active { background: linear-gradient(135deg, #007545 0%, #007545 100%); color: #FFFFFF; } .filter-badge { display: inline-flex; align-items: center; justify-content: center; min-width: 32rpx; height: 32rpx; background: #F53F3F; color: #FFFFFF; font-size: 20rpx; border-radius: 16rpx; margin-left: 8rpx; padding: 0 6rpx; } .filter-active .filter-badge { background: #FFFFFF; color: #007545; } /* 状态筛选栏 */ .status-filter { width: 100%; display: flex; background: #FFFFFF; padding: 12rpx 16rpx; margin:16rpx 0rpx; border-radius: 8rpx; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04); box-sizing: border-box; } .status-item { flex: 1; text-align: center; font-size: 28rpx; color: #86909C; padding: 12rpx 0; border-radius: 6rpx; } .status-active { color: #007545; font-weight: 600; background: #EEF7FF; } /* 告警列表 */ .alert-list { width: 100%; overflow: hidden; overflow: auto; box-sizing: border-box; } .empty-wrap { padding: 100rpx 0; text-align: center; } .empty-icon { font-size: 80rpx; color: #C9CDD4; margin-bottom: 20rpx; } .empty-text { font-size: 28rpx; color: #86909C; margin-bottom: 8rpx; } .empty-subtext { font-size: 24rpx; color: #C9CDD4; } /* 告警卡片 */ .alert-card { width: 100%; display: flex; align-items: flex-start; background: #FFFFFF; border-radius: 12rpx; padding: 24rpx; margin-bottom: 16rpx; box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.04); position: relative; box-sizing: border-box; } /* 未读角标 */ .unread-tag { position: absolute; top: 24rpx; right: 24rpx; width: 16rpx; height: 16rpx; background: #F53F3F; border-radius: 50%; } /* 左侧图标+类型 */ .alert-left { flex-shrink: 0; display: flex; flex-direction: column; align-items: center; margin-right: 20rpx; } .alert-icon { width: 64rpx; height: 64rpx; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 28rpx; font-weight: 600; color: #FFFFFF; margin-bottom: 18rpx; } .icon-critical { background: linear-gradient(135deg, #F53F3F 0%, #D92D2D 100%); } .icon-warning { background: linear-gradient(135deg, #FF7D00 0%, #E66A00 100%); } .icon-info { background: linear-gradient(135deg, #007545 0%, #007545 100%); } .alert-type { font-size: 24rpx; color: #86909C; } /* 中间核心信息 */ .alert-middle { flex: 1; display: flex; flex-direction: column; gap: 8rpx; } .alert-title { font-size: 30rpx; font-weight: 600; color: #1D2129; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; } .alert-desc { font-size: 26rpx; color: #4E5969; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; } .alert-info { display: flex; justify-content: space-between; font-size: 22rpx; color: #86909C; margin-top: 8rpx; } /* 右侧操作按钮 */ .alert-right { flex-shrink: 0; margin-left: 16rpx; } .handle-btn { width: 120rpx; height: 64rpx; line-height: 64rpx; padding: 0; background: #00B42A; color: #FFFFFF; font-size: 26rpx; border-radius: 8rpx; border: none; } .handle-btn::after { border: none; } .handled-tag { font-size: 24rpx; color: #00B42A; background: #E8FFF3; padding: 8rpx 16rpx; border-radius: 6rpx; } /* 底部批量操作栏 */ .batch-bar { position: fixed; bottom: 0; left: 0; right: 0; display: flex; gap: 16rpx; padding: 20rpx 24rpx; background: #FFFFFF; box-shadow: 0 -2rpx 12rpx rgba(0, 0, 0, 0.06); z-index: 99; } .batch-read, .batch-handle { flex: 1; height: 88rpx; line-height: 88rpx; padding: 0; border-radius: 12rpx; font-size: 30rpx; font-weight: 500; border: none; } .batch-read { background: #EEF7FF; color: #007545; } .batch-read::after { border: none; } .batch-handle { background: linear-gradient(135deg, #007545 0%, #007545 100%); color: #FFFFFF; } .batch-handle::after { border: none; } /* 深色模式适配 */ @media (prefers-color-scheme: dark) { page { background-color: #1D1D1F; } .filter-bar, .status-filter, .alert-card, .batch-bar { background: #2C2C2E; color: #FFFFFF; } .alert-title { color: #FFFFFF; } .alert-desc { color: #C9CDD4; } .alert-info, .alert-type { color: #8E8E93; } .status-active { background: #007545; color: #FFFFFF; } .batch-read { background: #007545; color: #FFFFFF; } } /* */ /* 面板 */ .panel2 { margin-top: 20rpx; border-radius: 8rpx; padding:0rpx 0rpx; } .empty-panel2 { color: #86909C; } .order-card { width: 100%; position: relative; background: #FFFFFF; border-radius: 12rpx; padding: 24rpx; margin-top: 16rpx; box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.04); box-sizing: border-box; } /* 状态标签 */ .order-tag { position: absolute; top: 24rpx; right: 24rpx; padding: 4rpx 12rpx; border-radius: 6rpx; font-size: 22rpx; color: #222222; } .tag-pending { background: #FF7D00; } .tag-processing { background: #007545; } .tag-completed { background: #00B42A; } .tag-rejected { background: #F53F3F; } /* 左侧信息 */ .order-left { margin-right: 140rpx; margin-bottom: 20rpx; } .order-code { font-size: 24rpx; color: #86909C; margin-bottom: 8rpx; } .order-title { font-size: 30rpx; font-weight: 600; color: #1D2129; line-height: 1.4; margin-bottom: 8rpx; } .order-desc { font-size: 26rpx; color: #4E5969; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 12rpx; } .order-meta { display: flex; flex-direction: column; justify-content: space-between; font-size: 22rpx; color: #86909C; } /* 右侧操作区 */ .order-right { position: absolute; top: 24rpx; right: 24rpx; display: flex; flex-direction: column; gap: 8rpx; align-items: flex-end; } .opt-btn { width: 100rpx; height: 56rpx; line-height: 56rpx; padding: 0; font-size: 24rpx; border-radius: 6rpx; border: none; } .opt-btn::after { border: none; } .dispatch-btn { background: #165DFF; color: #FFFFFF; } .complete-btn { background: #00B42A; color: #FFFFFF; } .reject-btn { background: #F53F3F; color: #FFFFFF; } .opt-text { font-size: 22rpx; color: #86909C; margin-top: 8rpx; } /* 底部新建工单按钮 */ .add-bar { position: fixed; bottom: 0; left: 0; right: 0; padding: 20rpx 24rpx; background: #FFFFFF; box-shadow: 0 -2rpx 12rpx rgba(0, 0, 0, 0.06); z-index: 99; } .add-btn { width: 100%; height: 88rpx; line-height: 88rpx; padding: 0; background: linear-gradient(135deg, #007545 0%, #007545 100%); color: #FFFFFF; font-size: 30rpx; font-weight: 600; border-radius: 12rpx; border: none; } .add-btn::after { border: none; }