wuzilong and Cursor
39161e43e4
feat(web-admin): plan form package UI keyed by product and package spec
...
Contract-bound stop products use package options from the contract, arrange-qty
cache/API include packageSpec, and save validates required package selections.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-10 18:06:52 +08:00
wuzilong and Cursor
ded6aeaa85
feat(pl): require contract package spec on plan stop save
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-10 18:01:33 +08:00
wuzilong and Cursor
ff96f2ec25
feat(pl): arrange-qty and overflow checks use product+package key
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-10 18:00:10 +08:00
wuzilong and Cursor
2fc14b1291
feat(pl): key contract plan qty by product and package spec
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-10 17:52:57 +08:00
wuzilong and Cursor
3e6ae41e4b
docs: add implementation plan for plan product+package qty key.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-10 17:50:13 +08:00
wuzilong and Cursor
ff42d7fe77
docs: add design for plan contract qty keyed by product and package spec.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-10 17:47:49 +08:00
wuzilong
05559def40
提交
2026-09-09 13:03:02 +08:00
wuzilong and Cursor
4529166e16
fix(web-admin): prevent duplicate date sort carets on CRM column headers.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:55:08 +08:00
wuzilong and Cursor
45a6fc5cc5
feat(pl): add datetime column dual-caret sort on scoped transport lists.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:50:35 +08:00
wuzilong and Cursor
100b0880f0
feat(db): add datetime column dual-caret sort on inventory and weighing lists.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:36:55 +08:00
wuzilong and Cursor
7579c36fc6
docs: add DB weighbridge date column sort implementation plan.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:34:33 +08:00
wuzilong and Cursor
9e1862f4e7
docs: add DB weighbridge date column dual-caret sort design.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:31:35 +08:00
wuzilong and Cursor
9ead177dc3
feat(bx): add datetime list sort helpers and get_paged order_by.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:14:30 +08:00
wuzilong and Cursor
5410bf8836
feat(web-admin): show dual carets on ColumnHeaderFilter datetime columns.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:13:31 +08:00
wuzilong and Cursor
cf3c1e6609
docs: add implementation plan for BX date column sort.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:09:51 +08:00
wuzilong and Cursor
e33b56797a
docs: add BX date column dual-caret sort design.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 22:07:29 +08:00
wuzilong and Cursor
9dca19a2e4
chore: update graphify after CRM date column sort.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 21:54:12 +08:00
wuzilong and Cursor
626f91d4a8
feat(crm): wire date column sort on contract manage and approval lists.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 21:51:35 +08:00
wuzilong and Cursor
381ece40df
feat(crm): wire date column sort on quote manage and approval lists.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 21:50:15 +08:00
wuzilong and Cursor
a2d1de4c41
feat(crm): wire date column sort on customer list page.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 21:49:05 +08:00
wuzilong and Cursor
23d23d0b86
feat(web-admin): show dual carets on CRM datetime column headers.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 21:48:05 +08:00
wuzilong and Cursor
58b5d9d7de
feat(web-admin): add useColumnSort for CRM date headers.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 21:47:37 +08:00
wuzilong and Cursor
f14a96b28d
feat(crm): support datetime column sort on contract list.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 21:45:52 +08:00
wuzilong and Cursor
8f63430881
feat(crm): support datetime column sort on quote list.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 21:41:05 +08:00
wuzilong and Cursor
72a8f97bd1
feat(crm): support datetime column sort on customer list.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 21:39:26 +08:00
wuzilong and Cursor
e6af68a2c3
feat(crm): add whitelist datetime list sort helper.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 21:37:35 +08:00
wuzilong and Cursor
b731c728a7
docs: add implementation plan for CRM date column sort.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 21:31:26 +08:00
wuzilong and Cursor
302988f75c
docs: add CRM date column dual-caret sort design and demo.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 21:28:41 +08:00
wuzilong and Cursor
d1c85ec5b8
chore: update graphify after personnel/self-vehicle cert zip.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:40:47 +08:00
wuzilong and Cursor
2357c46e4d
feat(pl): add cert batch ZIP download on personnel lists.
...
Wire third-party and Shanxia escort/driver lists to personnel cert zip packing.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:40:06 +08:00
wuzilong and Cursor
6d8e5578c9
feat(pl): add cert batch ZIP download on self-vehicle list.
...
Reuse vehicle cert zip packing on the Shanxia owned-vehicle toolbar.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:39:37 +08:00
wuzilong and Cursor
55abe614f8
feat(pl): add personnel cert zip packing and shared pack core.
...
Extract packAndSaveCertZip for reuse; keep vehicle API; name folders with _2 on collisions.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:38:43 +08:00
wuzilong and Cursor
b4e59ab16b
docs: add plan for cert ZIP on self-vehicle and personnel lists.
...
Cover shared pack core, personnel naming, and toolbar wiring for both pages.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:37:53 +08:00
wuzilong and Cursor
b84eec3c90
docs: extend cert batch ZIP design to self-vehicle and personnel lists.
...
Reuse the frontend JSZip approach with personnel name folders and shared toolbar entry.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:36:25 +08:00
wuzilong and Cursor
a4a272d842
chore: update web-admin graphify after vehicle cert zip utils.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:27:47 +08:00
wuzilong and Cursor
a6dff669d4
feat(pl): add toolbar batch ZIP download for vehicle certs.
...
Wire selected rows to frontend JSZip packing on the third-party vehicle list.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:26:46 +08:00
wuzilong and Cursor
31ef9d4053
feat(pl): pack selected vehicle cert attachments into zip.
...
Add JSZip builder with concurrency, injectable fetch/save for tests, and multi-vehicle folders.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:25:27 +08:00
wuzilong and Cursor
e07af251c0
feat(web-admin): add fetchAttachmentBlob for zip packing.
...
Reuse attachment download-url flow to load file bytes without triggering anchor download.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:21:54 +08:00
wuzilong and Cursor
8d3062a5af
feat(pl): add vehicle cert zip naming and collect helpers.
...
Pure functions for toolbar batch ZIP: plate folders, 主·/挂· labels, and collision-safe paths.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:19:50 +08:00
wuzilong and Cursor
65af6e6163
docs: add implementation plan for vehicle cert batch ZIP download.
...
Break the frontend JSZip approach into TDD tasks for helpers, blob fetch, packing, and toolbar wiring.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:17:05 +08:00
wuzilong and Cursor
53a1bea890
docs: add vehicle cert batch ZIP download design and demo.
...
Capture the approved frontend JSZip approach for third-party vehicle list bulk certificate attachment download.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-08 20:14:32 +08:00
zlwu
b6485f3b6c
提交
2026-09-07 10:34:41 +08:00
zlwu
7f05162fd1
提交
2026-09-06 20:44:56 +08:00
zlwu and Cursor
ca4a5b9fec
fix(pl): sync stop dibang on arrange even when all unchecked.
...
Ensure cancel/block paths run when every generateDibang option is false.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 20:16:56 +08:00
zlwu and Cursor
de95549644
docs(pl): mark cascade Task 5 phase-2 stable ids as already covered.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 19:59:45 +08:00
zlwu and Cursor
4c978296ff
chore(pl): guard arrange path against dibang revoke rebuild
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 19:57:18 +08:00
zlwu and Cursor
503b388a3f
feat(pl): remount dibang monthly plan when partner or product changes
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 19:52:20 +08:00
zlwu and Cursor
180b5cdaa7
chore(pl): remove unused inventory editable guard after force sync
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 19:45:39 +08:00
zlwu and Cursor
4dde13e7d7
fix(pl): sync dibang inventory and weighing fields after rearrange
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 19:43:32 +08:00
zlwu and Cursor
cd64463c0a
test(pl): expect dibang plate sync even after weighing
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 19:37:34 +08:00