# 表单管理应用（Form Management）

> **负责人**: FFOA 开发团队  
> **状态**: 🟢 Active  
> **最后更新**: 2025-12-25

---

## 📋 文档导航

| 文档 | 状态 | 最后更新 |
|------|------|---------|
| [产品需求文档](./01-prd.md) | ✅ | 2025-12-19 |
| [用户场景文档](./02-user-journey.md) | 🚧 | 2026-01-11 |
| [架构设计](./03-architecture.md) | ✅ | 2025-12-19 |
| [UI 交互规范](./05-ui-interaction-spec.md) | ✅ | 2025-12-25 |
| [数据模型](./06-data-model.md) | 🚧 | 2026-01-11 |
| [API 文档](./07-api.md) | ✅ | 2025-12-21 |
| [错误码](./08-error-codes.md) | 🚧 | 2026-01-11 |
| [测试场景](./09-test-scenarios.md) | 🚧 | 2026-01-11 |
| [开发路线图](./10-roadmap.md) | ✅ | 2025-12-11 |
| [实现状态](./11-implementation-status.md) | ✅ | 2025-12-25 |
| [API 文档（含统计接口）](./07-api.md) | ✅ | 2025-12-21 |

**状态说明**:
- ✅ Completed/Approved - 已完成并通过评审
- 🚧 In Progress/Draft - 编写中
- ❌ Not Started - 未开始
- 📝 Need Update - 需要更新

---

## 📌 概述

表单管理应用是基于表单引擎和审批引擎构建的业务应用，提供表单设计、流程配置、版本管理的统一管理界面。

### 架构定位

```
业务应用层                引擎层
┌──────────────┐         ┌──────────────┐
│  表单管理     │   依赖  │  表单引擎     │
│              │────────▶│              │
│  • 表单设计   │         │  • JSON Schema│
│  • 流程配置   │         │  • 字段类型   │
│  • 版本管理   │         │  • 动态渲染   │
└──────┬───────┘         └──────────────┘
       │                 ┌──────────────┐
       └────────────────▶│  审批引擎     │
                         │              │
                         │  • 流程定义   │
                         │  • 任务管理   │
                         └──────────────┘
```

### 核心功能

1. **表单设计** - 可视化表单设计器，支持15种字段类型
2. **流程配置** - 集成的审批流程设计器
3. **版本管理** - 表单和流程的版本控制、审核、发布
4. **模板系统** - 预设常用表单模板
5. **权限管理** - 细粒度的权限控制
6. **统计分析** - 表单使用统计、热门排行、提交趋势

### 业务价值

- 提供统一的表单和流程管理平台
- 降低业务表单创建和维护成本
- 保证表单和流程的规范性和可追溯性
- 支持复杂的审批流程配置

---

## 🏗️ 技术信息

### 代码位置

- **前端**: 
  - `frontend/src/app/(engines)/forms/` - 表单管理页面
  - `frontend/src/app/(engines)/forms/definitions/[id]/design/` - 集成设计器
- **后端**: `backend/src/form-management/`
- **数据库**: 依赖 `platform_form` 和 `corp_approval` Schema

### API 端点

- **Base URL**: `/api/v1/form-management`
- **主要接口**: 
  - 概览统计
  - 表单和流程集成管理
  - 版本审核
  - 统计分析
- **总计**: 15+ 个接口

### 技术栈

- **前端**: Next.js 14 + TypeScript + Tailwind CSS + shadcn/ui
- **后端**: NestJS + Prisma + PostgreSQL
- **依赖引擎**: Form Engine + Approval Engine

---

## 🔗 相关模块

- [表单引擎](../form-engine/README.md) - 底层表单能力
- [审批引擎](../approval-engine/README.md) - 底层审批能力
- [权限系统](../organization/README.md) - RBAC 权限控制

---

## 🚀 快速开始

### 管理员使用

1. **创建表单**
   ```
   访问: /forms/definitions
   操作: 创建表单 → 填写基本信息
   ```

2. **设计表单和流程**
   ```
   访问: /forms/definitions/[id]/design
   操作: 
   - 切换到「表单设计」→ 拖拽设计表单
   - 切换到「流程设计」→ 配置审批流程
   ```

3. **发布表单**
   ```
   操作: 保存 → 提交审核 → 审核通过（自动发布）
   ```

### 普通用户使用

用户在各业务模块中填写和提交表单，无需访问此管理应用。

---

## 🎯 功能状态

| 功能模块 | 实现度 | 状态 |
|---------|--------|------|
| 概览页面 | 90% | ✅ 核心完成 |
| 表单定义列表 | 95% | ✅ 已完成 |
| 集成设计器 | 90% | ✅ 核心完成 |
| 版本管理 | 95% | ✅ 已完成 |
| 审核流程 | 100% | ✅ 已完成 |
| 统计分析 | 85% | 🚧 进行中 |
| 模板系统 | 80% | 🚧 进行中 |

---

## 📊 页面结构

### 管理页面（10个）

1. 概览首页 - `/forms`
2. 表单定义列表 - `/forms/definitions`
3. 表单详情 - `/forms/definitions/[id]`
4. 集成设计器 - `/forms/definitions/[id]/design`
5. 版本历史 - `/forms/definitions/[id]/versions`
6. 版本对比 - `/forms/definitions/[id]/versions/compare`
7. 审核列表 - `/forms/reviews`
8. 审核详情 - `/forms/reviews/[id]`
9. 模板列表 - `/forms/templates`
10. 统计分析 - `/forms/statistics`

---

## 📐 架构分层

| 层级 | 模块 | 职责 |
|------|------|------|
| **业务应用** | 表单管理 | 面向管理员/设计者的配置界面 |
| **引擎层** | 表单引擎 | 提供表单定义、渲染、验证能力 |
| **引擎层** | 审批引擎 | 提供流程编排、任务调度能力 |

---

## 🧪 测试

详见测试用例文档（待补充）

---

## 待实现功能

- 表单版本回滚
- 表单模板市场
- 表单数据批量导入/导出

---

## 📚 详细文档

- [产品需求文档](./01-prd.md) - 完整功能需求、用户故事
- [架构设计](./03-architecture.md) - 技术架构、数据库设计
- [UI 交互规范](./05-ui-interaction-spec.md) - 页面设计、交互细节
- [API 文档](./07-api.md) - 接口定义、请求响应
- [开发路线图](./10-roadmap.md) - 版本规划、进度跟踪
- [实现状态](./11-implementation-status.md) - 实现情况与PRD差异对照
- [API 文档（含统计接口）](./07-api.md) - 统计分析接口详细说明

---

## 👥 贡献者

- **创建者**: FFOA Team
- **维护者**: Backend Team

---

**创建时间**: 2025-11-20  
**更新时间**: 2025-12-25  
**状态**: ✅ 生产就绪  
**版本**: v1.1
