Commit Graph
225 Commits
Author SHA1 Message Date
zlwuandCursor 22be6d8b36 feat(oa): add initiator system field to condition branches
Allow __initiator__ contains matching in publish validation and the
flow designer candidate list, excluding it from form useInCondition locks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:07:44 +08:00
zlwuandCursor cf069c74ec feat(oa): add person select control with contains conditions and print
Register FormCreate person field (dept-aligned UI), enable contains-only
workflow conditions, and format person values in print/related summary.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 12:18:19 +08:00
zlwuandCursor 6aa6c6e73e feat(web-admin): add OA person value normalize helpers
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 12:09:45 +08:00
zlwuandCursor be41e8f202 feat(web-admin): mobile-friendly OA money field for phone preview
Add decimal inputmode, taller touch targets under 768px, and wrapping uppercase; document phase-1 vs phase-2 mobile scope.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 11:15:40 +08:00
zlwuandCursor b5c4ba4c4f feat(oa): format money fields in print and related-approval summary
Show formatted amount with optional uppercase on print; summary uses numeric text.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 11:11:13 +08:00
zlwuandCursor 8e98ffe950 feat(web-admin): register OA money field with uppercase display
Add DragRule, dual-host FormCreate setup, and AmountInput runtime with optional RMB uppercase.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 11:11:13 +08:00
zlwuandCursor 0a24f707bf fix(web-admin): avoid duplicate 零 in RMB uppercase for yi+rest
Add regression tests for 亿到元段间零填充。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 11:01:33 +08:00
zlwuandCursor e6d7eecdc6 feat(web-admin): add RMB uppercase converter for OA money field
Pure function with node:test coverage for zero, jiao/fen, and range limits.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 10:56:03 +08:00
zlwu 5d17113e1a 提交 2026-07-29 16:08:34 +08:00
zlwuandCursor 20e3022f07 style(web-admin): drop unused protocol-card block modifiers on outbound cards
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 16:03:48 +08:00
zlwuandCursor 6445e51523 feat(web-admin): align outbound release cards with protocol-card layout
Reuse protocol-card class names and structure; map outbound fields into aside and three sections.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 16:02:28 +08:00
zlwuandCursor 5e9e81d28e feat(web-admin): outbound release pending/reviewed tabs and ready checkbox
Match storage-release review UX for pilot/basic-experiment outbound release lists.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 13:37:13 +08:00
zlwuandCursor 63074c0032 feat(web-admin): pending storage-release ready checkbox filter
Replace QC-completed select with show-all checkbox; request readyForReviewOnly when unchecked.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 11:21:21 +08:00
zlwu 3317d4a077 提交 2026-07-29 10:26:07 +08:00
zlwuandCursor 56cee052d4 docs: add lineage QC design/plan and pass project fields to material dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 09:56:08 +08:00
zlwuandCursor 33c4408557 feat: expose lineage QC API and wire viewer in outbound material dialog
Add GET /cell-products/{id}/lineage-qc, frontend client, readonly dialog,
and a 查看质检 action on outbound cell rows.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 09:55:51 +08:00
zlwu b569643581 提交 2026-07-28 21:33:15 +08:00
zlwuandCursor b105bd9b7d chore: update graphify and mark batch outbound plan complete
Refresh knowledge graphs after storage facility batch outbound changes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 19:15:35 +08:00
zlwuandCursor 9978ae7724 feat(web-admin): add shelf cell checkboxes for batch outbound
Occupied cells show always-on checkboxes; body click still opens detail dialog.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 19:15:05 +08:00
zlwuandCursor 789c6443f3 feat(web-admin): add batch outbound selection state and toolbar
Wire selected slots map, confirm dialog, and serial remove occupancy calls on storage shelf.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 19:13:26 +08:00
zlwuandCursor d323e09894 chore: track app.pid and misplaced graphify AST caches
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 18:48:07 +08:00
zlwuandCursor d51bbad12d chore(web-admin): update graphify after qc conclusion and storage facility changes
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 18:46:39 +08:00
zlwuandCursor a3af039e74 feat: 质检工单结论、库位批量/筛选与协议样本接收质检摘要
落库并展示质检工单级结论(可编辑/任务派生),库位树支持批量新增子节点与货架格子检索,协议/捐赠列表补充接收与门禁质检摘要,并同步生产物料与工单卡片展示优化。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 18:46:24 +08:00
zlwuandCursor f554d77e59 chore(web-admin): update graphify after product-lines batch fill
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 18:33:20 +08:00
zlwuandCursor d620d5d857 feat(web-admin): enable copy-first and batch slot fill on cell product create
Keep inbound product-lines UX consistent with task output dialog.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 13:35:59 +08:00
zlwuandCursor 3079d5da7e feat(web-admin): enable copy-first and batch slot fill on task output dialog
Speed up multi-line cell product inbound entry in production task execution.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 13:35:59 +08:00
zlwuandCursor 0c24165922 feat(web-admin): add product-lines batch storage slot fill dialog
Pick same-box start/end slots and resolve fill targets for empty lines.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 13:35:59 +08:00
zlwuandCursor eae8743826 feat(web-admin): add storage slot range-fill helpers for product lines
Pure functions for copy-first-row attrs and same-box start/end slot pick.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 13:33:32 +08:00
zlwuandCursor e6c8a9c88d feat(web-admin): expose facilityNodeId on storage slot select options
Needed so batch start/end fill can verify slots belong to the same box.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 13:30:56 +08:00
zlwu bff544404f 提交 2026-07-27 19:47:13 +08:00
zlwuandCursor 51f205e89b fix(oa): skip dept tree fetch inside form designer iframe
oa-fc-host has no Pinia/auth; mounting OaDeptSelect previously called
fetchDeptTree and surfaced false network errors when dragging the control.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 18:43:01 +08:00
zlwuandCursor 2e6e1f47d6 feat(oa): add dept select FormCreate control with print formatting
Register type=dept on main app and oa-fc-host, with PC tree-select and
narrow drawer pickers storing {id,name} path snapshots; format dept values
in print and related-summary flatten.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 18:32:44 +08:00
zlwuandCursor d5b0f2d797 chore(graphify): sync knowledge graph artifacts after protocol fix
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 17:50:02 +08:00
zlwuandCursor 57487fd0dc fix(protocol): save DJ pay details without blocking on due-sum mismatch
Persist payment before samples to avoid consuming sample codes on validation failure, soft-delete samples on create rollback, and surface DJ due-amount mismatch as a hint only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 17:49:36 +08:00
zlwuandCursor f661d40f3a feat(oa): add auto-pass-when-approver-is-initiator advanced switch
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 17:43:39 +08:00
zlwu 7f4c9720e9 提交 2026-07-25 09:37:24 +08:00
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 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 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 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