wuzilong and Cursor
106ace1ea9
feat(miniprogram): map workbench db menus to mini:db:* perms.
...
Add MENU_CODES auth path for workbench permission loading.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 22:43:06 +08:00
wuzilong and Cursor
a5a1c29f01
feat(miniprogram): add workbench menu permission filter helper.
...
Pure function filters modules by menuAll or mini:db:* menuCodes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 22:42:45 +08:00
wuzilong and Cursor
fd463c77eb
feat(sql): add mini-program weighbridge menus under 移动端.
...
Insert MINI_DB_* menus with mini:db:* perms and grant them to 超级管理员 only.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 22:42:21 +08:00
wuzilong and Cursor
d5923df26e
docs: add mini-db mobile menu permission implementation plan.
...
Break down SQL grant, workbench filter helper, and store wiring into executable tasks.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 22:38:13 +08:00
wuzilong and Cursor
fed3389ef1
docs: add mini-program weighbridge menu permission design.
...
Capture agreed decisions for mobile sys_menu under 移动端, mini:db:* perms, and workbench filtering via menu-codes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-11 22:36:38 +08:00
wuzilong
8e87c7d576
提交
2026-09-11 21:19:52 +08:00
wuzilong
83192719b0
提交
2026-09-11 09:41:09 +08:00
wuzilong and Cursor
166e5735df
chore: update graphify after plan product+package key
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-10 18:09:47 +08:00
wuzilong and Cursor
6548316644
fix(web-admin): allow same product with different packages on delivery stop
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-10 18:08:02 +08:00
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
54a1ba0c5c
提交
2026-09-03 13:50:25 +08:00
zlwu and Cursor
67d37a1f0e
chore: update graphify after transport address notes
...
Mark the notes-fill design as implemented and refresh backend/frontend graphs.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 12:01:40 +08:00
zlwu and Cursor
d798ef55a7
feat(web-admin): manage transport address notes on library page
...
Expose notes in list, form, and view dialog for address master data.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 12:00:36 +08:00
zlwu and Cursor
bf5f6b66be
feat(web-admin): edit address library notes in select dialog
...
Allow create/update of notes while picking an address for a plan stop.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:59:40 +08:00
zlwu and Cursor
6021287c97
feat(web-admin): fill load/delivery notes from address when empty
...
Apply library notes only if the stop notes field is currently blank.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:59:29 +08:00
zlwu and Cursor
9c3c53c705
feat(web-admin): pass address library notes through apply payload
...
Allow load/delivery sections to receive notes when an address is selected.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:59:09 +08:00
zlwu and Cursor
22b92ea056
feat(pl): add notes column on transport address library
...
Persist address-level precautions for later fill into plan load/delivery notes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:58:17 +08:00
zlwu and Cursor
86e668920c
feat(web-admin): add resolveAddressNotesFill for address library notes
...
Encode empty-only fill rule for load/delivery notes when selecting an address.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:57:27 +08:00
zlwu and Cursor
7f9516e63d
docs: use pnpm exec tsx --test in address notes plan
...
Align frontend unit test commands with existing web-admin plan conventions.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:56:09 +08:00
zlwu and Cursor
ed96976090
docs: add transport address notes fill implementation plan
...
Break the approved design into TDD-friendly tasks covering DDL, API, apply chain, and address UIs.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:55:56 +08:00
zlwu and Cursor
209f27606e
docs: add transport address notes fill design
...
Capture the approved design for adding notes on pl_transport_address and filling load/delivery notes only when empty.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:53:22 +08:00
zlwu and Cursor
585b731846
chore: update graphify after plan draft-save feature
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:43:47 +08:00
zlwu and Cursor
3c7e3c69c5
feat(web-admin): add plan draft save UI and drafting follow-status filters
...
Rename pending tab to 待安排/草稿, default-select drafting, and add 暂存 with saveMode.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:42:23 +08:00
zlwu and Cursor
ae91fbc63e
feat(backend): support saveMode draft/formal and drafting follow gates
...
Draft skips business validators and writes drafting; formal promotes drafting to pending_arrange; wait-notice/delete/force allow drafting.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:40:54 +08:00
zlwu and Cursor
f9cdb8852b
feat(backend): add saveMode field on plan create-full and update schemas
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:39:17 +08:00
zlwu and Cursor
f28e82c1b3
feat(backend): add draft save helpers for plan follow status drafting
...
Introduce min-field validation and follow_status resolution for saveMode draft/formal.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:39:04 +08:00
zlwu and Cursor
16c657b75e
docs: add implementation plan for plan draft save / drafting status
...
Break the approved design into backend helpers, saveMode API, list tab filters, and form dialog tasks.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:37:11 +08:00
zlwu and Cursor
70c9de3618
docs: add transport plan draft/save design for drafting follow status
...
Capture approved decisions for 暂存 button, drafting status, list tab, and saveMode API so implementation can follow a single spec.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-02 11:33:05 +08:00
zlwu
1dfcc66d2c
提交
2026-09-02 08:20:52 +08:00
zlwu and Cursor
506cc7991a
feat(web-admin): viewport-fill list height for system manage menus
...
Wire 系统信息 lists (tenant/dict/menu/dept/role/user/post/operlog) and
临时存放 CRM lists under 系统管理 to useListTableViewportHeight, with
onActivated recalc for keep-alive pages.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 19:42:20 +08:00
zlwu and Cursor
f457d5e106
feat(web-admin): viewport-fill list height for workflow menus
...
Wire 流程配置、待办/已办中心、我的申请 and 请假申请 lists to
useListTableViewportHeight for sticky headers and viewport-fill scrolling.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 19:32:30 +08:00
zlwu and Cursor
c577edc597
feat(web-admin): viewport-fill list height for pl transport menus
...
Wire 运输管理 list pages (plans, IO orders, freight panels, vehicles,
personnel, and related lists) to useListTableViewportHeight so table body
scrolls with sticky header and pager stays near the content bottom.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 19:27:17 +08:00
zlwu and Cursor
11185f066a
feat(web-admin): viewport-fill list height for db weighbridge menus
...
Wire 地磅计划 and 地磅出入库 lists to useListTableViewportHeight (stats +
pager below the table wrap), matching 地磅单管理. Dashboard has no list.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 19:17:33 +08:00
zlwu and Cursor
7ed3f26f9c
feat(web-admin): viewport-fill list height for bx reimbursement menus
...
Wire remaining报销管理列表(审批/发放/付款/发票夹/费用项/流程/视图)to
useListTableViewportHeight so table body scrolls with sticky header and
pager stays ~10px above the content viewport bottom.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 19:14:01 +08:00
zlwu and Cursor
6f7461d009
feat(web-admin): viewport-fill list height for CRM menu pages
...
Wire contract, quote, customer, product, and price-letter lists to useListTableViewportHeight.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 19:00:02 +08:00
zlwu and Cursor
7f8cd18b4d
chore: update web-admin graphify after viewport scroll changes
...
Keep the frontend knowledge graph in sync with new composables and list wiring.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 18:53:18 +08:00
zlwu and Cursor
6e92bf49d8
fix(web-admin): recalc viewport table height on activate
...
Ensure order and weighing lists refresh table height after tab activation.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 18:52:41 +08:00
zlwu and Cursor
fa48577a74
feat(web-admin): roll out viewport list height to more lists
...
Apply fill-viewport table height on demo product/order, bx mine, and db weighing.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 18:51:59 +08:00
zlwu and Cursor
b8efcca1cf
docs: specify viewport-fill list table scrolling
...
Align Fresh Mint §7.6 and OpenSpec ui-conventions with the confirmed UX; include design and plan.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 18:47:48 +08:00
zlwu and Cursor
aef6927181
feat(web-admin): viewport-fill scroll on reimburse apply list
...
Wire ListTable height to the shared composable and stop double-scroll on wraps.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 18:47:13 +08:00
zlwu and Cursor
597fca416d
feat(web-admin): use viewport table height on demo unit list
...
Pilot the fill-viewport list scroll pattern on the standard list template page.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 18:45:49 +08:00
zlwu and Cursor
55ac1ebbf6
feat(web-admin): add useListTableViewportHeight composable
...
Measure content viewport, table top, and pager to drive el-table height.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 18:45:22 +08:00
zlwu and Cursor
7d78f76129
feat(web-admin): add list table viewport height formula
...
Pure calc keeps pagination visible with a 10px bottom gap for main list scroll UX.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-01 18:45:15 +08:00
zlwu
0e8f244bc3
提交
2026-09-01 13:51:32 +08:00
zlwu
ba21c40058
提交
2026-08-31 20:53:46 +08:00
zlwu
69fa5b1fa8
提交
2026-08-31 08:28:36 +08:00
zlwu
19c5aaa8f5
提交
2026-08-30 18:33:13 +08:00
zlwu and Cursor
c8cec132bf
chore: update web-admin graphify after arrange-required product fields
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 17:54:29 +08:00
zlwu and Cursor
810c9aacae
feat(web-admin): mark arrange-required product fields with asterisk
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 17:53:47 +08:00
zlwu and Cursor
a4619a0788
feat(web-admin): block arrange when stop product required fields missing
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 17:53:06 +08:00
zlwu and Cursor
765a27779c
feat(pl): add arrange-required check for stop product fields
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 17:52:47 +08:00
zlwu and Cursor
79b33c6ba1
docs: add implementation plan for plan product arrange-required fields
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 17:51:10 +08:00
zlwu and Cursor
5fbb15611c
docs: add design for plan product fields required on arrange
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 17:49:27 +08:00
zlwu and Cursor
81b1cb9b1d
feat(pl): show available contract qty before plan qty in stop products
...
Add contract-product-arrange-qty API and form UI with green available qty,
red plan qty over-hint, and click-through dialog for usage and plan list.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 17:41:36 +08:00
zlwu and Cursor
3011cb9dae
feat(pl): hard-block over-limit contract qty on arrange and remind after success
...
Validate arranged+this plan qty against fixed contract product quantities on
transport arrange; return post-success remaining/framework cumulative reminders.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 16:47:21 +08:00
zlwu and Cursor
d326996976
docs: add transport plan contract quantity check design and demo
...
Capture hard-block on over-limit arrange and post-success remaining/framework reminders aligned with contract detail qty aggregation.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 15:59:53 +08:00
zlwu and Cursor
bbd82b7963
fix(web-admin): harden contract product validation and fetch race
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 11:09:37 +08:00
zlwu and Cursor
946a71b2e0
feat(web-admin): enforce single contract on plan-contract supplement save
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 11:05:15 +08:00
zlwu and Cursor
173e6cdf59
feat(web-admin): allow removing products on delivery stops
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 11:05:15 +08:00
zlwu and Cursor
8777173fb7
fix(web-admin): treat empty allowedProductIds as restricted mode
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 11:04:12 +08:00