wuzilong and Cursor
9b405a9227
docs: add mp CRM product category tree style design (scheme A).
...
Record the chosen indent-expand tree list styling for the mobile product-category webview, with the three-option HTML demo for reference.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-18 16:21:17 +08:00
wuzilong and Cursor
020fbe1b0e
feat(web-admin): force a refresh when a newer build is deployed.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 13:53:15 +08:00
wuzilong and Cursor
a1c00847e5
test: add web-admin stale-tab update checker.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 13:51:48 +08:00
wuzilong and Cursor
1f0130de53
test: add web-admin build id and version.json helpers.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 13:27:57 +08:00
wuzilong and Cursor
c527af0b1d
docs: record web-admin force-refresh design for stale open tabs.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 13:19:02 +08:00
wuzilong and Cursor
181bb808f2
docs: mark ETC/油卡充值 rename design as implemented.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 11:42:26 +08:00
wuzilong and Cursor
95051a08c4
chore(pl): align recharge module comments with 油卡 wording.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 11:42:21 +08:00
wuzilong and Cursor
c43f901c36
fix(miniprogram): rename ETC/加油充值申请 to 油卡.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 11:41:43 +08:00
wuzilong and Cursor
4edccef14c
fix(web-admin): update vehicle recharge form labels to 油卡.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 11:41:43 +08:00
wuzilong and Cursor
d3ac07d5c6
fix(web-admin): rename ETC/加油充值 UI labels to 油卡.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 11:41:43 +08:00
wuzilong and Cursor
d3590398db
docs(sql): rename ETC/加油充值 menus and dict label to 油卡.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 11:41:43 +08:00
wuzilong and Cursor
a5976350ab
test: fix vehicle recharge apply fixtures for required fields.
...
Schema now requires odometerKm and attachmentUrls; update type tests so the suite stays green.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 11:40:12 +08:00
wuzilong and Cursor
a3a32ccaaa
fix(pl): show recharge type fuel as 油卡 in API labels.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 11:39:29 +08:00
wuzilong and Cursor
658bd3df5c
test: expect recharge type fuel label to display as 油卡.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 11:35:16 +08:00
wuzilong and Cursor
5c2879914b
docs: add ETC/油卡充值文案改名实现计划。
...
按展示层替换拆分迁移 SQL、后端 label、web-admin 与小程序任务。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 11:30:09 +08:00
wuzilong and Cursor
19812a1da7
docs: add ETC/油卡充值文案改名设计规格。
...
明确菜单与充值类型展示「加油→油卡」,存值 fuel 与加油登记模块不动。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-16 11:28:08 +08:00
wuzilong and Cursor
bd5de00645
docs: document CRM contract as mp webview module.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 17:36:54 +08:00
wuzilong and Cursor
778ce0e845
feat(miniprogram): enable CRM contract webview workbench entries.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 17:36:54 +08:00
wuzilong and Cursor
a33c2d1f2e
feat(web-admin): add page variant for contract form in mp webview.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 17:36:29 +08:00
wuzilong and Cursor
796b434a28
feat(web-admin): add mp webview CRM contract detail actions.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 17:35:02 +08:00
wuzilong and Cursor
a9ee5d440e
feat(web-admin): add mp webview CRM contract list pages.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 17:32:13 +08:00
wuzilong and Cursor
e54a168829
feat(web-admin): register /m/crm/contract static routes.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 17:24:54 +08:00
wuzilong and Cursor
aaaf10678e
docs(sql): add miniprogram CRM contract webview menus and role bind.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 17:24:32 +08:00
wuzilong and Cursor
b5b3b1f327
feat(web-admin): add mp CRM contract card query helpers.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 17:24:09 +08:00
wuzilong and Cursor
8a57bbed30
docs(plan): add mp webview CRM contract implementation plan.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 17:23:40 +08:00
wuzilong and Cursor
b8e919cc5e
docs: add mp-webview CRM contract design spec.
...
Capture agreed scope for migrating contract manage/approve into mini program H5 (no price letter this round).
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 17:20:22 +08:00
wuzilong and Cursor
bdf0d9624f
docs: document CRM quote as mp webview module.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 16:04:07 +08:00
wuzilong and Cursor
458940c665
feat(miniprogram): enable CRM quote webview workbench entries.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 16:04:07 +08:00
wuzilong and Cursor
d0241ddbd4
feat(web-admin): add mp webview CRM quote version history page.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 16:04:06 +08:00
wuzilong and Cursor
b9e44bd697
feat(web-admin): add page variant for quote form in mp webview.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 16:03:19 +08:00
wuzilong and Cursor
eff40b2e8f
feat(web-admin): add mp webview CRM quote detail actions.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 16:01:42 +08:00
wuzilong and Cursor
63f64b1375
feat(web-admin): add mp webview CRM quote list pages.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 15:55:45 +08:00
wuzilong and Cursor
f0680544a1
feat(web-admin): register /m/crm/quote static routes.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 15:53:02 +08:00
wuzilong and Cursor
9af0425b98
docs(sql): add miniprogram CRM quote webview menus and role bind.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 15:50:48 +08:00
wuzilong and Cursor
007eb2233d
feat(web-admin): add mp CRM quote card query helpers.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 15:49:11 +08:00
wuzilong and Cursor
121e431f68
docs: add mp-webview CRM quote implementation plan.
...
Break the quote manage/approve H5 migration into TDD-friendly tasks aligned with the product webview pattern.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 15:43:16 +08:00
wuzilong and Cursor
88cb1a9f62
docs: add mp-webview CRM quote design spec.
...
Capture agreed scope for migrating quote manage/approve into mini program H5, aligned with the product webview pattern.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 15:35:21 +08:00
wuzilong and Cursor
dfd0bb5cc3
fix(web-admin): refresh product form category tree when page reactivated.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 10:11:53 +08:00
wuzilong and Cursor
7297db1da1
docs: document CRM product as mp webview module.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 10:05:06 +08:00
wuzilong and Cursor
0b0ecf2517
feat(miniprogram): enable CRM product webview workbench entry.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 10:04:50 +08:00
wuzilong and Cursor
9de0459edc
feat(web-admin): add mp webview CRM product category page.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 10:03:50 +08:00
wuzilong and Cursor
afad78bf60
feat(web-admin): add page variant for product form in mp webview.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 09:53:50 +08:00
wuzilong and Cursor
1d3a4f5155
feat(web-admin): add mp webview CRM product detail actions.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 09:51:39 +08:00
wuzilong and Cursor
74e2267623
feat(web-admin): add mp webview CRM product list page.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 09:48:25 +08:00
wuzilong and Cursor
a2769c86dc
feat(web-admin): register /m/crm/product static routes.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 09:43:35 +08:00
wuzilong and Cursor
d3a7e3d3fd
docs(sql): add miniprogram CRM product webview menus and role bind.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 09:40:37 +08:00
wuzilong and Cursor
2f72c29ee7
feat(web-admin): add mp CRM product card query helpers.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-15 09:36:09 +08:00
wuzilong
85559bd414
提交
2026-10-15 08:50:25 +08:00
wuzilong and Cursor
a07568f546
fix(web-admin): fix stock plan list followStatus funnel and view-only dialog
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 23:40:41 +08:00
wuzilong and Cursor
c2ddf344dc
feat(web-admin): stock inbound/outbound tabs show filtered plan lists
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 23:34:59 +08:00
wuzilong and Cursor
ce06f0f4e8
feat(web-admin): add stockRole variant to transport plan list page
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 23:32:35 +08:00
wuzilong and Cursor
c4ee338c3a
feat(pl): wire stockRole into plan list, export, and facets
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 23:29:00 +08:00
wuzilong and Cursor
63f19d2672
feat(pl): add stockRole filter for plan list by stop customer
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-14 23:25:44 +08:00
wuzilong and Cursor
c626023250
feat(miniprogram): split driver plan copy product into three lines
...
Make copy-to-group text easier to scan: 产品信息 / 计划数量 / 实际数量 as separate lines.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 20:38:17 +08:00
wuzilong and Cursor
36d27416d3
docs: specify driver plan copy text product line split
...
Define three-line product format (产品信息 / 计划数量 / 实际数量) for miniprogram copy-to-group only.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 20:34:19 +08:00
wuzilong and Cursor
fc840d1cbb
feat(miniprogram): enrich driver plan copy-to-group text
...
Show vehicle plate and compact product lines under delivery/load
sections segmented by customer, per the 2026-10-12 design.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 22:13:17 +08:00
wuzilong and Cursor
272dfc0d5e
docs: specify enriched driver plan copy-to-group text format
...
Capture the confirmed WeChat paste layout (vehicle, compact product lines, load/delivery sections by customer) so implementation can follow a single source of truth.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-12 22:10:47 +08:00
wuzilong and Cursor
6a8cd90b98
feat: cascade column facet options by current list context
...
Make dynamic column-facet values respect other active filters (Excel-style), with backend facet context helpers, list-page wiring, slip print/sidebar fixes, and refreshed graphify graphs.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-11 22:04:20 +08:00
wuzilong
9643b779a9
提交
2026-10-10 21:12:05 +08:00
wuzilong and Cursor
811e6a129f
feat(pl): allocate copy_seq_no on first driver plan share-to-group
...
Add ensure-copy-seq API and miniprogram clipboard prefix so each plan
gets a tenant-scoped fixed serial on first copy; cover allocation with
unit tests and refresh the backend graph.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-09 12:36:58 +08:00
wuzilong and Cursor
5357df1cc2
feat(pl): add pl_plan.copy_seq_no for copy-to-group sequence
...
Persist a tenant-scoped fixed serial for driver-plan clipboard text;
include migration backfill by create_time.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-09 12:33:00 +08:00
wuzilong
8da59453b6
提交
2026-10-08 09:57:09 +08:00
wuzilong
318b934b86
提交
2026-10-06 17:55:20 +08:00
wuzilong and Cursor
56776bb197
feat: split transport plan list columns into load and delivery product rows
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-06 09:45:11 +08:00
wuzilong and Cursor
c19318d0d0
feat: add per-row load and delivery qty helpers for plan list
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-06 09:36:26 +08:00
wuzilong and Cursor
47cd09d1e5
feat: span transport plan list by plan and delivery column props
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-06 09:32:01 +08:00
wuzilong and Cursor
e241a17077
feat: flatten transport plan list rows to one product per line
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-06 09:23:59 +08:00
wuzilong
6abfb6e251
提交
2026-10-05 12:57:51 +08:00
zlwu and Cursor
59fafb92d5
docs: add left-sidebar layout implementation plan
...
Track the approved task breakdown for default LEFT shell, work tabs,
badge styling, and UI spec updates.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-02 09:48:01 +08:00
zlwu and Cursor
a4dc83e7e7
docs: document left-sidebar shell as web-admin default
...
Update Fresh Mint layout section so the runtime shell matches the
approved left-tree + header/worktab/content structure.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-02 09:48:01 +08:00
zlwu and Cursor
3e99904eea
style(web-admin): align menu text badge with Fresh Mint danger
...
Use #dc2626 for sidebar numeric badges so they match the approved
case-style red counters without leaving the design token chain.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-02 09:48:00 +08:00
zlwu and Cursor
60aa9fd28f
feat(web-admin): mount work tabs under left-layout header
...
Assemble header → worktab → content for the non-portal shell and migrate
legacy portal default so the classic sidebar layout is the entry experience.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-02 09:48:00 +08:00
zlwu and Cursor
cfe3ff5576
feat(web-admin): default shell to left menu with work tabs
...
Use LEFT layout as the product default and enable breadcrumbs and
multi-tabs so the classic sidebar shell matches the approved design.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-02 09:43:13 +08:00
zlwu and Cursor
353fefd828
docs: add web-admin left sidebar layout design
...
Capture the approved shell redesign: default LEFT layout with header,
work tabs, and content, while keeping Fresh Mint tokens and menu badges.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-02 09:37:16 +08:00
zlwu
c55f22a603
提交
2026-10-02 09:28:00 +08:00
zlwu and Cursor
7f1f60e259
test: fix vehicle recharge submit fixture required fields
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-29 12:17:04 +08:00
zlwu and Cursor
4e9c539989
feat(mini): add withdraw on ETC vehicle recharge apply list
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-29 12:16:36 +08:00
zlwu and Cursor
94e4ef6f8e
feat(web-admin): add withdraw action on vehicle recharge apply
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-29 12:16:35 +08:00
zlwu and Cursor
7a4ecc34e0
fix(api): commit mineVehicles helper required by recharge withdraw
...
withdraw commit imported should_restrict_mine_vehicles before the helper was on the branch.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-29 12:15:57 +08:00
zlwu and Cursor
c1113cc2ef
test: assert current_node attribute on withdraw apply read model
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-29 12:09:19 +08:00
zlwu and Cursor
d8df5c47e2
feat(api): allow withdraw of in-approval vehicle recharge applies
...
Applicants can return an in-approval apply to draft while keeping prior approval rows.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-29 12:08:48 +08:00
zlwu and Cursor
388eb8cc7e
test: add failing cases for vehicle recharge apply withdraw
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-29 12:06:12 +08:00
zlwu and Cursor
c3e1de2793
docs: add implementation plan for vehicle recharge apply withdraw
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-29 12:04:08 +08:00
zlwu and Cursor
134c541ebc
docs: add ETC vehicle recharge apply withdraw design
...
Capture approved rules for in_approval → draft withdraw on web-admin and miniprogram, aligned with reimbursement withdraw.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-29 12:01:12 +08:00
zlwu
4f364bc9a0
提交
2026-09-29 07:07:51 +08:00
zlwu
c9fb39395c
提交
2026-09-28 10:47:42 +08:00
zlwu and Cursor
37a7acf40d
chore: update backend graphify after mineVehicles recharge apply
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-27 18:39:11 +08:00
zlwu and Cursor
c70b17f8ca
feat(mini): add ETC vehicle recharge apply for drivers and escorts
...
Add menu SQL, workbench entry, mineVehicles API client, and list/form pages styled like fuel register.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-27 18:38:35 +08:00
zlwu and Cursor
48aef9f233
feat(api): filter vehicle options by mineVehicles personnel
...
Limit GET /transport/vehicle to plates linked via pl_vehicle_personnel for the current user.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-27 18:36:28 +08:00
zlwu and Cursor
0a9d5ba2ed
feat(api): accept mineVehicles on vehicle-recharge-apply endpoints
...
Wire query param through list/get/create/update/submit/cancel for mini-program scope.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-27 18:35:59 +08:00
zlwu and Cursor
0d2c5a2048
feat(pl): enforce mineVehicles write rules on recharge apply
...
Reject foreign plates on create and require own applicant for update/submit/cancel when mineVehicles is enabled.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-27 18:33:25 +08:00
zlwu and Cursor
ae1d01bf07
feat(pl): filter recharge applies by mineVehicles plates
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-27 18:25:58 +08:00
zlwu and Cursor
a903206dbe
feat(pl): add helper for user personnel vehicle plates
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-27 18:23:31 +08:00
zlwu and Cursor
6f6793d7d1
docs: add implementation plan for mini ETC recharge apply.
...
Breaks down mineVehicles backend scope, menus, and miniprogram list/form tasks with TDD steps.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-27 18:21:27 +08:00
zlwu and Cursor
3d7d999f48
docs: add miniprogram ETC vehicle recharge apply design.
...
Captures approved scope for driver/escort mine-vehicles filtering, menu perms, and reuse of existing apply APIs.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-27 18:18:49 +08:00
zlwu and Cursor
a3fbb92595
chore: update knowledge graphs after vehicle recharge workflow
...
Refresh AST graphs for backend/frontend and mark completed implementation plan steps.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-26 21:08:05 +08:00
zlwu and Cursor
7b99040f9c
feat: add vehicle recharge approval workflow and pending UI
...
Wire configurable workflow config, approval todo with approve/reject/disburse, apply submit and history, and block disburse board for in-approval rows.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-26 21:05:57 +08:00
zlwu and Cursor
a1fbbac370
feat: expose current node name and action type on recharge apply read
...
Approval UI needs node display name and approve/disburse action without a separate node lookup.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-26 21:05:52 +08:00
zlwu and Cursor
f80a29fb8d
feat: add vehicle recharge approval pending approve reject disburse
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-26 20:56:14 +08:00
zlwu and Cursor
ea8c2c0362
feat: add vehicle recharge apply submit and detail approvals
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-26 20:55:43 +08:00