Commit Graph
353 Commits
Author SHA1 Message Date
zlwuandCursor 4ebc2dbe82 feat(oa): add owner person/dept fields with initiator defaults
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 17:54:48 +08:00
zlwuandCursor 3b46b10604 feat(oa): add leave kit with auto duration calculation
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 17:54:48 +08:00
zlwuandCursor b3d267e9ca feat(oa): add overtime kit form components and designer registration
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 17:54:16 +08:00
zlwuandCursor 684f152683 feat(oa): add resignation kit with last_work_day writeback on approval
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 17:51:33 +08:00
zlwuandCursor 958a6a8cb8 docs(oa): mark confirmation kit implemented; unwrap kit in print
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 17:29:40 +08:00
zlwuandCursor fa13440f18 feat(oa): sync initiator user from confirmation kit on approval complete
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 17:28:18 +08:00
zlwuandCursor 493ce698df feat(oa): confirmation kit defaults and confirmation-date linkage on start form
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 17:27:05 +08:00
zlwuandCursor 898a337f96 feat(oa): register confirmation kit (转正套件) in FormCreate designer
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 17:24:06 +08:00
zlwuandCursor b22777fa2d feat(user): add hire_date and probation_months to sys_user and user admin
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 17:22:41 +08:00
zlwuandCursor b1b15da624 feat(oa): add confirmation date month-add helper for 转正套件
Also add the confirmation kit implementation plan.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 17:19:09 +08:00
zlwuandCursor c31ef0e809 docs: add OA confirmation kit (转正套件) design spec.
Capture product decisions for user hire/probation fields, kit composition, auto confirmation date, and post-approval writeback to initiator.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 17:06:21 +08:00
zlwu 310b2efe8a 提交 2026-07-30 15:02:13 +08:00
zlwuandCursor f7d1004e6b feat(oa): CC designer multi-select and preview assigneeTypes support
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 14:30:08 +08:00
zlwuandCursor 835c1c0836 feat(oa): resolve CC tasks with multi-strategy soft union
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 14:28:24 +08:00
zlwuandCursor ef91e189dd feat(oa): validate CC assigneeTypes on publish
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 14:27:25 +08:00
zlwuandCursor 2326f8bf99 feat(oa): add resolve_cc_assignees for multi-strategy CC soft union
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 14:23:05 +08:00
zlwuandCursor 6c4c0184d0 feat(web-admin): allow creating receive accounts from the form select.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 14:09:12 +08:00
zlwuandCursor 1b6ef504ac fix(web-admin): show receive account details as single-line text.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 14:04:36 +08:00
zlwuandCursor a035a9d6ad fix(web-admin): show receive account details below the form select.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 14:02:11 +08:00
zlwuandCursor 054991fbd0 fix(web-admin): use text inputs for bank province/city on receive accounts.
The china-region-tree API is not implemented; store province and city as free text names instead of cascading selects.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:57:21 +08:00
zlwuandCursor a73ea36f9e docs: mark receive account design implemented and refresh graphs.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:54:20 +08:00
zlwuandCursor 0d59627fa3 feat(web-admin): add OA receive account management page.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:53:58 +08:00
zlwuandCursor cf61ce340d feat(web-admin): register receiveAccount FormCreate control.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:49:43 +08:00
zlwuandCursor 4e805f9625 fix(web-admin): harden receive account display helpers.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:49:02 +08:00
zlwuandCursor d946b91dd1 feat(web-admin): add receive account snapshot value helpers.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:46:22 +08:00
zlwuandCursor 947e6ae6f8 feat(backend): expose receive account APIs and form validation.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:45:02 +08:00
zlwuandCursor 9277b9c568 fix(backend): coerce receive account order_num to int or None.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:44:22 +08:00
zlwuandCursor 51f868ea44 feat(backend): add receive account CRUD helpers and validators.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:40:59 +08:00
zlwuandCursor 64fb25d3f6 feat(backend): add OaReceiveAccount model.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:38:42 +08:00
zlwuandCursor 9f796a7b96 docs(sql): add oa_receive_account table and menu.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:37:01 +08:00
zlwuandCursor 563da3626b docs: add OA receive account implementation plan.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:35:36 +08:00
zlwuandCursor 7aef0781a7 docs: add OA receive account management design and mockup.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 13:32:07 +08:00
zlwu ec4b9438b4 提交 2026-07-30 13:08:23 +08:00
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