diff --git a/backend/app/api/dashboard.py b/backend/app/api/dashboard.py index cdbfdd7f..af4cc25e 100644 --- a/backend/app/api/dashboard.py +++ b/backend/app/api/dashboard.py @@ -471,14 +471,18 @@ def my_dashboard( "period": latest_v.period if latest_v else None, }) - # 2. 我的改善行动(assignee匹配) + # 2. 我的改善行动(assignee匹配;CEO/管理员看全部) from app.models import ActionPlan - my_plans = db.query(ActionPlan).filter( - or_( - ActionPlan.assignee == username, - ActionPlan.assignee == name, - ) - ).order_by(ActionPlan.updated_at.desc()).all() + if current_user.role == "ceo": + # CEO/管理员查看全部行动方案(2026-08-26修复: 原逻辑只按assignee过滤导致工作台显示空) + my_plans = db.query(ActionPlan).order_by(ActionPlan.updated_at.desc()).all() + else: + my_plans = db.query(ActionPlan).filter( + or_( + ActionPlan.assignee == username, + ActionPlan.assignee == name, + ) + ).order_by(ActionPlan.updated_at.desc()).all() plan_list = [] for p in my_plans: