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
zlwu and Cursor
9b8848ea8c
feat(web-admin): gate load products by selected contract
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 11:02:58 +08:00
zlwu and Cursor
bbab39e6b7
feat(web-admin): allow ProductSelector to restrict by product ids
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 11:00:05 +08:00
zlwu and Cursor
f18442be2e
feat(web-admin): make plan stop contract selector single-choice
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 10:58:14 +08:00
zlwu and Cursor
e9fd94de03
feat(web-admin): add helpers to filter plan products by contract
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 10:57:09 +08:00
zlwu and Cursor
1959394223
feat(pl): enforce single contract on stop-contracts and legacy side paths
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 10:55:00 +08:00
zlwu and Cursor
a6d900ee1f
fix(pl): harden load-contract product checks and tests
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 10:53:10 +08:00
zlwu and Cursor
fbcd27b213
feat(pl): require load products to belong to selected contract
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 10:49:36 +08:00
zlwu and Cursor
eb1bfc5732
feat(pl): enforce at most one contract per plan stop
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 10:46:41 +08:00
zlwu and Cursor
98db382e70
docs: add implementation plan for plan single-contract product rules
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 10:43:29 +08:00
zlwu and Cursor
051c6b6fea
docs: add design for plan single-contract and load products from contract
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-30 10:40:49 +08:00
zlwu
63a1209620
提交
2026-08-30 09:30:02 +08:00
zlwu
16986f443e
提交
2026-08-27 19:38:12 +08:00
zlwu
ebf006eeff
提交
2026-08-27 19:38:01 +08:00
zlwu
4611dbc2b2
提交
2026-08-27 14:23:18 +08:00
zlwu and Cursor
e56d227fe8
feat(pl): add customer stop pref service and unit tests
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-26 17:10:37 +08:00
zlwu and Cursor
bd682288f9
feat(pl): add PlCustomerStopPref model
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-26 17:06:59 +08:00
zlwu and Cursor
031f1d50f6
docs: add pl_customer_stop_pref migration for stop logistics memory
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-26 17:04:56 +08:00
zlwu
4222eaa593
提交
2026-08-26 11:10:40 +08:00
zlwu
dd1acdc787
提交
2026-08-23 18:42:27 +08:00
zlwu
b74d483682
提交
2026-08-23 09:47:38 +08:00
zlwu and Cursor
8dbb816d01
feat(pl): add blank slip print commands to plan list toolbar
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-22 11:29:26 +08:00
zlwu and Cursor
4de82c0805
feat(pl): expose openBlank on slip print dialogs
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-22 11:28:11 +08:00
zlwu and Cursor
dfa033da02
feat(pl): add blank HTML renderer for subpack slips
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-22 11:28:10 +08:00
zlwu and Cursor
3ec188666c
feat(pl): add blank HTML renderers for inbound and delivery slips
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-22 11:23:50 +08:00
zlwu and Cursor
7ebe635fca
docs(pl): add implementation plan for blank slip print
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-22 11:21:47 +08:00
zlwu and Cursor
ed939097f0
docs(pl): add blank slip print design for transport plans
...
Document toolbar blank inbound/delivery/subpack print via openBlank(),
including empty fields, no seal on delivery blanks, and no selection required.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-22 11:18:31 +08:00
zlwu
16be6fa22d
提交
2026-08-22 09:08:05 +08:00
zlwu and Cursor
833544def3
fix(bx): include export_common helper and advance export endpoints
...
Previous reimbursement export commit depended on these files but they were left unstaged.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 18:34:35 +08:00
zlwu and Cursor
dbba755fd8
feat(bx): add list Excel export for reimbursement module pages
...
Wire ListExportDropdown on advance/reimburse/payment/expense/view/wallet lists, with matching POST export endpoints.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 18:34:22 +08:00
zlwu and Cursor
fe15a130cb
feat(pl): add Excel export for plan contract gaps and document reminders
...
Complete remaining logistics list export pages under the PL module wave.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 18:19:07 +08:00
zlwu and Cursor
b1f734dbb0
feat(pl): add Excel export for freight unsettled plans and settlement tabs
...
Support filtered and selected export across freight settlement board panels.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 18:17:10 +08:00
zlwu and Cursor
8f1f08b284
feat(pl): add Excel export for inventory ledger and inbound/outbound lists
...
Allow filtered and selected row export on inventory and shared IO order pages.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 18:14:58 +08:00
zlwu and Cursor
89e8d6e65c
feat(pl): add Excel export for recharge, urea and maintenance process lists
...
Support filtered and selected export on apply and disburse/process board pages.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 18:07:54 +08:00
zlwu and Cursor
441e1fdae1
feat(pl): add Excel export for vehicle maintenance apply list
...
Support filtered and selected rows via backend export and ListExportDropdown.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 18:01:00 +08:00
zlwu and Cursor
6a89452f1a
feat(pl): add Excel export for plan and transport lists
...
Support filtered/selected export on plan, archive, cert and transport pages.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 17:59:04 +08:00
zlwu and Cursor
b06fb6ac56
feat(pl): add Excel export for vehicle, personnel, driver and address lists
...
Wire backend /export endpoints and ListExportDropdown on master-data list pages.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 17:56:20 +08:00
zlwu and Cursor
85c96f0a5d
feat(pl): add Excel export for carrier list
...
Add backend /transport/carrier/export and wire ListExportDropdown on the carrier page.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 17:47:57 +08:00
zlwu and Cursor
e72bcc67bc
feat(workflow): add Excel export for process and task lists
...
Support filtered and selected rows for process defs, pending/completed tasks, and my applications.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 17:39:20 +08:00
zlwu and Cursor
ee56dad875
feat(system): add Excel export for dept and menu tree lists
...
Export flattened filtered or selected rows via backend xlsx and ListExportDropdown.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 17:31:10 +08:00
zlwu and Cursor
b3b6ec187a
feat(system): add Excel export for operlog and dict type lists
...
Wire ListExportDropdown with filtered/selected backend xlsx export.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 17:28:57 +08:00
zlwu and Cursor
1053e24896
feat(system): add Excel export for leave request list
...
Support filtered and selected leave rows via backend export and ListExportDropdown.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 17:27:02 +08:00
zlwu and Cursor
82d8cb7f64
feat(system): add Excel export for tenant, role, post and site lists
...
Reuse list filters with ids/columns support and ListExportDropdown UX.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 17:21:50 +08:00
zlwu and Cursor
5c7210facc
feat(crm): align product export with ListExportDropdown
...
Add ids/columns support and unify toolbar export UX.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 17:06:01 +08:00
zlwu and Cursor
09827fdbf3
feat(web-admin): wire list export on system user page
...
Pilot filtered and selected Excel export via ListExportDropdown.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 17:03:38 +08:00
zlwu and Cursor
3643a3b14e
feat(web-admin): add ListExportDropdown and Excel blob download helper
...
Support filtered-result primary action and optional export-selected menu.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 17:01:49 +08:00
zlwu and Cursor
eb4233f23f
feat(admin): add users list Excel export endpoint
...
Reuse list filters, tenant and data scope; support ids and visible columns.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 16:55:47 +08:00
zlwu and Cursor
4a194aa25e
feat(backend): add list export column filter and row-count guards
...
Shared helpers enforce empty/over-limit export rules and allow
clients to request visible columns by field key.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 16:52:50 +08:00
zlwu
d26fb23fcf
提交
2026-08-21 16:50:47 +08:00
zlwu and Cursor
6dc8cfb2c1
docs: add implementation plan for web-admin list Excel export
...
Detail shared helpers, ListExportDropdown, user pilot, CRM align,
and per-module batch waves covering remaining list pages.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 16:50:11 +08:00
zlwu and Cursor
d8f10b9efe
docs: add design for web-admin unified list Excel export
...
Capture backend export infrastructure, ListExportDropdown UX, and
per-resource /export conventions for filtered and selected rows.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 16:42:40 +08:00
zlwu and Cursor
e9ad26cb48
docs: mark reimburse apply page size pilot plan and design as done
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 14:18:35 +08:00
zlwu and Cursor
15c1368409
feat(web-admin): expand reimburse apply page size options to 500
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 14:17:58 +08:00
zlwu and Cursor
f342208a8a
feat(bx): raise my reimburses pageSize max to 500 for apply list pilot
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 14:15:19 +08:00
zlwu and Cursor
02a29c3328
docs: add implementation plan for reimburse apply page size options
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 14:12:40 +08:00
zlwu and Cursor
38c830ef99
docs: add design for reimburse apply page size options pilot
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 14:11:12 +08:00
zlwu
9fcb9270e6
提交
2026-08-21 13:45:35 +08:00
zlwu and Cursor
88da74d72a
chore: refresh graphify after driver transport history
...
Update backend/frontend knowledge graphs for the new history API and H5 pages.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 11:31:15 +08:00
zlwu and Cursor
d01603f709
feat(pl): implement public driver transport history list page
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 11:29:10 +08:00
zlwu and Cursor
ea33e62eaa
feat(pl): add transport history entry on driver public page
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 11:27:33 +08:00
zlwu and Cursor
267b678e7a
feat(pl): add public transport history API client
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 11:26:09 +08:00
zlwu and Cursor
c51345eec5
feat(pl): add public driver transport history API
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 11:25:04 +08:00
zlwu and Cursor
0e90b1d949
feat(pl): add transport history helpers and schemas
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 11:18:34 +08:00
zlwu and Cursor
74146de156
docs: fix history API client to encode date in query string
...
publicPlGet only accepts a URL; align the plan with that signature.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 11:15:49 +08:00
zlwu and Cursor
abcdf793c4
docs: add implementation plan for driver transport history
...
Break down public history API, detail entry button, and list page;
keep existing driver feedback form unchanged.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 11:15:35 +08:00
zlwu and Cursor
ab46a8c999
docs: add driver transport history design and HTML demo
...
Capture the approved design for same-main-plate public driver history
(list by pickup/delivery day, today shortcuts, cross-plan feedback).
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-21 11:12:35 +08:00
zlwu
44749ae716
提交
2026-08-21 09:35:11 +08:00
zlwu and Cursor
b9ff9c9d67
feat(duty): make duty time range a single-select dict like work plans
...
Add duty_time_range dictionary with day/night presets, parse typed ranges on ensure, and replace time pickers with allow-create select in the schedule dialog.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 21:58:18 +08:00
zlwu and Cursor
8d9f0b259e
feat(duty): sync public H5 with time, work plans, and remark
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 21:19:06 +08:00
zlwu and Cursor
8df0583ad1
feat(duty): admin schedule UI for dict types, work plans, and time
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 21:19:06 +08:00
zlwu and Cursor
a98ec0443a
feat(duty): update frontend API types for dict and time fields
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 21:15:20 +08:00
zlwu and Cursor
cd0491e601
feat(duty): persist work plans and times; relax grab shift types
...
Map invalid HH:mm to DutyBizError, serialize workPlans/timeLabel from dict,
ensure dict items on save, and allow custom shift types on public grab.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 21:14:36 +08:00
zlwu and Cursor
4447a1e8e6
feat(duty): add time/work-plan helpers and dict ensure
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 21:06:07 +08:00
zlwu and Cursor
80545263a0
feat(duty): extend slot model and schemas for work plans and time
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 20:55:20 +08:00
zlwu and Cursor
b71c1144bf
chore(duty): add SQL migration for shift dict and slot time fields
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 20:51:03 +08:00
zlwu and Cursor
1850c7c3df
docs: add duty shift dict and time implementation plan
...
Break the confirmed design into SQL, backend, admin UI, and public H5 tasks with TDD steps.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 20:44:39 +08:00
zlwu and Cursor
361e923396
docs: add duty shift dict, work plan, and time range design
...
Capture confirmed approach for customizable shift types and work plans via sys_dict, slot time fields with morning/evening defaults, migration, and public H5 sync.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 20:36:33 +08:00
zlwu and Cursor
09a57a7af9
feat(pl): show product and plan type columns on contract completion list
...
Align the合同完善 table with运输计划 by returning products/planType from contract-gaps and rendering them via PlPlanListProductCell.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 13:12:14 +08:00
zlwu and Cursor
8e42fe1640
docs: mark plan contract completion design as implemented
...
Implementation of the independent completion page, APIs, badge, and menu is in place pending local SQL apply and UI验收.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-20 12:16:57 +08:00