Commit Graph
100 Commits
Author SHA1 Message Date
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor bd682288f9 feat(pl): add PlCustomerStopPref model
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-26 17:06:59 +08:00
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 4de82c0805 feat(pl): expose openBlank on slip print dialogs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-22 11:28:11 +08:00
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 267b678e7a feat(pl): add public transport history API client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 11:26:09 +08:00
zlwuandCursor c51345eec5 feat(pl): add public driver transport history API
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 11:25:04 +08:00
zlwuandCursor 0e90b1d949 feat(pl): add transport history helpers and schemas
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-21 11:18:34 +08:00
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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