3.0 KiB
Raw Blame History

分享链接导入并同步关联计划功能 - 实现计划

功能概述

采购商(布行)在计划总览页面可以为每个计划生成分享链接,发送给纺织厂/水洗厂。对方通过链接打开系统后,自动导入并关联该计划到自己的公司,实现跨角色协作。

核心流程

  1. 采购商生成分享链接:在计划总览页面,点击"分享链接"按钮生成包含计划ID的URL#/import?plan=xxx&type=textile
  2. 工厂方打开链接:纺织厂/水洗厂用户收到链接后打开系统识别URL参数展示计划详情和导入确认页面
  3. 确认导入:工厂方确认后,系统在 plan_factories 表中创建关联记录,将计划绑定到工厂公司
  4. 同步生效:导入成功后,工厂方的工作台和计划总览自动显示该计划

实现步骤

步骤1新增路由和导入页面

  • App.tsx 中添加路由:/importImportPlanPage
  • 创建 src/pages/ImportPlanPage.tsx处理URL参数中的 plantype

步骤2采购商计划总览 - 生成分享链接

修改 src/pages/purchaser/PlanOverview.tsx

  • 将现有的"分享链接"按钮从工厂级别移到计划级别
  • 点击后生成链接:#/import?plan={planId}&type={factoryType}
  • 显示复制链接的弹窗,支持一键复制

步骤3创建 ImportPlanPage 导入确认页面

创建 src/pages/ImportPlanPage.tsx

  • 从URL参数读取 plan计划IDtype工厂类型textile/washing
  • 检查用户是否已登录且角色匹配纺织厂用户只能导入textile类型水洗厂只能导入washing类型
  • 展示计划详情(产品名、颜色、坯布码、计划产量、纱线配比等)
  • 提供"确认导入"按钮
  • 导入逻辑:向 plan_factories 表插入 {plan_id, factory_id: 当前公司ID, factory_type: type}
  • 导入成功后跳转到对应工作台

步骤4防重复导入

  • 导入前检查 plan_factories 是否已存在相同关联
  • 如果已存在,提示"该计划已导入"并跳转到工作台

步骤5更新 AGENTS.md 路由表

添加 /import 路由记录

涉及文件

文件 操作 说明
src/App.tsx 编辑 添加 /import 路由
src/pages/ImportPlanPage.tsx 新建 导入确认页面
src/pages/purchaser/PlanOverview.tsx 编辑 分享链接按钮改为计划级别,添加复制链接弹窗
AGENTS.md 编辑 添加路由记录

数据库变更

无需新增表或字段。使用现有的 plan_factories 表存储关联关系。

URL格式设计

#/import?plan={planId}&type={textile|washing}
  • plan: 生产计划的UUID
  • type: 工厂类型,决定纺织厂还是水洗厂可以导入

ImportPlanPage 页面设计

  1. 未登录 → 提示登录并跳转到 /login
  2. 已登录但角色不匹配 → 提示角色不匹配
  3. 已登录且角色匹配 → 展示计划详情 + 确认导入按钮
  4. 已导入 → 提示已导入 + 跳转工作台