Commit Graph
100 Commits
Author SHA1 Message Date
zlwuandCursor 6f849cbb36 chore: add OA published form type stats script against zkxw-sc
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 11:57:35 +08:00
zlwuandCursor d92472d2cd docs: narrow OA mobile form spike by zkxw-sc usage and add phase-1 plan.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 11:54:14 +08:00
zlwuandCursor 3c5fb79c30 docs: add mobile OA start-approval design for mini-program web-view H5 forms.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 11:47:13 +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 80ef84e68f test: add failing OA task list filter coverage
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 10:47:56 +08:00
zlwuandCursor 73abb71c65 docs: add OA approval task center filter design and HTML demo
Document server-side filters, instant search UX, and page field matrix for pending/done/mine/cc lists.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-11 10:43:52 +08:00
zlwuandCursor c750072f6f docs: add OA overtime auto-duration implementation plan
Break down holiday cache sync, dual-end hour calculation, and start-form
wiring into TDD tasks aligned with the approved design spec.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 22:52:16 +08:00
zlwuandCursor 2f02a2d0f2 docs: add OA overtime auto-duration and holiday cache design
Capture agreed rules for overtime kit auto/manual hours, ailcc sync
via in-process midnight loop, and dual-end calculation aligned with leave kit.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 22:49:56 +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
zlwuandCursor 89d9471f37 docs: add WeChat login implementation plan for mobile-h5
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 16:22:07 +08:00
zlwuandCursor 3533c42291 docs: add mobile-h5 WeChat login design (openid + phone)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 16:14:42 +08:00
zlwuandCursor 17a1f88626 feat(mobile-h5): wire password login to backend and disable WeChat button
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 15:58:13 +08:00
zlwuandCursor 8efa992e21 feat(mobile-h5): add RSA login body builder with jsencrypt
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 15:57:35 +08:00
zlwuandCursor 2bc7f353f0 feat(mobile-h5): add thin uni.request wrapper for API calls
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 15:55:41 +08:00
zlwuandCursor 25d1b3454b chore(mobile-h5): add API_BASE_URL config for login
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 15:54:23 +08:00
zlwuandCursor 6dd7a95ce8 docs: add mobile-h5 password login API implementation plan
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 15:52:29 +08:00
zlwuandCursor 5e0a1ce0a1 docs: add mobile-h5 password login API integration design
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 15:50:39 +08:00
zlwuandCursor ef259f1f0c feat(mobile-h5): apply scheme B empty state globally
Restyle van-empty as a dashed mint soft card and add optional tip on home and comps demo so all empty states stay consistent.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 15:36:43 +08:00
zlwuandCursor 169781a702 docs: add mobile-h5 empty state design (scheme B)
Record the dashed soft-card empty state as the global van-empty default, with a visual demo for review.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 15:34:24 +08:00
zlwuandCursor 01e4b3b494 docs: link miniprogram login demo and mobile-h5 page
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 14:44:42 +08:00
zlwuandCursor c7794f714b feat(mobile-h5): add logout on workbench for login demo loop
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 14:44:42 +08:00
zlwuandCursor 4420fb570e feat(mobile-h5): register login as launch page
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 14:44:41 +08:00
zlwuandCursor 12ccc346b0 feat(mobile-h5): add employee login page UI (scheme B)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 14:44:41 +08:00
zlwuandCursor da33a4182c style(mobile-h5): add login page SCSS for scheme B layout
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 14:41:37 +08:00
zlwuandCursor fd51a0bee4 feat(mobile-h5): add mock auth helpers for login page
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 14:39:48 +08:00
zlwuandCursor 0989d4ba0a chore(mobile-h5): add WeChat logo asset for login button
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 14:38:45 +08:00
zlwuandCursor e9f4350af4 chore(mobile-h5): track HBuilderX uni-app skeleton files
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 14:03:45 +08:00
zlwuandCursor 031e456614 docs: record mobile-h5 Vant UI design, plan, and demo
Link the workspace UI demo and implementation plan from the
miniprogram UI spec for the unified mobile workbench.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 14:03:36 +08:00
zlwuandCursor 8793fa07cc feat(mobile-h5): add styles, mocks, components, and demo pages
Land Token-based SCSS modules, menu/biz mocks, reusable shell
components, and home plus list/detail/form/comps template pages
aligned with the Vant Weapp UI demo.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 14:03:36 +08:00
zlwuandCursor cfe0e616ab feat(mobile-h5): add design tokens and global style entry
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 14:00:25 +08:00
zlwuandCursor 8a5804aa04 chore(mobile-h5): configure Vant easycom and demo page routes
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 13:59:23 +08:00
zlwuandCursor e5bc54516f chore(mobile-h5): add package.json and @vant/weapp dependency
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-10 13:54:48 +08:00
zlwu a9ba60cf6b 提交 2026-08-06 22:21:14 +08:00
zlwu 6a8c3e750e 提交 2026-08-06 16:54:32 +08:00
zlwuandCursor ac4c3d1886 docs(oa): mark dept condition spec implemented
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 15:41:08 +08:00
zlwuandCursor 6beb243604 feat(oa): tree multi-select for dept condition values
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 15:40:54 +08:00
zlwuandCursor f874447ae2 feat(oa): whitelist dept and ownerDept for condition participation
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 15:40:09 +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 e93edc77f4 chore: update graphify and add drafts inline-edit plan.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 14:58:23 +08:00
zlwuandCursor 3cf2f68b1a feat(web-admin): edit and submit OA drafts in-place via shared dialog.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 14:55:38 +08:00
zlwuandCursor cf009de58a refactor(web-admin): wire start page to OaStartFormDialog.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 14:47:02 +08:00
zlwuandCursor 0dcc05dca7 feat(web-admin): extract OaStartFormDialog for shared start/draft edit.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 14:38:09 +08:00
zlwuandCursor 7a1433a489 docs: add OA drafts inline edit dialog design.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 14:31:11 +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 7af53fc344 chore: update graphify after OA app icon ep pastel.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 13:19:43 +08:00
zlwuandCursor 7e166de4b1 feat(web-admin): show ep pastel icons on start and designer.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 13:16:11 +08:00
zlwuandCursor 542f449b37 feat(web-admin): wire OA apps page to ep pastel icon picker.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 13:13:42 +08:00
zlwuandCursor 0cbfa7bb91 feat(web-admin): add OaAppIconPicker for ep palette and upload.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 13:11:16 +08:00
zlwuandCursor e4279dc953 feat(web-admin): add OaAppIcon display for ep and image URLs.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 13:07:25 +08:00
zlwuandCursor bfb495ee77 feat(web-admin): add ep: pastel OA app icon URL helpers.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 13:03:46 +08:00
zlwuandCursor 9193908400 docs: add OA app icon ep pastel implementation plan.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 12:58:58 +08:00
zlwuandCursor 0853777fdf docs: add OA app icon pastel + Element Plus design and demo.
Capture the approved encoding (ep:Icon|#bg), 8-color palette, picker UX, and interactive HTML demo for implementation planning.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 12:54:27 +08:00
zlwuandCursor 01d4fcf12f chore: update graphify after OA CC unread badge.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 12:19:45 +08:00
zlwuandCursor 98423aad7b feat(web-admin): CC list read filter, mark-read, and batch read.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 12:16:33 +08:00
zlwuandCursor 9c589de6d7 feat(web-admin): sidebar badge for OA CC unread count.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 12:14:42 +08:00
zlwuandCursor 9825d52bfb feat(web-admin): OA CC read/unread API helpers.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 12:12:57 +08:00
zlwuandCursor fbfbaa6d17 feat(api): expose CC unread count and mark-read endpoints.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 12:11:14 +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 4d72231ea3 feat(backend): add is_read fields on OaTask model.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 12:04:00 +08:00
zlwuandCursor 39892c6dc0 docs(sql): add oa_task is_read columns for CC unread badge.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 12:01:14 +08:00
zlwuandCursor 6fd23303d2 docs(oa): add CC unread badge implementation plan.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 11:59:52 +08:00
zlwuandCursor 48de4be893 docs(oa): add CC unread badge design and demo
Capture the approved design for sidebar unread counts and read/batch-read flows on 抄送我的, with an interactive HTML demo for UI reference.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-06 11:57:33 +08:00
zlwuandCursor 19c6d06fa0 fix(post): hide stale deleted user ids in post view dialog
Omit redundant field labels and exclude soft-deleted users from post bindings.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 14:43:35 +08:00
zlwuandCursor a330903625 fix(web-admin): skip auto-icon on post name list links
Post names containing 查看 were matched by global button auto-icon rules.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 14:39:25 +08:00
zlwuandCursor 3e60ed56f0 feat(post): list name link and show bound user names
Enrich post list with boundUserNames and open view dialog from the name column.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 14:33:52 +08:00
zlwuandCursor 45ada351ba docs: add post list name-link and bound users plan
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 14:29:48 +08:00
zlwuandCursor a9298ac6ea docs: add post list name-link and bound users design
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-05 14:28:42 +08:00
zlwuandCursor 4d3fed3215 chore: ignore local PID files and Graphify AST/incremental caches
Stop tracking runtime PID and regenerable Graphify cache/state so they no longer clutter git status.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 17:52:36 +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 a3c73d76bb docs(oa): mark trip kit design as implemented
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 20:03:53 +08:00
zlwuandCursor 29b11743e7 feat(oa): wire trip kit duration sync on approval start
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 20:03:19 +08:00
zlwuandCursor 8294361817 feat(oa): register tripKit in FormCreate designer
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 20:02:33 +08:00
zlwuandCursor 0101e46ed9 feat(oa): add tripItinerary FormCreate control
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 20:00:54 +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 14219b9a52 feat(oa): add trip kit half-day duration helpers
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 18:26:38 +08:00
zlwuandCursor 1ef4385608 docs(oa): add trip kit implementation plan
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 18:22:01 +08:00
zlwuandCursor feec1ca0bf docs(oa): add trip kit (出差套件) design spec
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-30 18:16:27 +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 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