Commit Graph
320 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 3d88f52e2e feat(backend): match __initiator__ contains in condition groups
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:04:24 +08:00
zlwuandCursor a37bfac213 docs: add OA initiator condition implementation plan.
Cover engine matching, publish validation, and condition editor injection
for system field __initiator__.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:03:15 +08:00
zlwuandCursor a501fb1219 docs: add OA initiator contains condition design spec.
Describe system pseudo-field __initiator__ for workflow branches,
contains-only matching, and publish/engine touchpoints.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:01:56 +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 85322c39e4 feat(backend): evaluate person contains rules in condition groups
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 12:16:08 +08:00
zlwuandCursor 330dd9e2ce feat(backend): validate OA person field and whitelist type
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 12:12:31 +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 e760de4bd3 docs: add OA person select implementation plan with preview notes.
Include FormCreate mobile canvas and preview dialog constraints, plus
start-page flow preview via contains matching.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 12:08:06 +08:00
zlwuandCursor 39d1031f6c docs: add OA person select control design spec.
Capture FormCreate person field (dept-aligned UI), form_data contract,
and contains-only condition branching for workflow.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 12:03:38 +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 221a6fd360 docs: mark OA money field design as implemented
Update status and keep the implementation plan alongside the spec.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 11:11:13 +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 55e4134050 feat(backend): validate OA money field values on instance start
Reject negatives, non-finite values, and missing required money controls.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 11:04:30 +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
zlwuandCursor 98074bf201 docs: add OA money field (amount + RMB uppercase) design.
Captures DingTalk-aligned product decisions for the approval form designer amount control before implementation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 10:48:55 +08:00
zlwu 43d117133b 提交 2026-07-29 17:04:36 +08:00
zlwuandCursor 1b934a2037 fix(outbound-release): use eq_unicode for schedule id EXISTS joins
Avoid Illegal mix of collations when correlating QC/production work orders to infusion schedules in list filters.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 16:36:34 +08:00
zlwu 5d17113e1a 提交 2026-07-29 16:08:34 +08:00
zlwuandCursor 111baacd2d docs: mark outbound release card align-protocol design as implemented
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 16:04:09 +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 745802ce61 docs: add outbound release card align-protocol implementation plan
Rewrite OutboundReleaseReviewCardList to protocol-card DOM and copied SCSS.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 15:58:45 +08:00
zlwuandCursor cccee8e2cc docs: add outbound release card align-to-protocol design and demo
Document reusing protocol-card class names with outbound fields; include HTML comparison demo.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 15:57:05 +08:00
zlwuandCursor df973f6bdb docs: mark outbound release tabs/ready/void design as implemented
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 13:37:59 +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 12df6d6836 feat(outbound-release): add reviewPhase, ready filter, and void hide
List supports pending/reviewed phase, readyForReviewOnly, and always hides schedules whose outbound QC or production WOs are all voided.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 13:34:29 +08:00
zlwuandCursor d3cc76d560 docs: add outbound release tabs/ready/void implementation plan
Break down backend list filters and web-admin tabs/checkbox aligned with storage-release.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 13:32:15 +08:00
zlwuandCursor 5c7372ee06 docs: add outbound release tabs/ready/void design
Align outbound release review with inbound tabs, ready-for-review checkbox, and voided WO list hide.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 13:30:40 +08:00
zlwuandCursor b1cb13fdfe docs: mark storage-release hide-voided design as implemented
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 13:19:41 +08:00
zlwuandCursor 8b18d21c88 feat(storage-release): hide list rows when related docs are void
Exclude reviews whose protocol is inactive or whose inbound QC/production work orders are all voided.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 13:17:13 +08:00
zlwuandCursor a922ad12f4 feat(storage-release): add hide-voided predicate helpers
Document protocol inactive and all-inbound-WO-void semantics for list filtering.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 13:10:12 +08:00
zlwuandCursor 5d15d8ad6f docs: add storage-release hide-voided implementation plan
Break down list SQL filter and predicate unit tests for voided related documents.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 13:06:41 +08:00
zlwuandCursor 3928d9e118 docs: add storage-release hide voided related design
Document list-only hide rules when protocol is inactive or all inbound QC/production work orders are voided.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 13:04:57 +08:00
zlwuandCursor 38f18f1926 docs: mark storage-release ready filter as implemented
Add design spec, plan checkboxes, and interactive filter demo for the pending readyForReviewOnly feature.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 11:25:04 +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
zlwuandCursor 9e5cc9188b feat(storage-release): add readyForReviewOnly list filter
Default pending list can exclude rows with unfinished QC or production work orders via SQL NOT EXISTS.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 11:16:42 +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
zlwuandCursor 40d93934a9 feat: add cell product lineage QC aggregate loader
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 09:54:28 +08:00
zlwuandCursor f2e582b4dc feat: add lineage node flatten helper for cell product QC view
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-29 09:49:35 +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 0a055557cb feat(storage): expose storedOccupancyId on shelf slot enrichment
Enable web-admin batch outbound to call existing remove occupancy API per selected cell.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 19:11:24 +08:00
zlwuandCursor d4c927a8b9 docs: add storage facility batch outbound implementation plan
Break down shelf checkbox selection and serial occupancy remove into backend enrichment and Vue tasks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-28 19:10:29 +08:00