跳转到内容

项目管理

本子应用主要用于项目实施过程管理,支持不同行业、多种类型的项目管理(如软件开发、影视制作、律师服务、工程建造、设备安装、活动策划等),覆盖项目团队、任务分解(含里程碑)、任务分配、工时记录、任务跟踪(看板/甘特图/日历)、项目冲刺与多维度工效分析。

  1. 工作台:项目与任务概览、待办清单、工效汇总
  2. 项目管理:项目清单(树表)、项目计划与里程碑(日历视图)、项目团队
  3. 任务管理:我的任务/团队任务(WBS 分解、依赖、分配)、任务看板、项目冲刺、任务甘特图
  4. 统计分析:项目报告、月度进度分析、团队工效分析、个人工效分析
  5. 基础设置:任务类型等项目相关数据字典
  6. 暂不实现:资源类型与资源冲突检测(资源日历)
  7. 暂不实现:燃尽图
  8. 暂不实现:任务网络图(关键路线)
  9. 暂不实现:资源负载分析
  10. 暂不实现:工作日历(用于任务自动排期)
  • WBS 任务分解与依赖:将项目拆解为任务树,支持跨项目任务依赖(FS/SS/FF/SF)与自动级联排期
  • 多视图协同:同一批任务以树表、看板、甘特图、日历(计划/里程碑)、冲刺多视图呈现
  • 按项目的业务权限:以项目团队成员为授权单元,团队角色决定可查看/管理的范围;成员失效即退出本项目
  • 评论与历史:任务支持评论与变更历史(不记录暂存),依赖底座能力

解决方案: EIM
应用域: 生产管理 - PM
应用名称: 项目管理 - ProjectManagement
估算定价: 4800 元/年

名词释义
里程碑项目里具有重大意义或可交付物达成的事件,用以检查进度是否延迟。里程碑也是任务的一种,常见的有:冲刺里程碑(每迭代结束)、发布里程碑(版本就绪)、项目里程碑(关键阶段)、质量里程碑(测试/性能达标)
项目冲刺冲刺是敏捷项目管理的核心节奏,指一个时间短、边界清的工作段,团队在此期间完成既定用户故事并产出可用成果
treeView-beta
生产管理/
    工作台
    项目管理
        项目清单__项目看板__项目地图 ##复用【实施项目】菜单
        项目计划__项目里程碑 ##总体计划起止时间,关键时间节点(里程碑)
        项目团队 ##项目组成员及成员角色管理,用于资源分配、任务通知、团队成员看板等
        资源类型 :::postpone icon(ph:empty) ##暂不实现
    任务管理
        我的任务__团队任务__任务看板 ##将项目进行WBS任务分解,评估任务工时、依赖关系,并分配人员、资源
        项目冲刺(项目迭代) ##在指定时间内,完成一定的任务集合,实现快速迭代
        任务甘特图 ##以横道图的形式呈现,直观反映任务的前后顺序、任务排期等情况
        燃尽图 :::postpone icon(ph:empty) ##暂不实现
        任务网络图 :::postpone icon(ph:empty) ##暂不实现,以网络图的形式呈现,计算关键路线,了解项目堵点
    统计分析
        项目报告 ##项目总体报告
        月度进度分析 ##按月度进行进度分析
        团队工效分析 ##从团队、团队角色为主体,进行多维度分析
        个人工效分析 ##从个人为主体,进行多维度分析
        资源负载分析 :::postpone icon(ph:empty) ##暂不实现
    基础设置
        任务类型 ##数据字典,*以便根据类型可附加不同的属性字段*
        ………… ##相关数据字典
        工作日历 :::postpone icon(ph:empty) ##暂不实现,用于任务的自动排期
        资源类型 :::postpone icon(ph:empty) ##暂不实现,用于任务的自动排期、资源冲突检测
swimlane-beta
    subgraph 项目经理
        A(建立项目)
        B(任务分解)
        C(任务分配)
        D(项目排期)
        F(临时任务)
        ZE(项目冲刺)
    end
    subgraph PMO
        G(任务点数评估)
        H{里程碑确认}
        O(项目分析)
        Q(进度报告)
    end
    subgraph 执行人
        I(工时预估)
        J(任务开始)
        P(任务更新)
        K(任务完成)
    end
    A --> B --> G --> C --> I --> D --> H -->|同意| J --> P --> K --> O
     --> Q -.->|进度滞后| D
    H -.->|不同意| C
    H -.->|同意| ZE --> J
    F --> C

    classDef branch fill:#E5F6DA,stroke:#569230,color:#111;
    class F,Q,ZE branch;

需求编号 RQ-ProjectManagement-{MMNN}:{MM} 为模块序号(按「功能设计」菜单树顺序,两位补零),{NN} 为模块内需求序号(两位补零)。编号一经分配即锁定,不复用、不回收。

编号需求描述优先级验收标准关联对象
RQ-ProjectManagement-0101工作台「项目概览」展示全部项目数及状态分布(实施中/计划/已完成),以及当前员工「我负责的项目数」「我参与的项目数」P1项目概览的实施中/计划/已完成三项计数之和等于全部项目数;我负责的项目数等于负责人为该员工的 tabPMProject 数tabPMProject.status
RQ-ProjectManagement-0102工作台「任务概览」展示当前员工我负责/我参与的任务数,以及「我的任务量占比 = 我的任务数 ÷ 公司任务总数 × 100%」P2我的任务量占比计算值与公式一致;公司任务总数非零时分母有效tabPMTask
RQ-ProjectManagement-0103工作台「任务完成情况」默认统计最近 90 天(可调整),展示我的任务数/完成数/完成率与公司同口径指标P2切换时间范围后,完成率 = 完成数÷任务数×100% 随之重算且与公司口径一致tabPMTask.status、tabPMTask.end
RQ-ProjectManagement-0104工作台「待办任务」默认统计最近 7 天(可调整),展示待完成任务数与我的任务列表(含数量合计、任务状态)P2待办任务列表仅含计划结束时间在当前范围内且状态非已完成的任务;合计数与列表行数一致tabPMTask.status、tabPMTask.planEnd
编号需求描述优先级验收标准关联对象
RQ-ProjectManagement-0201项目清单表格行提供【设为默认】按钮,将当前员工默认项目设为该项目;已是默认项目的按钮禁用并显示【默认项目】,每员工仅一个默认项目P0点击非默认项目【设为默认】后,该员工原默认项目按钮恢复可点击、新默认项目显示【默认项目】;再次查询该员工默认项目唯一employee.defaultProject、tabPMProject
RQ-ProjectManagement-0202对有权限的项目,可进行项目团队成员的管理与查看,并支持一键复制上级项目团队成员至本项目团队P1在子项目点击「复制上级成员」后,本项目团队成员集合包含上级项目全部有效成员(去重)tabPMPorjectsEmployees、tabPMProject.parent
RQ-ProjectManagement-0203项目计划以日历视图查看有权限的项目(含子项目),按项目状态过滤并显示颜色,默认不显示 #已完成 项目P1打开项目计划日历时「已完成」状态项目不打点;勾选包含已完成后对应项目出现tabPMProject.status
RQ-ProjectManagement-0204项目里程碑以日历视图查看有权限项目下所有里程碑,按里程碑状态过滤显示颜色,默认不显示已完成项目下的里程碑P1默认视图中已完成项目下的里程碑不可见;切换项目范围后里程碑集合与该项目里程碑一致tabPMTask.isMilestone、tabPMTask.status
编号需求描述优先级验收标准关联对象
RQ-ProjectManagement-0301我的任务以计划完成时间正序显示由当前员工负责的任务,默认不显示已完成的任务;支持按任务状态、任务类型快速筛选;可添加我的任务(负责人默认为当前员工)P0我的任务列表按 planEnd 升序;未勾选「含已完成」时列表不含 status=已完成 的任务tabPMTask.planEnd、tabPMTask.status、tabPMTask.employee
RQ-ProjectManagement-0302团队任务以项目为基础管理,个人任务未关联项目的不会显示;项目默认为当前员工默认项目,提供【项目切换】组件切换至有权限项目并设为默认项目;任务以树表视图显示,按计划完成时间排序,按状态多选筛选(默认不含已完成)P0切换项目后团队任务列表仅含该项目任务;未勾选已完成时列表不含 status=已完成tabPMTask.project、tabPMTask.planEnd、employee.defaultProject
RQ-ProjectManagement-0303支持跨项目任务依赖,可直接输入任务编号(以 , 分隔多个),默认依赖关系为 FS;也可弹窗选择有权限项目的任务(默认不含 #已完成、#已关闭)指定依赖关系P1输入「T-001,T-002」后,T-001 的 postTask 含 T-002 且 dependency=FS;弹窗中不出现 status∈{已完成,已关闭} 的任务tabPMTask.preTask、tabPMTask.postTask、tabPMTaskDependences.dependency
RQ-ProjectManagement-0304任务指定/修改负责人时,仅能选择本项目有效的团队成员(enable=是)P1在 A 项目修改任务负责人时,候选列表仅含 A 项目 enable=是 的成员;选择失效成员被阻止并提示tabPMTask.employee、tabPMPorjectsEmployees.enable
RQ-ProjectManagement-0305任务点(storyPoint)估算大于 30 时给出提醒并将任务点字体标红P2将某任务 storyPoint 设为 31 后,该任务点数值显示为红色且出现提醒tabPMTask.storyPoint
RQ-ProjectManagement-0306任务看板以看板视图查看个人/所在项目任务,按任务状态分列,默认不显示 #已完成、#已关闭 任务,支持拖拽变更状态;可按任务类型、优先级筛选P1默认看板不含 status∈{已完成,已关闭} 的任务;将某任务拖拽至「进行中」列后其 status 更新为进行中tabPMTask.status
RQ-ProjectManagement-0307项目冲刺以项目为基础管理,左右两栏显示【项目冲刺】卡片与【冲刺任务】列表;卡片显示名称、计划起止、完成进度%、完成任务数/全部任务数,按计划完成时间倒序;可将多个本项目下状态非 #已完成、#已关闭 的任务加入本轮冲刺P1冲刺卡片进度% = 完成任务数÷全部任务数×100%;加入冲刺时仅可选 status∉{已完成,已关闭} 的本项目任务tabPMSprint、tabPMTask.status
RQ-ProjectManagement-0308任务甘特图以甘特图显示默认项目(可切换/多选项目,状态默认不含 #已完成、#已关闭)的任务;自动排期根据任务依赖关系级联更新后置任务计划起止时间,结果仅暂存、提交后保存;自动级联仅计算当前项目下 status∉{已完成,已关闭} 的任务P0开启自动排期后,修改前置任务 planStart 触发后置任务 planStart 重算;未提交前数据库不变;状态为已完成的任务计划时间不被改动tabPMTask.planStart、tabPMTask.planEnd、tabPMTaskDependences
编号需求描述优先级验收标准关联对象
RQ-ProjectManagement-0401各分析通用统计口径统一:任务进度% = 已完成任务数÷任务总数×100%(#已关闭 默认不计入,可配置);时间进度% = 已过天数÷计划工期×100%(计划工期=planEnd−planStart+1);进度偏差 = 任务进度%−时间进度%;延期率 = 延期任务数÷任务总数×100%(延期任务 = ISNULL(end)? planEnd<now : end>planEnd)P0取一项目代入口径公式,系统计算值与手算一致;切换「计入已关闭」配置后任务进度%分母变化tabPMTask.status、tabPMTask.planStart、tabPMTask.planEnd
RQ-ProjectManagement-0402项目报告以单个项目(默认当前员工默认项目,可切换)为主体输出整体执行状况,分块含项目概况、进度分析、任务分析、团队工效、缺陷分析、风险提示,支持导出 PDFP1打开项目报告后六分块均有数据(或无数据显示占位);点击导出生成 PDF 且内容含当前项目名tabPMProject、tabPMTask、tabPMBug
RQ-ProjectManagement-0403月度进度分析以自然月为周期,对项目/项目集进行进度对比,指标含月度计划/实际完成数、完成率、累计完成率、月末进度偏差、延期任务数,呈现任务进度% 与时间进度% 双线月度趋势P1选择项目与月份范围后,双线趋势数据点数量与月数一致,月末进度偏差 = 当月任务进度%−时间进度%tabPMTask.status、tabPMTask.planStart、tabPMTask.planEnd
RQ-ProjectManagement-0404团队工效分析以团队(项目团队)、团队角色为主体多维分析,指标含任务数、完成率、按期完成率、延期率、故事点、计划/实际工时、工时偏差、缺陷;支持团队间/角色间横向对比P1选择团队与时间范围后,各角色行指标计算正确;切换对比维度后排序随之变化tabPMTask、tabPMSprint.tasks、tabPMBug
RQ-ProjectManagement-0405个人工效分析以成员为主体多维分析,指标含任务数、完成率、按期完成率、延期率、故事点、实际工时、工时偏差、参与项目数、工作负荷;支持成员间横向对比并下钻至个人任务明细P2选择成员与时间范围后,工作负荷的「应完未完数」与按 planEnd≤now 且 status∉{已完成,已关闭} 统计一致tabPMTask、tabPMBug
RQ-ProjectManagement-0406各分析均支持时间范围筛选、项目筛选(按权限)、维度下钻、图表与表格切换、导出;统计默认不含 #已关闭 任务(可配置);无数据时显示「暂无数据」P1在无任务的项目下打开任一分析,界面显示「暂无数据」而非报错;点击导出生成文件tabPMTask.status
编号需求描述优先级验收标准关联对象
RQ-ProjectManagement-0501基础设置提供 PM 相关数据字典的维护入口(当前含「任务类型」,后续可扩展任务优先级、依赖关系、故事点、缺陷等字典),由 PMO 统一管理P1PMO 在基础设置新增/编辑任务类型后,任务表单的 taskType 可选到该字典项;非 PMO 角色无维护权限数据字典 #TaskType(基础设置维护)
RQ-ProjectManagement-0502任务支持评论,仅 PMO 与项目团队成员可评论;任务的变更均可查看历史记录(不记录暂存变化)P2非项目成员对任务评论被阻止;修改任务字段后在历史中可见该次变更记录,暂存态变更不入库tabPMTask(评论/历史,依赖底座)
RQ-ProjectManagement-0503延期的项目、任务、里程碑在界面标红;延期判定为 ISNULL(end)? planEnd<now : end>planEndP1构造一条 planEnd<now 且 status∉{已完成,已关闭} 的任务,其名称/标识显示为红色tabPMTask.planEnd、tabPMTask.status、tabPMTask.end
---
config:
    theme: base
---
erDiagram
    direction LR
    subgraph **生产管理**
        T[tabPMTask任务] {
            long id "ID"
            string code "编号"
            string name "名称"
            md remark "描述"
            kv priority "优先级"
            kv storyPoint "故事点"
            refs? preTask "前置任务"
            refs? postTask "后置任务"
            bool isMilestone "里程碑"
            bool isPostpone "延期"
            ref employee "负责人"
            date planStart "计划开始时间"
            date planEnd "计划结束时间"
            decimal planHours "计划工时"
            date start "实际开始时间"
            date end "实际结束时间"
            decimal hours "实际工时"
            kv status "状态"
            file? files "附件"
            ref? parent "上级"
            refs? children "子级"

            date createdAt "创建日期"
            ref createdBy "创建人"
            date updatedAt "最后修改日期"
            ref updatedBy "最后修改人"

            ref createdOrg "所属机构"
            ref createdDept "所属部门"
        }
        TD[tabPMTaskDependences任务依赖] {
            ref preTask "前置任务"
            ref postTask "后置任务"
            int interval "间隔天数"
            kv dependency "依赖关系"
        }
        S[tabPMSprint项目冲刺] {
            long id "ID"
            ref project "项目"
            string name "名称"
            md remark "描述"
            date planStart "计划开始时间"
            date planEnd "计划结束时间"
            int planDays "计划工期"
            date start "实际开始时间"
            date end "实际结束时间"
            int days "实际工期"
            kv status "状态"
            refs tasks "任务"

            date createdAt "创建日期"
            ref createdBy "创建人"
            date updatedAt "最后修改日期"
            ref updatedBy "最后修改人"

            ref createdOrg "所属机构"
            ref createdDept "所属部门"
        }
        TB[tabPMBug缺陷] {
            long id "ID"
            ref? task "关联需求"
            string version "发现版本"
            kv severity "严重程度"
            kv bugStatus "缺陷状态"

            date createdAt "创建日期"
            ref createdBy "创建人"
            date updatedAt "最后修改日期"
            ref updatedBy "最后修改人"

            ref createdOrg "所属机构"
            ref createdDept "所属部门"
        }
    end
    P[tabPMProject实施项目]
    PE[tabPMPorjectsEmployees项目成员]
    E[employee员工] {
        ref? defaultProject "默认项目"
    }

    P ||--o{ PE : ""
    E ||--o{ PE : ""
    P ||--o{ T : "任务全集"
    P ||--o{ S : ""
    S }o--o{ T : "任务子集"
    T ||--o| PE : ""
    T ||--o| TD : "依赖关系"
    TD ||--|| T : ""
    T ||--o| TB : ""
  • 项目经理、成员为角色,由本业务维护
  • PMO 为群组,由组织机构维护
功能项目经理成员PMO
工作台✓✓✓
项目团队管理,限所在项目查看,限所在项目✓
项目任务管理,限所在项目管理,限本人任务✓
项目冲刺管理,限所在项目查看,限所在项目✓
统计分析限所在项目限所在项目✓
基础设置——✓

权限实现时须注意:团队成员如果无效,视为非本项目成员

无

  1. 通用约定:
    1. 区分两类动作:提醒 = 发送至指定个人的系统消息;通知 = 发送至群聊的消息
    2. 本节涉及的指标口径(完成率、任务进度%、时间进度%、应完未完、延期等)统一按3. 业务逻辑及设计 → 统计分析 → 统计口径执行
    3. 员工离职、团队成员失效时,不再发送相应提醒
    4. 禁用依赖应用【实施项目】中标※号的提醒通知规则,以本节规则替代
  2. 事件触发(实时):
    1. 新建任务时,提醒项目负责人:新建任务,任务名称、计划开始时间-计划完成时间、优先级
    2. 项目添加成员时,提醒被添加的员工
    3. 任务分配负责人时,提醒被分配的员工;任务修改负责人时,提醒新/原负责人
    4. 项目/冲刺已完成,提醒项目负责人及PMO成员:本项目/本轮冲刺已完成/关闭,任务完成数/任务总数、任务进度%
    5. 任务完成时,提醒项目负责人:任务已完成,本项目/本轮冲刺任务完成数/任务总数、任务进度%
  3. 到期预警(按提前量触发):
    1. 项目计划完成时间前 30d/15d/7d/1d,提醒项目负责人,附加任务完成情况及进度%
    2. 项目冲刺计划完成时间前 15d/7d/1d,提醒项目负责人:本轮冲刺 已过天数/计划工期、时间进度%,任务完成数/任务数、任务进度%
    3. 任务计划完成时间前 15d/7d/1d,提醒任务负责人
    4. 任务计划开始前 1d,提醒任务负责人
  4. 周期报表(定时发送):
    1. 每日 21:00,发送通知到生产群:今日完成任务数/计划完成数、完成率%,有任务延期的 @员工
    2. 每周一 9:00,发送通知到生产群:上周任务完成数、完成率,本周计划完成数;并附表格:@员工、上周完成数、上周完成率%、本周计划完成数、截止当前应完未完数
    3. 每月 1 日 / 每周一,发送本月/本周计划完工的项目表格至生产群:项目名称、@各项目负责人、已过天数/计划工期、时间进度%、任务完成数/任务数、任务进度%
    4. 每月 1 日 9:00 / 每周五 19:00,发送提醒至 上月/最近 7 天 有任务的员工:该统计周期内 任务完成数/计划数、完成率%,截止当前:应完未完数、未完成总数
  • 任务:tabPMTask.code : {project.fullCode}-0001
  • 任务:tabPMTask.files : 项目管理/{project.date(yyyy)}/{project.longName}/任务
  • 应用:
    • 强依赖:有巢脚手架(v0.5.2.20260825)、实施项目(1.0.0.20260829)
    • 弱依赖:
  • 插件:甘特图(待开发)
  • 通用定时提醒

任务类型 #TaskType | 分类:生产管理/PM

名称编码启用颜色图标父级编码说明
需求011#1677ff系统
缺陷021#13c2c2系统,可扩展定义

任务状态 #TaskStatus | 分类:生产管理/PM

名称编码启用颜色图标父级编码说明
未开始011#95de64
规划中021#73d13d
进行中031#52c41a
验收中041#389e0d
已通过051#237804
已完成061#135200
已关闭071#092b00

任务异常 #TaskAnomaly | 分类:生产管理/PM

名称编码启用颜色图标父级编码说明
阻塞011#ff4d4f
挂起021#faad14
取消031#d9d9d9

优先级 #TaskPriority | 分类:生产管理/PM

名称编码启用颜色图标父级编码说明
高011#f5222d
中021#fa8c16
一般031#d4b106
低041#52c41a

任务依赖关系 #TaskDependence | 分类:生产管理/PM

名称编码启用颜色图标父级编码说明
完成-开始FS1#1677ff系统
开始-开始SS1#1677ff系统
完成-完成FF1#1677ff系统
开始-完成SF1#1677ff系统

任务故事点 #StoryPoints | 分类:生产管理/PM

名称编码启用颜色图标父级编码说明
0.50.51#1677ff系统
111#1677ff系统
221#1677ff系统
331#1677ff系统
551#1677ff系统
881#1677ff系统
13131#1677ff系统
20201#1677ff系统
40401#1677ff系统
1001001#1677ff系统
9999991#1677ff系统

缺陷严重程度 #BugSeverity | 分类:生产管理/PM

名称编码启用颜色图标父级编码说明
致命011#a8071a
严重021#cf1322
一般031#f5222d
提示041#ff4d4f
建议051#ff7875

缺陷状态 #BugStatus | 分类:生产管理/PM

名称编码启用颜色图标父级编码说明
新建011#1677ff
确认021#13c2c2
进行中031#52c41a
已拒绝041#fa541c
已解决051#a0d911
已验证061#722ed1
已关闭071#2f54eb
重新打开081#eb2f96

缺陷解决方法 #BugResolution | 分类:生产管理/PM

名称编码启用颜色图标父级编码说明
无需解决011#1677ff
无法重现021#1677ff
延期解决031#1677ff
已修改041#1677ff
  1. 表名 tabPMPorjectsEmployees 拼写疑似错误(Porjects),建议统一为 tabPMProjectsEmployees,需同步修改《实施项目》《产值计价》实体关系
  2. 利润中心字段名在三份文档不一致(实施项目:profitCenter / 产值计价:profit / 草稿:CPC),需统一
  3. 实体关系中原 kv-TaskStatus status 语法错误已修正为 kv status;isPostpone "延期???" 已修正为 isPostpone "延期"
  4. 外部表(实施项目 tabPMProject、项目成员 tabPMPorjectsEmployees、员工 employee)已移出 生产管理 子图,仅保留本应用所需关系字段;员工.默认项目 作为本应用注入字段保留
  5. 数据字典 缺陷解决方法 原文档标注「???」(不确定),已按合理默认补充
  6. 文件存储目录 {project.date(yyyy)} 中 date 取值字段(创建日期 / 计划开始时间)待确认;原「Markdown 图片上传目录」未明确,已删除
  7. 应用代码已由 PM 统一为 ProjectManagement(20261009),与《项目信息》(project.md) 的 Project 区分,二者 RQ 编号空间互不冲突;PM 仍为本应用域代码、表前缀 tabPM
  8. 优先级字典原编码 #Priority 与汇总清单在线的行政管理/OA #Priority(P0-P4)语义不同(本应用为 高/中/一般/低),已改名为 #TaskPriority 以免与系统字典重码,需确认
  9. 数据字典原「标准来源:自定义」按规范删除(自定义非标准,不显示标准来源字段);各新增字典分类统一标注「生产管理/PM」
  10. 估算定价 4800 元/年,按频次 5 / 价值 4 / 复杂度 4 测算,需确认

按 2026-10-09 版《需求分析设计文档规范》重新优化:§3.3 业务逻辑及设计改为带编号需求清单 RQ-ProjectManagement-0101~RQ-ProjectManagement-0503 共 25 条;数据字典补「启用」列并统一标注「分类:生产管理/PM」,删除无标准来源的「标准来源:自定义」,优先级字典 #Priority 因与系统 OA #Priority 语义不同改名为 #TaskPriority;应用代码由 PM 统一为 ProjectManagement;清理并更新待确认事项

按《需求分析设计文档规范》重构:补全功能清单/核心机制/应用元数据,规范 mermaid 与实体关系(外部表约束、默认字段、语法修正),数据字典补齐名称/编码/颜色/图标/父级编码五要素并按任务/缺陷分类,新增待确认事项

初始版本