zlwu and Cursor
7ba336169a
fix(mobile-oa-h5): align protocol and chase tags with registry mirror
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 10:01:43 +08:00
zlwu and Cursor
79f9c8785b
fix(mobile-oa-h5): align payment list/detail tags with registry mirror
...
Prefer progressStatus codes and explicit tagType over Chinese heuristics.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 09:57:21 +08:00
zlwu and Cursor
87f1e9a4eb
feat(mobile-oa-h5): add market status-tag registry mirror
...
Mirror Web status-tag-registry for market modules with resolveStatusTag and parity tests.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 09:52:54 +08:00
zlwu and Cursor
a7a5a914f1
fix(web-admin): align freight source and transport tags with registry
...
Use receptionSource and transportType tag types instead of hard-coded success/primary plain.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 09:51:26 +08:00
zlwu and Cursor
920b432491
fix(web-admin): use registry tag types for protocol payMode and auditStatus
...
Align ProtocolViewDialog tags with status-tag-registry instead of hard-coded success/warning.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 09:50:45 +08:00
zlwu and Cursor
b592aaec2e
feat(web-admin): add paymentScheduleStatus to status-tag registry
...
Lift schedule open/cleared/void labels from PaymentBySampleTab so Web and mobile share one source.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 09:47:18 +08:00
zlwu and Cursor
012527ed35
docs: mark payment detail transfer display design as implemented
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 15:24:34 +08:00
zlwu and Cursor
9d7a72673d
feat(mobile-oa-h5): restyle payment schedule transfers as amount-first cards
...
Render schedule cards with metric grids and white transfer cards (amount, method·time, notes) in payment and protocol detail views.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 15:24:25 +08:00
zlwu and Cursor
5ce18e56a0
docs: design payment detail transfer cards as white amount-first layout
...
Capture approved option A demo and implementation outline for schedule/transfer hierarchy in payment detail.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 15:17:21 +08:00
zlwu and Cursor
f045841f1a
fix(mobile-oa-h5): drop duplicate pay-mode tag on protocol detail payment cards
...
Sample payment cards already show 缴费模式 in the field list; remove the redundant status tag beside the sample code title.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 15:11:02 +08:00
zlwu and Cursor
82b8a9c1b2
fix(mobile-oa-h5): slim payment list card fields to a two-column grid
...
Drop protocol number, storage years, and discount amount; remove wide spans so summary fields sit two per row.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 15:08:49 +08:00
zlwu and Cursor
6eafec3fa9
test(mobile-oa-h5): align payment Excel-column parity with periodBlocks
...
Assert installment amount labels on the list card and periodBlocks/footerFields in the presenter.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 15:03:29 +08:00
zlwu and Cursor
321dd3ca43
feat(mobile-oa-h5): collapse payment installment rows on list cards
...
Render periodBlocks as independent expandable summary rows with footer totals after the period section.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 14:41:34 +08:00
zlwu and Cursor
4e586e905b
feat(mobile-oa-h5): present payment periods as collapsible periodBlocks
...
Stop flattening six installment field groups into list cards; emit periodBlocks and footerFields instead.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 14:40:00 +08:00
zlwu and Cursor
bbc24b7c73
docs: add implementation plan for payment card period collapse
...
Break down presenter periodBlocks, MarketListCard UI, CSS, and TDD steps.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 14:26:45 +08:00
zlwu and Cursor
42dde4b0bc
docs: design payment list card period collapse for mobile market H5
...
Spec and interactive demo for collapsing payment installments on list cards (summary row + expand details).
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 14:24:12 +08:00
zlwu
3950b5c334
提交
2026-10-14 12:32:03 +08:00
zlwu and Cursor
a2125374a8
fix(mobile-oa-h5): limit presign detail bottom bar to edit convert delete
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 12:13:23 +08:00
zlwu and Cursor
6e190665c0
test(mobile-oa-h5): expect presign detail actions to be order-level only
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 12:12:59 +08:00
zlwu and Cursor
f040f579d1
docs: design presign detail bottom bar with order-level actions only
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 12:09:18 +08:00
zlwu and Cursor
e16afdee95
feat(web-admin): auto-submit paid earnest transfers after saving presign order
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 12:04:22 +08:00
zlwu and Cursor
e56d8d7f51
feat(web-admin): add presign save auto-submit helpers and silent finance submit option
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 12:02:24 +08:00
zlwu and Cursor
0398cb3897
feat(mobile-oa-h5): auto-submit paid earnest transfers after presign save
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 12:00:48 +08:00
zlwu and Cursor
ee95036666
feat(mobile-oa-h5): add helpers to auto-submit dfj presign transfers on save
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 11:58:11 +08:00
zlwu and Cursor
b217ffcdca
docs: design presign save auto-submit finance confirmation
...
Document frontend orchestration so saving a presign order submits all dfj earnest transfers on web and mobile.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 11:51:11 +08:00
zlwu and Cursor
e4ec917a03
style(mobile-oa-h5): JD-style left status dropdown on presign list
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 10:55:55 +08:00
zlwu and Cursor
63f1d7c2f9
fix(mobile-oa-h5): remove reset button from presign list filters
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 10:53:33 +08:00
zlwu and Cursor
c767373a8f
test(mobile-oa-h5): expect JD-style presign status filter without reset
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 10:51:17 +08:00
zlwu and Cursor
8dd816ee1d
docs: plan JD-style status filter for mobile presign list
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 10:49:47 +08:00
zlwu and Cursor
1c53bcd226
docs: design JD-style status filter for mobile presign list
...
Remove the redundant reset button and adopt a left-aligned lightweight dropdown under the search bar.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 10:49:03 +08:00
zlwu
f5c514c520
docs: plan complete mobile market parity implementation
2026-10-13 19:41:55 +08:00
zlwu
f5daab0d44
docs: define complete mobile market parity scope and boundaries
2026-10-13 19:37:15 +08:00
zlwu and Cursor
a7b8560f5f
feat(mobile-oa-h5): integrate sample payment panel into protocol form
...
Validate and persist samplePayments on cell_storage protocol save.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 15:30:22 +08:00
zlwu and Cursor
3354e66d82
feat(mobile-oa-h5): add ProtocolSamplePaymentPanel for mobile protocol forms
...
Mobile card UI for per-sample pay modes, schedules, and autofill rules.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 15:30:22 +08:00
zlwu and Cursor
20a8bf538a
feat(mobile-oa-h5): wire samplePayments into protocol payload and detail
...
Drop read-only payment stubs; detail shows per-sample payment cards.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 15:30:22 +08:00
zlwu and Cursor
66e1c8334c
feat(mobile-oa-h5): port protocol sample payment helpers
...
Share web-aligned installment autofill and mode-switch helpers for
mobile protocol forms.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 15:28:39 +08:00
zlwu and Cursor
be22c37196
feat(backend): persist and return samplePayments for market protocols
...
Mobile protocol create/update saves v2 per-sample payments; detail
includes samplePayments for edit hydration.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 15:23:24 +08:00
zlwu and Cursor
9c61f36db8
feat(backend): accept samplePayments on market protocol body
...
Whitelist per-sample payment payload for mobile protocol create/update.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 15:21:07 +08:00
zlwu
cc843535f5
提交
2026-10-13 15:18:01 +08:00
zlwu and Cursor
d08f03ab03
docs: add mobile protocol payment parity P1 implementation plan
...
Six TDD tasks covering backend samplePayments, shared helpers, and
mobile ProtocolSamplePaymentPanel integration.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 15:16:32 +08:00
zlwu and Cursor
6d56572f8b
docs: add mobile protocol payment parity P1 design
...
Phased plan to align mini-program protocol payment editing with
web SamplePaymentPanel while keeping admin actions closed.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 15:13:04 +08:00
zlwu and Cursor
618d8fe21c
feat(web-admin): wire fq last-period and dj deadline autofill in SamplePaymentPanel
...
Auto-recalculate the final installment due amount when earlier periods
change (with manual override), and sync lump-sum deadline to due date.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 14:53:11 +08:00
zlwu and Cursor
6ec4ec6730
feat(web-admin): sync lump-sum deadline to last due date
...
Add applyLumpSumDeadlineToLastDueDate for dj payment schedules,
skipping locked or void rows.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 14:50:41 +08:00
zlwu and Cursor
5fd5550e0d
feat(web-admin): add last-period due amount calc helpers
...
Pure functions for fq auto-fill of the final installment amount
with override/lock gates, covered by unit tests.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 14:48:43 +08:00
zlwu and Cursor
13ac45d10d
docs: add protocol payment last-period autofill implementation plan
...
Bite-sized TDD tasks for SamplePaymentPanel fq/dj autofill helpers.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 14:44:51 +08:00
zlwu and Cursor
0efcd6a6e5
docs: add protocol payment last-period autofill design
...
Document confirmed rules for fq last-period due amount auto-fill
and dj lump-sum deadline to due date sync in SamplePaymentPanel.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 14:43:07 +08:00
zlwu and Cursor
08150167a8
docs: mark research donation list excel parity design as implemented
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 13:17:20 +08:00
zlwu and Cursor
6c66eb164e
chore: update backend graphify after monthly verify no
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 13:14:25 +08:00
zlwu and Cursor
99e71096ac
feat(mobile-oa-h5): align research donation protocol card with excel fields
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 13:14:09 +08:00
zlwu and Cursor
0ab0774e8a
feat(web-admin): align research donation audit list with excel columns
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 13:14:09 +08:00
zlwu and Cursor
aa231ea5f8
feat(web-admin): flatten research donation excel-parity list fields
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 13:14:09 +08:00
zlwu and Cursor
bee2c0d193
feat(backend): persist monthly verify no and expose research list fields
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 13:14:09 +08:00
zlwu and Cursor
60efc5d5d3
feat(backend): allocate research donation monthly verify numbers
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 13:11:25 +08:00
zlwu and Cursor
e0ef78925a
feat(db): add research donation monthly_verify_no column
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 12:05:54 +08:00
zlwu and Cursor
56f379dd0c
docs: add research donation list Excel parity implementation plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 12:05:10 +08:00
zlwu and Cursor
c22c9467f5
docs: add research donation list Excel parity design
...
Capture confirmed field mapping, monthly verify number rules, and Web/mini list scope before implementation.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 12:03:04 +08:00
zlwu and Cursor
22a6e1f4e4
docs: add customer-service management design and plan; note mobile follow-up.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 11:04:45 +08:00
zlwu and Cursor
efbf8f6ac9
feat: switch protocol view cert/insurance handle panels to sample level.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 11:04:25 +08:00
zlwu and Cursor
8cebb8e0b8
feat(web-admin): customer-service toolbar and Excel-aligned wide list columns.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 11:02:11 +08:00
zlwu and Cursor
1c225ec89d
feat(web-admin): expand sample quick-register dialog for customer-service kinds.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 10:59:39 +08:00
zlwu and Cursor
ad18204eb9
feat: rename sample-info menu label and extend quick-register client API.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 10:58:23 +08:00
zlwu and Cursor
9c264d7942
feat(backend): enrich cell-storage sample list with customer-service wide columns.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 10:57:55 +08:00
zlwu and Cursor
aeadaa9919
feat(backend): extend sample-info quick-register for sms/followup/fulfillment/all.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 10:56:41 +08:00
zlwu and Cursor
50400ad19c
feat(backend): write storage cert and insurance at sample level in quick-register.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 10:52:45 +08:00
zlwu and Cursor
edabf70287
feat(backend): upsert sample customer-service fields with empty-skip merge.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 10:50:36 +08:00
zlwu and Cursor
d676bfadd7
feat(backend): add customer-service dict list and ensure-on-write helpers.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 10:47:11 +08:00
zlwu and Cursor
eee70e417c
feat(backend): add models for customer-service and sample-level cert/insurance.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 10:45:54 +08:00
zlwu and Cursor
da35921f58
docs(sql): add sample-level storage cert and insurance with migrate-from-protocol.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 10:43:36 +08:00
zlwu and Cursor
8618141c2f
docs(sql): add customer-service tables and rename sample-info menu.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 10:42:34 +08:00
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
a5bf4252b9
chore: rename payment-confirm menu to 缴费财务确认
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 18:10:14 +08:00
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
75bae974e4
feat(web-admin): add shared freight unlink dialog
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 14:06:28 +08:00
zlwu and Cursor
d72e28959d
feat(web-admin): add shared freight unlink dialog
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 13:49:18 +08:00
zlwu and Cursor
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