zlwu and Cursor
0402f797c0
feat(oa): expose bank-receipts GET/PUT with menu permission
...
Gate instance bank receipt APIs behind oa:done:bank-receipt.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 16:58:24 +08:00
zlwu and Cursor
b042266c5b
fix(oa): stabilize bank receipt list order via order_num
...
Preserve PUT item sequence when create_time ties on replace.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 16:56:09 +08:00
zlwu and Cursor
5e38dc1eca
feat(oa): add bank receipt attachment service for instances
...
Store multiple bank receipts on biz_attachment keyed by instance id.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 16:49:33 +08:00
zlwu and Cursor
00a315b61c
docs(plan): OA done-center bank receipt upload implementation
...
Break the approved design into TDD tasks for service, API, SQL, and web-admin UI.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 16:47:18 +08:00
zlwu and Cursor
35532eceee
docs(spec): design OA done-center bank receipt upload
...
Capture approved approach A (biz_attachment + permission-gated dialog)
and the Fresh Mint HTML demo for the done-center upload flow.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 16:44:20 +08:00
zlwu and Cursor
a148961b55
feat(oa): add department filter on history list and export
...
Allow filtering OA history by initiator department including descendants, while keeping the existing all-history permission scope.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 16:23:18 +08:00
zlwu and Cursor
6cd22b218d
docs(plan): OA history department filter implementation
...
Break down backend tests, engine/API wiring, and web-admin filter UI into executable tasks.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 16:16:15 +08:00
zlwu and Cursor
3ecd8f4a74
docs(spec): design OA history department filter
...
Add confirmed design for initiator-dept tree filter on the web-admin OA history list and export APIs.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 16:13:44 +08:00
zlwu
06d021807b
提交
2026-10-15 23:21:07 +08:00
zlwu
ecde2ba07d
提交
2026-10-15 14:27:42 +08:00
zlwu and Cursor
b9d981d46b
fix(mobile-oa-h5): finish tagType wiring for market detail sections
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 10:07:32 +08:00
zlwu and Cursor
2b5f2f939c
fix(mobile-oa-h5): align presign and freight tags with registry mirror
...
Use info for draft; full payMode codes; receptionSource/transportType colors.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 10:06:07 +08:00
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