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
zlwu and Cursor
bdd67d44d9
feat: add recharge workflow models and schema statuses
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-26 20:55:15 +08:00
zlwu and Cursor
94dd52832b
docs: add vehicle recharge workflow design, plan, and migration SQL
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-26 20:48:17 +08:00
zlwu
b430e75a4b
提交
2026-09-26 11:59:39 +08:00
wuzilong and Cursor
d17f6c472d
chore: update graphify after inventory pound QR popup.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-24 21:30:09 +08:00
wuzilong and Cursor
0ce896d9cd
feat(miniprogram): replace inventory list weigh-slip create with pound QR.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-24 21:23:17 +08:00
wuzilong and Cursor
f2dd16d851
fix(miniprogram): guard pound QR popup load against stale races.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-24 21:22:35 +08:00
wuzilong and Cursor
be0764779c
feat(miniprogram): add centered pound QR popup component.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-24 21:19:34 +08:00
wuzilong and Cursor
35563e9709
feat(miniprogram): add local QR temp-file helper via uqrcodejs.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-24 21:16:53 +08:00
wuzilong and Cursor
8d0d301ead
feat(miniprogram): add local QR temp-file helper via uqrcodejs.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-24 21:15:49 +08:00
wuzilong and Cursor
b1719fab23
feat(miniprogram): add pound QR label helpers and node checks.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-24 21:13:08 +08:00
wuzilong and Cursor
a6e0c4481f
docs: add implementation plan for inventory pound QR popup.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-24 21:09:55 +08:00
wuzilong and Cursor
71f3fde31c
docs: add design for miniprogram inventory pound QR popup.
...
Replace list「生成地磅单」with a centered pound-slip QR dialog aligned to the transport-plan popup.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-24 21:07:04 +08:00
wuzilong and Cursor
7d09ebee96
chore: update graphify after attachment image preview rotate/zoom.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 14:33:01 +08:00
wuzilong and Cursor
b9849f33ae
docs(openspec): note image preview rotate/zoom for attachment cards.
...
Document preview-only rotate and zoom expectations under attachment upload card layout.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 14:32:55 +08:00
wuzilong and Cursor
45327b3acb
feat(web-admin): add rotate/zoom/pan to attachment image preview.
...
Enhance AttachmentUploadField image preview dialog with toolbar controls, wheel zoom, and drag pan; fit-full at 100% zoom after rotate.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 14:29:03 +08:00
wuzilong and Cursor
0af792f535
feat(web-admin): add image preview transform helpers for fit/zoom.
...
Pure functions for AttachmentUploadField image preview rotate/zoom math, with a Node assert script.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 14:23:34 +08:00
wuzilong and Cursor
8435836d81
docs: add implementation plan for attachment image preview rotate/zoom.
...
Break down AttachmentUploadField preview enhancements into helper tests, UI wiring, styles, and manual acceptance checks.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 14:19:03 +08:00
wuzilong and Cursor
3583e6456b
docs: add attachment image preview rotate/zoom design and demo.
...
Capture the approved AttachmentUploadField preview enhancements (rotate, fit-full, wheel/button zoom, drag pan) before implementation.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 14:16:00 +08:00
wuzilong and Cursor
65d904fff1
chore: update graphify after archive zip export.
...
Refresh backend and web-admin graphs after plan-archive ZIP export changes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 12:47:41 +08:00
wuzilong and Cursor
2f3756eab8
feat(web-admin): add archive data-and-attachments ZIP export menu.
...
Extend ListExportDropdown with additional items and wire archive_zip on the plan-archive page.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 12:47:14 +08:00
wuzilong and Cursor
d5c2e1f1a4
feat(pl): wire archive_zip export format on plan export API.
...
Reuse archive row building and attach document plus hazard-cert files into a zip response.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 12:46:52 +08:00
wuzilong and Cursor
81e52477de
feat(pl): build archive export zip with relative hyperlinks.
...
Pack archive xlsx plus attachment files under 附件/, with HYPERLINK columns on each plan's first row.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 12:46:15 +08:00
wuzilong and Cursor
7af4d7ac7e
feat(pl): collect hazard certs for archive zip export.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 12:42:44 +08:00
wuzilong and Cursor
d68a0ef0bd
fix(pl): fix FakePlan id for planId export field.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 12:42:05 +08:00
wuzilong and Cursor
e9ffa5d042
feat(pl): add archive zip naming helpers and planId on export rows.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 12:40:04 +08:00
wuzilong and Cursor
1c3c0d40b6
docs: add implementation plan for plan-archive attachment ZIP export.
...
Break work into TDD tasks for zip helpers, hazard cert collection, API wiring, and ListExportDropdown menu items.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 12:38:51 +08:00
wuzilong and Cursor
f5b76ef711
docs: add plan-archive data-and-attachments ZIP export design.
...
Capture brainstorming decisions for coexisting Excel and ZIP export, reference-zip folder layout, document attachments plus hazard certs, and relative-path hyperlinks.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-23 12:36:18 +08:00
wuzilong
c270d14057
提交
2026-09-23 12:03:07 +08:00
wuzilong and Cursor
b15d1ddde3
chore: update graphify after wx-qr web login.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 20:22:42 +08:00
wuzilong and Cursor
cce8fae673
feat(miniprogram): add web QR phone confirm page for admin login.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 20:21:47 +08:00
wuzilong and Cursor
29898a107b
feat(web-admin): default login to WeChat QR with password tab.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 20:20:11 +08:00
wuzilong and Cursor
e54c1bdfef
chore: untrack web-admin env files force-added in Task 6.
...
Keep wx-qr encrypt exclude paths in local env files only; they remain gitignored.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 20:18:36 +08:00
wuzilong and Cursor
c5a0e17a05
feat(web-admin): add wx-qr create and status API clients.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 20:18:08 +08:00
wuzilong and Cursor
98e31c88b2
feat(api): confirm web QR login from mini program phone auth.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 20:17:14 +08:00
wuzilong and Cursor
ec0045d5bf
feat(api): add web wx-qr create and status endpoints.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 20:16:15 +08:00
wuzilong and Cursor
22634330d5
feat(wechat): generate unlimited mini program codes for web QR login.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 20:15:15 +08:00
wuzilong and Cursor
1e7c8bde3b
test(auth): force in-memory backend for wx-qr session unit tests.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 20:14:35 +08:00
wuzilong and Cursor
56a3311c45
feat(auth): add wx-qr session state machine for web login.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 19:55:00 +08:00
wuzilong and Cursor
7f2b5d06c1
chore: add wx-qr login config and encrypt exclude paths.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 18:15:27 +08:00
wuzilong and Cursor
b438495b1d
docs: add implementation plan for web-admin WeChat QR login.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 18:13:31 +08:00
wuzilong and Cursor
ef8b59d23c
docs: add web-admin WeChat QR phone login design.
...
Record the shanxia-shell + zkxw-tab dual-mode login approach (mini program code, session poll, phone_no match) with an interactive HTML demo for review.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 18:08:11 +08:00
wuzilong
1ba1f38321
提交
2026-09-18 12:01:13 +08:00
wuzilong and Cursor
98531845e4
chore: update graphify after mini phone quick login.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 11:16:25 +08:00
wuzilong and Cursor
b5a58583bd
feat(miniprogram): add phone quick login button on login page.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 11:15:47 +08:00
wuzilong and Cursor
6f39801c63
feat(miniprogram): add wechatLogin API client on user store.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 11:14:59 +08:00
wuzilong and Cursor
713aa700ae
feat(api): add mini wechat-login and share JWT issuance with web login.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 11:14:18 +08:00
wuzilong and Cursor
7ccd1f553e
feat(backend): resolve wechat login user by phone and bind openid.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 11:12:03 +08:00
wuzilong and Cursor
3d003e8d37
feat(backend): add wechat mini auth helpers and user phone lookups.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 11:09:04 +08:00
wuzilong and Cursor
7e7f9226cf
feat(config): add WECHAT_MP credentials for mini wechat login.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 11:06:54 +08:00
wuzilong and Cursor
2ce31b903f
feat(db): add sys_user wx_openid columns for mini phone login.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 11:05:22 +08:00
wuzilong and Cursor
53795c535d
docs: add miniprogram phone quick login implementation plan.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 11:04:00 +08:00
wuzilong and Cursor
7f3f569722
docs: add miniprogram phone quick login design.
...
Capture the approved WeChat getPhoneNumber login flow for shanxia mini program, including WECHAT_MP_* config, sys_user openid columns, and parity with password login JWT.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-18 11:00:42 +08:00
wuzilong
86694f739f
提交
2026-09-17 09:10:10 +08:00
wuzilong and Cursor
a0da6427ef
chore(miniprogram): update graphify after invoice thumbnails.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 21:23:55 +08:00
wuzilong and Cursor
d6fddc666c
feat(miniprogram): show linked invoice thumbnails on reimburse detail.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 21:22:09 +08:00
wuzilong and Cursor
0c269b6e73
fix(miniprogram): retry invoice picker load after empty failure.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 21:20:44 +08:00
wuzilong and Cursor
ffec3ecd94
feat(miniprogram): show invoice thumbnails in reimburse apply picker.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 21:17:34 +08:00
wuzilong and Cursor
01553ef0f7
style(miniprogram): add invoice thumbnail grid styles for bx.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 21:15:31 +08:00
wuzilong and Cursor
4201d656b1
feat(miniprogram): add invoice thumb helper utilities.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 21:11:59 +08:00
wuzilong and Cursor
ea4d990abb
docs: add reimburse invoice thumbnail implementation plan.
...
Break scheme-1 into helper, styles, apply picker, and detail tasks with verification steps.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 21:10:25 +08:00
wuzilong and Cursor
1af6a944fb
docs: add miniprogram reimburse invoice thumbnail design.
...
Record the approved scheme-1 UI for picker thumbnails, scroll paging, and detail linked-invoice display, with companion HTML demo.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-16 21:07:35 +08:00
wuzilong and Cursor
ca0098f6ca
feat(web-admin): add mp plan form anchors and polish print customer pick.
...
Improve the page-variant plan form for WebView and align print customer selection with the mobile demo.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 09:35:17 +08:00
wuzilong and Cursor
bf81d9b77c
feat(web-admin): redesign mp transport plan detail sections.
...
Align mobile detail with demo IA including hazard cert slots and capped footer actions.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 09:34:16 +08:00
wuzilong and Cursor
8d1d5c19b5
feat(web-admin): redesign mp transport plan list to match demo.
...
Use dual dropdown filters, richer cards, and a speed dial for create actions.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 09:32:47 +08:00
wuzilong and Cursor
92bb4bf0d0
feat(web-admin): add mp plan detail action splitter.
...
Cap the sticky footer at two primary actions and park the rest in a more sheet.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 09:31:43 +08:00
wuzilong and Cursor
b3ad19f6a9
feat(web-admin): enrich mp plan card with party and follower fields.
...
List cards need supplier→buyer and follow user to match the approved mobile demo.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 09:29:46 +08:00
wuzilong and Cursor
8c69a01e16
feat(web-admin): add mp webview sheet and list chrome styles.
...
Provide shared Bottom Sheet and filter/speed-dial/fab tokens for the transport plan mobile redesign.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 09:27:11 +08:00
wuzilong and Cursor
3795fa2b5a
docs: add implementation plan for mp plan mobile redesign.
...
Break the approved WebView UI redesign into sequenced tasks for list, detail, form, print, and paste.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 01:46:49 +08:00
wuzilong and Cursor
43f5ae8603
docs: add mobile redesign spec for WebView transport plans.
...
Capture the approved HTML demo as the UI authority for rewriting /#/m/pl/* without changing ticket or shell architecture.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-15 01:40:45 +08:00
wuzilong and Cursor
fe9d30105d
docs: describe how to add more miniprogram webview modules.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 16:48:30 +08:00
wuzilong and Cursor
bf22c4b031
style(web-admin): format webview plan form and paste helpers.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-14 16:48:25 +08:00
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