Commit Graph
219 Commits
Author SHA1 Message Date
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
zlwuandCursor 199b401dad chore: update graphify after oa condition-from-form
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 17:09:45 +08:00
zlwuandCursor 638c4184d2 feat(oa): visual condition rules driven by form field flags
Mark eligible form fields for condition branches with required lock,
and replace formula inputs with a field/op/value editor in the flow designer.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 17:09:23 +08:00
zlwuandCursor 9ae239347a feat(oa): validate visual condition rules on publish
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 17:03:13 +08:00
zlwuandCursor e1c41af308 feat(oa): add condition field helpers and rules-match tests
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 16:59:08 +08:00
zlwuandCursor e22be666f0 docs(oa): add implementation plan for form-driven condition branches
Breaks the approved design into backend publish checks, form designer
flagging, and visual FlowDesigner rule editing tasks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 16:53:33 +08:00
zlwuandCursor 23907a544b docs(oa): design form-driven visual condition branches
Spec and mockup for marking form fields for conditions and configuring
branches with field/op/value UI instead of raw formulas.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 16:48:58 +08:00
zlwu 28e59a2262 提交 2026-07-15 16:20:48 +08:00
zlwuandCursor c9711d0dce feat(oa): terminate on return and copy form to start a new instance
Align with DingTalk: returned/rejected/cancelled are terminal; progress
shows return on the approver task only; done list includes returned;
deprecate same-instance resubmit and source-instance linking.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 15:19:20 +08:00
zlwuandCursor 8b2d8284c7 docs(oa): align return/reject/cancel with DingTalk copy-new-instance
Supersede same-instance multi-round return and source-instance linking;
document copy-form restart for returned, cancelled, and rejected.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 15:13:11 +08:00
zlwuandCursor 26800865cd feat(oa): add return, resubmit, and multi-round approval progress
Align with DingTalk semantics: reject ends the instance, return keeps it for initiator edits, and revoke-and-resubmit creates a linked new instance. Progress timeline projects rounds via oa_instance_event.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 14:53:52 +08:00
zlwuandCursor 265d790ea6 feat(oa): render instance detail progress from API projection
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 14:38:39 +08:00
zlwuandCursor 98beade090 feat(oa): project approval progress for instance detail
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-15 14:34:33 +08:00
zlwuandCursor 53e6be2a73 docs: add DingTalk-style OA approval module design.
Capture the approved redesign for an independent OA approval module with four-step config, approval center, and a Python engine, replacing the unused X6 workflow path.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-14 16:02:32 +08:00
zlwu 6eea13370c 提交 2026-07-14 13:55:11 +08:00
zlwu f90726927e 提交 2026-07-13 12:11:13 +08:00
zlwu df53d05193 提交 2026-07-07 12:32:07 +08:00
zlwu f4bbe3e06e 提交 2026-07-07 11:10:48 +08:00
zlwu 731bbf878a 提交 2026-07-06 20:30:05 +08:00
zlwu b7cd657f32 提交 2026-07-06 19:41:24 +08:00
zlwu cdaa0ac273 提交 2026-07-06 16:59:53 +08:00
zlwu 973176d508 提交 2026-07-06 09:33:50 +08:00
zlwu 3740a7dd80 提交 2026-07-02 12:25:00 +08:00
zlwu 038a60b09e 提交 2026-07-01 16:37:33 +08:00