Commit Graph
88 Commits
Author SHA1 Message Date
zlwuandCursor e7f2dfa4d4 feat: add customer relations API for family and protocols
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 22:26:15 +08:00
zlwuandCursor 910f61ed33 feat: sync mother/father/newborn customers on protocol party save
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-07 16:11:49 +08:00
zlwuandCursor 47f873a3e6 feat(backend): add sample payment progress aggregation helper
Pure function for per-sample list progressStatus, paid/due totals, and canConfirm.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 12:54:48 +08:00
zlwuandCursor 2ff5bc09f9 feat: add protocol-level refund registration API
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:05:29 +08:00
zlwuandCursor 8827ec3804 feat: add sample payment schedule and transfer status rules
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 10:58:21 +08:00
zlwu 4928e00423 提交 2026-09-28 10:49:53 +08:00
zlwu b9b4cc2673 提交 2026-09-24 09:59:26 +08:00
zlwuandCursor 55e1306eba feat(oa): expose instance comment APIs and embed comments in detail
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 21:28:36 +08:00
zlwuandCursor c66bfc75c0 feat(oa): add instance comment create list and revoke service
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 21:27:02 +08:00
zlwuandCursor ea8420b648 feat(oa): enumerate and validate comment form attachment refs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 21:20:58 +08:00
zlwuandCursor 9d4a11339b feat: add WeChat unlimited mini program code generator
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:48:54 +08:00
zlwuandCursor a9b6a73823 feat: add wx-qr login session store with one-time token consume
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:40:20 +08:00
zlwu d294ecad84 提交 2026-09-11 21:03:53 +08:00
zlwu 2cd1194d17 提交 2026-09-01 13:43:14 +08:00
zlwu 0d52442902 提交 2026-08-28 17:38:37 +08:00
zlwuandCursor 32824fdbf5 feat(oa): add list_instance_history with scoped preview fields
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 10:47:44 +08:00
zlwu 1bdf979a70 提交 2026-08-14 16:01:47 +08:00
zlwuandCursor 405808f4dd feat(mini-auth): allow silent wechat login when openid already bound
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 18:13:09 +08:00
zlwuandCursor e0cfd41b1f feat(oa): schedule WeChat MP notifies after approval/cc tasks create
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 18:08:35 +08:00
zlwuandCursor cfb7a227e3 feat(backend): add WeChat service-account template message sender
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-13 18:02:49 +08:00
zlwu 8c49021d38 提交 2026-08-13 14:31:57 +08:00
zlwu 693e8a678e 提交 2026-08-11 11:13:01 +08:00
zlwuandCursor 80138c6388 feat: add filter search to OA pending/done/mine/cc task centers
Support server-side filters (app name, initiator, apply time, instance status)
with Fresh Mint filter blocks and 300ms debounced instant search.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 10:54:59 +08:00
zlwuandCursor efd7efbc69 feat: implement WeChat mini login with openid bind and phone match
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 16:24:19 +08:00
zlwu 6a8c3e750e 提交 2026-08-06 16:54:32 +08:00
zlwuandCursor d2de132853 feat(oa): allow dept and ownerDept in condition publish whitelist
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 15:39:58 +08:00
zlwuandCursor 86dd605ac5 feat(oa): evaluate dept contains in condition rules
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 15:33:41 +08:00
zlwuandCursor f1fad2d27d feat(oa): add dept_contains_match for condition id intersection
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 15:19:32 +08:00
zlwuandCursor de22678c87 feat: ship OA drafts/badges, role dual-track, and test-env deploy tooling.
Add approval instance drafts with menu badges, dual-track user/role read model and role bound names, form-designer outline docs, and bare-metal test deploy scripts. Ignore local test-server credential file.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 13:58:47 +08:00
zlwuandCursor 7f8c163c47 feat(backend): CC task read status in oa_engine.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 12:08:31 +08:00
zlwuandCursor 06db3bc966 feat(permission): replace OA roles with post-bound roles and assignee posts
Unify effective roles via post-role bindings, remove dedicated OA role UI, and update OA assignee resolution plus related SQL/docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 17:41:04 +08:00
zlwuandCursor 33bf0c32a5 feat(oa): add trip kit day calc and submit validation
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 18:30:00 +08:00
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 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 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 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 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
zlwu 310b2efe8a 提交 2026-07-30 15:02:13 +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 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 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 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