Commit Graph
242 Commits
Author SHA1 Message Date
zlwu 2de86b0500 提交 2026-07-24 11:55:03 +08:00
zlwu 89fda927a2 提交 2026-07-23 18:01:11 +08:00
zlwuandCursor 91b8dd1aaa fix(oa): align initiator-select picker with flow designer member chips
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 16:27:43 +08:00
zlwuandCursor 4641d333e6 feat(oa): wire start dialog to per-node initiator select in flow preview
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 16:20:06 +08:00
zlwuandCursor eafd3c7d9e feat(oa): allow picking initiator-select users inside flow preview
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 16:14:13 +08:00
zlwuandCursor 624ac87476 feat(oa): switch web-admin OA APIs to initiatorSelectByNode
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 16:11:39 +08:00
zlwuandCursor 5ac5952c55 feat(oa): accept initiatorSelectByNode on start and flow-preview APIs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 16:10:36 +08:00
zlwuandCursor 71424e9dd1 feat(oa): resolve initiator_select per node map in engine
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 16:05:25 +08:00
zlwuandCursor cf270630fe feat(oa): add oa_instance.initiator_select_json for per-node self-select
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 16:00:49 +08:00
zlwuandCursor 1ae72dc659 chore(oa): label transferred status on OA task list pages
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 15:18:27 +08:00
zlwuandCursor 5350db1dc4 feat(web-admin): add OA task transfer action on instance detail
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 15:17:25 +08:00
zlwuandCursor 35c60f95e8 feat(web-admin): show transferred status on OA progress lines
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 15:16:40 +08:00
zlwuandCursor dc54170771 feat(oa): expose POST /tasks/{id}/transfer API
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 15:14:35 +08:00
zlwuandCursor aaff660d56 feat(oa): add transfer_task to reassign pending approval
Close the current assignee's task as transferred and create a same-node pending task for the target user; include transferred in done lists.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 15:12:14 +08:00
zlwuandCursor e06e8be60f docs(oa): add implementation plan for approval transfer
Break transfer into engine TDD, API, progress labels, and detail UI tasks aligned with the approved spec.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 15:06:42 +08:00
zlwuandCursor 2deb0e0539 docs(oa): add transfer action design and interactive mockup
Capture product decisions for replacing the current assignee via close-old + create-new pending task, with optional comment and no app-level switch.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 15:01:55 +08:00
zlwuandCursor ea4ee3e573 feat(web-admin): print OA or/and-sign nodes as per-person text lines
Align PDF flow section with progress UI person-line format.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 14:16:18 +08:00
zlwuandCursor 1e2b903cd7 feat(web-admin): show per-person approval lines on OA progress chain
Render name/opinion/time under multi-approver nodes; hide duplicate node comment.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 14:13:59 +08:00
zlwuandCursor 043e69f818 feat(web-admin): add OA progress person-line formatter for or/and sign
Provide shared plain-text lines (name opinion time) used by progress UI and PDF.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 14:11:36 +08:00
zlwuandCursor f951c12071 docs(oa): add implementation plan for or/and-sign progress and PDF display
Break work into shared person-line formatter, OaProgressChain, and print flow wiring.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 14:09:31 +08:00
zlwuandCursor 569a13a3ea docs(oa): 明确或签/会签在审批进度与 PDF 中的展示规则
统一为纯文本行「姓名 意见 时间」;或签免处理人仍灰显列出;附 HTML Demo 供对照。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-23 14:05:36 +08:00
zlwuandCursor 51ce9d6059 docs(oa): add nested relatedApproval print design, plan, and demos
Records screen count+jump vs print multi-line recursion (max 3 levels)
and links the V1 related-approval spec to the revision.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 23:04:41 +08:00
zlwuandCursor 600adfb6d8 feat(web-admin): print relatedApproval as recursive multi-line blocks
PDF export fetches summaries and renders up to three nested levels with
dedupe, instead of dumping raw instance ids.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 23:04:06 +08:00
zlwuandCursor cba3b0cccd feat(web-admin): add related-approval print block assembler
Pure map-based recursion with maxDepth=3 and visited dedupe; async
wrapper batch-fetches summaries for PDF export.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 23:02:19 +08:00
zlwuandCursor 6bb8621578 feat(web-admin): make nested relatedApproval count jump to first instance
Uses relatedIds from enrichment so screen stays count-only without nested cards.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 23:00:51 +08:00
zlwuandCursor 03b47fb266 feat(oa): emit relatedIds when flattening nested relatedApproval fields
Screen jump and print recursion need the instance id list alongside the
「已关联 M 条」summary text without changing form_data shape.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 22:58:56 +08:00
zlwuandCursor 88982878b2 feat(oa): show attachment URLs in related-approval summaries
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 21:41:51 +08:00
zlwuandCursor 7b4e246100 fix(web-admin): avoid unresolved @form-create/utils unique import
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 17:53:55 +08:00
zlwuandCursor 67cdf76741 docs(oa): add related-approval design and plan progress notes
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 17:03:44 +08:00
zlwuandCursor f68927ce70 feat(web-admin): add relatedApproval FormCreate control with picker UI
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 17:03:29 +08:00
zlwuandCursor 14f00d5d3a feat(oa): persist relatedApproval links with field_key on start
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 17:01:53 +08:00
zlwuandCursor f2bf26cd8b feat(oa): add related-approval candidate and summary APIs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 16:48:53 +08:00
zlwuandCursor 5147d79747 feat(oa): add related-approval flatten and extract helpers
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-22 16:46:21 +08:00
zlwu b8b0446542 提交 2026-07-22 10:43:55 +08:00
zlwu f9c9577843 提交 2026-07-22 09:25:27 +08:00
zlwu c8fe0cdc20 提交 2026-07-21 15:23:59 +08:00
zlwuandCursor 417d6c9c51 docs(oa): 发起审批预览改为钉钉式最终路径规格
条件字段未齐时占位提示,齐后仅展示命中审批链;并在首版预览规格中加交叉引用。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 16:10:55 +08:00
zlwu a4fd31f254 提交 2026-07-16 17:37:26 +08:00
zlwu 846aea70bb 提交 2026-07-16 13:48:58 +08:00
zlwuandCursor 381315173d merge: bring storage-release QC completed filter into OA deploy branch
Default pending tab to QC-complete samples with optional filter.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 12:20:30 +08:00
zlwuandCursor 93d148f2d4 chore: update graphify after storage-release QC filter
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 12:16:18 +08:00
zlwuandCursor 27355b5a5d feat(web-admin): default pending storage release to QC-complete samples
Add QC work-order completion filter on the pending tab (default yes) and
pass qcWorkOrderCompleted to the list API.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 12:15:50 +08:00
zlwuandCursor 1ec3d0d775 feat(storage-release): filter pending list by QC work order completion
Add qcWorkOrderCompleted query param and EXISTS-based sample_code filter
so pending reviews can default to QC-complete samples only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 12:11:25 +08:00
zlwuandCursor 747b8f1c06 docs: add storage release QC completed filter design and plan
Document qcWorkOrderCompleted list filter semantics and implementation steps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 12:11:22 +08:00
zlwu 93a83d260f 提交 2026-07-16 11:45:34 +08:00
zlwuandCursor f6efca8fdf merge: bring storage release review pending/reviewed tabs into OA deploy branch
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 11:42:45 +08:00
zlwuandCursor 730d0300d1 feat: split storage release review list into pending and reviewed tabs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 11:21:08 +08:00
zlwuandCursor d1faab8ae5 feat: add reviewPhase param to storage release review list API
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 11:19:59 +08:00
zlwuandCursor 473f345a46 feat: add reviewPhase filter for storage release review list
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 11:18:05 +08:00
zlwuandCursor b3eaf4b4bd docs: add OA approval PDF export design (DingTalk-style stamp v4).
Locks frontend html2canvas/jspdf flow, list entry points, and stamp mapping before implementation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 17:40:12 +08:00