# P8→NS1/RNS1 缺失项 #6：财务看板环比数据的 tooltip 说明

## 简要结论
- 状态：⚠️ 部分解决
- 风险等级：🟠 中
- 环比数据已展示（↑/↓箭头+数值），环比开关已实现，但点击环比箭头不会显示计算详情 tooltip；仅指标名称旁的"?"图标有 tip 弹窗。

## 详细审查

### 审查范围
- `apps/miniprogram/miniprogram/pages/board-finance/board-finance.wxml`（环比展示区域）
- `apps/miniprogram/miniprogram/pages/board-finance/board-finance.ts`（交互逻辑）

### 发现

1. **环比开关已实现**
   - 顶部筛选栏有环比开关（`toggleCompare`），点击切换 `compareEnabled` 状态
   - 环比数据通过 `wx:if="{{compareEnabled}}"` 条件渲染

2. **环比数据展示格式完整**
   - 使用 `↑`/`↓` 箭头 + 数值文本展示环比变化
   - 样式区分：上升用 `compare-text-up`（绿色），下降用 `compare-text-down`（红色），持平用 `compare-text-flat`

3. **环比箭头无点击交互**
   - 所有 `compare-text-*` 元素均为纯文本展示，无 `bindtap` 事件
   - 搜索 `compare.*tap`、`tooltip`、`onCompareTap` 在 board-finance 中无匹配
   - P8 定义的"点击环比箭头显示计算详情（如：本期 ¥12,000 vs 上期 ¥10,000，变化 +20%）"未实现

4. **指标名称的"?"帮助图标已实现**
   - 各指标旁有 `help-icon` 元素，绑定 `onHelpTap` 事件
   - 点击后弹出 `tipContents` 中预定义的说明文案
   - 但这是指标含义说明，不是环比计算详情

### 证据

```html
<!-- board-finance.wxml — 环比数据为纯文本，无 bindtap -->
<view class="compare-row" wx:if="{{compareEnabled}}">
  <text class="compare-text-up">↑{{overview.occurrenceCompare}}</text>
</view>

<!-- 对比：指标名称的"?"有 bindtap -->
<view class="help-icon-light" data-key="occurrence" bindtap="onHelpTap">?</view>
```

```typescript
// board-finance.ts — tipContents 仅包含指标含义，无环比计算详情
const tipContents: Record<string, { title: string; content: string }> = {
  occurrence: {
    title: '发生额/正价',
    content: '所有消费项目按标价计算的总金额，不扣除任何优惠。...',
  },
  // ... 无环比计算详情
}
```

### 建议
1. **方案 A（轻量）**：为环比文本添加 `bindtap` 事件，点击后弹出包含"本期值 vs 上期值 → 变化率"的 tooltip
2. **方案 B（完整）**：后端在环比数据中返回 `current_value`、`previous_value`、`change_pct` 三个字段，前端据此渲染详情弹窗
3. 当前后端 `calc_compare` 函数已计算了 current/previous 值，只需在响应中透传即可
