{
  "documentVersion": 1,
  "format": "axhub-annotation-source",
  "data": {
    "version": 2,
    "prototypeName": "lease-business-ledger",
    "pageId": "list",
    "updatedAt": 1783800844966,
    "nodes": [
      {
        "id": "lbl-filter",
        "index": 1,
        "title": "筛选条件",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-filter\"]"
          ],
          "fingerprint": "lbl-filter",
          "path": []
        },
        "aiPrompt": "年份、月份、部门、业务员等筛选。",
        "annotationText": "## 2. 筛选区\n\n默认展示 4 项（一行），点击「更多筛选」展开全部 8 项。\n\n| 筛选项 | 说明 |\n|---|---|\n| 年份 / 月份 | 账单所属年月 |\n| 业务部门 / 业务员 | 精确匹配 |\n| 车牌号码 | 精确匹配 |\n| 客户名称 | 模糊包含 |\n| 明细状态 | 未收款 / 部分收款 / 已收款 |\n| 应付款日 | 单输入框双日历区间，精确至日 |\n\n---",
        "hasMarkdown": true,
        "color": "#2563eb",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1740787200000,
        "controls": []
      },
      {
        "id": "lbl-kpi",
        "index": 2,
        "title": "KPI 统计",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-kpi\"]"
          ],
          "fingerprint": "lbl-kpi",
          "path": []
        },
        "aiPrompt": "六张统计卡片口径。",
        "annotationText": "## 3. KPI 统计卡片（6 张）\n\n台账条数、应收总计、实收总计、未收总计、成本总计、盈亏总计。\n\n- **台账条数**：员工仅统计本人录入；主管统计全组。点击切换列表为显示全部。\n- **未收总计**：点击筛选下方列表为未收款数据。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1740787200000,
        "controls": []
      },
      {
        "id": "lbl-kpi-count",
        "index": 3,
        "title": "台账条数",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-kpi-count\"]"
          ],
          "fingerprint": "lbl-kpi-count",
          "path": []
        },
        "aiPrompt": "台账条数 KPI 点击切换列表。",
        "annotationText": "## 台账条数 KPI\n\n业务服务组员工只能看到自己录入的数据条数以及金额；业务服务组主管可以查看所有业务服务组人员录入的数据总和。点击可切换列表显示全部数据。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-kpi-unreceived",
        "index": 4,
        "title": "未收总计",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-kpi-unreceived\"]"
          ],
          "fingerprint": "lbl-kpi-unreceived",
          "path": []
        },
        "aiPrompt": "未收总计 KPI 筛选未收款。",
        "annotationText": "## 未收总计 KPI\n\n点击未收总计卡片，下方列表仅展示未收款数据（状态不等于已收款）。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-toolbar",
        "index": 5,
        "title": "列表工具栏",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-toolbar\"]"
          ],
          "fingerprint": "lbl-toolbar",
          "path": []
        },
        "aiPrompt": "导入、导出、保存、设置为归档。",
        "annotationText": "## 4. 列表工具栏\n\n左侧「仅显示未收款数据」勾选后，列表仅显示状态不等于已收款的记录。\n\n| 按钮 | 行为 |\n|---|---|\n| 批量导入 | 下载模板并上传 Excel（原型 Toast） |\n| 导出 | 导出当前筛选结果 |\n| 保存 | 勾选记录后设为未归档，保存后不可编辑 |\n| 设置为归档 | 勾选记录后锁定为已归档 |\n\n表格底部提供分页，可切换页码与每页条数。\n\n---",
        "hasMarkdown": true,
        "color": "#0f766e",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1740787200000,
        "controls": []
      },
      {
        "id": "lbl-btn-save-unarchived",
        "index": 6,
        "title": "保存",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-btn-save-unarchived\"]"
          ],
          "fingerprint": "lbl-btn-save-unarchived",
          "path": []
        },
        "aiPrompt": "勾选记录批量设为未归档。",
        "annotationText": "## 保存\n\n勾选台账记录后点击，将账单状态设为**未归档**。未归档数据不可编辑，仅草稿可编辑。\n\n---",
        "hasMarkdown": true,
        "color": "#0f766e",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783260796701,
        "controls": []
      },
      {
        "id": "lbl-btn-set-archived",
        "index": 7,
        "title": "设置为归档",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-btn-set-archived\"]"
          ],
          "fingerprint": "lbl-btn-set-archived",
          "path": []
        },
        "aiPrompt": "勾选记录批量归档。",
        "annotationText": "## 设置为归档\n\n勾选台账记录后点击，将账单状态设为**已归档**并锁定编辑。\n\n---",
        "hasMarkdown": true,
        "color": "#0f766e",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783259785963,
        "controls": []
      },
      {
        "id": "lbl-table",
        "index": 8,
        "title": "租赁台账宽表",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-table\"]"
          ],
          "fingerprint": "lbl-table",
          "path": []
        },
        "aiPrompt": "运营明细台账列表与行操作。",
        "annotationText": "## 5. 列表字段\n\n对齐 Excel「租赁车辆收入明细表」全量字段：年份、月份、业务部门（含业务员）、付款日期、车牌（含车型）、客户（含项目）、增值服务、享免政策、提车/合同/起止日期、平均天数、押金、合同标的租金、应收与收入拆分、减免、实收/未收、开票与付款信息、成本拆分、盈亏、GPS里程、减免明细、资产归属、签约公司、备注。\n\n宽表支持横向滚动；序号与操作列固定。",
        "hasMarkdown": true,
        "color": "#2563eb",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782700000000,
        "controls": []
      },
      {
        "id": "lbl-col-status",
        "index": 9,
        "title": "状态",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-status\"]"
          ],
          "fingerprint": "lbl-col-status",
          "path": []
        },
        "aiPrompt": "状态字段的数据来源与计算口径。",
        "annotationText": "## 状态\n\n**数据来源**：收款记录模块中关联到本账单的分配金额、账单应收合计。\n**计算方式**：分配金额 ≥ 应收合计且应收 > 0 → 已收款；0 < 分配金额 < 应收 → 部分收款；未关联收款 → 未收款。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：当收款记录中分配金额完全覆盖账单的应收金额时，显示已收款。当收款记录中分配金额≤账单的应收金额时，显示部分收款。未分配收款记录时，显示为未收款。其他状态去除\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1782700000000,
        "updatedAt": 1782700000000,
        "controls": []
      },
      {
        "id": "lbl-col-payment-due",
        "index": 10,
        "title": "应付款日",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-payment-due\"]"
          ],
          "fingerprint": "lbl-col-payment-due",
          "path": []
        },
        "aiPrompt": "应付款日字段的数据来源与计算口径。",
        "annotationText": "## 应付款日\n\n**数据来源**：账单起始日期（优先）或提车日期作为开始计费日；账单所属年月。\n**计算方式**：首期账单应付款日 = 开始计费日；后续每期 = 账单所属自然月 5 日。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：交车后按「开始计费日期」生成首期账单应付款日；后续每期账单在所属自然月 5 日生成下一期应付款日。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783251873620,
        "controls": []
      },
      {
        "id": "lbl-col-plate",
        "index": 11,
        "title": "车牌号码",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-plate\"]"
          ],
          "fingerprint": "lbl-col-plate",
          "path": []
        },
        "aiPrompt": "车牌号码字段的数据来源与计算口径。",
        "annotationText": "## 车牌号码\n\n**数据来源**：车辆档案（按车牌匹配品牌、型号）。\n**计算方式**：导入/新增台账时按车牌号反写车辆信息。\n**录入方式**：只读展示（车牌 + 车型两行）。\n\n**业务说明**：车牌与车型合并为一列：上方车牌号码，下方品牌与型号；导入/新增时按车牌在系统中自动匹配。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1782700000000,
        "updatedAt": 1782700000000,
        "controls": []
      },
      {
        "id": "lbl-col-customer",
        "index": 12,
        "title": "客户名称",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-customer\"]"
          ],
          "fingerprint": "lbl-col-customer",
          "path": []
        },
        "aiPrompt": "客户名称字段的数据来源与计算口径。",
        "annotationText": "## 客户名称\n\n**数据来源**：租赁合同（按账单日期 + 车牌匹配客户、项目）。\n**计算方式**：匹配当前车辆在账期内的有效合同，带出客户名称与项目名称。\n**录入方式**：只读展示（客户 + 项目两行）。\n\n**业务说明**：客户名称与项目名称合并为一列：上方客户名称，下方项目名称；按账单日期与车牌号自动匹配。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1782700000000,
        "updatedAt": 1782700000000,
        "controls": []
      },
      {
        "id": "lbl-col-value-added-service",
        "index": 13,
        "title": "增值服务",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-value-added-service\"]"
          ],
          "fingerprint": "lbl-col-value-added-service",
          "path": []
        },
        "aiPrompt": "增值服务字段的数据来源与计算口径。",
        "annotationText": "## 增值服务\n\n**数据来源**：租赁合同签订时勾选的增值服务项目。\n**计算方式**：按车牌匹配合同增值服务配置，多项服务分行展示。\n**录入方式**：只读。\n\n**业务说明**：签订合同时勾选的增值服务项目，按车牌自动匹配合同数据；多项服务各占一行展示。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783257117558,
        "controls": []
      },
      {
        "id": "lbl-col-pickup-date",
        "index": 14,
        "title": "提车日期",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-pickup-date\"]"
          ],
          "fingerprint": "lbl-col-pickup-date",
          "path": []
        },
        "aiPrompt": "提车日期字段的数据来源与计算口径。",
        "annotationText": "## 提车日期\n\n**数据来源**：交车管理 / 运维 E 签宝签字完成时间。\n**计算方式**：取该车辆实际交车办结时间。\n**录入方式**：只读。\n\n**业务说明**：运维实际交车日期。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-contract-start-date",
        "index": 15,
        "title": "合同生效日期",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-contract-start-date\"]"
          ],
          "fingerprint": "lbl-col-contract-start-date",
          "path": []
        },
        "aiPrompt": "合同生效日期字段的数据来源与计算口径。",
        "annotationText": "## 合同生效日期\n\n**数据来源**：提车日期（交车办结时间）。\n**计算方式**：合同生效日期 = 提车日期（YYYY-MM-DD），系统自动反写。\n**录入方式**：系统自动反写，只读。\n\n**业务说明**：等于提车日期，即租赁合同生效日期，系统自动反写，只读。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783257117558,
        "controls": []
      },
      {
        "id": "lbl-col-contract-end-date",
        "index": 16,
        "title": "合同到期日期",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-contract-end-date\"]"
          ],
          "fingerprint": "lbl-col-contract-end-date",
          "path": []
        },
        "aiPrompt": "合同到期日期字段的数据来源与计算口径。",
        "annotationText": "## 合同到期日期\n\n**数据来源**：合同租期月数 + 提车日期，或合同约定的到期日。\n**计算方式**：日期模式：取合同存储的 contractEndDate；租期模式：提车日 + leaseTermMonths 个月。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：合同到期日：租期模式按提车日期 + 租期月数计算；日期模式取合同中约定的到期日。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783257117558,
        "controls": []
      },
      {
        "id": "lbl-col-period-start-date",
        "index": 17,
        "title": "起始日期",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-period-start-date\"]"
          ],
          "fingerprint": "lbl-col-period-start-date",
          "path": []
        },
        "aiPrompt": "起始日期字段的数据来源与计算口径。",
        "annotationText": "## 起始日期\n\n**数据来源**：账单年月、提车日期。\n**计算方式**：月前已提车 → 当月 1 日；月内提车 → 提车日；月后提车 → 空（calcPeriodStartDate）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：账单所属月内的租赁起始日：月前已提车取当月 1 日，月内提车取提车日；系统自动计算，只读。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783257117558,
        "controls": []
      },
      {
        "id": "lbl-col-return-date",
        "index": 18,
        "title": "退车日期",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-return-date\"]"
          ],
          "fingerprint": "lbl-col-return-date",
          "path": []
        },
        "aiPrompt": "退车日期字段的数据来源与计算口径。",
        "annotationText": "## 退车日期\n\n**数据来源**：退车管理登记的退车日期。\n**计算方式**：取该车牌退车办结日期；未退车为空。\n**录入方式**：只读。\n\n**业务说明**：退车管理中登记的退车日期；未退车时为空。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783257117558,
        "controls": []
      },
      {
        "id": "lbl-col-avg-days",
        "index": 19,
        "title": "平均天数",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-avg-days\"]"
          ],
          "fingerprint": "lbl-col-avg-days",
          "path": []
        },
        "aiPrompt": "平均天数字段的数据来源与计算口径。",
        "annotationText": "## 平均天数\n\n**数据来源**：账单月内租赁天数、当月自然日天数。\n**计算方式**：平均天数 = 账单月内租赁天数 ÷ 当月自然日天数，保留两位小数（calcAvgDays）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：平均天数 = 账单月内租赁天数 ÷ 当月自然日天数，保留两位小数；用于成本分摊口径。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783257117558,
        "controls": []
      },
      {
        "id": "lbl-col-deposit",
        "index": 20,
        "title": "保证金",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-deposit\"]"
          ],
          "fingerprint": "lbl-col-deposit",
          "path": []
        },
        "aiPrompt": "保证金字段的数据来源与计算口径。",
        "annotationText": "## 保证金\n\n**数据来源**：提车应收款 / 合同保证金。\n**计算方式**：与创建合同时保证金、提车应收款中该车辆保证金一致。\n**录入方式**：只读。\n\n**业务说明**：显示该车辆实付保证金金额，与提车应收款时该车辆收取的提车应收款相同。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-contract-rent",
        "index": 21,
        "title": "合同标的租金",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-contract-rent\"]"
          ],
          "fingerprint": "lbl-col-contract-rent",
          "path": []
        },
        "aiPrompt": "合同标的租金字段的数据来源与计算口径。",
        "annotationText": "## 合同标的租金\n\n**数据来源**：租赁合同月租金标准。\n**计算方式**：签订合同时该车辆的月租金（合同标的租金）。\n**录入方式**：合同带入，只读。\n\n**业务说明**：等于该车辆在签订该合同时合同中的租金（月租金标准）。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-receivable-total",
        "index": 22,
        "title": "应收合计",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-receivable-total\"]"
          ],
          "fingerprint": "lbl-col-receivable-total",
          "path": []
        },
        "aiPrompt": "应收合计字段的数据来源与计算口径。",
        "annotationText": "## 应收合计\n\n**数据来源**：应收租金、保险上浮费、运维费（收入侧）、其他收入、里程/其他减免。\n**计算方式**：应收合计 = 应收租金 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免 − 其他减免（calcReceivableTotal）。\n**录入方式**：系统自动汇总，只读。\n\n**业务说明**：应收合计 = 应收租金 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免金额 − 其他减免金额。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783257117558,
        "controls": []
      },
      {
        "id": "lbl-col-receivable-rent",
        "index": 23,
        "title": "应收租金",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-receivable-rent\"]"
          ],
          "fingerprint": "lbl-col-receivable-rent",
          "path": []
        },
        "aiPrompt": "应收租金字段的数据来源与计算口径。",
        "annotationText": "## 应收租金\n\n**数据来源**：合同标的租金、合同付款周期月数。\n**计算方式**：应收租金 = 合同标的租金 × 付款周期月数（1/3/6/12）（calcReceivableRent）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：按合同付款周期（1/3/6/12 个月）计算的单期账单租金总金额 = 合同标的租金 × 付款周期月数。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-monthly-income",
        "index": 24,
        "title": "月度收入",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-monthly-income\"]"
          ],
          "fingerprint": "lbl-col-monthly-income",
          "path": []
        },
        "aiPrompt": "月度收入字段的数据来源与计算口径。",
        "annotationText": "## 月度收入\n\n**数据来源**：月度租金、维保包干、保险上浮费、运维费（收入侧）、其他收入、减免项。\n**计算方式**：月度收入 = 月度租金 + 维保包干收入 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免 − 其他减免（calcMonthlyIncome）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：月度收入 = 月度租金 + 维保包干收入 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免金额 − 其他减免金额。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-monthly-rent",
        "index": 25,
        "title": "月度租金",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-monthly-rent\"]"
          ],
          "fingerprint": "lbl-col-monthly-rent",
          "path": []
        },
        "aiPrompt": "月度租金字段的数据来源与计算口径。",
        "annotationText": "## 月度租金\n\n**数据来源**：合同标的租金。\n**计算方式**：月度租金 = 合同标的租金（calcMonthlyRent）。\n**录入方式**：只读。\n\n**业务说明**：根据客户付款周期间隔，计算每个月需收取的租金，等于合同标的租金。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-maintenance-income",
        "index": 26,
        "title": "维保包干收入",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-maintenance-income\"]"
          ],
          "fingerprint": "lbl-col-maintenance-income",
          "path": []
        },
        "aiPrompt": "维保包干收入字段的数据来源与计算口径。",
        "annotationText": "## 维保包干收入\n\n**数据来源**：合同维保包干配置、账单里程。\n**计算方式**：勾选维保包干时：单价（元/km）× 里程数；未勾选为 0（calcMaintenanceIncome）。\n**录入方式**：包干未勾选时不可编辑。\n\n**业务说明**：合同勾选维保包干时：单价（元/km）× 里程数，必填；未勾选时默认 0 且不可编辑。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-insurance-surcharge",
        "index": 27,
        "title": "保险上浮费",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-insurance-surcharge\"]"
          ],
          "fingerprint": "lbl-col-insurance-surcharge",
          "path": []
        },
        "aiPrompt": "保险上浮费字段的数据来源与计算口径。",
        "annotationText": "## 保险上浮费\n\n**数据来源**：事故台账关联的保险上浮费。\n**计算方式**：关联事故单后汇总 linkedAccidentIds 对应上浮费；最新账单未关联时显示警示。\n**录入方式**：关联后自动汇总，支持多选事故单。\n\n**业务说明**：事故中有保险上浮费时，最新账单显示警示标志；关联事故单后自动汇总上浮费，支持多选。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-ops-income",
        "index": 28,
        "title": "运维费",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-ops-income\"]"
          ],
          "fingerprint": "lbl-col-ops-income",
          "path": []
        },
        "aiPrompt": "运维费字段的数据来源与计算口径。",
        "annotationText": "## 运维费\n\n**数据来源**：维修/保养台账（客户承担）、账单月内该车牌完工记录。\n**计算方式**：汇总 bearBy=客户承担 的维保金额；可关联 linkedMaintenanceIds（sumMaintenanceForBill）。\n**录入方式**：关联后自动汇总；最新账单可关联记录。\n\n**业务说明**：收入侧运维费：自动汇总该账单月内、该车牌维修/保养台账中「客户承担」的金额；最新一期账单可关联记录。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-other-income",
        "index": 29,
        "title": "其他收入",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-other-income\"]"
          ],
          "fingerprint": "lbl-col-other-income",
          "path": []
        },
        "aiPrompt": "其他收入字段的数据来源与计算口径。",
        "annotationText": "## 其他收入\n\n**数据来源**：行内其他收入明细（事由、金额、备注）。\n**计算方式**：多条明细金额合计计入应收与月度收入（sumLineItems）。\n**录入方式**：草稿状态可编辑明细。\n\n**业务说明**：支持多条明细录入（事由、金额、备注）；合计自动计入应收与月度收入。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-mileage-deduction",
        "index": 30,
        "title": "里程减免金额",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-mileage-deduction\"]"
          ],
          "fingerprint": "lbl-col-mileage-deduction",
          "path": []
        },
        "aiPrompt": "里程减免金额字段的数据来源与计算口径。",
        "annotationText": "## 里程减免金额\n\n**数据来源**：BI 里程（GPS）、里程减免单价。\n**计算方式**：里程减免 = GPS 里程 × 单价；有 GPS 时默认 0.5 元/km，无 GPS 为 0（calcMileageDeduction）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：里程减免金额 = GPS 里程 × 里程减免单价；有 GPS 里程时默认单价 0.5 元/km，无 GPS 时为 0。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783257117558,
        "controls": []
      },
      {
        "id": "lbl-col-other-deduction",
        "index": 31,
        "title": "其他减免金额",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-other-deduction\"]"
          ],
          "fingerprint": "lbl-col-other-deduction",
          "path": []
        },
        "aiPrompt": "其他减免金额字段的数据来源与计算口径。",
        "annotationText": "## 其他减免金额\n\n**数据来源**：行内其他减免明细。\n**计算方式**：多条明细金额合计，从应收与月度收入扣减（sumLineItems）。\n**录入方式**：草稿状态可编辑明细。\n\n**业务说明**：支持多条明细录入（事由、金额、备注）；合计自动从应收与月度收入中扣减。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783257117558,
        "controls": []
      },
      {
        "id": "lbl-col-received-amount",
        "index": 32,
        "title": "实收金额",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-received-amount\"]"
          ],
          "fingerprint": "lbl-col-received-amount",
          "path": []
        },
        "aiPrompt": "实收金额字段的数据来源与计算口径。",
        "annotationText": "## 实收金额\n\n**数据来源**：收款记录模块关联分配金额。\n**计算方式**：关联收款单后按分配计入金额汇总，不超过应收合计（calcReceivedAmountFromReceipts）。\n**录入方式**：通过「关联收款」操作维护。\n\n**业务说明**：从「收款记录」功能关联该账单后分配的实收金额；点击可查看收款明细列表。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-unreceived",
        "index": 33,
        "title": "未收金额",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-unreceived\"]"
          ],
          "fingerprint": "lbl-col-unreceived",
          "path": []
        },
        "aiPrompt": "未收金额字段的数据来源与计算口径。",
        "annotationText": "## 未收金额\n\n**数据来源**：应收合计、实收金额。\n**计算方式**：未收金额 = 应收合计 − 实收金额（calcUnreceived）。\n**录入方式**：系统自动计算，不可手工录入。\n\n**业务说明**：未收金额 = 应收合计 − 实收金额，系统自动计算，不可手工录入。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1782700000000,
        "updatedAt": 1782700000000,
        "controls": []
      },
      {
        "id": "lbl-col-invoice-date",
        "index": 34,
        "title": "开票日期",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-invoice-date\"]"
          ],
          "fingerprint": "lbl-col-invoice-date",
          "path": []
        },
        "aiPrompt": "开票日期字段的数据来源与计算口径。",
        "annotationText": "## 开票日期\n\n**数据来源**：关联收款记录中的开票信息。\n**计算方式**：resolveInvoiceDateFromReceipts 取关联收款单开票日期。\n**录入方式**：只读。\n\n**业务说明**：从「收款记录」功能关联开票记录，显示开票日期。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-actual-payment",
        "index": 35,
        "title": "实际付款日期",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-actual-payment\"]"
          ],
          "fingerprint": "lbl-col-actual-payment",
          "path": []
        },
        "aiPrompt": "实际付款日期字段的数据来源与计算口径。",
        "annotationText": "## 实际付款日期\n\n**数据来源**：关联收款记录的到账日期。\n**计算方式**：有关联收款时取到账记录付款日期；未关联为空。\n**录入方式**：只读。\n\n**业务说明**：关联收款记录时取对应到账记录的付款日期；未关联时为空。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-payment-method",
        "index": 36,
        "title": "付款方式",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-payment-method\"]"
          ],
          "fingerprint": "lbl-col-payment-method",
          "path": []
        },
        "aiPrompt": "付款方式字段的数据来源与计算口径。",
        "annotationText": "## 付款方式\n\n**数据来源**：合同付款周期月数。\n**计算方式**：1→月度预付，3→季度预付，6→半年预付，12→年度预付（resolvePaymentMethod）。\n**录入方式**：只读。\n\n**业务说明**：由合同付款周期决定：1 个月→月度预付，3 个月→季度预付，6 个月→半年预付，12 个月→年度预付。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-vehicle-standard-cost",
        "index": 37,
        "title": "车辆标准成本",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-vehicle-standard-cost\"]"
          ],
          "fingerprint": "lbl-col-vehicle-standard-cost",
          "path": []
        },
        "aiPrompt": "车辆标准成本字段的数据来源与计算口径。",
        "annotationText": "## 车辆标准成本\n\n**数据来源**：车型成本明细 / 车牌标准成本配置（PLATE_STANDARD_COST）。\n**计算方式**：按车型维护的固定月标准成本。\n**录入方式**：只读。\n\n**业务说明**：固定成本，按车型明细维护，只读。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-vehicle-actual-cost",
        "index": 38,
        "title": "车辆实际成本",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-vehicle-actual-cost\"]"
          ],
          "fingerprint": "lbl-col-vehicle-actual-cost",
          "path": []
        },
        "aiPrompt": "车辆实际成本字段的数据来源与计算口径。",
        "annotationText": "## 车辆实际成本\n\n**数据来源**：车辆标准成本、账单月内租赁天数。\n**计算方式**：车辆实际成本 = 标准成本 × 租赁天数 / 30（calcVehicleActualCost）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：车辆实际成本 = 车辆标准成本 × 账单月内租赁天数 / 30，自动计算。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-insurance-fee",
        "index": 39,
        "title": "保险费",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-insurance-fee\"]"
          ],
          "fingerprint": "lbl-col-insurance-fee",
          "path": []
        },
        "aiPrompt": "保险费字段的数据来源与计算口径。",
        "annotationText": "## 保险费\n\n**数据来源**：保险采购金额、保险有效天数、账单月租赁天数。\n**计算方式**：保险费 =（采购金额 / 有效天数）× 租赁天数，四舍五入两位（calcInsuranceFee）。\n**录入方式**：只读。\n\n**业务说明**：保险费 =（保险采购金额 / 保险有效天数）× 账单月内租赁天数，四舍五入保留两位小数。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-hydrogen-fee",
        "index": 40,
        "title": "氢费",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-hydrogen-fee\"]"
          ],
          "fingerprint": "lbl-col-hydrogen-fee",
          "path": []
        },
        "aiPrompt": "氢费字段的数据来源与计算口径。",
        "annotationText": "## 氢费\n\n**数据来源**：氢费明细台账、合同氢费承担方式。\n**计算方式**：合同为「我司承担」时，汇总账单月内该车牌氢费（sumHydrogenFeeForBill）；客户承担不计入。\n**录入方式**：只读。\n\n**业务说明**：仅汇总该账单月内、氢费明细中「我司承担」的氢费（含未对账/已对账）；合同为客户承担时不计入。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-ops-cost",
        "index": 41,
        "title": "运维费",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-ops-cost\"]"
          ],
          "fingerprint": "lbl-col-ops-cost",
          "path": []
        },
        "aiPrompt": "运维费字段的数据来源与计算口径。",
        "annotationText": "## 运维费\n\n**数据来源**：维修/保养台账（我司承担）、账单月内该车牌。\n**计算方式**：汇总 bearBy=我司承担 的维保金额（sumMaintenanceForBill）。\n**录入方式**：只读。\n\n**业务说明**：成本侧运维费：自动汇总该账单月内、该车牌维修/保养台账中「我司承担」的金额。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-brokerage-fee",
        "index": 42,
        "title": "居间费",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-brokerage-fee\"]"
          ],
          "fingerprint": "lbl-col-brokerage-fee",
          "path": []
        },
        "aiPrompt": "居间费字段的数据来源与计算口径。",
        "annotationText": "## 居间费\n\n**数据来源**：行内手工录入。\n**计算方式**：直接存储 brokerageFee 字段。\n**录入方式**：草稿可编辑。\n\n**业务说明**：手动输入。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-other-cost",
        "index": 43,
        "title": "其他",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-other-cost\"]"
          ],
          "fingerprint": "lbl-col-other-cost",
          "path": []
        },
        "aiPrompt": "其他字段的数据来源与计算口径。",
        "annotationText": "## 其他\n\n**数据来源**：行内手工录入。\n**计算方式**：直接存储 otherCost；前方有其他收入时本项必填。\n**录入方式**：草稿可编辑。\n\n**业务说明**：前方其他收入有填写时，此处为必填项；与收入侧其他费用区分。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-gps-mileage",
        "index": 44,
        "title": "GPS里程",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-gps-mileage\"]"
          ],
          "fingerprint": "lbl-col-gps-mileage",
          "path": []
        },
        "aiPrompt": "GPS里程字段的数据来源与计算口径。",
        "annotationText": "## GPS里程\n\n**数据来源**：BI 里程数据（bi-mileage.json / 车机 GPS）。\n**计算方式**：lookupBiMileage(车牌, 年, 月) 取账单期里程。\n**录入方式**：只读。\n\n**业务说明**：从 BI 里程取账单时间段的数据，自动展示。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-deduction-detail",
        "index": 45,
        "title": "其他减免金额明细内容",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-deduction-detail\"]"
          ],
          "fingerprint": "lbl-col-deduction-detail",
          "path": []
        },
        "aiPrompt": "其他减免金额明细内容字段的数据来源与计算口径。",
        "annotationText": "## 其他减免金额明细内容\n\n**数据来源**：行内手工录入。\n**计算方式**：存储 otherDeductionDetail 文本。\n**录入方式**：草稿可编辑。\n\n**业务说明**：手动输入，备注明细内容。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-asset-ownership",
        "index": 46,
        "title": "资产归属",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-asset-ownership\"]"
          ],
          "fingerprint": "lbl-col-asset-ownership",
          "path": []
        },
        "aiPrompt": "资产归属字段的数据来源与计算口径。",
        "annotationText": "## 资产归属\n\n**数据来源**：车辆档案资产归属。\n**计算方式**：按车牌从 PLATE_ASSET_OWNER / 车辆档案反写。\n**录入方式**：只读。\n\n**业务说明**：显示车辆实际归属公司名称，按车辆档案自动获取。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-signing-company",
        "index": 47,
        "title": "签约公司",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-signing-company\"]"
          ],
          "fingerprint": "lbl-col-signing-company",
          "path": []
        },
        "aiPrompt": "签约公司字段的数据来源与计算口径。",
        "annotationText": "## 签约公司\n\n**数据来源**：租赁合同甲方。\n**计算方式**：按车牌匹配签订合同时甲方名称（PLATE_SIGNING_COMPANY）。\n**录入方式**：只读。\n\n**业务说明**：显示租赁合同签订时甲方名称。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-remark",
        "index": 48,
        "title": "备注",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-remark\"]"
          ],
          "fingerprint": "lbl-col-remark",
          "path": []
        },
        "aiPrompt": "备注字段的数据来源与计算口径。",
        "annotationText": "## 备注\n\n**数据来源**：行内手工录入。\n**计算方式**：存储 remark 文本。\n**录入方式**：草稿可编辑。\n\n**业务说明**：本列为人工手动填写。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1782711877197,
        "controls": []
      },
      {
        "id": "lbl-col-archive-status",
        "index": 49,
        "title": "账单状态",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-archive-status\"]"
          ],
          "fingerprint": "lbl-col-archive-status",
          "path": []
        },
        "aiPrompt": "账单状态字段的数据来源与计算口径。",
        "annotationText": "## 账单状态\n\n**数据来源**：账单归档状态字段 archiveStatus。\n**计算方式**：草稿 / 未归档 / 已归档；工具栏「保存」「设置为归档」批量变更。\n**录入方式**：仅草稿可编辑业务字段。\n\n**业务说明**：状态分为已归档、未归档、草稿。仅草稿可编辑；工具栏「保存」将勾选记录设为未归档（不可编辑）；「设置为归档」将勾选记录锁定为已归档。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783259785963,
        "controls": []
      },
      {
        "id": "lbl-col-maintainer-time",
        "index": 50,
        "title": "维护时间",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-maintainer-time\"]"
          ],
          "fingerprint": "lbl-col-maintainer-time",
          "path": []
        },
        "aiPrompt": "维护时间字段的数据来源与计算口径。",
        "annotationText": "## 维护时间\n\n**数据来源**：台账行维护记录。\n**计算方式**：展示最近一次保存/维护时间（maintainerTime）。\n**录入方式**：系统记录，只读。\n\n**业务说明**：展示最近一次维护时间（YYYY-MM-DD HH:MM）；维护人显示最后一次维护用户姓名。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783257117558,
        "controls": []
      },
      {
        "id": "lbl-col-dept",
        "index": 51,
        "title": "业务部门",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-dept\"]"
          ],
          "fingerprint": "lbl-col-dept",
          "path": []
        },
        "aiPrompt": "业务部门字段说明。",
        "annotationText": "## 业务部门\n\n**数据来源**：台账行业务部门、业务员字段。\n**计算方式**：导入或维护时写入，列表以「部门 + 业务员」两行展示。\n**录入方式**：导入/草稿可维护。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1782700000000,
        "updatedAt": 1782700000000,
        "controls": []
      },
      {
        "id": "lbl-col-payment-date",
        "index": 52,
        "title": "付款日期",
        "pageId": "list",
        "locator": {
          "selectors": [
            "[data-annotation-id=\"lbl-col-payment-date\"]"
          ],
          "fingerprint": "lbl-col-payment-date",
          "path": []
        },
        "aiPrompt": "付款日期字段说明。",
        "annotationText": "## 付款日期\n\n**数据来源**：收款记录关联反写。\n**计算方式**：关联租赁订单收款后反显收款日期。\n**录入方式**：只读。\n\n---",
        "hasMarkdown": true,
        "color": "#64748b",
        "images": [],
        "createdAt": 1740787200000,
        "updatedAt": 1783251873620,
        "controls": []
      }
    ]
  },
  "markdownMap": {
    "lbl-filter": "## 2. 筛选区\n\n默认展示 4 项（一行），点击「更多筛选」展开全部 8 项。\n\n| 筛选项 | 说明 |\n|---|---|\n| 年份 / 月份 | 账单所属年月 |\n| 业务部门 / 业务员 | 精确匹配 |\n| 车牌号码 | 精确匹配 |\n| 客户名称 | 模糊包含 |\n| 明细状态 | 未收款 / 部分收款 / 已收款 |\n| 应付款日 | 单输入框双日历区间，精确至日 |\n\n---",
    "lbl-kpi": "## 3. KPI 统计卡片（6 张）\n\n台账条数、应收总计、实收总计、未收总计、成本总计、盈亏总计。\n\n- **台账条数**：员工仅统计本人录入；主管统计全组。点击切换列表为显示全部。\n- **未收总计**：点击筛选下方列表为未收款数据。\n\n---",
    "lbl-kpi-count": "## 台账条数 KPI\n\n业务服务组员工只能看到自己录入的数据条数以及金额；业务服务组主管可以查看所有业务服务组人员录入的数据总和。点击可切换列表显示全部数据。\n\n---",
    "lbl-kpi-unreceived": "## 未收总计 KPI\n\n点击未收总计卡片，下方列表仅展示未收款数据（状态不等于已收款）。\n\n---",
    "lbl-toolbar": "## 4. 列表工具栏\n\n左侧「仅显示未收款数据」勾选后，列表仅显示状态不等于已收款的记录。\n\n| 按钮 | 行为 |\n|---|---|\n| 批量导入 | 下载模板并上传 Excel（原型 Toast） |\n| 导出 | 导出当前筛选结果 |\n| 保存 | 勾选记录后设为未归档，保存后不可编辑 |\n| 设置为归档 | 勾选记录后锁定为已归档 |\n\n表格底部提供分页，可切换页码与每页条数。\n\n---",
    "lbl-table": "## 5. 列表字段\n\n对齐 Excel「租赁车辆收入明细表」全量字段：年份、月份、业务部门（含业务员）、付款日期、车牌（含车型）、客户（含项目）、增值服务、享免政策、提车/合同/起止日期、平均天数、押金、合同标的租金、应收与收入拆分、减免、实收/未收、开票与付款信息、成本拆分、盈亏、GPS里程、减免明细、资产归属、签约公司、备注。\n\n宽表支持横向滚动；序号与操作列固定。",
    "lbl-col-status": "## 状态\n\n**数据来源**：收款记录模块中关联到本账单的分配金额、账单应收合计。\n**计算方式**：分配金额 ≥ 应收合计且应收 > 0 → 已收款；0 < 分配金额 < 应收 → 部分收款；未关联收款 → 未收款。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：当收款记录中分配金额完全覆盖账单的应收金额时，显示已收款。当收款记录中分配金额≤账单的应收金额时，显示部分收款。未分配收款记录时，显示为未收款。其他状态去除\n\n---",
    "lbl-col-dept": "## 业务部门\n\n**数据来源**：台账行业务部门、业务员字段。\n**计算方式**：导入或维护时写入，列表以「部门 + 业务员」两行展示。\n**录入方式**：导入/草稿可维护。\n\n---",
    "lbl-col-plate": "## 车牌号码\n\n**数据来源**：车辆档案（按车牌匹配品牌、型号）。\n**计算方式**：导入/新增台账时按车牌号反写车辆信息。\n**录入方式**：只读展示（车牌 + 车型两行）。\n\n**业务说明**：车牌与车型合并为一列：上方车牌号码，下方品牌与型号；导入/新增时按车牌在系统中自动匹配。\n\n---",
    "lbl-col-customer": "## 客户名称\n\n**数据来源**：租赁合同（按账单日期 + 车牌匹配客户、项目）。\n**计算方式**：匹配当前车辆在账期内的有效合同，带出客户名称与项目名称。\n**录入方式**：只读展示（客户 + 项目两行）。\n\n**业务说明**：客户名称与项目名称合并为一列：上方客户名称，下方项目名称；按账单日期与车牌号自动匹配。\n\n---",
    "lbl-col-unreceived": "## 未收金额\n\n**数据来源**：应收合计、实收金额。\n**计算方式**：未收金额 = 应收合计 − 实收金额（calcUnreceived）。\n**录入方式**：系统自动计算，不可手工录入。\n\n**业务说明**：未收金额 = 应收合计 − 实收金额，系统自动计算，不可手工录入。\n\n---",
    "lbl-col-deposit": "## 保证金\n\n**数据来源**：提车应收款 / 合同保证金。\n**计算方式**：与创建合同时保证金、提车应收款中该车辆保证金一致。\n**录入方式**：只读。\n\n**业务说明**：显示该车辆实付保证金金额，与提车应收款时该车辆收取的提车应收款相同。\n\n---",
    "lbl-col-contract-rent": "## 合同标的租金\n\n**数据来源**：租赁合同月租金标准。\n**计算方式**：签订合同时该车辆的月租金（合同标的租金）。\n**录入方式**：合同带入，只读。\n\n**业务说明**：等于该车辆在签订该合同时合同中的租金（月租金标准）。\n\n---",
    "lbl-col-receivable-rent": "## 应收租金\n\n**数据来源**：合同标的租金、合同付款周期月数。\n**计算方式**：应收租金 = 合同标的租金 × 付款周期月数（1/3/6/12）（calcReceivableRent）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：按合同付款周期（1/3/6/12 个月）计算的单期账单租金总金额 = 合同标的租金 × 付款周期月数。\n\n---",
    "lbl-col-monthly-rent": "## 月度租金\n\n**数据来源**：合同标的租金。\n**计算方式**：月度租金 = 合同标的租金（calcMonthlyRent）。\n**录入方式**：只读。\n\n**业务说明**：根据客户付款周期间隔，计算每个月需收取的租金，等于合同标的租金。\n\n---",
    "lbl-col-actual-payment": "## 实际付款日期\n\n**数据来源**：关联收款记录的到账日期。\n**计算方式**：有关联收款时取到账记录付款日期；未关联为空。\n**录入方式**：只读。\n\n**业务说明**：关联收款记录时取对应到账记录的付款日期；未关联时为空。\n\n---",
    "lbl-col-payment-method": "## 付款方式\n\n**数据来源**：合同付款周期月数。\n**计算方式**：1→月度预付，3→季度预付，6→半年预付，12→年度预付（resolvePaymentMethod）。\n**录入方式**：只读。\n\n**业务说明**：由合同付款周期决定：1 个月→月度预付，3 个月→季度预付，6 个月→半年预付，12 个月→年度预付。\n\n---",
    "lbl-col-asset-ownership": "## 资产归属\n\n**数据来源**：车辆档案资产归属。\n**计算方式**：按车牌从 PLATE_ASSET_OWNER / 车辆档案反写。\n**录入方式**：只读。\n\n**业务说明**：显示车辆实际归属公司名称，按车辆档案自动获取。\n\n---",
    "lbl-col-signing-company": "## 签约公司\n\n**数据来源**：租赁合同甲方。\n**计算方式**：按车牌匹配签订合同时甲方名称（PLATE_SIGNING_COMPANY）。\n**录入方式**：只读。\n\n**业务说明**：显示租赁合同签订时甲方名称。\n\n---",
    "lbl-col-pickup-date": "## 提车日期\n\n**数据来源**：交车管理 / 运维 E 签宝签字完成时间。\n**计算方式**：取该车辆实际交车办结时间。\n**录入方式**：只读。\n\n**业务说明**：运维实际交车日期。\n\n---",
    "lbl-col-other-income": "## 其他收入\n\n**数据来源**：行内其他收入明细（事由、金额、备注）。\n**计算方式**：多条明细金额合计计入应收与月度收入（sumLineItems）。\n**录入方式**：草稿状态可编辑明细。\n\n**业务说明**：支持多条明细录入（事由、金额、备注）；合计自动计入应收与月度收入。\n\n---",
    "lbl-col-ops-income": "## 运维费\n\n**数据来源**：维修/保养台账（客户承担）、账单月内该车牌完工记录。\n**计算方式**：汇总 bearBy=客户承担 的维保金额；可关联 linkedMaintenanceIds（sumMaintenanceForBill）。\n**录入方式**：关联后自动汇总；最新账单可关联记录。\n\n**业务说明**：收入侧运维费：自动汇总该账单月内、该车牌维修/保养台账中「客户承担」的金额；最新一期账单可关联记录。\n\n---",
    "lbl-col-insurance-surcharge": "## 保险上浮费\n\n**数据来源**：事故台账关联的保险上浮费。\n**计算方式**：关联事故单后汇总 linkedAccidentIds 对应上浮费；最新账单未关联时显示警示。\n**录入方式**：关联后自动汇总，支持多选事故单。\n\n**业务说明**：事故中有保险上浮费时，最新账单显示警示标志；关联事故单后自动汇总上浮费，支持多选。\n\n---",
    "lbl-col-maintenance-income": "## 维保包干收入\n\n**数据来源**：合同维保包干配置、账单里程。\n**计算方式**：勾选维保包干时：单价（元/km）× 里程数；未勾选为 0（calcMaintenanceIncome）。\n**录入方式**：包干未勾选时不可编辑。\n\n**业务说明**：合同勾选维保包干时：单价（元/km）× 里程数，必填；未勾选时默认 0 且不可编辑。\n\n---",
    "lbl-col-monthly-income": "## 月度收入\n\n**数据来源**：月度租金、维保包干、保险上浮费、运维费（收入侧）、其他收入、减免项。\n**计算方式**：月度收入 = 月度租金 + 维保包干收入 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免 − 其他减免（calcMonthlyIncome）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：月度收入 = 月度租金 + 维保包干收入 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免金额 − 其他减免金额。\n\n---",
    "lbl-col-remark": "## 备注\n\n**数据来源**：行内手工录入。\n**计算方式**：存储 remark 文本。\n**录入方式**：草稿可编辑。\n\n**业务说明**：本列为人工手动填写。\n\n---",
    "lbl-col-deduction-detail": "## 其他减免金额明细内容\n\n**数据来源**：行内手工录入。\n**计算方式**：存储 otherDeductionDetail 文本。\n**录入方式**：草稿可编辑。\n\n**业务说明**：手动输入，备注明细内容。\n\n---",
    "lbl-col-gps-mileage": "## GPS里程\n\n**数据来源**：BI 里程数据（bi-mileage.json / 车机 GPS）。\n**计算方式**：lookupBiMileage(车牌, 年, 月) 取账单期里程。\n**录入方式**：只读。\n\n**业务说明**：从 BI 里程取账单时间段的数据，自动展示。\n\n---",
    "lbl-col-other-cost": "## 其他\n\n**数据来源**：行内手工录入。\n**计算方式**：直接存储 otherCost；前方有其他收入时本项必填。\n**录入方式**：草稿可编辑。\n\n**业务说明**：前方其他收入有填写时，此处为必填项；与收入侧其他费用区分。\n\n---",
    "lbl-col-brokerage-fee": "## 居间费\n\n**数据来源**：行内手工录入。\n**计算方式**：直接存储 brokerageFee 字段。\n**录入方式**：草稿可编辑。\n\n**业务说明**：手动输入。\n\n---",
    "lbl-col-ops-cost": "## 运维费\n\n**数据来源**：维修/保养台账（我司承担）、账单月内该车牌。\n**计算方式**：汇总 bearBy=我司承担 的维保金额（sumMaintenanceForBill）。\n**录入方式**：只读。\n\n**业务说明**：成本侧运维费：自动汇总该账单月内、该车牌维修/保养台账中「我司承担」的金额。\n\n---",
    "lbl-col-hydrogen-fee": "## 氢费\n\n**数据来源**：氢费明细台账、合同氢费承担方式。\n**计算方式**：合同为「我司承担」时，汇总账单月内该车牌氢费（sumHydrogenFeeForBill）；客户承担不计入。\n**录入方式**：只读。\n\n**业务说明**：仅汇总该账单月内、氢费明细中「我司承担」的氢费（含未对账/已对账）；合同为客户承担时不计入。\n\n---",
    "lbl-col-insurance-fee": "## 保险费\n\n**数据来源**：保险采购金额、保险有效天数、账单月租赁天数。\n**计算方式**：保险费 =（采购金额 / 有效天数）× 租赁天数，四舍五入两位（calcInsuranceFee）。\n**录入方式**：只读。\n\n**业务说明**：保险费 =（保险采购金额 / 保险有效天数）× 账单月内租赁天数，四舍五入保留两位小数。\n\n---",
    "lbl-col-vehicle-actual-cost": "## 车辆实际成本\n\n**数据来源**：车辆标准成本、账单月内租赁天数。\n**计算方式**：车辆实际成本 = 标准成本 × 租赁天数 / 30（calcVehicleActualCost）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：车辆实际成本 = 车辆标准成本 × 账单月内租赁天数 / 30，自动计算。\n\n---",
    "lbl-col-vehicle-standard-cost": "## 车辆标准成本\n\n**数据来源**：车型成本明细 / 车牌标准成本配置（PLATE_STANDARD_COST）。\n**计算方式**：按车型维护的固定月标准成本。\n**录入方式**：只读。\n\n**业务说明**：固定成本，按车型明细维护，只读。\n\n---",
    "lbl-col-invoice-date": "## 开票日期\n\n**数据来源**：关联收款记录中的开票信息。\n**计算方式**：resolveInvoiceDateFromReceipts 取关联收款单开票日期。\n**录入方式**：只读。\n\n**业务说明**：从「收款记录」功能关联开票记录，显示开票日期。\n\n---",
    "lbl-col-received-amount": "## 实收金额\n\n**数据来源**：收款记录模块关联分配金额。\n**计算方式**：关联收款单后按分配计入金额汇总，不超过应收合计（calcReceivedAmountFromReceipts）。\n**录入方式**：通过「关联收款」操作维护。\n\n**业务说明**：从「收款记录」功能关联该账单后分配的实收金额；点击可查看收款明细列表。\n\n---",
    "lbl-col-payment-due": "## 应付款日\n\n**数据来源**：账单起始日期（优先）或提车日期作为开始计费日；账单所属年月。\n**计算方式**：首期账单应付款日 = 开始计费日；后续每期 = 账单所属自然月 5 日。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：交车后按「开始计费日期」生成首期账单应付款日；后续每期账单在所属自然月 5 日生成下一期应付款日。\n\n---",
    "lbl-col-payment-date": "## 付款日期\n\n**数据来源**：收款记录关联反写。\n**计算方式**：关联租赁订单收款后反显收款日期。\n**录入方式**：只读。\n\n---",
    "lbl-col-value-added-service": "## 增值服务\n\n**数据来源**：租赁合同签订时勾选的增值服务项目。\n**计算方式**：按车牌匹配合同增值服务配置，多项服务分行展示。\n**录入方式**：只读。\n\n**业务说明**：签订合同时勾选的增值服务项目，按车牌自动匹配合同数据；多项服务各占一行展示。\n\n---",
    "lbl-col-contract-start-date": "## 合同生效日期\n\n**数据来源**：提车日期（交车办结时间）。\n**计算方式**：合同生效日期 = 提车日期（YYYY-MM-DD），系统自动反写。\n**录入方式**：系统自动反写，只读。\n\n**业务说明**：等于提车日期，即租赁合同生效日期，系统自动反写，只读。\n\n---",
    "lbl-col-contract-end-date": "## 合同到期日期\n\n**数据来源**：合同租期月数 + 提车日期，或合同约定的到期日。\n**计算方式**：日期模式：取合同存储的 contractEndDate；租期模式：提车日 + leaseTermMonths 个月。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：合同到期日：租期模式按提车日期 + 租期月数计算；日期模式取合同中约定的到期日。\n\n---",
    "lbl-col-period-start-date": "## 起始日期\n\n**数据来源**：账单年月、提车日期。\n**计算方式**：月前已提车 → 当月 1 日；月内提车 → 提车日；月后提车 → 空（calcPeriodStartDate）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：账单所属月内的租赁起始日：月前已提车取当月 1 日，月内提车取提车日；系统自动计算，只读。\n\n---",
    "lbl-col-return-date": "## 退车日期\n\n**数据来源**：退车管理登记的退车日期。\n**计算方式**：取该车牌退车办结日期；未退车为空。\n**录入方式**：只读。\n\n**业务说明**：退车管理中登记的退车日期；未退车时为空。\n\n---",
    "lbl-col-avg-days": "## 平均天数\n\n**数据来源**：账单月内租赁天数、当月自然日天数。\n**计算方式**：平均天数 = 账单月内租赁天数 ÷ 当月自然日天数，保留两位小数（calcAvgDays）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：平均天数 = 账单月内租赁天数 ÷ 当月自然日天数，保留两位小数；用于成本分摊口径。\n\n---",
    "lbl-col-receivable-total": "## 应收合计\n\n**数据来源**：应收租金、保险上浮费、运维费（收入侧）、其他收入、里程/其他减免。\n**计算方式**：应收合计 = 应收租金 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免 − 其他减免（calcReceivableTotal）。\n**录入方式**：系统自动汇总，只读。\n\n**业务说明**：应收合计 = 应收租金 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免金额 − 其他减免金额。\n\n---",
    "lbl-col-mileage-deduction": "## 里程减免金额\n\n**数据来源**：BI 里程（GPS）、里程减免单价。\n**计算方式**：里程减免 = GPS 里程 × 单价；有 GPS 时默认 0.5 元/km，无 GPS 为 0（calcMileageDeduction）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：里程减免金额 = GPS 里程 × 里程减免单价；有 GPS 里程时默认单价 0.5 元/km，无 GPS 时为 0。\n\n---",
    "lbl-col-other-deduction": "## 其他减免金额\n\n**数据来源**：行内其他减免明细。\n**计算方式**：多条明细金额合计，从应收与月度收入扣减（sumLineItems）。\n**录入方式**：草稿状态可编辑明细。\n\n**业务说明**：支持多条明细录入（事由、金额、备注）；合计自动从应收与月度收入中扣减。\n\n---",
    "lbl-col-maintainer-time": "## 维护时间\n\n**数据来源**：台账行维护记录。\n**计算方式**：展示最近一次保存/维护时间（maintainerTime）。\n**录入方式**：系统记录，只读。\n\n**业务说明**：展示最近一次维护时间（YYYY-MM-DD HH:MM）；维护人显示最后一次维护用户姓名。\n\n---",
    "lbl-col-archive-status": "## 账单状态\n\n**数据来源**：账单归档状态字段 archiveStatus。\n**计算方式**：草稿 / 未归档 / 已归档；工具栏「保存」「设置为归档」批量变更。\n**录入方式**：仅草稿可编辑业务字段。\n\n**业务说明**：状态分为已归档、未归档、草稿。仅草稿可编辑；工具栏「保存」将勾选记录设为未归档（不可编辑）；「设置为归档」将勾选记录锁定为已归档。\n\n---",
    "lbl-btn-set-archived": "## 设置为归档\n\n勾选台账记录后点击，将账单状态设为**已归档**并锁定编辑。\n\n---",
    "lbl-btn-save-unarchived": "## 保存\n\n勾选台账记录后点击，将账单状态设为**未归档**。未归档数据不可编辑，仅草稿可编辑。\n\n---"
  },
  "assetMap": {},
  "directory": {
    "nodes": [
      {
        "type": "folder",
        "id": "lbl-doc-root",
        "title": "租赁业务台账说明",
        "defaultExpanded": true,
        "children": [
          {
            "type": "markdown",
            "id": "lbl-doc-overview",
            "title": "模块总览",
            "markdown": "## 1. 模块定位\n\n| 项 | 说明 |\n|---|---|\n| 模块名称 | 台账数据 — 租赁业务台账 |\n| 目标用户 | 租赁业务客服、业务服务组主管 |\n| 核心任务 | 维护租赁运营明细、汇总应收实收与盈亏、关联收款记录 |\n| 页面结构 | 筛选区 + KPI 统计 + 工具栏 + 宽表 + 底部分页 |\n\n---"
          },
          {
            "type": "link",
            "id": "lbl-link-self",
            "title": "租赁业务台账原型",
            "href": "./index.html",
            "target": "self"
          },
          {
            "type": "markdown",
            "id": "lbl-doc-prd",
            "title": "PRD 全文",
            "markdown": "# 租赁业务台账 · 产品需求说明（PRD）\n\n> 对齐《租赁业务运营明细台账模版》；业务服务组维护各自台账，收款关联与状态自动计算为原型演示。\n\n---\n\n## 1. 模块定位\n\n| 项 | 说明 |\n|---|---|\n| 模块名称 | 台账数据 — 租赁业务台账 |\n| 目标用户 | 租赁业务客服、业务服务组主管 |\n| 核心任务 | 维护租赁运营明细、汇总应收实收与盈亏、关联收款记录 |\n| 页面结构 | 筛选区 + KPI 统计 + 工具栏 + 宽表 + 底部分页 |\n\n---\n\n## 2. 筛选区\n\n默认展示 4 项（一行），点击「更多筛选」展开全部 8 项。\n\n| 筛选项 | 说明 |\n|---|---|\n| 年份 / 月份 | 账单所属年月 |\n| 业务部门 / 业务员 | 精确匹配 |\n| 车牌号码 | 精确匹配 |\n| 客户名称 | 模糊包含 |\n| 明细状态 | 未收款 / 部分收款 / 已收款 |\n| 应付款日 | 单输入框双日历区间，精确至日 |\n\n---\n\n## 3. KPI 统计卡片（6 张）\n\n台账条数、应收总计、实收总计、未收总计、成本总计、盈亏总计。\n\n- **台账条数**：员工仅统计本人录入；主管统计全组。点击切换列表为显示全部。\n- **未收总计**：点击筛选下方列表为未收款数据。\n\n### 台账条数 KPI\n\n业务服务组员工只能看到自己录入的数据条数以及金额；业务服务组主管可以查看所有业务服务组人员录入的数据总和。点击可切换列表显示全部数据。\n\n### 未收总计 KPI\n\n点击未收总计卡片，下方列表仅展示未收款数据（状态不等于已收款）。\n\n---\n\n## 4. 列表工具栏\n\n左侧「仅显示未收款数据」勾选后，列表仅显示状态不等于已收款的记录。\n\n| 按钮 | 行为 |\n|---|---|\n| 批量导入 | 下载模板并上传 Excel（原型 Toast） |\n| 导出 | 导出当前筛选结果 |\n| 保存 | 勾选记录后设为未归档，保存后不可编辑 |\n| 设置为归档 | 勾选记录后锁定为已归档 |\n\n表格底部提供分页，可切换页码与每页条数。\n\n### 保存\n\n勾选台账记录后点击，将账单状态设为**未归档**。未归档数据不可编辑，仅草稿可编辑。\n\n### 设置为归档\n\n勾选台账记录后点击，将账单状态设为**已归档**并锁定编辑。\n\n---\n\n## 5. 列表字段\n\n对齐 Excel「租赁车辆收入明细表」全量字段：年份、月份、业务部门（含业务员）、付款日期、车牌（含车型）、客户（含项目）、增值服务、享免政策、提车/合同/起止日期、平均天数、押金、合同标的租金、应收与收入拆分、减免、实收/未收、开票与付款信息、成本拆分、盈亏、GPS里程、减免明细、资产归属、签约公司、备注。\n\n宽表支持横向滚动；序号与操作列固定。\n\n---\n\n## 6. 收款状态\n\n## 状态\n\n**数据来源**：收款记录模块中关联到本账单的分配金额、账单应收合计。\n**计算方式**：分配金额 ≥ 应收合计且应收 > 0 → 已收款；0 < 分配金额 < 应收 → 部分收款；未关联收款 → 未收款。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：当收款记录中分配金额完全覆盖账单的应收金额时，显示已收款。当收款记录中分配金额≤账单的应收金额时，显示部分收款。未分配收款记录时，显示为未收款。其他状态去除\n\n---\n\n## 7. 字段说明\n\n### 应付款日\n\n**数据来源**：账单起始日期（优先）或提车日期作为开始计费日；账单所属年月。\n**计算方式**：首期账单应付款日 = 开始计费日；后续每期 = 账单所属自然月 5 日。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：交车后按「开始计费日期」生成首期账单应付款日；后续每期账单在所属自然月 5 日生成下一期应付款日。\n\n### 车牌号码\n\n**数据来源**：车辆档案（按车牌匹配品牌、型号）。\n**计算方式**：导入/新增台账时按车牌号反写车辆信息。\n**录入方式**：只读展示（车牌 + 车型两行）。\n\n**业务说明**：车牌与车型合并为一列：上方车牌号码，下方品牌与型号；导入/新增时按车牌在系统中自动匹配。\n\n### 客户名称\n\n**数据来源**：租赁合同（按账单日期 + 车牌匹配客户、项目）。\n**计算方式**：匹配当前车辆在账期内的有效合同，带出客户名称与项目名称。\n**录入方式**：只读展示（客户 + 项目两行）。\n\n**业务说明**：客户名称与项目名称合并为一列：上方客户名称，下方项目名称；按账单日期与车牌号自动匹配。\n\n### 增值服务\n\n**数据来源**：租赁合同签订时勾选的增值服务项目。\n**计算方式**：按车牌匹配合同增值服务配置，多项服务分行展示。\n**录入方式**：只读。\n\n**业务说明**：签订合同时勾选的增值服务项目，按车牌自动匹配合同数据；多项服务各占一行展示。\n\n### 提车日期\n\n**数据来源**：交车管理 / 运维 E 签宝签字完成时间。\n**计算方式**：取该车辆实际交车办结时间。\n**录入方式**：只读。\n\n**业务说明**：运维实际交车日期。\n\n### 合同生效日期\n\n**数据来源**：提车日期（交车办结时间）。\n**计算方式**：合同生效日期 = 提车日期（YYYY-MM-DD），系统自动反写。\n**录入方式**：系统自动反写，只读。\n\n**业务说明**：等于提车日期，即租赁合同生效日期，系统自动反写，只读。\n\n### 合同到期日期\n\n**数据来源**：合同租期月数 + 提车日期，或合同约定的到期日。\n**计算方式**：日期模式：取合同存储的 contractEndDate；租期模式：提车日 + leaseTermMonths 个月。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：合同到期日：租期模式按提车日期 + 租期月数计算；日期模式取合同中约定的到期日。\n\n### 起始日期\n\n**数据来源**：账单年月、提车日期。\n**计算方式**：月前已提车 → 当月 1 日；月内提车 → 提车日；月后提车 → 空（calcPeriodStartDate）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：账单所属月内的租赁起始日：月前已提车取当月 1 日，月内提车取提车日；系统自动计算，只读。\n\n### 退车日期\n\n**数据来源**：退车管理登记的退车日期。\n**计算方式**：取该车牌退车办结日期；未退车为空。\n**录入方式**：只读。\n\n**业务说明**：退车管理中登记的退车日期；未退车时为空。\n\n### 平均天数\n\n**数据来源**：账单月内租赁天数、当月自然日天数。\n**计算方式**：平均天数 = 账单月内租赁天数 ÷ 当月自然日天数，保留两位小数（calcAvgDays）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：平均天数 = 账单月内租赁天数 ÷ 当月自然日天数，保留两位小数；用于成本分摊口径。\n\n### 保证金\n\n**数据来源**：提车应收款 / 合同保证金。\n**计算方式**：与创建合同时保证金、提车应收款中该车辆保证金一致。\n**录入方式**：只读。\n\n**业务说明**：显示该车辆实付保证金金额，与提车应收款时该车辆收取的提车应收款相同。\n\n### 合同标的租金\n\n**数据来源**：租赁合同月租金标准。\n**计算方式**：签订合同时该车辆的月租金（合同标的租金）。\n**录入方式**：合同带入，只读。\n\n**业务说明**：等于该车辆在签订该合同时合同中的租金（月租金标准）。\n\n### 应收合计\n\n**数据来源**：应收租金、保险上浮费、运维费（收入侧）、其他收入、里程/其他减免。\n**计算方式**：应收合计 = 应收租金 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免 − 其他减免（calcReceivableTotal）。\n**录入方式**：系统自动汇总，只读。\n\n**业务说明**：应收合计 = 应收租金 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免金额 − 其他减免金额。\n\n### 应收租金\n\n**数据来源**：合同标的租金、合同付款周期月数。\n**计算方式**：应收租金 = 合同标的租金 × 付款周期月数（1/3/6/12）（calcReceivableRent）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：按合同付款周期（1/3/6/12 个月）计算的单期账单租金总金额 = 合同标的租金 × 付款周期月数。\n\n### 月度收入\n\n**数据来源**：月度租金、维保包干、保险上浮费、运维费（收入侧）、其他收入、减免项。\n**计算方式**：月度收入 = 月度租金 + 维保包干收入 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免 − 其他减免（calcMonthlyIncome）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：月度收入 = 月度租金 + 维保包干收入 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免金额 − 其他减免金额。\n\n### 月度租金\n\n**数据来源**：合同标的租金。\n**计算方式**：月度租金 = 合同标的租金（calcMonthlyRent）。\n**录入方式**：只读。\n\n**业务说明**：根据客户付款周期间隔，计算每个月需收取的租金，等于合同标的租金。\n\n### 维保包干收入\n\n**数据来源**：合同维保包干配置、账单里程。\n**计算方式**：勾选维保包干时：单价（元/km）× 里程数；未勾选为 0（calcMaintenanceIncome）。\n**录入方式**：包干未勾选时不可编辑。\n\n**业务说明**：合同勾选维保包干时：单价（元/km）× 里程数，必填；未勾选时默认 0 且不可编辑。\n\n### 保险上浮费\n\n**数据来源**：事故台账关联的保险上浮费。\n**计算方式**：关联事故单后汇总 linkedAccidentIds 对应上浮费；最新账单未关联时显示警示。\n**录入方式**：关联后自动汇总，支持多选事故单。\n\n**业务说明**：事故中有保险上浮费时，最新账单显示警示标志；关联事故单后自动汇总上浮费，支持多选。\n\n### 运维费\n\n**数据来源**：维修/保养台账（客户承担）、账单月内该车牌完工记录。\n**计算方式**：汇总 bearBy=客户承担 的维保金额；可关联 linkedMaintenanceIds（sumMaintenanceForBill）。\n**录入方式**：关联后自动汇总；最新账单可关联记录。\n\n**业务说明**：收入侧运维费：自动汇总该账单月内、该车牌维修/保养台账中「客户承担」的金额；最新一期账单可关联记录。\n\n### 其他收入\n\n**数据来源**：行内其他收入明细（事由、金额、备注）。\n**计算方式**：多条明细金额合计计入应收与月度收入（sumLineItems）。\n**录入方式**：草稿状态可编辑明细。\n\n**业务说明**：支持多条明细录入（事由、金额、备注）；合计自动计入应收与月度收入。\n\n### 里程减免金额\n\n**数据来源**：BI 里程（GPS）、里程减免单价。\n**计算方式**：里程减免 = GPS 里程 × 单价；有 GPS 时默认 0.5 元/km，无 GPS 为 0（calcMileageDeduction）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：里程减免金额 = GPS 里程 × 里程减免单价；有 GPS 里程时默认单价 0.5 元/km，无 GPS 时为 0。\n\n### 其他减免金额\n\n**数据来源**：行内其他减免明细。\n**计算方式**：多条明细金额合计，从应收与月度收入扣减（sumLineItems）。\n**录入方式**：草稿状态可编辑明细。\n\n**业务说明**：支持多条明细录入（事由、金额、备注）；合计自动从应收与月度收入中扣减。\n\n### 实收金额\n\n**数据来源**：收款记录模块关联分配金额。\n**计算方式**：关联收款单后按分配计入金额汇总，不超过应收合计（calcReceivedAmountFromReceipts）。\n**录入方式**：通过「关联收款」操作维护。\n\n**业务说明**：从「收款记录」功能关联该账单后分配的实收金额；点击可查看收款明细列表。\n\n### 未收金额\n\n**数据来源**：应收合计、实收金额。\n**计算方式**：未收金额 = 应收合计 − 实收金额（calcUnreceived）。\n**录入方式**：系统自动计算，不可手工录入。\n\n**业务说明**：未收金额 = 应收合计 − 实收金额，系统自动计算，不可手工录入。\n\n### 开票日期\n\n**数据来源**：关联收款记录中的开票信息。\n**计算方式**：resolveInvoiceDateFromReceipts 取关联收款单开票日期。\n**录入方式**：只读。\n\n**业务说明**：从「收款记录」功能关联开票记录，显示开票日期。\n\n### 实际付款日期\n\n**数据来源**：关联收款记录的到账日期。\n**计算方式**：有关联收款时取到账记录付款日期；未关联为空。\n**录入方式**：只读。\n\n**业务说明**：关联收款记录时取对应到账记录的付款日期；未关联时为空。\n\n### 付款方式\n\n**数据来源**：合同付款周期月数。\n**计算方式**：1→月度预付，3→季度预付，6→半年预付，12→年度预付（resolvePaymentMethod）。\n**录入方式**：只读。\n\n**业务说明**：由合同付款周期决定：1 个月→月度预付，3 个月→季度预付，6 个月→半年预付，12 个月→年度预付。\n\n### 车辆标准成本\n\n**数据来源**：车型成本明细 / 车牌标准成本配置（PLATE_STANDARD_COST）。\n**计算方式**：按车型维护的固定月标准成本。\n**录入方式**：只读。\n\n**业务说明**：固定成本，按车型明细维护，只读。\n\n### 车辆实际成本\n\n**数据来源**：车辆标准成本、账单月内租赁天数。\n**计算方式**：车辆实际成本 = 标准成本 × 租赁天数 / 30（calcVehicleActualCost）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：车辆实际成本 = 车辆标准成本 × 账单月内租赁天数 / 30，自动计算。\n\n### 保险费\n\n**数据来源**：保险采购金额、保险有效天数、账单月租赁天数。\n**计算方式**：保险费 =（采购金额 / 有效天数）× 租赁天数，四舍五入两位（calcInsuranceFee）。\n**录入方式**：只读。\n\n**业务说明**：保险费 =（保险采购金额 / 保险有效天数）× 账单月内租赁天数，四舍五入保留两位小数。\n\n### 氢费\n\n**数据来源**：氢费明细台账、合同氢费承担方式。\n**计算方式**：合同为「我司承担」时，汇总账单月内该车牌氢费（sumHydrogenFeeForBill）；客户承担不计入。\n**录入方式**：只读。\n\n**业务说明**：仅汇总该账单月内、氢费明细中「我司承担」的氢费（含未对账/已对账）；合同为客户承担时不计入。\n\n### 运维费\n\n**数据来源**：维修/保养台账（我司承担）、账单月内该车牌。\n**计算方式**：汇总 bearBy=我司承担 的维保金额（sumMaintenanceForBill）。\n**录入方式**：只读。\n\n**业务说明**：成本侧运维费：自动汇总该账单月内、该车牌维修/保养台账中「我司承担」的金额。\n\n### 居间费\n\n**数据来源**：行内手工录入。\n**计算方式**：直接存储 brokerageFee 字段。\n**录入方式**：草稿可编辑。\n\n**业务说明**：手动输入。\n\n### 其他\n\n**数据来源**：行内手工录入。\n**计算方式**：直接存储 otherCost；前方有其他收入时本项必填。\n**录入方式**：草稿可编辑。\n\n**业务说明**：前方其他收入有填写时，此处为必填项；与收入侧其他费用区分。\n\n### GPS里程\n\n**数据来源**：BI 里程数据（bi-mileage.json / 车机 GPS）。\n**计算方式**：lookupBiMileage(车牌, 年, 月) 取账单期里程。\n**录入方式**：只读。\n\n**业务说明**：从 BI 里程取账单时间段的数据，自动展示。\n\n### 其他减免金额明细内容\n\n**数据来源**：行内手工录入。\n**计算方式**：存储 otherDeductionDetail 文本。\n**录入方式**：草稿可编辑。\n\n**业务说明**：手动输入，备注明细内容。\n\n### 资产归属\n\n**数据来源**：车辆档案资产归属。\n**计算方式**：按车牌从 PLATE_ASSET_OWNER / 车辆档案反写。\n**录入方式**：只读。\n\n**业务说明**：显示车辆实际归属公司名称，按车辆档案自动获取。\n\n### 签约公司\n\n**数据来源**：租赁合同甲方。\n**计算方式**：按车牌匹配签订合同时甲方名称（PLATE_SIGNING_COMPANY）。\n**录入方式**：只读。\n\n**业务说明**：显示租赁合同签订时甲方名称。\n\n### 备注\n\n**数据来源**：行内手工录入。\n**计算方式**：存储 remark 文本。\n**录入方式**：草稿可编辑。\n\n**业务说明**：本列为人工手动填写。\n\n### 账单状态\n\n**数据来源**：账单归档状态字段 archiveStatus。\n**计算方式**：草稿 / 未归档 / 已归档；工具栏「保存」「设置为归档」批量变更。\n**录入方式**：仅草稿可编辑业务字段。\n\n**业务说明**：状态分为已归档、未归档、草稿。仅草稿可编辑；工具栏「保存」将勾选记录设为未归档（不可编辑）；「设置为归档」将勾选记录锁定为已归档。\n\n### 维护时间\n\n**数据来源**：台账行维护记录。\n**计算方式**：展示最近一次保存/维护时间（maintainerTime）。\n**录入方式**：系统记录，只读。\n\n**业务说明**：展示最近一次维护时间（YYYY-MM-DD HH:MM）；维护人显示最后一次维护用户姓名。",
            "markdownPath": "src/prototypes/lease-business-ledger/.spec/requirements-prd.md"
          },
          {
            "type": "folder",
            "id": "lbl-doc-page-annotations",
            "title": "页面标注",
            "defaultExpanded": true,
            "children": [
              {
                "type": "markdown",
                "id": "lbl-doc-lbl-filter",
                "title": "筛选条件",
                "markdown": "## 2. 筛选区\n\n默认展示 4 项（一行），点击「更多筛选」展开全部 8 项。\n\n| 筛选项 | 说明 |\n|---|---|\n| 年份 / 月份 | 账单所属年月 |\n| 业务部门 / 业务员 | 精确匹配 |\n| 车牌号码 | 精确匹配 |\n| 客户名称 | 模糊包含 |\n| 明细状态 | 未收款 / 部分收款 / 已收款 |\n| 应付款日 | 单输入框双日历区间，精确至日 |\n\n---"
              },
              {
                "type": "folder",
                "id": "lbl-doc-folder-kpi",
                "title": "KPI 统计",
                "defaultExpanded": false,
                "children": [
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-kpi",
                    "title": "KPI 统计",
                    "markdown": "## 3. KPI 统计卡片（6 张）\n\n台账条数、应收总计、实收总计、未收总计、成本总计、盈亏总计。\n\n- **台账条数**：员工仅统计本人录入；主管统计全组。点击切换列表为显示全部。\n- **未收总计**：点击筛选下方列表为未收款数据。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-kpi-count",
                    "title": "台账条数",
                    "markdown": "## 台账条数 KPI\n\n业务服务组员工只能看到自己录入的数据条数以及金额；业务服务组主管可以查看所有业务服务组人员录入的数据总和。点击可切换列表显示全部数据。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-kpi-unreceived",
                    "title": "未收总计",
                    "markdown": "## 未收总计 KPI\n\n点击未收总计卡片，下方列表仅展示未收款数据（状态不等于已收款）。\n\n---"
                  }
                ]
              },
              {
                "type": "folder",
                "id": "lbl-doc-folder-toolbar",
                "title": "列表工具栏",
                "defaultExpanded": false,
                "children": [
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-toolbar",
                    "title": "列表工具栏",
                    "markdown": "## 4. 列表工具栏\n\n左侧「仅显示未收款数据」勾选后，列表仅显示状态不等于已收款的记录。\n\n| 按钮 | 行为 |\n|---|---|\n| 批量导入 | 下载模板并上传 Excel（原型 Toast） |\n| 导出 | 导出当前筛选结果 |\n| 保存 | 勾选记录后设为未归档，保存后不可编辑 |\n| 设置为归档 | 勾选记录后锁定为已归档 |\n\n表格底部提供分页，可切换页码与每页条数。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-btn-save-unarchived",
                    "title": "保存",
                    "markdown": "## 保存\n\n勾选台账记录后点击，将账单状态设为**未归档**。未归档数据不可编辑，仅草稿可编辑。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-btn-set-archived",
                    "title": "设置为归档",
                    "markdown": "## 设置为归档\n\n勾选台账记录后点击，将账单状态设为**已归档**并锁定编辑。\n\n---"
                  }
                ]
              },
              {
                "type": "folder",
                "id": "lbl-doc-folder-table",
                "title": "租赁台账宽表",
                "defaultExpanded": true,
                "children": [
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-table",
                    "title": "租赁台账宽表",
                    "markdown": "## 5. 列表字段\n\n对齐 Excel「租赁车辆收入明细表」全量字段：年份、月份、业务部门（含业务员）、付款日期、车牌（含车型）、客户（含项目）、增值服务、享免政策、提车/合同/起止日期、平均天数、押金、合同标的租金、应收与收入拆分、减免、实收/未收、开票与付款信息、成本拆分、盈亏、GPS里程、减免明细、资产归属、签约公司、备注。\n\n宽表支持横向滚动；序号与操作列固定。"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-status",
                    "title": "状态",
                    "markdown": "## 状态\n\n**数据来源**：收款记录模块中关联到本账单的分配金额、账单应收合计。\n**计算方式**：分配金额 ≥ 应收合计且应收 > 0 → 已收款；0 < 分配金额 < 应收 → 部分收款；未关联收款 → 未收款。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：当收款记录中分配金额完全覆盖账单的应收金额时，显示已收款。当收款记录中分配金额≤账单的应收金额时，显示部分收款。未分配收款记录时，显示为未收款。其他状态去除\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-payment-due",
                    "title": "应付款日",
                    "markdown": "## 应付款日\n\n**数据来源**：账单起始日期（优先）或提车日期作为开始计费日；账单所属年月。\n**计算方式**：首期账单应付款日 = 开始计费日；后续每期 = 账单所属自然月 5 日。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：交车后按「开始计费日期」生成首期账单应付款日；后续每期账单在所属自然月 5 日生成下一期应付款日。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-plate",
                    "title": "车牌号码",
                    "markdown": "## 车牌号码\n\n**数据来源**：车辆档案（按车牌匹配品牌、型号）。\n**计算方式**：导入/新增台账时按车牌号反写车辆信息。\n**录入方式**：只读展示（车牌 + 车型两行）。\n\n**业务说明**：车牌与车型合并为一列：上方车牌号码，下方品牌与型号；导入/新增时按车牌在系统中自动匹配。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-customer",
                    "title": "客户名称",
                    "markdown": "## 客户名称\n\n**数据来源**：租赁合同（按账单日期 + 车牌匹配客户、项目）。\n**计算方式**：匹配当前车辆在账期内的有效合同，带出客户名称与项目名称。\n**录入方式**：只读展示（客户 + 项目两行）。\n\n**业务说明**：客户名称与项目名称合并为一列：上方客户名称，下方项目名称；按账单日期与车牌号自动匹配。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-value-added-service",
                    "title": "增值服务",
                    "markdown": "## 增值服务\n\n**数据来源**：租赁合同签订时勾选的增值服务项目。\n**计算方式**：按车牌匹配合同增值服务配置，多项服务分行展示。\n**录入方式**：只读。\n\n**业务说明**：签订合同时勾选的增值服务项目，按车牌自动匹配合同数据；多项服务各占一行展示。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-pickup-date",
                    "title": "提车日期",
                    "markdown": "## 提车日期\n\n**数据来源**：交车管理 / 运维 E 签宝签字完成时间。\n**计算方式**：取该车辆实际交车办结时间。\n**录入方式**：只读。\n\n**业务说明**：运维实际交车日期。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-contract-start-date",
                    "title": "合同生效日期",
                    "markdown": "## 合同生效日期\n\n**数据来源**：提车日期（交车办结时间）。\n**计算方式**：合同生效日期 = 提车日期（YYYY-MM-DD），系统自动反写。\n**录入方式**：系统自动反写，只读。\n\n**业务说明**：等于提车日期，即租赁合同生效日期，系统自动反写，只读。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-contract-end-date",
                    "title": "合同到期日期",
                    "markdown": "## 合同到期日期\n\n**数据来源**：合同租期月数 + 提车日期，或合同约定的到期日。\n**计算方式**：日期模式：取合同存储的 contractEndDate；租期模式：提车日 + leaseTermMonths 个月。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：合同到期日：租期模式按提车日期 + 租期月数计算；日期模式取合同中约定的到期日。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-period-start-date",
                    "title": "起始日期",
                    "markdown": "## 起始日期\n\n**数据来源**：账单年月、提车日期。\n**计算方式**：月前已提车 → 当月 1 日；月内提车 → 提车日；月后提车 → 空（calcPeriodStartDate）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：账单所属月内的租赁起始日：月前已提车取当月 1 日，月内提车取提车日；系统自动计算，只读。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-return-date",
                    "title": "退车日期",
                    "markdown": "## 退车日期\n\n**数据来源**：退车管理登记的退车日期。\n**计算方式**：取该车牌退车办结日期；未退车为空。\n**录入方式**：只读。\n\n**业务说明**：退车管理中登记的退车日期；未退车时为空。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-avg-days",
                    "title": "平均天数",
                    "markdown": "## 平均天数\n\n**数据来源**：账单月内租赁天数、当月自然日天数。\n**计算方式**：平均天数 = 账单月内租赁天数 ÷ 当月自然日天数，保留两位小数（calcAvgDays）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：平均天数 = 账单月内租赁天数 ÷ 当月自然日天数，保留两位小数；用于成本分摊口径。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-deposit",
                    "title": "保证金",
                    "markdown": "## 保证金\n\n**数据来源**：提车应收款 / 合同保证金。\n**计算方式**：与创建合同时保证金、提车应收款中该车辆保证金一致。\n**录入方式**：只读。\n\n**业务说明**：显示该车辆实付保证金金额，与提车应收款时该车辆收取的提车应收款相同。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-contract-rent",
                    "title": "合同标的租金",
                    "markdown": "## 合同标的租金\n\n**数据来源**：租赁合同月租金标准。\n**计算方式**：签订合同时该车辆的月租金（合同标的租金）。\n**录入方式**：合同带入，只读。\n\n**业务说明**：等于该车辆在签订该合同时合同中的租金（月租金标准）。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-receivable-total",
                    "title": "应收合计",
                    "markdown": "## 应收合计\n\n**数据来源**：应收租金、保险上浮费、运维费（收入侧）、其他收入、里程/其他减免。\n**计算方式**：应收合计 = 应收租金 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免 − 其他减免（calcReceivableTotal）。\n**录入方式**：系统自动汇总，只读。\n\n**业务说明**：应收合计 = 应收租金 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免金额 − 其他减免金额。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-receivable-rent",
                    "title": "应收租金",
                    "markdown": "## 应收租金\n\n**数据来源**：合同标的租金、合同付款周期月数。\n**计算方式**：应收租金 = 合同标的租金 × 付款周期月数（1/3/6/12）（calcReceivableRent）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：按合同付款周期（1/3/6/12 个月）计算的单期账单租金总金额 = 合同标的租金 × 付款周期月数。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-monthly-income",
                    "title": "月度收入",
                    "markdown": "## 月度收入\n\n**数据来源**：月度租金、维保包干、保险上浮费、运维费（收入侧）、其他收入、减免项。\n**计算方式**：月度收入 = 月度租金 + 维保包干收入 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免 − 其他减免（calcMonthlyIncome）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：月度收入 = 月度租金 + 维保包干收入 + 保险上浮费 + 运维费（收入侧）+ 其他收入 − 里程减免金额 − 其他减免金额。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-monthly-rent",
                    "title": "月度租金",
                    "markdown": "## 月度租金\n\n**数据来源**：合同标的租金。\n**计算方式**：月度租金 = 合同标的租金（calcMonthlyRent）。\n**录入方式**：只读。\n\n**业务说明**：根据客户付款周期间隔，计算每个月需收取的租金，等于合同标的租金。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-maintenance-income",
                    "title": "维保包干收入",
                    "markdown": "## 维保包干收入\n\n**数据来源**：合同维保包干配置、账单里程。\n**计算方式**：勾选维保包干时：单价（元/km）× 里程数；未勾选为 0（calcMaintenanceIncome）。\n**录入方式**：包干未勾选时不可编辑。\n\n**业务说明**：合同勾选维保包干时：单价（元/km）× 里程数，必填；未勾选时默认 0 且不可编辑。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-insurance-surcharge",
                    "title": "保险上浮费",
                    "markdown": "## 保险上浮费\n\n**数据来源**：事故台账关联的保险上浮费。\n**计算方式**：关联事故单后汇总 linkedAccidentIds 对应上浮费；最新账单未关联时显示警示。\n**录入方式**：关联后自动汇总，支持多选事故单。\n\n**业务说明**：事故中有保险上浮费时，最新账单显示警示标志；关联事故单后自动汇总上浮费，支持多选。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-ops-income",
                    "title": "运维费",
                    "markdown": "## 运维费\n\n**数据来源**：维修/保养台账（客户承担）、账单月内该车牌完工记录。\n**计算方式**：汇总 bearBy=客户承担 的维保金额；可关联 linkedMaintenanceIds（sumMaintenanceForBill）。\n**录入方式**：关联后自动汇总；最新账单可关联记录。\n\n**业务说明**：收入侧运维费：自动汇总该账单月内、该车牌维修/保养台账中「客户承担」的金额；最新一期账单可关联记录。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-other-income",
                    "title": "其他收入",
                    "markdown": "## 其他收入\n\n**数据来源**：行内其他收入明细（事由、金额、备注）。\n**计算方式**：多条明细金额合计计入应收与月度收入（sumLineItems）。\n**录入方式**：草稿状态可编辑明细。\n\n**业务说明**：支持多条明细录入（事由、金额、备注）；合计自动计入应收与月度收入。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-mileage-deduction",
                    "title": "里程减免金额",
                    "markdown": "## 里程减免金额\n\n**数据来源**：BI 里程（GPS）、里程减免单价。\n**计算方式**：里程减免 = GPS 里程 × 单价；有 GPS 时默认 0.5 元/km，无 GPS 为 0（calcMileageDeduction）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：里程减免金额 = GPS 里程 × 里程减免单价；有 GPS 里程时默认单价 0.5 元/km，无 GPS 时为 0。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-other-deduction",
                    "title": "其他减免金额",
                    "markdown": "## 其他减免金额\n\n**数据来源**：行内其他减免明细。\n**计算方式**：多条明细金额合计，从应收与月度收入扣减（sumLineItems）。\n**录入方式**：草稿状态可编辑明细。\n\n**业务说明**：支持多条明细录入（事由、金额、备注）；合计自动从应收与月度收入中扣减。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-received-amount",
                    "title": "实收金额",
                    "markdown": "## 实收金额\n\n**数据来源**：收款记录模块关联分配金额。\n**计算方式**：关联收款单后按分配计入金额汇总，不超过应收合计（calcReceivedAmountFromReceipts）。\n**录入方式**：通过「关联收款」操作维护。\n\n**业务说明**：从「收款记录」功能关联该账单后分配的实收金额；点击可查看收款明细列表。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-unreceived",
                    "title": "未收金额",
                    "markdown": "## 未收金额\n\n**数据来源**：应收合计、实收金额。\n**计算方式**：未收金额 = 应收合计 − 实收金额（calcUnreceived）。\n**录入方式**：系统自动计算，不可手工录入。\n\n**业务说明**：未收金额 = 应收合计 − 实收金额，系统自动计算，不可手工录入。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-invoice-date",
                    "title": "开票日期",
                    "markdown": "## 开票日期\n\n**数据来源**：关联收款记录中的开票信息。\n**计算方式**：resolveInvoiceDateFromReceipts 取关联收款单开票日期。\n**录入方式**：只读。\n\n**业务说明**：从「收款记录」功能关联开票记录，显示开票日期。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-actual-payment",
                    "title": "实际付款日期",
                    "markdown": "## 实际付款日期\n\n**数据来源**：关联收款记录的到账日期。\n**计算方式**：有关联收款时取到账记录付款日期；未关联为空。\n**录入方式**：只读。\n\n**业务说明**：关联收款记录时取对应到账记录的付款日期；未关联时为空。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-payment-method",
                    "title": "付款方式",
                    "markdown": "## 付款方式\n\n**数据来源**：合同付款周期月数。\n**计算方式**：1→月度预付，3→季度预付，6→半年预付，12→年度预付（resolvePaymentMethod）。\n**录入方式**：只读。\n\n**业务说明**：由合同付款周期决定：1 个月→月度预付，3 个月→季度预付，6 个月→半年预付，12 个月→年度预付。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-vehicle-standard-cost",
                    "title": "车辆标准成本",
                    "markdown": "## 车辆标准成本\n\n**数据来源**：车型成本明细 / 车牌标准成本配置（PLATE_STANDARD_COST）。\n**计算方式**：按车型维护的固定月标准成本。\n**录入方式**：只读。\n\n**业务说明**：固定成本，按车型明细维护，只读。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-vehicle-actual-cost",
                    "title": "车辆实际成本",
                    "markdown": "## 车辆实际成本\n\n**数据来源**：车辆标准成本、账单月内租赁天数。\n**计算方式**：车辆实际成本 = 标准成本 × 租赁天数 / 30（calcVehicleActualCost）。\n**录入方式**：系统自动计算，只读。\n\n**业务说明**：车辆实际成本 = 车辆标准成本 × 账单月内租赁天数 / 30，自动计算。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-insurance-fee",
                    "title": "保险费",
                    "markdown": "## 保险费\n\n**数据来源**：保险采购金额、保险有效天数、账单月租赁天数。\n**计算方式**：保险费 =（采购金额 / 有效天数）× 租赁天数，四舍五入两位（calcInsuranceFee）。\n**录入方式**：只读。\n\n**业务说明**：保险费 =（保险采购金额 / 保险有效天数）× 账单月内租赁天数，四舍五入保留两位小数。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-hydrogen-fee",
                    "title": "氢费",
                    "markdown": "## 氢费\n\n**数据来源**：氢费明细台账、合同氢费承担方式。\n**计算方式**：合同为「我司承担」时，汇总账单月内该车牌氢费（sumHydrogenFeeForBill）；客户承担不计入。\n**录入方式**：只读。\n\n**业务说明**：仅汇总该账单月内、氢费明细中「我司承担」的氢费（含未对账/已对账）；合同为客户承担时不计入。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-ops-cost",
                    "title": "运维费",
                    "markdown": "## 运维费\n\n**数据来源**：维修/保养台账（我司承担）、账单月内该车牌。\n**计算方式**：汇总 bearBy=我司承担 的维保金额（sumMaintenanceForBill）。\n**录入方式**：只读。\n\n**业务说明**：成本侧运维费：自动汇总该账单月内、该车牌维修/保养台账中「我司承担」的金额。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-brokerage-fee",
                    "title": "居间费",
                    "markdown": "## 居间费\n\n**数据来源**：行内手工录入。\n**计算方式**：直接存储 brokerageFee 字段。\n**录入方式**：草稿可编辑。\n\n**业务说明**：手动输入。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-other-cost",
                    "title": "其他",
                    "markdown": "## 其他\n\n**数据来源**：行内手工录入。\n**计算方式**：直接存储 otherCost；前方有其他收入时本项必填。\n**录入方式**：草稿可编辑。\n\n**业务说明**：前方其他收入有填写时，此处为必填项；与收入侧其他费用区分。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-gps-mileage",
                    "title": "GPS里程",
                    "markdown": "## GPS里程\n\n**数据来源**：BI 里程数据（bi-mileage.json / 车机 GPS）。\n**计算方式**：lookupBiMileage(车牌, 年, 月) 取账单期里程。\n**录入方式**：只读。\n\n**业务说明**：从 BI 里程取账单时间段的数据，自动展示。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-deduction-detail",
                    "title": "其他减免金额明细内容",
                    "markdown": "## 其他减免金额明细内容\n\n**数据来源**：行内手工录入。\n**计算方式**：存储 otherDeductionDetail 文本。\n**录入方式**：草稿可编辑。\n\n**业务说明**：手动输入，备注明细内容。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-asset-ownership",
                    "title": "资产归属",
                    "markdown": "## 资产归属\n\n**数据来源**：车辆档案资产归属。\n**计算方式**：按车牌从 PLATE_ASSET_OWNER / 车辆档案反写。\n**录入方式**：只读。\n\n**业务说明**：显示车辆实际归属公司名称，按车辆档案自动获取。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-signing-company",
                    "title": "签约公司",
                    "markdown": "## 签约公司\n\n**数据来源**：租赁合同甲方。\n**计算方式**：按车牌匹配签订合同时甲方名称（PLATE_SIGNING_COMPANY）。\n**录入方式**：只读。\n\n**业务说明**：显示租赁合同签订时甲方名称。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-remark",
                    "title": "备注",
                    "markdown": "## 备注\n\n**数据来源**：行内手工录入。\n**计算方式**：存储 remark 文本。\n**录入方式**：草稿可编辑。\n\n**业务说明**：本列为人工手动填写。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-archive-status",
                    "title": "账单状态",
                    "markdown": "## 账单状态\n\n**数据来源**：账单归档状态字段 archiveStatus。\n**计算方式**：草稿 / 未归档 / 已归档；工具栏「保存」「设置为归档」批量变更。\n**录入方式**：仅草稿可编辑业务字段。\n\n**业务说明**：状态分为已归档、未归档、草稿。仅草稿可编辑；工具栏「保存」将勾选记录设为未归档（不可编辑）；「设置为归档」将勾选记录锁定为已归档。\n\n---"
                  },
                  {
                    "type": "markdown",
                    "id": "lbl-doc-lbl-col-maintainer-time",
                    "title": "维护时间",
                    "markdown": "## 维护时间\n\n**数据来源**：台账行维护记录。\n**计算方式**：展示最近一次保存/维护时间（maintainerTime）。\n**录入方式**：系统记录，只读。\n\n**业务说明**：展示最近一次维护时间（YYYY-MM-DD HH:MM）；维护人显示最后一次维护用户姓名。\n\n---"
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  }
}
