فهرست منبع

T04-S2 报告详情「本期 vs 上一期」对照:补齐行首状态色条

- 规范:DS-2026-10-25-01 §2871-②(第二段 6 项之第 2 项)
- 改动:cfc-frontend/pages/health/report-detail.vue
  - .indicator-item 增加左侧 8rpx 状态色条,颜色随当前状态(normal/high/low/abnormal/deficient/insufficient/warning/high-risk/low-risk/not-detected)
  - 状态类由 ind._statusCss 预计算,避免模板 :class 内带参方法调用(小程序规范)
- 审计结论:§2871 其余 5 项(卡片头汇总/较上次±N/三档筛选/D1 开关、两三行对照与跳比提示、分组头差值、合规话术、comparePendingCount 提示条)已由 18cd1e87e / 1f2f9cd01 实现,本次不重复改动
- 校验:node scripts/verify-vue-compile.js pages/health/report-detail.vue PASS;node scripts/audit-mp-antipatterns.js ERROR 0;cfc-backend mvn clean compile BUILD SUCCESS;cfc-web npm run build DONE
- 闸门(测试库 192.168.16.251):L1=50.00%(6/12) FAIL / L2=100.00% PASS / L3 FAIL(12 份 gut_flora 中 6 份零观测)
  → 结论:本段暂不得上线;缺口源于 6 份历史报告 payload_json 为空(backfill 为 skip_no_payload),需数据侧重新解析/补齐后复测闸门
Agnes Agent 1 هفته پیش
والد
کامیت
e740b212da
1فایلهای تغییر یافته به همراه17 افزوده شده و 2 حذف شده
  1. 17 2
      cfc-frontend/pages/health/report-detail.vue

+ 17 - 2
cfc-frontend/pages/health/report-detail.vue

@@ -235,7 +235,7 @@
               </view>
 
               <view class="indicator-group-body" v-if="groupExpandList[gIdx]">
-                <view class="indicator-item" v-for="(ind, idx) in group.items" :key="idx">
+                <view class="indicator-item" :class="'ind-item-' + ind._statusCss" v-for="(ind, idx) in group.items" :key="idx">
                   <view class="ind-header">
                     <text class="ind-help-btn" @click.stop="showHelp(ind)">?</text>
                     <input class="ind-name" :class="'ind-name-' + _cssClass(ind.status)" v-model="ind.indicatorName" />
@@ -608,6 +608,8 @@ export default {
         ind._cardChangeCss = st.colorClass
         ind._isChanged = !!(ch && ch.comparable && tc && tc !== 'flat')
         ind._isAbnormal = this.isAbnormalStatus(ind.status)
+        // 行首状态色条(T04 第二段 §2871-②):预计算状态类,避免 :class 内带参方法调用
+        ind._statusCss = this._cssClass(ind.status)
         // 简报徽标(短词):由 trendCode + movement 推导,不看 delta 正负
         var badge = ''
         if (tc === 'first_record') { badge = '首次' }
@@ -1935,7 +1937,20 @@ $c-rptd-orange-line: #FFD4A8; // 暖橙描边
   border-radius: 16rpx;
   padding: 16rpx;
   margin-bottom: 12rpx;
-}
+  /* T04 第二段 §2871-② 行首状态色条:左缘 8rpx 竖条,颜色随当前状态 */
+  border-left: 8rpx solid transparent;
+}
+/* 行首状态色条配色(与 .status-* 同色系,状态类由 _statusCss 预计算) */
+.ind-item-normal { border-left-color: $mat-green-strong; }
+.ind-item-high { border-left-color: $mat-orange-strong; }
+.ind-item-low { border-left-color: $mat-blue-strong; }
+.ind-item-abnormal { border-left-color: $status-danger-strong-2; }
+.ind-item-deficient { border-left-color: $mat-orange-strong; }
+.ind-item-insufficient { border-left-color: $mat-orange-strong; }
+.ind-item-warning { border-left-color: $mat-orange-strong; }
+.ind-item-high-risk { border-left-color: $status-danger-strong-2; }
+.ind-item-low-risk { border-left-color: $mat-green-strong; }
+.ind-item-not-detected { border-left-color: $uni-text-color-secondary; }
 .ind-header {
   display: flex;
   flex-direction: row;