anchor.diff:            <%= plan.title %>
           </h4>
           <p><%= tasks_count %> 个任务</p>
  +        <div class="progress" style="height: 8px;">
  +          <% progress_bg_mapping = { "pass" => "bg-success", "failure" => "bg-danger" } %>
  +          <div class="progress-bar" style="width: 0%"></div>
  +          <% Task.state.values.each do |state| %>
  +            <% count = @tasks_count_mapping[[plan.id, state]] || 0 %>
  +            <% if count.nonzero? && (bar_bg = progress_bg_mapping[state]) %>
  +              <div class="progress-bar <%= bar_bg %>" style="width: <%= 100.0 * count / tasks_count %>%"></div>
  +            <% end %>
  +          <% end %>
  +        </div>
         </div>
   
         <div class="card-footer d-flex justify-content-between align-items-end bg-white">
  
positive.code: <div class="d-flex flex-wrap border-bottom mb-3 pb-3">
    <% plans.each do |plan| %>
      <% tasks_count = @tasks_count_mapping.sum { |key, value| key.first == plan.id ? value : 0 } %>
      <div class="card m-3" style="width:16rem;">
        <div class="card-body">
  
negative.code:         <%= link_to "进入测试", project_plan_path(@project, plan), class: "btn btn-outline-primary btn-sm py-1 stretched-link ml-auto" %>
        </div>
  
      </div>
  
    <% end %>
  </div>
  