Files
QiufengandClaude Opus 4.8 5e51dc3f56 SNAPSHOT W7 已部署稳定态 — 凯迪ERP+OA一体化平台 (MET 73.3%)
恢复点(restore point)。别人改崩后可 git reset --hard 回到此提交。

== 此快照内容 ==
- 后端 oa-backend: 734 控制器 / 711 实体 (Spring Boot 3.2.5 + SQLite, 端口8091)
- 前端 modern-ui/app: Vue3+Vite, 约700页 (构建产物已在 oa-backend/src/main/resources/static)
- 数据库 oa-backend/data/oa.db: 含全部演示数据 (强制入库, 6.6MB)
- 交接文档 go.md + go-code-reference/endpoints/entities/database.md
- 多代理建设脚本 .claude/wf-*.js

== 状态 ==
- 对 凯迪科技ERP_20260507.xlsx 合规 MET ~73.3% (PARTIAL 75: 34可建+6种子/bug+35外部硬天花板)
- 安全: 5轮红队+5轮复检, default-deny分级鉴权, 连续零可利用
- W3~W7 累计补完436缺口; W8末轮(40缺口)为半成品(源码树可编译但未集成)
- 运行: cd oa-backend; java -jar build/libs/oa-backend-0.1.0.jar --server.port=8091; admin/123456

== 排除(gitignore, 可再生) ==
node_modules / oa-backend/build / .jdks / *.log / Backup-ERP-* / 弃用的OFBiz核心(只保留modern-ui)
完整文件夹备份见同目录 Backup-ERP-20260615-191517/ (含上述全部, 仅缺 node_modules)

时间戳: 20260615-191517

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 19:19:15 +08:00

148 lines
25 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# OA 还原度对照 — 差距清单(第1轮)
> 致远 A6-V5 OA(参照)vs 现系统逐模块功能对照。第1轮只读审计产出;第2轮按此修复。
**第1轮基线:10 个原生 OA 模块平均还原度 ≈ 78%**
| 模块 | 还原度 | 差距数 |
|------|--------|--------|
| 知识社区 | 62% | 10 |
| 文化建设 | 68% | 7 |
| HR管理 | 68% | 8 |
| 应用定制平台 | 76% | 8 |
| 协同工作 | 82% | 6 |
| 会议管理 | 82% | 6 |
| 目标管理 | 82% | 5 |
| 文档协作 | 82% | 4 |
| 报表中心 | 85% | 3 |
| 通讯录 | 95% | 3 |
## HIGH15
- **[协同工作] 流程中心模板管理的增删改/设计器/启停为演示态**
- center.vue 的 流程设计器/新建流程/编辑/复制/刷新/进入设计器/启用停用(act, 第103-105行) 全部仅 ElMessage.success(...(演示))。模板数据(templates, 第56-67行)为页面内本地构造的假数据(BPM-T101.. mock), 非来自后端, 查看抽屉只读展示。即模板管理 CRUD 与发布/启停 完全未实现, 仅列表+只读详情可用。
- **[会议管理] 新建会议:参会人/议题/列席部门/会议说明 提交时被丢弃,未持久化**
- create.vue 的 submit() (第87-94行) 只向 oaApi.createMeeting 传 subject/startTime/endTime/roomId/organizer/status。表单虽用 v-model 收集了 form.attendees(参会人)、form.agendas(议题)、form.ccDepts(列席部门)、form.host(主持人)、form.desc(会议说明),但这些字段在提交时全部被丢弃——createMeeting 入参类型(meetings.ts 第42-51行)根本不含这些字段。致远把『参会人』和『议题』列为新建会议的核心要素,此处属于功能未真正落地:填了也不会保存/通知。
- **[目标管理] 项目/任务 缺甘特图(Gantt)**
- 致远 项目/任务 期望 列表+看板+甘特 三视图。project.vue 仅有 view='board'(项目卡片网格) 与 view='tasks'(扁平任务表 ErpDataTable),全文无任何甘特/时间轴视图,也无切换甘特的入口。grep 'gantt/甘特' 在 goal 目录零命中。这是该模块最大功能缺口。
- **[知识社区] 文档中心 - 版本管理 (version management) entirely missing**
- doccenter.vue header subtitle says '文件夹 · 文档 · 版本管理' but there is NO version history. The list/preview only show a static 'V{row.version}.0' string. There is no version-history list, no compare, no rollback, no upload-new-version. The API (oa/api/docs.ts) exposes only getFolderTree/listDocuments/uploadMeta — no version endpoint. mock.ts defines DocVersion/buildVersions but those are never imported by doccenter.vue. 致远's 文档中心 core feature (multi-version with history) is absent.
- **[知识社区] 文档中心 - download is non-functional**
- doccenter.vue download(file) (line 215) only calls ElMessage.success('开始下载…(演示,仅登记元数据)'). No real file download/blob/href. Both the list '下载' button and the preview-drawer '下载' button are dead stubs.
- **[知识社区] 我的收藏 - all action controls are dead (no @click)**
- favorites.vue: page is fully mock (allRows from mock.ts, no API). '新建收藏夹' (line 85), drawer '打开原文' / '移动收藏夹' / '取消收藏' (lines 118-120), and '刷新' (line 102) have NO @click handlers. The ErpDataTable secondary-action '取消收藏' is wired to @primary-action=openRow only — secondary emits nowhere. Nothing is persisted; the whole page is a static view.
- **[知识社区] 文档库管理 - most management actions are dead (no @click)**
- libmgr.vue: lib row buttons '编辑' '权限' '停用' (lines 169-171) have no @click; settings '保存设置' / '重置' (lines 231-232) have no @click; roles '新增角色' / '保存权限' (lines 261-262) have no @click; '新建文档库' dialog '创建' (line 315) just sets libDialogOpen=false without persisting. Only the 分类标签 add/remove (addCat/removeCat) actually work, and that is local-only state.
- **[文化建设] 调查 - 问卷作答/投票 (answer questionnaire / cast vote)**
- /Users/qiu/Desktop/ERP/ofbiz-framework/plugins/modern-ui/app/src/oa/pages/culture/survey.vue only lists surveys, creates surveys, and shows read-only result bars via a drawer (openDetail -> getSurvey). There is NO answer/vote flow: no respondent form, no vote submission, no vote API. The questionnaire form data surveyQuestions (single/multiple/rate/text questions) is defined in mock.ts but is never imported or rendered by any .vue. grep confirms no voteSurvey/submitSurvey/answerSurvey API exists anywhere in src, and community.ts exposes only listSurveys/getSurvey/createSurvey (no vote endpoint). Votes/responseCount come purely from seed data; a user cannot actually participate. 致远's core '作答' operation is missing.
- **[文化建设] 讨论 - 回帖/回复 (post reply to forum thread)**
- discuss.vue lists threads and openDetail navigates to /reader/article?type=discuss&id=, which renders the read-only ErpArticleReader component (its own doc comment: '仅负责展示'). There is no reply composer and no post-reply action on the detail page; reader/article.vue has zero reply/comment handling (only displays replyCount as a tag). The discussReplies mock array in mock.ts is never rendered. So a user can start a thread but cannot reply to one - 致远's forum reply interaction is absent.
- **[HR管理] 工作时间设置 - 保存/重置无功能**
- worktime.vue 第68-70行的『重置』和『保存设置』按钮均无 @click 绑定,无任何保存/重置逻辑,也未调用任何 API;整页表单虽有 v-model 但改动无法持久化。对应致远『工作时间设置』的核心保存操作完全缺失(dead control)。
- **[HR管理] 员工档案管理 - 新建档案按钮被禁用**
- staff.vue 第177行 `<el-button type="primary" :icon="Plus" disabled>新建档案</el-button>` 显式 disabled 且无 @click,无法新增员工档案。致远员工档案管理的新增/录入是核心操作,此处为占位死按钮。
- **[应用定制平台] 运维中心: 头部 保存设置/还原默认 按钮无功能**
- /Users/qiu/Desktop/ERP/ofbiz-framework/plugins/modern-ui/app/src/oa/pages/appdev/ops.vue 第77-78行 <el-button>还原默认</el-button> 与 <el-button type="primary">保存设置</el-button> 均无 @click 处理。五大设置分组(基础/发布灰度/集成数据源/定时任务/安全)的所有表单字段虽 v-model 绑定到本地 ref,但没有任何持久化/保存动作,刷新即丢失,无后端写回。运维配置实质不可保存。
- **[应用定制平台] 运维中心: 数据源 新增/测试连接/编辑 无功能**
- /Users/qiu/Desktop/ERP/.../appdev/ops.vue 第158行 <el-button>新增数据源</el-button>、第176-177行 测试连接/编辑 行操作按钮均无 @click,纯静态。数据源仅为硬编码 dataSources 数组展示,无法新增、测试或编辑——集成与数据源能力为占位。
- **[应用定制平台] 运维中心: 定时任务 新建/立即执行/日志 无功能**
- /Users/qiu/Desktop/ERP/.../appdev/ops.vue 第187行 新建任务、第205-206行 立即执行/日志 按钮均无 @click。jobs 为硬编码数组;致远运维中心的队列与任务调度(手动触发、查看日志)在此不可操作。
- **[应用定制平台] 工作台/运维中心: 字段类型转换(可修改字段类型)未真正实现**
- workbench.vue 第152-156行 fieldConvertChips(文本转日期/数字/日期时间)与第283-286行提示文案均为静态展示,并指向运维中心执行;但 ops.vue 中并无任何字段类型转换的 UI 或操作入口(无对应分组/按钮/接口调用)。致远运维中心的字段类型转换+待执行队列异步处理这一核心运维操作仅有文字描述,功能缺失。
## MEDIUM24
- **[协同工作] 列表页行级「转发」操作缺失**
- CollabListPage.vue 每行只有 办理/查看 一个主操作(ErpDataTable primary-action, showSecondaryAction=false), 没有致远列表行内的「转发」行操作。转发只以批处理工具条按钮形式存在且是演示态(见下条)。
- **[协同工作] 列表批处理工具条按钮为演示态(无真实行为)**
- CollabListPage.vue 第194-198行的 转发/归档/批处理/导出/删除 五个按钮全部 @click="toolbarAction(name)", 而 toolbarAction(第161-163行)只 ElMessage.success(`${name}(演示)`), 不做任何真实操作, 也未与表格选中行联动(表格无多选框)。属非功能控件。
- **[协同工作] 流程督办监控的督办/催办/导出为演示态**
- monitor.vue 中 批量督办/导出报表(urge, 第107-109行) 与行级 督办(onUrgeRow, 第111-113行) 均仅 ElMessage.success(...(演示)), 不发起任何后端催办请求, 也无督办记录留痕。督办是该页核心动作, 实为占位。查看(openInstance->抽屉)是真实的。
- **[会议管理] 附件上传完全缺失**
- 致远新建会议要素含『附件』。create.vue 与整个 meeting 目录无任何 el-upload / 上传控件 / attachment 字段,meetings.ts API 也无附件相关接口。该功能点彻底缺失(非占位,是完全没有)。
- **[会议管理] 会议纪要只读,无法新建/编辑纪要**
- minutes.vue 仅提供列表 + 详情抽屉 + window.print() 打印;无『新建纪要』『编辑纪要』入口,api/meetings.ts 也只有 listMinutes,没有 createMinute/updateMinute。致远的会议纪要支持从已开会议产出/录入纪要并归档,此处纪要数据只能被动展示后端已有记录,无法在前端创建。mine.vue 详情里的『查看纪要』按钮(第306行)只是 router.push('/meeting/minutes') 跳到列表,并不按会议过滤定位对应纪要。
- **[目标管理] 看板并非真正的任务看板(Kanban)**
- project.vue 的『项目看板』实为项目汇总卡片网格(gp-grid, line 244-266),点击卡片下钻到一个扁平任务表格(line 278-286)。任务不能按状态列(待办/办理中/已办结)分列展示,也无法在列间拖拽流转。致远的看板是按任务状态分列的 Kanban,此处未复刻。
- **[目标管理] 工作计划缺 日/周/月 结构化填报**
- plan.vue 页头描述写『日/周/月计划的填报』,但 tabs 是从已存在的 status 字符串动态枚举(line 31-47),并非 日/周/月 分类;新建表单(line 191-216)的『所属周期』是一个自由文本 el-input(line 204),没有 日/周/月 计划类型选择器或按周期的日历式填报。致远的工作计划按日/周/月计划分别列表与填报,此结构未实现。
- **[知识社区] 文档中心 - preview shows only a static placeholder**
- doccenter.vue preview drawer (lines 458-468) renders a fixed 'kn-pv__placeholder' with text '...在线预览(演示,仅登记元数据)'. No Word/PDF/Excel/PPT/image is actually rendered. 致远 offers real online preview; here it is decorative text only.
- **[知识社区] 知识地图 - related-knowledge content is fabricated, not linked to real docs**
- map.vue: mapTree, tagCloud and docRows are hardcoded mock arrays (docRows built via pick()/dateStr from mock.ts, lines 109-118). Only the 4 summary metrics use real listDocuments data. The '订阅' button (line 188) has no handler; tag cloud tags are not clickable to filter; ErpDataTable '查看' primary-action has no @primary-action handler so it does nothing. 致远's knowledge map drills into real knowledge nodes/documents.
- **[知识社区] 我的博客 - compose save and refresh are no-ops**
- blog.vue: '写博客' dialog '存草稿' and '发布' (lines 165-166) both only set composeOpen=false; the compose form (title/category/tags/body) is never submitted anywhere (no API, no mock append). '刷新' button (line 80) has no @click. List/filters/reading work (reading navigates to /reader/article), but creating a blog post is non-functional.
- **[知识社区] RSS订阅 - mark-all-read / refresh / add-feed / favorite are non-functional**
- rss.vue: '全部标记已读' (line 79) and '刷新' (line 137) have no @click; add-subscription dialog '添加' (line 169) just closes without pushing to feeds[]; '收藏' tab count is hardcoded to 3 (line 34) and the star tab returns all articles unfiltered (line 45); secondary-action '收藏' is not handled. Reading an article works (navigates to /reader/article).
- **[文档协作] 在线协同编辑(实时多人协作)**
- create.vue 的正文录入仅为一个静态 el-input type=textareav-model=form.content,第140-149行),保存走 oaApi.createCollabDoc 单次 POST。没有富文本编辑器、版本/修订、在线锁定或多人实时协同(无 WebSocket/协同光标/差异合并)。致远 A6-V5 的“协作文档”核心是在线协同编辑,此处退化为普通单作者表单提交,属功能深度缺口。
- **[文档协作] 文档详情仅只读,无再次编辑/续编入口**
- list.vue 的详情抽屉(第206-248行)为纯只读展示(正文用 div 渲染 current.content),底部只有“关闭”按钮。打开已有协作文档后无法编辑正文、无法增删参与人、无法更新状态——协作文档创建后不可再协作/修改,违背“协同”语义。后端虽有 getCollabDoc,但前端无 update/edit 调用,api/collabdocs.ts 也未提供 updateCollabDoc。
- **[文化建设] 享空间 - 评论 / 转发 (comment / forward on feed item)**
- /Users/qiu/Desktop/ERP/ofbiz-framework/plugins/modern-ui/app/src/oa/pages/culture/share.vue lines 129-130: the comment button (<button ...><ChatLineRound/> {{ f.comments }}</button>) and the 转发 button (<button ...><Promotion/> 转发</button>) have NO @click handler - they are dead controls. Only 点赞 (toggleLike) and text 发布 (publishFeed) actually work.
- **[文化建设] 享空间 - 发布工具: 图片 / 链接 / 话题**
- share.vue lines 80-82: the compose-bar buttons 图片(Picture), 链接(Promotion), 话题(Pointer) have no @click handlers and do nothing - static/dead controls. Image upload and link/topic insertion are not implemented; publishFeed always creates a plain text 动态 with images:0, tags:[].
- **[文化建设] 享空间 - 后端持久化 (no API wiring)**
- share.vue is pure front-end mock: it imports only from ./mock (feedList/feedHotTopics/feedActiveUsers) and never calls oaApi/http. Published feeds, likes, and the 刷新 button all operate on in-memory state; 刷新 (line 99) re-seeds items from feedList, discarding anything the user just posted. Unlike news/notice/discuss/survey which are backed by real APIs, the 享空间 feed has no persistence.
- **[报表中心] 报表管理 - 设计入口/新建报表 (design entry)**
- manage.vue 的文件头注释声明 '报表列表/设计入口',但实际模板里没有任何 '设计'/'新建报表'/'新增报表' 按钮,也没有指向报表设计器的 @click 或路由,全站亦无报表设计/designer 路由。报表清单是对后端 getOverview() 聚合指标的只读罗列,用户无法自定义/创建新报表。致远 报表管理的设计入口能力缺失。
- **[HR管理] 工作时间设置 - 数据为硬编码且不落库**
- worktime.vue 的 schedule/attendance 为本地 reactive 默认值,holidays(第42-49行)为硬编码数组,无 load() 从后端读取、无 onMounted 拉取、无对应 API。节假日『新增安排』按钮(第165行)无 @click,仅删除是本地数组过滤(removeHoliday)。整页为前端独立态,刷新即丢失。
- **[HR管理] 员工档案管理 - 缺编辑/停用/删除等档案维护操作**
- staff.vue 详情抽屉(第208-247行)仅展示『基本信息/联系方式』只读 descriptions,footer 仅『关闭』按钮,无编辑、停启用、删除、调岗等任何写操作;getUser 仅读。相比致远档案详情可维护,缺写能力。
- **[HR管理] 信息项设置 - 编辑/预览表单按钮无功能**
- fields.vue 第186行『编辑』(`<el-button link type="primary">编辑</el-button>`)无 @click,无法编辑已有信息项;第124行『预览表单』按钮无 @click。两者均为死控件。新增(openAdd/saveField)与删除(removeField)有效,必填/显示开关 v-model 有效。
- **[HR管理] 组织机构设置 - 仅只读浏览,无部门增删改/移动**
- org.vue 为组织树+成员只读视图(getDeptTree/listUsers),仅『刷新』按钮,无新建部门/编辑部门/删除/拖动调整层级等管理操作;成员表 primary-action-label="查看" 未绑定 @primary-action 处理函数(为死按钮)。致远『组织机构设置』含部门维护操作,此处缺失。
- **[应用定制平台] 监测中心: 导出报表 与 告警 处理/忽略 无功能**
- /Users/qiu/Desktop/ERP/.../appdev/monitor.vue 第103行 <el-button :icon="Download">导出报表</el-button> 无 @click;第169-170行告警 处理/忽略 行操作按钮无 @click。alerts/apps/trend/health 均为硬编码 mock(仅 KPI 表单模板数 与 刷新 接真实 listTemplates),告警处置与报表导出不可用。
- **[应用定制平台] 监测中心: 时间范围切换不影响数据**
- /Users/qiu/Desktop/ERP/.../appdev/monitor.vue 第100-102行 range 单选(近24h/7天/30天)有 v-model 但 trend/kpis/apps/alerts 全为常量,切换范围不触发任何重算或请求,时间维度筛选为视觉占位。
- **[应用定制平台] 应用管理中心: 应用清单为 mock,导出/权限/版本/停用 仅提示**
- /Users/qiu/Desktop/ERP/.../appdev/appmgr.vue 第71-81行 allApps 由代码生成的假数据(非后端);导出清单(第409行)、应用管理 Tab 刷新(第474行)、抽屉内 权限配置/版本记录/停用(第521-523行) 均调用 notImplemented() 仅弹 info 提示。注意:表单 Tab 是真实的(listTemplates 后端+设计器发布闭环 createTemplate),仅应用维度的发布管理/灰度/停用未实现。
## LOW21
- **[协同工作] 新建事项缺少独立的「选流程」步骤**
- 致远新建为 选模板->填表单->选流程->提交 四步。在 OaCreateItemDialog.vue 中, 使用模板后直接进入填表单对话框(OaFormRenderer v-model)->提交(submitItem), 流程仅通过 OaProcessSpecModal.vue 的「预览」可只读查看(form/flow/spec 三个 tab), 用户无法在发起时选择/调整审批人或流程分支。流程被绑定在模板上, 算可只读可见但不可选, 属功能弱化而非完全缺失。
- **[协同工作] 门户「我的待办」行点击与常用流程入口粒度粗**
- portal.vue 中 collab-todo 每行点击统一 go('/collab/todo')(第80行)而非跳到该条事项的办理详情; 常用流程按钮统一 go('/collab/create')(第108行)不预选模板。功能可达但定位不精确, 属体验性弱化。
- **[会议管理] 会议室日历为只读视图,不支持点位预订**
- room.vue 是一个完成度较高的周/日资源占用日历(含冲突检测、占用时长、详情弹窗),但点击空闲时段不能直接预订,只有顶部『新建会议』跳转到 create.vue。致远会议室预订可在日历上直接选时段下单,此处为间接预订,属轻度差距。
- **[会议管理] 会议纪要列表『关联会议』次操作与『查看』重复**
- minutes.vue 第181-183行 primary-action(查看) 与 secondary-action(关联会议) 都绑定到同一个 openDetail,点击两者行为完全一致,未单独跳转到关联会议;属冗余而非死控件。
- **[会议管理] 快速会议『会议方式』(视频/电话/屏幕共享)为装饰性**
- quick.vue 的 mode 切换(第91-103行)有 @click 且驱动预览/needRoom 逻辑,是活控件;但 start() 仅以 status='进行中' 落库,不区分会议方式、不生成真实会议号/外呼,侧栏『生成会议号、同步日程』为静态文案。对复刻而言可接受,记为低。
- **[目标管理] 主题空间多块为静态mock非后端数据**
- space.vue 中『我的关键目标』objectives 为硬编码数组(line 97-102),『我的待办任务』myTasks(line 105-113) 与『近期工作计划』recentPlans(line 116-124) 由 mock.ts 的 pick/dateStr 生成,未接 oaApi。仅概览瓷砖与『今日日程』走真实 listEvents。门户展示项部分为占位数据。
- **[目标管理] 主题空间 MoreFilled 图标为无功能死控件**
- space.vue line 173 的 <el-icon class="gs-more"><MoreFilled /></el-icon> 带 cursor:pointer 样式但无 @click 处理,点击无任何行为,是装饰性死控件。
- **[知识社区] 知识门户 - global search input is decorative**
- portal.vue: the '全库搜索文档、知识、博客' input has v-model='keyword' but keyword is never read by any computed/handler — no search/filter/submit. The two header buttons '上传文档' and '进入文档中心' both just router.push to doccenter (upload does not open an upload flow).
- **[知识社区] 文档中心 - pagination is static / not wired**
- doccenter.vue el-pagination (line 427) has :total and :page-size=20 but no current-page binding and no @current-change; visibleFiles is rendered in full regardless of page, so paging does nothing.
- **[文档协作] 参与人选择为前端假数据,非真实组织/人员**
- create.vue 的选人弹窗候选人来自硬编码常量 people/depts(第11-12行 candidatePool),并非来自组织架构接口。功能可用(v-model、确认、增删均已接通 confirmPicker/removeParticipant),但人员数据非真实,参与人范围受限于 10 个写死姓名。
- **[文档协作] 无删除/归档/导出等文档生命周期操作**
- 列表页(list.vue)每行操作仅“打开/详情”(均调用 openDoc 打开只读抽屉),缺少删除、归档、导出、转交等常见文档管理操作。状态(编辑中/评审中/已定稿/已归档)仅为创建时下拉选项,列表中无状态流转动作。
- **[文化建设] 新闻/公告 - 子分类 (sub-category classification)**
- news.vue and notice.vue hardcode category to '新闻'/'公告' (the module discriminator only) and offer just 全部/置顶 tabs. 致远 classifies news/notices into sub-categories (newsCategories: 公司要闻/行业动态/党建工作/员工风采/通知速递 and noticeCategories: 行政通知/人事任免/制度发布/会议通知/放假安排/系统维护, both defined in mock.ts) - but the publish dialog has no sub-category picker and the list has no sub-category filter, so the '分类' dimension expected by 致远 is not reproduced.
- **[文化建设] 新闻/公告 - 发布范围 not persisted**
- notice.vue collects a 发布范围 (form.range, multi-select of 全体员工/部门, lines 77-83/180-184) but submitPublish (lines 84-111) never sends it to createAnnouncement (only category/title/content/author/top are passed). The visibility/scope selection is collected then silently dropped.
- **[报表中心] 报表管理 - 报表项均为系统固定聚合指标,非真正可管理的报表对象**
- manage.vue allRows 是 7 条硬编码的指标卡(RPT-FLOW-001 等),由 overview 字段填充。没有编辑、删除、收藏、权限/可见范围设置等报表管理动作,详情弹窗(el-dialog)的 '刷新数据'/'导出清单' 按钮是可用的但不针对单条报表做任何对象级管理。相对致远报表管理的报表对象 CRUD 能力为浅实现。
- **[报表中心] 报表分析 - 缺少时间/维度筛选**
- analysis.vue 顶部 report-analysis__filter 区只有静态标题 '综合运营概览' 和 '数据截至 {{updatedAt}}' 文本,没有时间区间/部门/维度下拉等筛选控件(无 v-model 绑定的筛选器)。图表为当前快照,无法按时间或维度钻取,弱于致远报表分析看板的筛选/钻取交互。
- **[HR管理] 信息项设置 - 拖拽排序为装饰且不落库**
- fields.vue 第154-158行的拖动手柄(Rank 图标)仅为静态图标,无 draggable/sortable 实现,提示文案(第191行)声称『拖动可调整顺序』但实际不可拖动。且所有 fields 为本地 reactive、无 API 持久化,刷新即还原。
- **[HR管理] 统计分析 - 无导出与筛选控件**
- stats.vue 概览卡片/部门分布/状态构成/部门明细均基于真实数据计算且渲染正确,但仅有『刷新』,无导出(Excel/打印)、无时间区间或部门维度筛选;相对致远统计分析功能略简,但核心分析非占位。
- **[应用定制平台] 流程设计器: 条件分支与节点流程为前端 mock,未与后端流程引擎双向同步**
- OaFlowDesigner.vue 与 OaFormDesigner.vue 顶部注释标明为纯前端 mocksave 仅 emit;最终经 appmgr publishTemplate 调 createTemplate 落库(此路径真实有效)。但设计器自身的条件分支/分组等高级编排是否被后端流程执行引擎完整消费、回读编辑既有内置模板流程的保真度,未在本模块内验证,存在轻度功能-引擎一致性风险。
- **[通讯录] 人员头像照片 (avatar photo)**
- 在 /Users/qiu/Desktop/ERP/ofbiz-framework/plugins/modern-ui/app/src/oa/OaContactsPage.vue 第273行,名片抽屉的 el-avatar 仅渲染姓名首字 currentInitial,不显示真实头像照片。致远名片通常含头像。OaUser 类型 (api/org.ts) 也无 avatar 字段。属增强项,非核心字段缺失。
- **[通讯录] 导出 / vCard / 名片导出**
- OaContactsPage.vue 无任何导出按钮(导出 Excel / 导出 vCard)。致远通讯录常见“导出”能力,但不在本次明确的预期范围(树+列表+详情)内。
- **[通讯录] 个人通讯录 / 外部联系人分组**
- OaContactsPage.vue 仅有“全部成员/在职/已停用”三个 tab(基于 enabled 状态),没有致远典型的“单位通讯录 / 个人通讯录 / 外部联系人”分组维度。属范围外增强,不影响所要求的组织架构+人员目录核心。