'待执行', 'ongoing' => '进行中', 'completed' => '已完成', 'cancelled' => '已取消', ]; $st = (string)($n['status'] ?? ($cardCategory === 'plan' ? 'planned' : 'completed')); if (!isset($statusLabels[$st])) $st = $cardCategory === 'plan' ? 'planned' : 'completed'; $isExecuted = $cardCategory === 'plan' && in_array((int)$n['id'], $executedPlanIds, true); $sLoc = json_decode_field($n['start_location'] ?? null); $eLoc = json_decode_field($n['end_location'] ?? null); $transportParts = []; if (!empty($n['trip_number'])) $transportParts[] = $n['trip_number']; if (!empty($n['line_name'])) $transportParts[] = $n['line_name']; if (!empty($n['carrier'])) $transportParts[] = $n['carrier']; if (!empty($n['seat_info'])) $transportParts[] = $n['seat_info']; if (!empty($n['gate'])) $transportParts[] = $n['gate']; // 卡片上的状态快捷切换:计划节点在"待执行 / 已完成"之间来回,取消后可以恢复 $quickStatus = null; $quickLabel = ''; if ($cardCategory === 'plan') { if ($st === 'planned') { $quickStatus = 'completed'; $quickLabel = '✓ 标记完成'; } elseif ($st === 'completed') { $quickStatus = 'planned'; $quickLabel = '↺ 撤销完成'; } elseif ($st === 'cancelled') { $quickStatus = 'planned'; $quickLabel = '↺ 恢复'; } } elseif ($st === 'cancelled') { $quickStatus = 'completed'; $quickLabel = '↺ 恢复'; } ?>
临时
-
📍 → 📍
🚄
取消原因:
详情 📎 附件 () 0): ?> 👥 0): ?> 💬 0): ?> 💰 编辑
✓ 已成行