Commit Graph
100 Commits
Author SHA1 Message Date
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 4849b40594 docs: add implementation plan for standalone payment-info menu
Break the approved design into TDD-friendly tasks for APIs, dual tabs, and per-sample UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 12:53:47 +08:00
zlwuandCursor 33004fe9b9 docs: record standalone payment-info menu and per-sample view design.
Capture the agreed split from protocol-audit tabs, dual flow/sample views, and read-only aggregation APIs before implementation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-05 12:50:01 +08:00
zlwuandCursor f73428dcfd chore: sync graphify after P0 payment/presign and mark Task 10 steps done
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:26:04 +08:00
zlwuandCursor e7677d1661 feat: finish P0 per-sample payment and presign order integration
Wire finance transfer list, protocol view v2 readonly payment, and mark design/plan as P0 implemented.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:25:47 +08:00
zlwuandCursor a9112414c9 feat(web-admin): add presign order UI and menu entry
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:21:23 +08:00
zlwuandCursor fdd2c1fbc3 feat: add presign order CRUD, deposit transfers, and convert API
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:18:32 +08:00
zlwuandCursor c404c168fe feat(web-admin): finance confirm by transfer and remove refund confirm tab
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:17:19 +08:00
zlwuandCursor 4e71a13165 feat(web-admin): per-sample payment UI and refund registration on protocol form
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:13:32 +08:00
zlwuandCursor a328b9ff2d feat: wire protocol bundle to per-sample payment model v2
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 11:08:07 +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 aed7a29c1f feat: expose per-sample payment and transfer finance APIs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 10:59:31 +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
zlwuandCursor ca3d464761 feat: add per-sample payment and presign order schema
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-03 10:52:20 +08:00
zlwu 4928e00423 提交 2026-09-28 10:49:53 +08:00
zlwu b9b4cc2673 提交 2026-09-24 09:59:26 +08:00
zlwuandCursor 8248e5ef15 feat(web-admin): mount instance comment panel on OA detail views
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 21:32:31 +08:00
zlwuandCursor 3cc112c16c feat(web-admin): add OaCommentPanel for instance discussion comments
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 21:31:40 +08:00
zlwuandCursor a1b95b1f0b feat(web-admin): add OA instance comment API clients
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 21:29:19 +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 8d90457cdc feat(oa): add oa_instance_comment table and model
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-20 21:18:59 +08:00
zlwuandCursor a4f00b2839 fix(mobile-h5): correct relative imports for web-qr login page
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 14:15:58 +08:00
zlwuandCursor 66e442e1e8 chore: document wx-qr phone login and refresh graphify
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 14:06:20 +08:00
zlwuandCursor 56ddc212a7 feat: add mini program page for web-admin QR phone login
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 14:05:18 +08:00
zlwuandCursor 6a5d93165b feat: make web-admin login QR-primary with password fallback
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 14:03:48 +08:00
zlwuandCursor f7c5a7477e feat: add mini auth web-qr scanned and confirm endpoints
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:57:04 +08:00
zlwuandCursor 38b11cce35 feat: add web auth wx-qr create and status endpoints
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:53:40 +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
zlwuandCursor 68eb46c47d chore: add wx-qr login config and encrypt exclude paths
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 13:37:35 +08:00
zlwuandCursor 8d296b3da0 fix(web-admin): add icons to region staff action buttons
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:35:03 +08:00
zlwuandCursor 8029477e90 feat(web-admin): add region staff config dialog and list summaries
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:33:00 +08:00
zlwuandCursor d5e5ae52a0 feat(web-admin): add collection region staff API types and clients
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:29:54 +08:00
zlwuandCursor 97c241c1b3 feat(api): expose collection region staff nested CRUD
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:28:59 +08:00
zlwuandCursor 412ec0771f feat(backend): add collection region staff CRUD and list summaries
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:24:03 +08:00
zlwuandCursor 5d456a8696 feat(backend): add BizCollectionRegionStaff model
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:21:41 +08:00
zlwuandCursor 0be6545078 docs(sql): add biz_collection_region_staff migration
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:20:01 +08:00
zlwuandCursor a882bb185e docs: add collection region staff binding implementation plan
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:13:48 +08:00
zlwuandCursor e24b3dbadf docs: add collection region staff binding design and demo
Capture the approved design for region–user binding with multi-leader support, plus an interactive Fresh Mint HTML demo for UI review.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-18 11:09:59 +08:00
zlwu 679285dcc6 提交 2026-09-17 23:49:16 +08:00
zlwu 5623d0125c 提交 2026-09-16 10:27:24 +08:00
zlwu d294ecad84 提交 2026-09-11 21:03:53 +08:00
zlwu 195c89e6b7 提交 2026-09-03 17:12:38 +08:00
zlwu 03226cac2a 提交 2026-09-01 14:22:46 +08:00
zlwu 2cd1194d17 提交 2026-09-01 13:43:14 +08:00
zlwu 2fd826dbe1 提交 2026-09-01 11:32:49 +08:00
zlwu 7e9155fef1 提交 2026-08-31 15:18:18 +08:00
zlwuandCursor 04d462ad43 docs: 标记接种量/冻存时间改造已实现并更新图谱
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 15:00:35 +08:00
zlwuandCursor 2d6b367a67 feat(backend): 生产接收接种量改为 VARCHAR(255) 自由文本
同步模型、API、CRUD 与 SQL 迁移/基线,支持数字与说明文案组合录入。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 15:00:02 +08:00
zlwuandCursor bf6b080240 feat(web-admin): 样本接收弹窗接种量文本输入、冻存仅选日期
共用 SampleReceptionDialog,生产工单与我的生产任务一并生效。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:59:12 +08:00
zlwuandCursor 8a8ababcc0 feat(web-admin): 生产接收接种量改文本、冻存时间改日期展示
字段 kind 与只读格式对齐产品:自由文本接种量、冻存仅 YYYY-MM-DD。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:58:46 +08:00
zlwuandCursor 431d7b9835 docs: 生产接收接种量文本化与冻存仅日期实现计划
按设计拆为字段单测、弹窗、后端 SQL/API、验收四步。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:56:52 +08:00
zlwuandCursor fdd219c1e7 docs: 生产接收接种量文本化与冻存时间仅日期设计
明确接种量改为 VARCHAR(255) 自由文本,冻存时间交互与展示仅保留 YYYY-MM-DD。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:54:22 +08:00
zlwuandCursor 9aa786a8c5 chore: update graphify and mark cascade-complete design implemented
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:42:32 +08:00
zlwuandCursor 8e04d6944a feat(web-admin): cascade-complete work order via conclusion dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:41:59 +08:00
zlwuandCursor 139164c7d2 fix(web-admin): allow finish production task without step or IO gates
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:41:59 +08:00
zlwuandCursor f110f92040 feat(web-admin): support work-order mode on production conclusion dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:41:59 +08:00
zlwuandCursor a7f946450e fix(web-admin): send production work order complete payload in body
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:41:59 +08:00
zlwuandCursor 01e0d99a03 feat(backend): cascade complete tasks and steps when finishing work order
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:40:01 +08:00
zlwuandCursor c6a9745c80 feat(backend): cascade-complete steps when finishing production task
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:37:57 +08:00
zlwuandCursor 29abc79699 feat(backend): require conclusion on production work order complete
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:36:46 +08:00
zlwuandCursor 8054b2abe5 docs: add implementation plan for production cascade complete
Break cascade-complete for production tasks and work orders into backend and web-admin tasks with TDD steps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:34:32 +08:00
zlwuandCursor 5367abf7f2 docs: add production cascade complete design for task and work order
Document cascading status completion when finishing a production task or work order, removing incomplete-step gates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-31 14:30:21 +08:00
zlwu 0d52442902 提交 2026-08-28 17:38:37 +08:00
zlwuandCursor 3d98104455 docs: mark sop fill mint highlight plan progress
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 14:55:18 +08:00
zlwuandCursor 7541b0d762 docs: document SOP fill field mint highlight convention
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 14:53:27 +08:00
zlwuandCursor 8d51457dfa feat(web-admin): highlight SOP fill fields in mint green bold
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 14:51:06 +08:00
zlwuandCursor 1ff4e842df docs: add SOP fill mint highlight implementation plan
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 14:49:42 +08:00
zlwuandCursor a42c16cf93 docs: add SOP fill mint highlight design (scheme D)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 14:48:06 +08:00
zlwuandCursor cbfe592e47 docs: add OA start history design, plan, and UI demo
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 10:56:24 +08:00
zlwuandCursor 3beb7ffb8a chore: update graphify after OA start history feature
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 10:55:54 +08:00
zlwuandCursor 0ec7376989 feat(web-admin): show history button on OA start approval cards
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 10:54:57 +08:00
zlwuandCursor 7cd6a87203 feat(web-admin): add OaAppHistoryDialog for per-app instance history
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 10:53:31 +08:00
zlwuandCursor 107bf66586 feat(web-admin): add fetchOaInstanceHistory API
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 10:51:50 +08:00
zlwuandCursor 38b4d6803f docs(sql): seed oa:start:history:all button permission
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 10:51:28 +08:00
zlwuandCursor 37e8ce52a7 feat(oa): expose GET /instances/history for start-page history
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 10:50:06 +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
zlwuandCursor 416c4a0838 test: add OA instance history list failing tests
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-28 10:44:39 +08:00
zlwu a2d4d3b0d5 提交 2026-08-25 16:47:43 +08:00
zlwu d2290eb92c 提交 2026-08-25 09:19:31 +08:00
zlwuandCursor 848517479d chore: update graphify after temporary QC external target code
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 10:41:54 +08:00
zlwuandCursor ef8a50a52b feat(web-admin): show external target on temporary QC task view section
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 10:41:53 +08:00
zlwuandCursor ae248961cc feat(web-admin): temporary QC external target code UI
Add source toggle in create/edit dialog, API types, and list/detail display.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 10:41:38 +08:00
zlwuandCursor caca786051 feat(backend): persist external target code on temporary QC work orders
Wire create/update API, list keyword search, and response dict field.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 10:40:22 +08:00
zlwuandCursor 562f35a839 feat(backend): resolve temporary QC target cell product vs external code
Extract pure mutual-exclusion helper to avoid circular imports in unit tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 10:38:56 +08:00
zlwuandCursor 83d417b6e6 docs(sql): add external_target_code on biz_qc_work_order
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 10:33:17 +08:00
zlwuandCursor 19b0346f2d docs: add temporary QC external target code implementation plan
Break the approved design into SQL, backend validation, API, and web-admin UI tasks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 10:30:33 +08:00
zlwuandCursor e527b15221 docs: add temporary QC external target code design
Record the agreed approach for hand-entered external QC object codes on temporary work orders.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-20 10:27:58 +08:00
zlwu c7a7b6fa45 提交 2026-08-19 16:33:51 +08:00
zlwuandCursor 08f3b76e24 fix(backend): default empty strings for optional month template codes
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 13:07:00 +08:00
zlwuandCursor 0a5bf28e58 feat: allow empty fields on qc material month template rows
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 13:06:35 +08:00
zlwuandCursor f7ee984d04 docs: add qc material month import design and implementation plan
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 12:50:46 +08:00
zlwuandCursor 6957952b4c feat(web-admin): add qc material month import template UI
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 12:50:37 +08:00
zlwuandCursor e4dcb43d77 feat(api): expose qc material month template endpoints
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 12:47:26 +08:00
zlwuandCursor 3aa8aebc29 feat(backend): add qc material month template CRUD preview and confirm
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 12:46:25 +08:00
zlwuandCursor 1d3f73d3b9 feat(backend): support non-committing qc material create and lookup by code
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 12:46:09 +08:00
zlwuandCursor ca4b9a15c5 feat(backend): add RK+date stock-in number allocator for qc materials
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 12:45:08 +08:00
zlwuandCursor 450b30966d feat(backend): add BizQcMaterialMonthTemplate model
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 12:41:58 +08:00