You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

7.7 KiB

10 四视图与列表/详情查询口径

Type: grilling Status: resolved Blocked by: 03, 04, 05

⚠ Amendment(票 14 推翻/扩展本票的视图组织):产品以 demo nginx/html/保伦CRM系统demo-重构版-S1_0803.html 为准,销售机会工作区改为「内置四视图(最近访问 / 我负责的 / 我参与的(新)/ 我关注的)+ 用户自定义视图」的下拉,自定义视图落 crm-preference 平台能力(按 scope)。本票的数据范围矩阵、列表字段、计算列、三皮肤、公海 pool_reason 口径均不变,仅「销售机会」工作区的视图组织形态被票 14 改写。详见 issues/14

定商机四视图查询口径 + 列表/详情字段与操作按视角差异。原型 A3-1-1 / A3-2-1 / A3-3-1 / A3-0-1 均已拉取核实,存档 research-a3xx-four-views.md


一、四视图数据范围矩阵(口径已核实)

视图 原型 数据范围(WHERE 口径) 视角下拉
销售机会(个人) A3-1-1 owner_user_id = 当前用户(本人负责,不含访问记录) 「我负责的销售机会 ▾ / 全部销售机会(个人)」
商机管理 A3-2-1 @DataScope 可见范围(管理侧全部;复用 crm-auth 数据权限) 「全部销售机会管理 ▾」「商机管理(领导)▾」
商机公海 A3-3-1 opp_status=1 且 owner_user_id 空 的逻辑视图(票 05,无池实体) + 匹配公海规则适用范围定可见
最近访问 A3-0-1 当前用户打开过详情页的商机,按访问时间倒序、按商机 id 去重留最新访问时间上限可配置(本期默认 50 条)
  • 视图不是状态切片:同一商机可同时出现在多视图(如自己负责 + 最近访问过)。公海 = status/owner 逻辑视图,与个人/管理互斥于 owner 维度。
  • @DataScope 复用 crm-auth,本模块不自建数据权限。

二、列表字段(原型核实,个人/管理/最近访问共用基础字段)

原型明证「本页面与最近访问列表页字段结构高度相近,基础字段可复用」。共用列: 序号 / 选择框 / 商机名称 / 甲方 / 意向客户 / 行业 / 地区 / 预计金额 / 当前工作节点 / 节点停留时间 / 最近跟进 / 下一节点 / 方案卡状态 / 操作。

计算列口径(不冗余存,实时算/join)

口径
当前工作节点 = current_stage_id(票03/06) 对应节点名
下一节点 = 模板中当前节点的下一 seq_no 节点(自由切换下为"建议下一步",展示用)
节点停留时间 = 当前日期 − 进入当前节点日期opportunity_stage_history 最新 to_time);判长期未推进
最近跟进 = 最新一条 opportunity_follow.create_time(票09);无则 --
方案卡状态 = 取主要意向客户(票 13 is_primary_intended)那张方案卡的 card_status(草稿1/已提交2/已推送3,票07 P0-4);无主客户卡 → “未创建”。一客户一卡故取值唯一,不需主卡概念
方案预算 = 取主要意向客户那张方案卡的 scheme_budget(票 07);无则空。同锚点(主客户卡)
预计金额 = 主表 project_amount(票03 Amendment 1,展示为「预计金额」)
当前负责人 = owner_user_id 反查;个人页默认隐藏(都是自己,可自定义列放出)

口径冲突已解(产品拍板)

  • 「预计成交时间」列:原型列表页 A3-1-1/A3-2-1 曾有此列,但新增表单 A3-1-1-2-1 无此字段。产品口径二次拍板:该列从商机列表删除。它本是方案卡字段(票 07,方案卡运行时实有预计成交概率/预计投标时间等预测字段,research-a31113 line 381/401),仅存在于方案卡内部,不上商机主表、不进商机四视图列表

三、各视图差异(操作/专属列)

视图 专属列 操作按钮 新增入口
个人 A3-1-1 当前负责人默认隐藏 详情 / 写跟进 「+新增商机」(仅个人跟进场景,默认归当前用户)
管理 A3-2-1 当前负责人显示 详情 / 分配 / 催办 / 关闭 + 批量催办 / 批量分配 / 管理关注 / 领导释放 无(管理不主动新建)
公海 A3-3-1 入池前工作节点 / 进入公海原因 / 当前负责人 详情 / 关注 / 领取 + 批量领取 / 批量关注
最近访问 A3-0-1 按访问时间排序 详情 / 写跟进 / 关注 / 领取(按角色+商机态动态)

回填其他票的新事实

  • 公海「进入公海原因」= 分类字段(回填票 04/05):销售主动释放 / 特殊原因暂停 / 领导释放 / 超期回收。→ 抛公海(票04 E1)/回收(票05)需记 pool_reason,公海列表按此筛选。
  • 公海「入池前工作节点」:抛公海时快照进池前的 current_stage_id(清 owner 但保留阶段快照供公海展示)。
  • 管理「催办/督办」(A3-2-1-1-1 督办功能):管理对负责人的推进督促——spin-out 独立功能,本票只记列表入口存在。
  • 「领导释放」= 管理侧强制抛公海(对齐票04 抛公海边,操作人=管理者而非 owner,pool_reason=领导释放)。

四、商机详情三皮肤(个人 A3-1-1-1 / 管理 A3-2-1-1 / 公海 A3-3-1-1)

  • 同一详情聚合,按视角展示不同操作区,非三套数据:Tab 结构一致(概览/客户信息/方案卡/现场勘察/相关附件/跟进记录/工作计划/团队成员/操作日志,票06-09);差异在头部操作按钮 + 进入权限
    • 个人:写跟进/编辑/暂缓/抛公海/关闭/新增方案卡… (票06 概览页已核实)
    • 管理:+ 分配/催办/关闭/督办(A3-2-1-1)
    • 公海:领取/关注(A3-3-1-1),无跟进/推进入口(未领取不可推进,票04/06)
  • 操作可见性 = 视角 + opp_status + 权限点,无 owner guard(可见即可点,票01)。

传出决策 / 回填其他票

  • 回填票 04:抛公海边记 pool_reason(销售主动释放/特殊原因暂停/领导释放/超期回收);「领导释放」= 管理侧抛公海(操作人≠owner)。
  • 回填票 03:新增 pool_reason + 「入池前工作节点」快照的承载(或复用 opportunity_stage_history);「预计成交时间」列从商机列表删除、不上主表(产品二次拍板)
  • 回填票 05:公海列表 = 逻辑视图口径印证(status=1 且 owner 空);pool_reason「超期回收」= executeRecycle 触发。
  • CONTEXT.md:新增【四视图】口径术语(数据范围矩阵 + 计算列口径 + 三皮肤);【进入公海原因】术语。
  • spin-out:督办/催办功能(A3-2-1-1-1)独立。

待产品/原型核实(不阻塞建模)

  • 预计成交时间(已拍板):从商机列表删除、不上主表;仅方案卡内部字段(票 07)。
  • 最近访问去重 + 上限(产品拍板 P2-2):按商机 id 去重(留最新访问时间);上限做成配置值,本期默认 50 条(原型未画,本期只商机用,做成可配置便于后续复用/调整)。原型仅画死:打开过详情/访问时间倒序/未访问不展示(line 2672-2683),去重·上限本由产品定。
  • 方案卡状态列/方案预算列多卡取值口径(已拍板 P0-4):取主要意向客户那张方案卡(票 13;一客户一卡),不引入主卡。
  • ⚠ 视角下拉「领导 ▾」的层级数据范围与 @DataScope 的精确映射。
  • ⚠ 默认排序(原型「建议按最近跟进/节点停留时间」等,具体待产品)。