wuzilong and Cursor
a382f3e730
feat(web-admin): add mobile paste-create for third-party vehicle bundles.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 16:47:14 +08:00
wuzilong and Cursor
866a87f747
feat(web-admin): add mobile print preview for transport plan slips.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 16:47:12 +08:00
wuzilong and Cursor
bc7a1c225a
feat(web-admin): reuse plan form as a full-page webview variant.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 16:47:05 +08:00
wuzilong and Cursor
1a5aa1c934
feat(web-admin): add mobile plan detail and shared action guards.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 16:25:09 +08:00
wuzilong and Cursor
17edd7016f
feat(web-admin): add mobile card list for transport plans in webview.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 16:25:09 +08:00
wuzilong and Cursor
5220637639
docs(sql): add miniprogram menu for webview transport plan.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 16:22:12 +08:00
wuzilong and Cursor
57a831a36f
feat(miniprogram): add reusable web-view shell for H5 business pages.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 16:22:12 +08:00
wuzilong and Cursor
8fbe0679c9
feat(web-admin): add mp webview shell and /m/pl/plan static routes.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 16:21:37 +08:00
wuzilong and Cursor
c0721786ff
feat(web-admin): skip desktop chrome and login page inside mp webview routes.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 16:15:08 +08:00
wuzilong and Cursor
5eb7b0b193
feat(backend): exchange miniprogram webview tickets for JWT sessions.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 16:11:36 +08:00
wuzilong and Cursor
98292cb914
fix(backend): consume webview tickets atomically and fail closed on Redis errors.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 16:07:45 +08:00
wuzilong and Cursor
62161e2905
feat(backend): add one-time Redis tickets for miniprogram webview login.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 16:03:18 +08:00
wuzilong and Cursor
da7476df5a
docs: record miniprogram WebView template and transport plan design.
...
Capture the approved card-list, ticket-based login, and reusable shell so later modules can follow the same path.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 15:50:12 +08:00
wuzilong
b7d0d4a4f8
提交
2026-09-14 11:57:58 +08:00
wuzilong and Cursor
31d3a044cf
feat(miniprogram): add withdraw button on reimburse and advance lists
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 11:51:10 +08:00
wuzilong and Cursor
f8c93d2bd6
chore: update graphify after attachment display name feature
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 11:38:22 +08:00
wuzilong and Cursor
a1ace0cf9a
feat(miniprogram): show remark-based names on reimburse apply attachments
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 11:32:20 +08:00
wuzilong and Cursor
f05e353d1e
feat(miniprogram): add apply attachment display name helper
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 11:32:17 +08:00
wuzilong and Cursor
76e5d27a79
feat(web-admin): pass remark into reimburse apply attachment UI
...
Wire addForm.remark into apply upload and viewData.remark into apply attachment readonly on reimburse apply and approve pages.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 11:31:00 +08:00
wuzilong and Cursor
e50d2c27c8
feat(web-admin): show remark-based names on bx attachment cards
...
Add optional remark prop to BxAttachmentUpload and BxAttachmentReadonly so cards display sanitized remark_index names while download keeps the original fileName.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 11:30:55 +08:00
wuzilong and Cursor
a564bfe733
feat(web-admin): add apply attachment display name helper
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 11:30:16 +08:00
wuzilong and Cursor
5d4e1e14ad
docs: add plan for reimburse apply attachment display names
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 11:29:55 +08:00
wuzilong and Cursor
6d0668bf58
docs: add design for reimburse apply attachment display names
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 11:27:10 +08:00
wuzilong and Cursor
07f45a1c92
fix(miniprogram): refresh detail after withdraw failure
...
Also add the bx apply withdraw implementation plan.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 10:07:44 +08:00
wuzilong and Cursor
7a45df9de7
chore: update graphify after bx apply withdraw
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 10:05:16 +08:00
wuzilong and Cursor
d2a13bdf87
feat(miniprogram): add advance detail withdraw
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 10:04:22 +08:00
wuzilong and Cursor
c1a999e490
feat(miniprogram): add reimburse detail withdraw
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 10:04:20 +08:00
wuzilong and Cursor
904630d695
feat(web-admin): add withdraw on advance apply page
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 10:03:40 +08:00
wuzilong and Cursor
1917661266
feat(web-admin): add withdraw on reimburse apply page
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 10:03:11 +08:00
wuzilong and Cursor
d058518e57
feat(bx): wire advance/reimburse withdraw API clients
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 10:00:54 +08:00
wuzilong and Cursor
9d06e1830e
feat(bx): add advance apply withdraw API
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 09:59:02 +08:00
wuzilong and Cursor
ac713070ab
docs: add design for bx apply withdraw (reimburse + advance)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 09:55:23 +08:00
wuzilong
8c96de2c0c
提交
2026-09-13 13:08:52 +08:00
wuzilong and Cursor
499896b29c
fix(web-admin): put trip driver/escort on vehicle summary row
...
Merge「本次安排」into PlVehicleSummaryStrip instead of a separate
row above the vehicle info strip.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 12:29:47 +08:00
wuzilong and Cursor
c580bdf03f
feat(web-admin): show this-trip driver and escort on plan view
...
Add a「本次安排」row above the vehicle personnel strip so the
selected driver and escort are visible separately from vehicle bindings.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 12:28:04 +08:00
wuzilong and Cursor
7f25ff0fc0
docs: add design for trip driver/escort on plan view
...
Document approved layout: show this-trip driver and escort above
the vehicle personnel strip in the plan detail dialog.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 12:27:47 +08:00
wuzilong and Cursor
407dd76a6f
chore: update graphify after driver-plan feature
...
Refresh backend AST graph after new driver-plan service and routes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 11:46:03 +08:00
wuzilong and Cursor
74ed4ba534
feat(miniprogram): add driver-plan list and receipt pages
...
Wire workbench menu, login APIs, calendar list without plate
search, and native receipt detail aligned with site-plan shell.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 11:45:43 +08:00
wuzilong and Cursor
7f9be18ab6
docs(sql): add mini driver-plan menu and role bindings
...
Create/reuse 司机 and 押运员 roles and bind the miniprogram
司机运输计划单 menu under 运输管理.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 11:45:43 +08:00
wuzilong and Cursor
57ca252f81
feat(pl): add JWT driver-plan routes for miniprogram
...
Expose history/detail/feedback/attachments under /transport/driver-plan
and exclude the path from API encryption middleware.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 11:44:24 +08:00
wuzilong and Cursor
1303fae1e0
feat(pl): add driver-plan service for personnel-scoped history
...
Resolve plans by linked driver/escort personnel and reuse public
driver page/feedback helpers for login-state miniprogram APIs.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 11:44:24 +08:00
wuzilong and Cursor
ca3062b0e2
feat(pl): optional escort selection on transport arrange
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 10:48:23 +08:00
wuzilong and Cursor
3dc71788d4
feat(web-admin): link system user on personnel form
...
Allow binding a login account on driver/escort personnel so
miniprogram driver-plan visibility can resolve by sys_user_id.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 10:42:19 +08:00
wuzilong and Cursor
26b096ae38
feat(pl): bind sys user on personnel and snapshot selectedEscortId
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 10:37:11 +08:00
wuzilong and Cursor
0658090223
feat(pl): add personnel sys_user_id and transport escort columns
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 10:30:49 +08:00
wuzilong and Cursor
5102817782
docs: add mini driver transport plan implementation plan
...
Break the approved driver-plan design into schema, web arrange/escort,
login APIs, menu SQL, and miniprogram list/detail tasks.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 10:26:07 +08:00
wuzilong and Cursor
3a70c44508
docs: add mini driver transport plan design spec
...
Capture approved decisions for miniprogram driver/escort plan list,
escort selection on arrange, and personnel-user linking.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 10:23:34 +08:00
wuzilong and Cursor
1c631ccd50
chore: update graphify after pound QR public link
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 09:45:42 +08:00
wuzilong and Cursor
ee8bf14eb5
feat(web-admin): add pound QR button on public driver transport page
...
Show a third footer action that opens the shared weighbridge QR card popup.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 09:42:57 +08:00
wuzilong and Cursor
ab3a90c3f5
feat(web-admin): append pound QR links in copy-to-driver text
...
Include multi-line public pound QR URLs after the driver link when dibang slips exist.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 09:41:41 +08:00
wuzilong and Cursor
5b4c1bc991
feat(web-admin): add public pound QR page by inventory id
...
Drivers can open a standalone link that renders the shared weighbridge QR card.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 09:38:23 +08:00
wuzilong and Cursor
d7dec04cb3
refactor(web-admin): extract PoundSlipQrcodeView for shared QR card
...
Keep admin dialog behavior while enabling public page and driver popup reuse.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 09:36:21 +08:00
wuzilong and Cursor
10183dabc2
feat(backend): expose pound QR items on driver transport page
...
Enrich inventory links with business type/partner and attach
poundQrcodeItems for the public driver footer button.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 09:29:03 +08:00
wuzilong and Cursor
87ed40512c
feat(backend): add public pound-qr endpoint by inventory id
...
Expose a read-only payload for the shared weighbridge QR card without auth.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 09:24:09 +08:00
wuzilong and Cursor
8994849292
docs: add pound QR public link implementation plan
...
Break the approved design into backend, shared QR view, public page,
copy-to-driver text, and driver footer tasks with TDD steps.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 09:22:05 +08:00
wuzilong and Cursor
157ad5e29a
docs: add pound QR public link and driver-page entry design
...
Capture the approved approach for sharing weighbridge slip QR via
public inventory-id URLs, multi-line copy text, and a third driver footer button.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 09:17:12 +08:00
wuzilong and Cursor
df8c28bd7c
docs: add miniprogram transport plan site feedback design
...
Capture the approved design for 运输计划单 (site record/feedback) in the mini program so implementation can follow a single agreed spec.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-13 08:30:10 +08:00
wuzilong and Cursor
d7981eda17
chore: update graphify after deliveryTimes list column
...
Keep backend and frontend knowledge graphs in sync with the new
plan delivery time filter and list UI wiring.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 21:31:45 +08:00
wuzilong and Cursor
8dc1820622
feat(web-admin): add deliveryTimes column on plan contract-gap list
...
Filter and display deduped delivery dates beside planDate.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 21:31:20 +08:00
wuzilong and Cursor
754113a6d2
feat(web-admin): add deliveryTimes column on plan archive and cert lists
...
Match main plan list display and column-header filter behavior.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 21:31:20 +08:00
wuzilong and Cursor
afc0b5e1bf
feat(web-admin): show deliveryTimes column on transport plan list
...
Multi-line YYYY-MM-DD with header range filter after planDate.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 21:25:26 +08:00
wuzilong and Cursor
fb608cea7f
feat(web-admin): add deliveryTimes column filter defs for plan lists
...
Align query keys with deliveryTimeFrom/To server filters.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 21:24:27 +08:00
wuzilong and Cursor
204b5f48c8
feat(pl): wire deliveryTimeFrom/To through plan list and export
...
Contract-gap list/export share the same stop-date EXISTS filter.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 21:23:31 +08:00
wuzilong and Cursor
0e3df1f39d
feat(pl): expose deliveryTimes on plan list and contract-gap schemas
...
Populate from delivery stops during attach/gap row build.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 21:20:55 +08:00
wuzilong and Cursor
9c5a1cfb8e
feat(pl): aggregate unique delivery dates from stop rows
...
Provide YYYY-MM-DD dedupe helper for plan list deliveryTimes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 21:08:54 +08:00
wuzilong and Cursor
efe8aed409
feat(pl): filter plans by delivery-stop date range
...
Add EXISTS on pl_plan_delivery.delivery_time for list column filters.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 21:07:23 +08:00
wuzilong and Cursor
de7d5194ad
docs: add implementation plan for plan deliveryTimes column
...
Break the approved design into TDD tasks across filters, schema,
export, and the four plan-family list pages.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 21:05:41 +08:00
wuzilong and Cursor
cb57a71d2d
docs: add design for plan list delivery times column
...
Capture the approved brainstorm for showing and filtering
deduplicated delivery-stop dates on PL plan family lists.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 21:03:02 +08:00
wuzilong
2dadd34981
提交
2026-09-12 19:42:20 +08:00
wuzilong and Cursor
fa8ffd5fe7
fix(miniprogram): nudge workbench header content slightly downward
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 19:24:22 +08:00
wuzilong and Cursor
b2a29ebd57
fix(miniprogram): remove workbench header subtitle text
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 19:23:14 +08:00
wuzilong and Cursor
a9f3443727
fix(miniprogram): prefix workbench title with 山峡化工
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 19:22:38 +08:00
wuzilong and Cursor
25eeb82db0
fix(miniprogram): center-align workbench title and user stack in one row
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 19:16:04 +08:00
wuzilong and Cursor
ec2d0cc2ee
fix(miniprogram): remove workbench logo; center-align title with welcome line
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 19:15:54 +08:00
wuzilong and Cursor
13a8a0c8df
fix(miniprogram): align workbench header logo layout with template classes
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 19:13:57 +08:00
wuzilong and Cursor
24572931dc
feat(miniprogram): add workbench logo and welcome user stack above logout
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 19:13:35 +08:00
wuzilong and Cursor
7547e4e142
fix(miniprogram): restore workbench green header with full-width right user row
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 19:10:11 +08:00
wuzilong and Cursor
83db2fd996
fix(miniprogram): put workbench user actions on full-width row below title
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 19:08:16 +08:00
wuzilong and Cursor
ddff1212ae
fix(miniprogram): unify nav headers to dashboard style with tall workbench bar
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 19:06:51 +08:00
wuzilong and Cursor
aa2da07c99
fix(miniprogram): left-align headers, raise workbench bar, drop dashboard username
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 19:01:37 +08:00
wuzilong and Cursor
335dd842be
fix(miniprogram): repair broken bxFormat imports after safe-area wiring
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 18:57:12 +08:00
wuzilong and Cursor
ab5aa94ff3
docs: require miniprogram custom header capsule safe area
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 18:55:01 +08:00
wuzilong and Cursor
1a97ec954b
fix(miniprogram): adapt mp-header for WeChat capsule safe area
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 18:54:57 +08:00
wuzilong and Cursor
f0d64379a7
fix(miniprogram): adapt bx topbar for WeChat capsule safe area
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 18:54:21 +08:00
wuzilong and Cursor
8505115f05
fix(miniprogram): wire db pages to capsule safe-area header
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 18:53:40 +08:00
wuzilong and Cursor
b3fc308446
style(miniprogram): adapt db-header for WeChat capsule safe area
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 18:50:46 +08:00
wuzilong and Cursor
49ec2418a2
refactor(miniprogram): reuse safe-area CSS builder in applySafeAreaCssVars
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 18:50:23 +08:00
wuzilong and Cursor
cfe0f94467
feat(miniprogram): add safe-area CSS vars style builder
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 18:48:57 +08:00
wuzilong and Cursor
0599b7a3a9
docs: add miniprogram header capsule safe-area implementation plan.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 18:47:35 +08:00
wuzilong and Cursor
2866fef5bf
docs: add miniprogram header capsule safe-area design (scheme B).
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 18:45:39 +08:00
wuzilong and Cursor
b3640741ef
docs: mark ETC-only vehicle recharge plan tasks complete
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 08:50:19 +08:00
wuzilong and Cursor
9968fc72a3
docs: add ETC-only vehicle recharge design/plan and refresh graphify
...
Persist the approved cutover spec and implementation plan; sync graphs after the ETC-only changes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 08:50:12 +08:00
wuzilong and Cursor
9a8dd691d8
chore(web-admin): update recharge column filter comments for ETC-only
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 08:48:17 +08:00
wuzilong and Cursor
62d46d6e57
chore: update graphify after ETC-only vehicle recharge cutover
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 08:48:14 +08:00
wuzilong and Cursor
f13e18329a
fix(web-admin): rename ETC recharge menus and drop fuel type option
...
Align UI with ETC-only scope; list filtering is enforced by the backend.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 08:46:49 +08:00
wuzilong and Cursor
27d69f1af9
fix(pl): hide non-ETC vehicle recharge rows in list and get APIs
...
Force etc on reads so historical fuel data stays in DB but out of this module.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 08:45:36 +08:00
wuzilong and Cursor
542ecc63e7
fix(pl): allow only etc recharge type in vehicle recharge schemas
...
Reject fuel writes so the shared module can be narrowed to ETC-only.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 08:43:49 +08:00
wuzilong and Cursor
00849bd998
docs(sql): narrow vehicle recharge menus to ETC-only labels
...
Rename ETC/fuel menus and soft-disable fuel dict for the ETC-only cutover.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 08:41:55 +08:00
wuzilong and Cursor
72d372674a
chore: archive mobile-h5 under bak for reference only.
...
Keep WeChat miniprogram as the primary mobile path; H5 remains available for lookup.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-12 08:09:41 +08:00
wuzilong and Cursor
f13eba5623
feat(miniprogram): migrate expense items and workflow admin from bx-mobile.
...
Enable mobile config of expense tree and advance/reimburse approval nodes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 23:42:16 +08:00