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>
Break transfer into engine TDD, API, progress labels, and detail UI tasks aligned with the approved spec.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
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>
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>
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>
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>
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>
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>
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>
Breaks the approved design into backend publish checks, form designer
flagging, and visual FlowDesigner rule editing tasks.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
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>
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>