SOP-503:批量调整广告账户政策标签 E2E 测试
支持复制到 Excel 的标准 SOP 模板;每个
任务(Task ID)表示一个可打卡的子文档,便于人工/机器按照序号完成并记录进度。
快速摘要
本SOP文档详细记录了"批量调整广告账户政策标签"功能的完整E2E测试过程,包含:
功能概述: - 功能名称:批量调整广告账户政策标签 - 业务场景:在广告账户列表页面,批量选择多个广告账户,统一调整其政策标签(折扣、后返、扣款、奖励) - 操作方式:通过表格多选 checkbox + 批量操作按钮 + 对话框选择政策 - 审批流程:提交后创建审批流程,审批通过后批量生效
核心流程: 1. 进入广告账户列表 → 2. 批量选择账户 → 3. 打开批量调整对话框 → 4. 选择政策标签 → 5. 提交审批 → 6. 审批流程 → 7. 验证生效
功能特性: - 多选机制:支持单选、多选、全选广告账户 - 四种政策类型:折扣、后返、扣款、奖励 - 每种政策独立选择:可同时为账户设置多种政策类型 - 不设置选项:每种政策都有"不设置"选项,灵活配置 - 按钮状态:未选择账户时按钮禁用,选中后自动启用 - 已选账户展示:紧凑的徽章显示,可滚动查看
审批集成: - 提交后自动创建审批流程 - 显示审批链接对话框 - 支持查看审批进度 - 审批通过后自动执行批量调整
文档元数据
- 文档类型:SOP / Checklist
- 适用场景:批量调整多个广告账户的政策标签配置
- 功能路径:广告账户列表 → 批量选择 → 批量调整政策标签按钮 → 对话框配置 → 提交审批
- 审批流程:发起申请 → 部门审批 → 财务审批 → 生效 → 抄送
- 配置文件:
503_batch_policy_label_adjust_prod.yaml - 创建者:开发团队
- 创建时间:2026-01-20
- 后端 API:
POST /api/v1/advertiser/batch_policy_label s - 前端组件:
batch-policy-label-dialog.tsx - 测试环境:http://localhost:3000
流程图
graph TD
A[发起人提交] --> B{部门领导审批}
B -->|通过| C{财务审批}
B -->|驳回| Z[结束]
C -->|通过| D[抄送相关人员]
C -->|驳回| Z
D --> E[批量政策调整生效]
审批角色
审批步骤说明
| 步骤 | 角色 | 审批人 | 说明 |
|---|---|---|---|
| 1 | 部门审批 | 部门领导 | 发起人的多级部门负责人,逐级向上审批(leader_depth: -1) |
| 2 | 财务审批 | 财务人员(2名) | 从以下岗位中选择2名:往来会计、总账会计、税务会计、财务主管、财务总 |
| 3 | 抄送 | 相关人员 | 抄送给:媒介经理、媒介、往来会计、总账会计、税务会计、财务主管、财务总、部门领导 |
审批权限
- 发起人:具有广告账户管理权限的用户
- 部门领导:根据发起人所在部门层级,逐级向上审批
- 财务人员:往来会计、总账会计、税务会计、财务主管、财务总(需2名审批)
- 抄送人员:媒介、媒介经理、财务相关岗位、部门领导
审批超时设置
- 超时时间:24小时
- 超时处理:自动驳回
前置条件
| 条件 | 检查方式 |
|---|---|
本地或测试环境可访问 http://localhost:3000/crm/adaccount |
浏览器打开,页面未返回 500/404 |
| 已使用具有广告账户管理权限的用户登录 | 登录成功,能访问广告账户列表页面 |
| 系统中存在多个有效的广告账户 | 广告账户列表中显示账户数据 |
| 已配置政策标签数据 | 客户有可用的政策标签(折扣、后返、扣款、奖励) |
| 批量操作按钮可见 | 页面底部固定行显示"批量调整政策标签"按钮 |
| 审批流程已配置 | 系统中存在批量政策标签调整的审批模板 |
任务矩阵(Excel Checklist 行模板)
每个任务独立一个表格,依次执行并记录状态;状态列可直接粘贴到 Excel 以打勾 [ ] → [x]。
任务 T1:进入广告账户列表页面
入口:http://localhost:3000/crm/adaccount
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:导航到广告账户页面 | http://localhost:3000/crm/adaccount |
页面加载成功 | 显示广告账户列表表格 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:验证表格显示 | — | 表格正常显示,包含账户信息 | 列表中显示账户ID、客户名称、余额、政策标签等信息 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:查看底部批量操作按钮 | 向下滚动到表格底部 | 显示固定的底部操作行 | 底部行显示"批量调整政策标签"按钮,初始状态为禁用(灰色) | 屏幕截图 | [ ] |
T2 |
验证要点:
- 广告账户列表正常加载
- 表格列头包含:账户ID、客户名称、平台、行业、操作方式、余额、政策标签等
- 底部固定行显示批量操作按钮
- "批量调整政策标签"按钮初始为禁用状态(disabled={true})
任务 T2:批量选择广告账户
前置条件:T1 成功,页面已加载
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:单选账户测试 | 勾选第一行账户的 checkbox | 账户被选中,批量操作按钮启用 | checkbox 显示勾选状态;按钮从灰色变为可点击;按钮文本显示"批量调整政策标签 (1)" | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:取消选择 | 取消勾选 checkbox | 账户取消选中,按钮恢复禁用 | checkbox 恢复空白;按钮变回灰色禁用状态;按钮文本恢复为"批量调整政策标签" | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:多选账户测试 | 勾选3个账户的 checkbox | 3个账户被选中,按钮显示数量 | 3个账户的 checkbox 被勾选;按钮显示"批量调整政策标签 (3)" | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:全选测试 | 点击表头的全选 checkbox | 当前页所有账户被选中 | 表头 checkbox 被勾选;所有行的 checkbox 被勾选;按钮显示选中的总数量 | 屏幕截图 | [ ] |
步骤 5 |
| 步骤5:记录选中的账户 | — | 选中账户已记录 | 记录账户ID和客户名称,用于后续验证 | 文本记录 | [ ] |
T3 |
验证要点:
- 单选功能正常:选中 → 按钮启用,取消 → 按钮禁用
- 多选功能正常:选中多个账户,按钮显示数量
- 全选功能正常:表头 checkbox 控制全选/全不选
- 按钮状态随选择实时变化
- 按钮文本动态显示选中数量:批量调整政策标签 (N)
测试数据示例: 假设选择了以下3个账户: - 账户1:账户ID 10001,客户:测试客户A - 账户2:账户ID 10002,客户:测试客户B - 账户3:账户ID 10003,客户:测试客户C
任务 T3:打开批量调整对话框
前置条件:T2 成功,已选中至少1个账户
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:点击批量操作按钮 | 点击"批量调整政策标签 (N)"按钮 | 打开批量调整对话框 | 对话框弹出,显示对话框标题和内容 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:验证对话框结构 | — | 对话框包含所有必要元素 | 显示:标题"批量调整政策标签"、描述"为 N 个账户设置政策标签"、已选账户区域、4个政策类型分组、底部按钮 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:验证已选账户显示 | — | 正确显示选中的账户 | 已选账户区域显示:用户图标 + "已选择账户 (N)";账户ID以紧凑徽章形式显示;可滚动查看所有账户 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:验证政策类型分组 | — | 显示4个政策类型分组 | 4个分组:折扣政策(绿色图标)、后返政策(蓝色图标)、扣款政策(橙色图标)、奖励政策(紫色图标);每个分组有标题和分隔线 | 屏幕截图 | [ ] |
T4 |
对话框UI结构:
┌─────────────────────────────────────────┐
│ 批量调整政策标签 × │
│ 为 3 个账户设置政策标签 │
├─────────────────────────────────────────┤
│ 👥 已选择账户 (3) │
│ ┌───────────────────────────────────┐ │
│ │ [10001] [10002] [10003] │ │
│ └───────────────────────────────────┘ │
│ │
│ 🏷️ 折扣政策 ─────────────────────── │
│ ○ 不设置折扣政策 │
│ ○ 标准折扣 - 5.00% │
│ ○ VIP折扣 - 10.00% │
│ │
│ 🏷️ 后返政策 ─────────────────────── │
│ ○ 不设置后返政策 │
│ ○ 季度返点 - 1000.00元 │
│ │
│ 🏷️ 扣款政策 ─────────────────────── │
│ ○ 不设置扣款政策 │
│ ○ 服务费 - 100.00元 │
│ │
│ 🏷️ 奖励政策 ─────────────────────── │
│ ○ 不设置奖励政策 │
│ ○ 业绩奖励 - 500.00元 │
│ │
│ [取消] [提交审批] │
└─────────────────────────────────────────┘
任务 T4:选择政策标签
前置条件:T3 成功,对话框已打开
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:测试折扣政策选择 | 点击"标准折扣 - 5.00%"选项 | 该选项被选中 | radio button 显示选中状态(实心圆点) | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:测试后返政策选择 | 点击"季度返点 - 1000.00元"选项 | 该选项被选中 | radio button 显示选中状态;折扣政策保持选中状态(多个政策可同时选择) | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:测试不设置选项 | 点击"不设置扣款政策"选项 | 该选项被选中 | 扣款政策分组的 radio 显示选中"不设置" | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:测试选项切换 | 在折扣政策中切换到"VIP折扣 - 10.00%" | 新选项被选中,原选项取消 | "VIP折扣"被选中,"标准折扣"取消选中(同一分组只能选一个) | 屏幕截图 | [ ] |
步骤 5 |
| 步骤5:记录最终选择 | — | 选择已记录 | 记录最终选择的政策:折扣=VIP折扣 10%,后返=季度返点 1000元,扣款=不设置,奖励=不设置 | 文本记录 | [ ] |
T5 |
选择规则: - 单选机制:每个政策类型分组内,只能选择一个选项(Radio Group) - 跨分组独立:不同政策类型之间独立,可以同时选择多个政策 - 不设置选项:每个分组都有"不设置"选项,选中后该政策不会被应用 - 默认状态:所有分组初始都未选中任何选项
测试场景示例:
| 政策类型 | 选择的选项 | 说明 |
|---|---|---|
| 折扣政策 | VIP折扣 - 10.00% | 将为所有选中账户设置10%折扣 |
| 后返政策 | 季度返点 - 1000.00元 | 将为所有选中账户设置1000元返点 |
| 扣款政策 | 不设置扣款政策 | 不对账户设置扣款政策 |
| 奖励政策 | 不设置奖励政策 | 不对账户设置奖励政策 |
任务 T5:提交批量操作
前置条件:T4 成功,已选择至少一个政策
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:验证提交前状态 | — | 确认已选择政策 | 至少一个政策分组选中了非"不设置"的选项 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:点击"提交审批"按钮 | — | 显示加载状态 | 按钮显示加载图标(Loading spinner);按钮文本可能变为"提交中..." | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:等待提交完成 | — | 提交成功 | API 返回成功响应;对话框关闭;显示审批链接对话框 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:验证审批链接对话框 | — | 显示审批链接信息 | 显示"批量操作提交成功"标题;显示审批流程ID/链接;有"查看审批"和"关闭"按钮 | 屏幕截图 | [ ] |
步骤 5 |
| 步骤5:记录审批流程ID | — | 审批ID已记录 | 记录 flowId 或审批链接,用于后续追踪 | 文本记录 | [ ] |
T6 |
API 请求格式:
{
"operations": [
{
"account_id": "10001",
"policy_label_type": "TAG_DISCOUNT",
"new_policy_label_id": 123,
"operation_mode": "DIRECT",
"k_frame": "standard"
},
{
"account_id": "10001",
"policy_label_type": "TAG_REBATE",
"new_policy_label_id": 456,
"operation_mode": "DIRECT",
"k_frame": "standard"
},
// ... 为每个账户生成操作记录
],
"name": "批量政策调整 - 2026-01-20 15:30:45",
"description": "批量调整 3 个账户的政策标签"
}
成功响应示例:
{
"code": 0,
"review": {
"flowId": "abc123-def456-ghi789",
"status": "PENDING"
},
"message": "批量操作提交成功"
}
任务 T6:查看审批流程
前置条件:T5 成功,批量操作已提交
入口:http://localhost:3000/crm/reviews
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:导航到审批流程页面 | 点击"查看审批"按钮或导航到 /crm/reviews |
跳转到审批列表页面 | 页面 URL 为 /crm/reviews |
屏幕截图 | [ ] |
步骤 2 |
| 步骤2:查找批量操作审批 | 在审批列表中查找刚提交的审批 | 找到对应的审批记录 | 审批列表中显示:审批流程"批量政策标签调整";状态"待审批";创建者信息;创建时间 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:打开审批详情 | 点击审批记录 | 打开审批详情对话框 | 对话框显示完整的审批信息 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:查看批量操作详情 | 在审批详情中查看 | 显示批量操作明细 | 显示:操作类型"批量政策标签调整";影响的账户列表;政策调整详情(折扣、后返等);状态"待审批" | 屏幕截图 | [ ] |
步骤 5 |
| 步骤5:查看审批历史 | 切换到"审批历史"标签 | 显示审批流程进度 | 显示审批节点、当前步骤、待审批人等信息 | 屏幕截图 | [ ] |
T7 |
审批详情显示内容: - 审批流程名称 - 审批ID(flowId) - 发起人信息 - 发起时间 - 批量操作摘要 - 账户列表(受影响的账户) - 政策调整详情表格 - 审批流程状态 - 当前审批人
任务 T7:审批流程处理
前置条件:T6 成功,审批流程已创建
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:审批人登录 | 使用审批人账号登录系统 | 登录成功 | 页面显示审批人用户名 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:查看待审批列表 | 导航到审批页面,切换到"要我审批"标签 | 显示待审批列表 | 列表中显示批量政策标签调整的审批记录 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:打开审批详情 | 点击审批记录 | 打开审批详情页面 | 显示完整的批量操作详情 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:审批通过 | 点击"通过"按钮,可选填写审批意见 | 审批成功 | 显示成功提示;审批状态更新;审批历史新增记录 | 屏幕截图 | [ ] |
步骤 5 |
| 步骤5:验证审批完成 | 刷新审批列表 | 审批流程已完成或流转到下一节点 | 审批状态更新;如果有多级审批,流转到下一审批人;如果是最后一级,状态变为"已批准" | 屏幕截图 | [ ] |
T8 |
审批操作说明: - 审批人可以选择"通过"或"拒绝" - 可以填写审批意见(可选) - 通过后审批流程自动流转 - 拒绝后审批流程终止,批量操作不会执行
任务 T8:验证批量操作生效
前置条件:T7 成功,审批流程已通过
| Action Steps | Input / Payload | 预期结果 | 验证方式 | 证据 | 状态 | 下游任务 |
|---|---|---|---|---|---|---|
| 步骤1:返回广告账户列表 | 导航到 /crm/adaccount |
页面加载成功 | 显示广告账户列表 | 屏幕截图 | [ ] |
步骤 2 |
| 步骤2:清空之前的选择 | 点击取消全选或刷新页面 | 选择已清空 | 所有 checkbox 为空白状态;批量操作按钮恢复禁用状态 | 屏幕截图 | [ ] |
步骤 3 |
| 步骤3:查看账户政策标签 | 在列表中查看之前选中的账户 | 政策标签已更新 | 账户的政策标签列显示新的政策:折扣10%、后返1000元等 | 屏幕截图 | [ ] |
步骤 4 |
| 步骤4:点击账户查看详情 | 点击账户ID打开详情 | 打开账户详情页面 | 显示完整的账户信息和政策标签详情 | 屏幕截图 | [ ] |
步骤 5 |
| 步骤5:验证政策生效 | 在详情页查看政策标签 | 政策已正确应用 | 详情页显示:折扣政策=10%,后返政策=1000元;政策状态为"生效" | 屏幕截图 | [ ] |
— |
验证要点: - 选中的所有账户都已应用新的政策标签 - 折扣政策正确:VIP折扣 10% - 后返政策正确:季度返点 1000元 - 未选择的政策(扣款、奖励)未被改变 - 政策标签状态为"生效"或"已生效" - 账户列表中的政策标签列显示更新后的值
API 参考(必须遵循的接口)
| 接口 | 方法 | 说明 | 关键字段 & 数据格式 |
|---|---|---|---|
/api/v1/advertiser/batch_apply_policy_labels |
POST |
批量应用政策标签 | - body: { operations: Array, name: string, description: string } - operations: { account_id, policy_label_type, new_policy_label_id, operation_mode, k_frame } - 返回:{ review: { flowId, status }, code, message } |
/api/v1/customers/policy_labels |
POST |
获取客户的政策标签列表 | - body: { customer_id: number } - 返回:{ policyLabels: Array } |
/api/v1/reviews |
GET |
查询审批流程列表 | - 参数:status, userRelated, myApproval, needApproval - 返回:{ reviews: Array, total: number } |
/api/v1/reviews/{flowId} |
GET |
获取审批详情 | - 路径参数:flowId - 返回:完整审批信息,包括 BatchPolicyLabelOperation 数据 |
/api/v1/reviews/{flowId}/approve |
POST |
审批通过 | - body: { action: "APPROVE", comment: string } - 返回:{ code, message } |
进度采集模板(机器辅助/人手填报)
| Task ID | Status | Evidence | Operator | Timestamp | Notes |
|---|---|---|---|---|---|
| T1 | [ ] |
screenshot-t1.png |
— | — | "进入广告账户列表页面" |
| T2 | [ ] |
screenshot-t2.png |
— | — | "批量选择广告账户" |
| T3 | [ ] |
screenshot-t3.png |
— | — | "打开批量调整对话框" |
| T4 | [ ] |
screenshot-t4.png |
— | — | "选择政策标签" |
| T5 | [ ] |
screenshot-t5.png |
— | — | "提交批量操作" |
| T6 | [ ] |
screenshot-t6.png |
— | — | "查看审批流程" |
| T7 | [ ] |
screenshot-t7.png |
— | — | "审批流程处理" |
| T8 | [ ] |
screenshot-t8.png |
— | — | "验证批量操作生效" |
异常与恢复
前端错误处理
错误1:未选择账户就点击按钮
- 触发条件:在未选中任何账户的情况下,按钮应该是禁用状态
- 预期行为:按钮禁用,无法点击
- 错误提示:如果按钮被误点击,显示提示"请先选择要操作的广告账户"
- 验证:按钮的 disabled 属性应为 true
错误2:提交时未选择任何政策 - 触发条件:在对话框中所有政策都选择"不设置"或都未选择 - 预期行为:点击"提交审批"按钮时显示错误提示 - 错误提示:"请至少选择一个政策标签" - 恢复方式:至少选择一个非"不设置"的政策选项
错误3:政策标签数据加载失败 - 原因:API 请求失败或超时 - 预期行为:对话框中的政策选项为空或显示加载错误 - 错误提示:显示网络错误或数据加载失败提示 - 恢复方式:关闭对话框重新打开,或刷新页面重试
API错误处理
401 Unauthorized - 原因:认证信息过期或无效 - 解决方案:重新登录系统
403 Forbidden - 原因:当前用户没有批量操作权限 - 解决方案:使用具有权限的账号
400 Bad Request - 原因:请求参数错误(如账户ID无效) - 解决方案:检查选中的账户是否有效
500 Internal Server Error - 原因:服务器内部错误 - 解决方案: 1. 检查服务器日志 2. 验证选中的账户和政策数据 3. 联系技术支持
审批流程异常
审批流程未创建 - 原因:批量操作提交失败或审批配置错误 - 解决方案: 1. 检查后端审批模板配置 2. 验证用户权限 3. 查看后端日志
审批被拒绝 - 原因:审批人拒绝了批量操作申请 - 解决方案: 1. 查看拒绝原因 2. 修改政策选择 3. 重新提交批量操作
测试数据示例
测试场景1:为3个账户设置折扣政策
选中账户: - 账户1:10001(客户A) - 账户2:10002(客户B) - 账户3:10003(客户C)
政策选择: - 折扣政策:VIP折扣 - 10.00% - 后返政策:不设置 - 扣款政策:不设置 - 奖励政策:不设置
预期结果: - 3个账户都设置了10%折扣 - 其他政策保持不变
测试场景2:同时设置多种政策
选中账户: - 账户1:10004(客户D) - 账户2:10005(客户E)
政策选择: - 折扣政策:标准折扣 - 5.00% - 后返政策:季度返点 - 1000.00元 - 扣款政策:服务费 - 100.00元 - 奖励政策:不设置
预期结果: - 2个账户设置了3种政策:5%折扣 + 1000元后返 + 100元扣款 - 奖励政策未设置
性能要求
| 指标 | 要求 | 测量方式 |
|---|---|---|
| 表格选择响应时间 | < 200ms | 从点击 checkbox 到按钮状态更新 |
| 对话框打开时间 | < 1秒 | 从点击按钮到对话框显示 |
| 政策数据加载时间 | < 2秒 | 对话框打开后政策选项显示 |
| 批量操作提交时间 | < 5秒 | 从点击提交到返回结果 |
| 单次批量操作账户数量限制 | < 1000个 | 一次最多选择1000个账户 |
FAQ
Q1:为什么我看不到"批量调整政策标签"按钮? A1:可能的原因: - 用户没有批量操作权限 - 页面需要滚动到底部才能看到固定行 - 功能未部署或被禁用
Q2:为什么按钮一直是禁用状态? A2:需要先选中至少一个账户,按钮才会启用。检查: - 是否勾选了账户的 checkbox - 表格是否正常加载 - 浏览器控制台是否有JavaScript错误
Q3:每个政策类型都必须选择吗? A3:不是。每个政策类型都可以选择"不设置"选项,或者不选(默认不设置)。但至少需要为一个政策类型选择非"不设置"的选项,否则无法提交。
Q4:可以为不同的账户设置不同的政策吗? A4:不可以。本功能是批量操作,会为所有选中的账户设置相同的政策标签。如需为不同账户设置不同政策,请分批操作或使用单个账户的政策调整功能。
Q5:批量操作提交后可以取消吗? A5:在审批流程中,发起人或审批人可以取消审批。一旦审批通过并执行,则无法自动回滚,需要重新提交反向操作。
Q6:如何查看批量操作的执行结果? A6:可以通过以下方式: - 在审批详情页查看操作状态 - 返回广告账户列表查看政策标签列 - 点击单个账户查看详情页的政策标签
Q7:全选时会选择所有账户吗? A7:在服务器端分页模式下,全选只会选择当前页可见的账户。如需操作更多账户,可以: - 调整每页显示数量 - 使用筛选条件缩小范围 - 分批次操作
附录
相关文档
- SOP-501:批量调整政策标签工作流 E2E 测试 - Excel导入方式
- SOP-101:政策标签创建 - 单个政策标签创建
- SOP-102:添加政策标签 - 为单个账户添加政策
技术实现文件
前端组件:
- app/crm/adaccount/page.tsx - 广告账户列表页面
- app/crm/adaccount/components/batch-policy-label-dialog.tsx - 批量调整对话框
- lib/stores/adaccount.store.ts - 广告账户 Store(包含 batchApplyPolicyLabels 方法)
- lib/types/adaccount.model.ts - 类型定义
后端接口:
- proto/advertiser.proto - API 定义(BatchApplyPolicyLabels)
- 审批模板配置文件
功能特性清单
- [x] 表格多选功能(单选、多选、全选)
- [x] 批量操作按钮状态管理(禁用/启用)
- [x] 按钮显示选中数量
- [x] 批量调整对话框UI
- [x] 已选账户紧凑展示
- [x] 4种政策类型分组
- [x] Radio Group 选择机制
- [x] "不设置"选项
- [x] 提交审批功能
- [x] 审批链接对话框
- [x] 选择清空功能
- [x] 表格刷新功能
- [x] 类型定义完整
- [x] Store 方法实现
- [x] API 集成
- [x] 审批视图注册
总结
本SOP文档详细记录了"批量调整广告账户政策标签"功能的完整E2E测试流程。核心功能点:
- 便捷的批量选择:支持单选、多选、全选,按钮状态实时响应
- 直观的对话框设计:Radio Group 分组方式,清晰展示4种政策类型
- 灵活的政策配置:每种政策独立选择,支持"不设置"选项
- 完整的审批集成:提交后自动创建审批流程,支持查看审批进度
- 可靠的状态管理:操作完成后自动清空选择和刷新表格
此功能大大提升了批量调整政策标签的效率,特别适用于: - 新客户上线,批量设置初始政策 - 季度/年度政策调整,统一更新政策 - 促销活动,临时调整折扣政策 - 政策标准化,统一规范政策配置
通过审批流程保证了操作的安全性和可追溯性,符合企业内控要求。