状态: Ready for Review 史诗: 007 - 多租户包复制策略 故事类型: 前端/UI
作为 系统管理员, 我想要 有一个独立的多租户供应商管理界面包, 以便 可以在多租户系统中独立管理供应商信息,同时保持与单租户系统的功能一致性。
@d8d/supplier-management-ui-mt,包含正确的包配置和依赖管理packages/supplier-management-ui/ 为多租户版本 packages/supplier-management-ui-mt/@d8d/supplier-module-mt/api/admin/suppliers [Source: docs/prd/epic-007-multi-tenant-package-replication.md#供应商管理界面包]packages/supplier-management-ui-mt/ [Source: architecture/source-tree.md#包结构]packages/supplier-management-ui-mt/src/components/ [Source: architecture/source-tree.md#前端包结构]packages/supplier-management-ui-mt/src/api/ [Source: architecture/source-tree.md#前端包结构]packages/supplier-management-ui-mt/tests/ [Source: 单租户包实际结构]tests/integration/,单元测试在 tests/unit/ [Source: 单租户包实际结构]pnpm install 命令以确保依赖正确安装-mt 后缀标识(Multi-Tenant)基于源码树文档检查,项目结构完全对齐:
[x] 任务 1 (AC: 1, 2): 创建多租户供应商管理界面包结构
packages/supplier-management-ui-mt/cp -r packages/supplier-management-ui/* packages/supplier-management-ui-mt/@d8d/supplier-management-ui-mt[x] 任务 2 (AC: 1, 3): 配置包依赖和构建
packages/supplier-management-ui-mt/package.json:"name": "@d8d/supplier-management-ui-mt""@d8d/supplier-module-mt": "workspace:*"@d8d/supplier-modulepackages/supplier-management-ui-mt/tsconfig.json:"@d8d/supplier-module-mt/*"packages/supplier-management-ui-mt/vitest.config.ts:packages/supplier-management-ui-mt/tests/setup.ts:packages/supplier-management-ui-mt/eslint.config.js:cd packages/supplier-management-ui-mt && pnpm install[x] 任务 3 (AC: 4, 5): 实现RPC客户端架构和类型定义
packages/supplier-management-ui-mt/src/api/supplierClient.ts:import { adminSuppliersRoutes } from '@d8d/supplier-module-mt'adminSuppliersRoutes 从多租户供应商模块包导入packages/supplier-management-ui-mt/src/api/index.ts:packages/supplier-management-ui-mt/src/types/supplier.ts:[x] 任务 4 (AC: 2, 5): 复制并调整供应商管理界面组件
packages/supplier-management-ui-mt/src/components/SupplierManagement.tsx:import { supplierClientManager } from '../api/supplierClient'@d8d/shared-ui-components/components/ui/button,避免从根导入packages/supplier-management-ui-mt/src/components/SupplierForm.tsxpackages/supplier-management-ui-mt/src/components/SupplierSelector.tsxpackages/supplier-management-ui-mt/src/components/index.ts:
[x] 任务 5 (AC: 5, 6): 实现完整的供应商管理功能
packages/supplier-management-ui-mt/src/hooks/useSuppliers.ts:packages/supplier-management-ui-mt/src/hooks/index.ts:[x] 任务 6 (AC: 6, 7): 创建测试套件
packages/supplier-management-ui-mt/tests/integration/supplier-management.integration.test.tsx:packages/supplier-management-ui-mt/tests/setup.ts:packages/supplier-management-ui-mt/tests/integration/supplier-management.integration.test.tsxpackages/supplier-management-ui-mt/tests/unit/useSuppliers.test.tsx[x] 任务 7 (AC: 1, 7): 配置包导出接口
packages/supplier-management-ui-mt/src/index.ts:[x] 任务 8 (AC: 6, 8): 验证功能无回归
cd packages/supplier-management-ui-mt && pnpm buildcd packages/supplier-management-ui-mt && pnpm test| 日期 | 版本 | 描述 | 作者 |
|---|---|---|---|
| 2025-11-17 | 1.0 | 初始故事创建 | Bob (Scrum Master) |
@d8d/supplier-management-ui-mtpackages/supplier-management-ui-mt/package.json (更新包名和依赖)packages/supplier-management-ui-mt/src/api/supplierClient.ts (更新导入路径)packages/supplier-management-ui-mt/src/components/SupplierManagement.tsx (更新Schema导入)packages/supplier-management-ui-mt/src/components/SupplierSelector.tsx (修复API调用和类型)packages/supplier-management-ui-mt/tests/integration/supplier-selector.integration.test.tsx (更新mock配置)此部分将在质量保证审查过程中由QA代理填充