diff --git a/review_agent/views.py b/review_agent/views.py index 429715e..5decbdb 100644 --- a/review_agent/views.py +++ b/review_agent/views.py @@ -43,6 +43,7 @@ def workspace(request: HttpRequest) -> HttpResponse: current = conversations.first() workflow_cards = build_workflow_cards(current) if current else [] + condition_confirmation = build_condition_confirmation(workflow_cards) return render( request, @@ -55,6 +56,7 @@ def workspace(request: HttpRequest) -> HttpResponse: "messages": current.messages.all() if current else [], "attachments": FileAttachment.objects.filter(conversation=current).order_by("original_name", "-version_no") if current else [], "workflow_cards": workflow_cards, + "condition_confirmation": condition_confirmation, }, ) @@ -154,6 +156,21 @@ def build_workflow_cards(conversation: Conversation) -> list[dict[str, object]]: return sorted(cards, key=lambda item: item["created_at"], reverse=True)[:5] +def build_condition_confirmation(workflow_cards: list[dict[str, object]]) -> dict[str, object] | None: + for card in workflow_cards: + if ( + card.get("workflow_type") == "regulatory_review" + and card.get("status") == RegulatoryReviewBatch.Status.WAITING_USER + and card.get("condition_candidates") + ): + return { + "id": card["id"], + "batch_no": card["batch_no"], + "candidates": card["condition_candidates"], + } + return None + + def _format_risk_label(risk_summary: dict) -> str: parts = [] labels = [ diff --git a/templates/home.html b/templates/home.html index f8ee602..e3e1132 100644 --- a/templates/home.html +++ b/templates/home.html @@ -124,6 +124,43 @@ {% endfor %} + {% if condition_confirmation %} + + {% endif %} {% else %}
审核智能体
@@ -257,33 +294,6 @@ {% if batch.error_message %}{{ batch.error_message }}
{% endif %} - {% if batch.workflow_type == "regulatory_review" and batch.status == "waiting_user" and batch.condition_candidates %} - - {% endif %}