Commit Graph
100 Commits
Author SHA1 Message Date
zlwuandCursor af992b5680 fix: drop 付款确认中 from sample payment progressStatus
Sample-level 缴费进度 is now only 待缴费 / 部分已缴 / 已缴清.
Transfer jfqrz still blocks canConfirm but no longer surfaces as progress.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 18:26:36 +08:00
zlwuandCursor cc0b217c89 feat(mobile-oa-h5): align transfer payStatus labels with 付款 wording
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 18:10:14 +08:00
zlwuandCursor 727002761d fix(backend): align pay-status user messages with 付款 wording
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 18:10:14 +08:00
zlwuandCursor a5bf4252b9 chore: rename payment-confirm menu to 缴费财务确认
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 18:10:14 +08:00
zlwuandCursor a6f56f3453 feat(web-admin): rename transfer pay statuses to 付款 wording
Use 已付款/付款确认中/付款完成 for payStatus; keep period money
labels 应缴费/已缴费/欠缴费 unchanged.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 18:10:13 +08:00
zlwuandCursor c71bb5a11c fix(web-admin): align schedule paid/arrears with yjf-only rule
Period 已缴费 now counts only 付款完成 transfers, matching backend
summarize_period.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 18:10:13 +08:00
zlwuandCursor d2bb1e0fa1 test(backend): align market chase assertions with yjf-only paid
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 18:06:22 +08:00
zlwuandCursor b8b20dcebe fix(backend): count period paid amount as yjf only
Align displayPaidAmount/arrears with business rule: 已缴费 excludes
已付款 and 付款确认中 transfers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 18:01:06 +08:00
zlwuandCursor a1be31c694 docs: add payment status and paid-amount semantics implementation plan
Break the confirmed spec into TDD tasks covering backend yjf-only paid
amounts, web/mobile label renames, and menu SQL migration.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 17:50:54 +08:00
zlwuandCursor 06a30ff658 docs: specify payment status labels and paid-amount semantics
Clarify transfer statuses (已付款/付款确认中/付款完成) vs period money
(应缴费/已缴费/欠缴费), with 已缴费 counting only yjf, and rename the
finance confirm menu.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 17:47:48 +08:00
zlwuandCursor 97bf67c962 feat(mobile-oa-h5): rename freight unlink action to 取消运费
Also include the two-button freight config/cancel design spec and plan.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:07:51 +08:00
zlwuandCursor f659ec602e feat(web-admin): align sample-freight page cancel UX with two-button rules
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:07:39 +08:00
zlwuandCursor 8c0cbb8ab8 feat(web-admin): gate protocol freight config and unify cancel dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:07:07 +08:00
zlwuandCursor 75bae974e4 feat(web-admin): add shared freight unlink dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 14:06:28 +08:00
zlwuandCursor d72e28959d feat(web-admin): add shared freight unlink dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 13:49:18 +08:00
zlwuandCursor ce9d836194 feat(web-admin): add freight config sample partition helper
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-12 13:46:54 +08:00
zlwu 55e321f266 docs: document the market card overflow fix. 2026-10-11 16:22:20 +08:00
zlwu 54ec8e1cd1 fix: serialize mobile presign conversion amounts. 2026-10-11 14:02:20 +08:00
zlwu e0dc7f4cee fix: preserve mobile presign decimal precision. 2026-10-11 13:50:47 +08:00
zlwu f761c7021e fix: decouple mobile market API contracts from page routes. 2026-10-11 13:34:03 +08:00
zlwu 06255d1e41 fix: harden mobile presign contracts and authorization. 2026-10-11 13:22:04 +08:00
zlwu 0927a514d2 chore: add the mobile market contract dependency closure. 2026-10-11 13:14:56 +08:00
zlwu 0c4a2408ee docs: add the remaining mobile market parity demo. 2026-10-11 13:04:23 +08:00
zlwu a3a2ffcce0 fix: isolate mobile presign action scopes and transfer locks. 2026-10-11 12:59:22 +08:00
zlwu 7a750e7e81 docs: plan the remaining mobile market parity demo. 2026-10-11 12:51:26 +08:00
zlwu b28ed3e280 feat: add tested mobile presign contracts and form state. 2026-10-11 12:49:21 +08:00
zlwu 702ff0e074 docs: define the remaining mobile market parity demo design. 2026-10-11 12:49:19 +08:00
zlwu 81bda0cb79 fix: scope user organization labels to the current tenant. 2026-10-11 12:37:32 +08:00
zlwu 02d1e16036 fix: scope authentication roles to the current tenant. 2026-10-11 12:25:50 +08:00
zlwu 3f40caa1cd fix: enforce atomic presign status and action transitions. 2026-10-11 12:06:22 +08:00
zlwu 337d31bbe8 feat: integrate required mobile market backend dependencies. 2026-10-11 12:00:52 +08:00
zlwu 7e930c77fd feat: expose complete scoped presign actions to mobile clients. 2026-10-11 11:43:38 +08:00
zlwu 34bf9aa0dc fix: make mobile presign transitions concurrency-safe. 2026-10-11 11:31:24 +08:00
zlwu c5c7e42feb fix: make mobile presign transitions concurrency-safe. 2026-10-11 11:17:06 +08:00
zlwu 8453c9c805 feat: enforce scoped presign deletion and transfer workflows on mobile. 2026-10-11 10:56:06 +08:00
zlwu e8e278be86 docs: plan verified mobile presign parity implementation. 2026-10-11 10:45:55 +08:00
zlwu 99bd4749ea docs: define mobile presign parity design for consistent market workflows. 2026-10-11 10:42:33 +08:00
zlwu d20b9f5a20 docs: record backend graph verification constraints. 2026-10-11 10:25:58 +08:00
zlwuandCursor 3018d05bc4 feat(mobile-h5): show non-prod env stripe on home
Render a short local/test banner above the green header
so the active APP_ENV is obvious before WeChat upload.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-11 10:09:21 +08:00
zlwu 7a6d804cfa fix: honor order numbers in protocol workflow lists. 2026-10-11 10:08:40 +08:00
zlwuandCursor a47a7db7dc feat(mobile-h5): export ENV_BANNER from APP_ENV
Add buildEnvBanner so the homepage can show a non-prod
stripe without hardcoding environment labels.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-11 10:01:42 +08:00
zlwuandCursor f5c999f633 docs: plan mobile-h5 non-prod env banner implementation
Break the approved homepage stripe into TDD tasks for
config mapping and the index page UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-11 10:00:33 +08:00
zlwuandCursor 8c82f6a6dd docs: add mobile-h5 non-prod env banner design
Capture the approved homepage top-stripe approach so local/test
builds are visually distinct before WeChat upload.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-11 09:59:51 +08:00
zlwu 28990e66be test: align API crypto coverage with the AES-GCM protocol 2026-10-11 09:53:48 +08:00
zlwu 5a24f3b433 docs: plan the backend baseline test failure fixes. 2026-10-11 09:49:22 +08:00
zlwu b2ea79710c docs: describe how to resolve the existing backend test failures. 2026-10-11 09:47:52 +08:00
zlwuandCursor daace3ff74 docs: note OA-style UI and placeholder market menu icons
Record that market H5 pages follow OA approval UI patterns, and specialist/manager storage menu icons stay empty until assets are provided.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 22:03:35 +08:00
zlwuandCursor 8ef8981d71 docs: revise market miniapp design for split menus and mobile-oa-h5
Separate specialist/manager menu trees under 移动端菜单, host business pages in mobile-oa-h5 via web-view, and scope data per entry role.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 21:45:26 +08:00
zlwuandCursor b0a4b94d7d docs: add market miniapp role feature design for specialist and region manager
Capture confirmed data scopes, shared module matrix, freight redaction, and non-goals for the on-site mini program.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 21:43:16 +08:00
zlwuandCursor db31990ebe feat: 细胞存储缴费催缴、统一样本信息与协议支付能力增强
汇总近期业务改动:催缴菜单与后端、样本信息快捷登记与进度、运费关联、客户档案扩展、协议优惠/期次与押金划转,并同步 SQL 迁移与管理端页面收敛。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 21:20:37 +08:00
zlwu 2d3472f5c4 docs: document responsive payment detail dialog adjustments 2026-10-10 16:59:16 +08:00
zlwuandCursor f5fdfc6770 chore: update graphify after payment-info detail dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 15:20:13 +08:00
zlwuandCursor 416b1cefa2 fix(web-admin): avoid typed arrow in Vue template for transfer upload
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 15:16:17 +08:00
zlwuandCursor 842aa0847f feat(web-admin): payment-info 缴费明细 dialog with list-mode transfers
Open sample-level detail from the list; manage transfers like
SamplePaymentPanel; remove direct PaymentReceiptConfirmDialog path.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 15:15:56 +08:00
zlwuandCursor ea5fba9dc2 feat(web-admin): add fetchDeletePaymentTransfer API
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 15:14:07 +08:00
zlwuandCursor 628a20dbbd feat(backend): allow soft-delete of dfj payment transfers
Supports 缴费明细 list-mode row delete for draft transfers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 14:58:23 +08:00
zlwuandCursor 5025aa09c2 docs: add implementation plan for payment-info 缴费明细 dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 14:17:28 +08:00
zlwuandCursor 34c8a1a62d docs: add payment-info 缴费明细 list-mode transfer design
Spec and interactive demo for replacing 缴费确认 with a sample-level
detail dialog that manages transfers in SamplePaymentPanel list mode.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 14:16:26 +08:00
zlwuandCursor da63c228f5 docs: align dialog label-top spacing rules with Fresh Mint
Document 4px gap, weight 400, form-grid margin reset, and stock-check exception.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 13:49:28 +08:00
zlwuandCursor de132a7c04 refactor(web-admin): drop redundant label-top overrides in large form dialogs
Rely on global label-top and form-grid margin rules.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 13:46:47 +08:00
zlwuandCursor 674084c511 fix(web-admin): zero form-item margin when form-grid is on el-form
Cover label-top dialogs that put form-grid-* class on the form element.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 13:42:59 +08:00
zlwuandCursor 8b42cf1b90 fix(web-admin): tighten label-top row spacing for all dialog grids
Zero form-item margin inside .form-grid* and add dialog fallback spacing.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 13:39:31 +08:00
zlwuandCursor 60ad9de191 fix(web-admin): lock label-top dialog label spacing and weight
Keep 4px gap and font-weight 400 for vertical form labels.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 13:37:51 +08:00
zlwuandCursor 32c742c1ed docs: add dialog label-top spacing unify spec and plan
Scope B for all label-top dialogs; keep compact 11px stock-check labels as exception.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 13:35:37 +08:00
zlwuandCursor 3edfb9dd86 chore: refresh graphify after transfer remark withdraw.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 12:21:24 +08:00
zlwuandCursor 8cbbd3548b feat(web-admin): transfer remark columns and jfqrz withdraw UI.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 12:19:46 +08:00
zlwuandCursor c860e39363 feat: add protocol payment transfer withdraw API for jfqrz.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 12:17:49 +08:00
zlwuandCursor eb8a76d8d2 feat: add presign transfer withdraw API for jfqrz.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 12:16:58 +08:00
zlwuandCursor d4477f357d feat: add can_withdraw_receipt for jfqrz transfer withdraw.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 12:12:03 +08:00
zlwuandCursor 70fb2219de docs: add transfer remark and withdraw implementation plan.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 12:10:01 +08:00
zlwuandCursor 9444945add docs: add transfer remark and jfqrz withdraw design.
Capture business/finance dual remarks on each transfer and business withdraw from 缴费确认中 while keeping finance_remark.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-10 12:07:20 +08:00
zlwuandCursor bce0a15772 chore: refresh graphify after storage-cert QC info.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:40:41 +08:00
zlwuandCursor df5206454f feat(web-admin): mount unified sample-info page for storage-cert QC entry.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:40:41 +08:00
zlwuandCursor 5d0e3d904a docs: add storage-cert QC info implementation plan.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:40:22 +08:00
zlwuandCursor 500a85465f feat(web-admin): add storage-cert QC view on cell-storage sample-info.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:40:16 +08:00
zlwuandCursor f1dcafd33d feat(web-admin): add storage-cert QC fill entry on QC work-order cards.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:40:16 +08:00
zlwuandCursor df827e4344 feat(web-admin): add shared storage-cert QC fill/view dialog.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:40:16 +08:00
zlwuandCursor 28b10663ee feat(web-admin): add storage-cert QC field metadata and API client.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:40:15 +08:00
zlwuandCursor 5546b7aa73 feat(api): expose GET/PUT sample-storage-cert-qc by sample code.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:37:16 +08:00
zlwuandCursor e194e1ad04 feat(backend): add sample storage-cert QC get and upsert CRUD.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:36:18 +08:00
zlwuandCursor e6763241d1 feat(backend): add storage-cert QC type-key and payload helpers.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:33:50 +08:00
zlwuandCursor e521d781e3 fix(db): keep storage-cert QC model commit free of unrelated model edits.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:32:18 +08:00
zlwuandCursor fac7b87728 feat(db): add biz_sample_storage_cert_qc for storage-cert QC payload.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:31:13 +08:00
zlwuandCursor 55ed0d8929 docs: add storage-cert QC info design and HTML demo.
Capture the confirmed sample-level JSON payload approach, field maps from the Excel sheets, and UI entry points for QC fill and market view.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 12:22:23 +08:00
zlwuandCursor 776031cb4c chore: refresh graphify after protocol-audit list mode.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 10:10:03 +08:00
zlwuandCursor 884d2f4a41 feat(web-admin): switch cell-storage protocol audit to flat sample table.
Replace card list with Excel-aligned columns and protocol-deduped selection.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 10:08:10 +08:00
zlwuandCursor 1e12783a41 fix(backend): drop unrelated pay-status label changes from transferTime commit.
Keep only transferTime exposure for protocol-audit list mode.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 10:02:39 +08:00
zlwuandCursor 38f9822d49 feat(backend): expose payment detail transferTime in protocol summary.
Let protocol-audit list show first-pay times from transfer records.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 10:00:41 +08:00
zlwuandCursor 0da75fb855 feat(web-admin): add protocol-audit sample-row flatten helpers.
Support Excel-aligned list mode for cell-storage protocol audit.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 09:56:42 +08:00
zlwuandCursor 4904508d9f docs: add protocol-audit list-mode implementation plan.
Break work into flatten TDD, payment transferTime, and ProtocolAuditTab table swap.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 09:49:47 +08:00
zlwuandCursor 8f00db9400 docs: add protocol-audit list-mode design and Excel-aligned demo.
Capture the confirmed flat sample-row list for cell-storage protocol audit, including co-storage rule and merged collect date.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-09 09:46:10 +08:00
zlwuandCursor 702c8a2f12 docs: add customer profile expand and overwrite sync plan.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 18:00:02 +08:00
zlwuandCursor e69ddd0d32 docs: add customer profile expand and protocol overwrite sync design.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 17:54:26 +08:00
zlwuandCursor 85b315a0cf chore: refresh graphify after sample freight menu feature
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 10:02:31 +08:00
zlwuandCursor 26fd37e6f9 feat(web-admin): add sample freight menu list with configure dialogs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 10:02:15 +08:00
zlwuandCursor 86ba0c2cd0 feat(web-admin): extend sample-freight API client for menu page
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 10:00:03 +08:00
zlwuandCursor f092b64a33 feat(backend): add sample options for freight config dialog
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 09:59:29 +08:00
zlwuandCursor 971af93132 feat(backend): enrich sample freight list with items and filters
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 09:58:45 +08:00
zlwuandCursor 04eb1e81bd feat: add sample freight menu route and page shell
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 09:51:48 +08:00
zlwuandCursor 68f653eb51 docs: add sample freight menu implementation plan
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-08 09:44:38 +08:00