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
zlwu
b6485f3b6c
提交
2026-09-07 10:34:41 +08:00
zlwu
7f05162fd1
提交
2026-09-06 20:44:56 +08:00
zlwu and Cursor
f33b905f0d
refactor(web-admin): generalize server column filter queryKey mapping.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 08:15:49 +08:00
zlwu and Cursor
55cbd1d3d2
feat(bx): server-side column filters on reimburse apply list.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 07:53:28 +08:00
zlwu and Cursor
1604ffceb1
feat(web-admin): use fuzzy text input in column header filter.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 07:50:50 +08:00
zlwu and Cursor
e492cedab9
feat(web-admin): add useServerColumnFilters for list column queries.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-06 07:47:15 +08:00
zlwu and Cursor
c90ff7c419
feat(web-admin): submit stable load/delivery/product ids on plan save.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:31:59 +08:00
zlwu and Cursor
6adb3cee9d
fix(bx): rename historical attachments label to apply attachments
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 17:16:05 +08:00
zlwu and Cursor
d373776526
feat(bx): bind reimburse apply attachments on save and submit
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 17:12:37 +08:00
zlwu and Cursor
24aca104ad
feat(bx): add apply-attachment upload UI on reimburse apply dialog
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 17:10:47 +08:00
zlwu and Cursor
f09399f5f0
fix(web-admin): prevent blank Word export from broken seal img tags
...
Self-closing slash before style produced invalid HTML that caused html-to-docx to emit an empty document.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 15:38:54 +08:00
zlwu and Cursor
0dc7ce0de8
fix(web-admin): polish Word header layout and floating seals
...
Use float text rows for header meta without table borders; rewrite seal images to float over party fields while keeping title underlines.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 15:33:47 +08:00
zlwu and Cursor
da2f36af7f
fix(web-admin): keep contract header meta side-by-side in Word export
...
Convert flex+absolute rows (供方/合同编号, 需方/签订地点) into borderless two-column tables before html-to-docx.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 15:26:31 +08:00
zlwu and Cursor
57c2a37171
fix(web-admin): drop Word watermark and keep party columns side-by-side
...
Word export no longer injects watermarks; convert the flex 供方/需方 footer into a two-cell table so html-to-docx preserves left-right layout.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 15:21:10 +08:00
zlwu and Cursor
f872333df6
fix(web-admin): polyfill Buffer/global for contract Word export in Vite
...
html-to-docx still reads Node globals after Vite rebundles; inject buffer polyfill, map global to globalThis, and alias the package to the browser build.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 15:06:20 +08:00
zlwu and Cursor
8bbc716d17
fix(web-admin): use html-to-docx browser build and inline images for Word export
...
Vite was resolving the Node ESM entry which needs Buffer/global; switch to the browser bundle and pre-convert images to data URLs so seals and watermarks embed.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 14:59:58 +08:00
zlwu and Cursor
deefdf7bb4
fix(web-admin): resolve html-to-docx default import interop for Word export
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 14:52:03 +08:00
zlwu and Cursor
591736f11f
feat(web-admin): add Generate Word on contract detail print dialog
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 14:50:00 +08:00
zlwu and Cursor
9ac37d1196
feat(web-admin): add Generate Word on contract print dialog
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 14:44:36 +08:00
zlwu and Cursor
b078245fbc
feat(web-admin): generate contract DOCX blob from prepared HTML
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 14:42:44 +08:00
zlwu and Cursor
17b42dc06c
feat(web-admin): add contract HTML prep helpers for Word export
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 14:38:23 +08:00
zlwu and Cursor
e2b676121a
chore(web-admin): add @turbodocx/html-to-docx for contract Word export
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 14:35:23 +08:00
zlwu and Cursor
f43ef91d70
chore(web-admin): update frontend knowledge graph after plan tab sync
...
Refresh graphify outputs after handlePlanTypeTabChange arranged tab wiring.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-04 17:36:46 +08:00
zlwu and Cursor
75d60c5b75
feat(web-admin): sync followStatus when switching to arranged plan tab
...
Mirror pending_arrange behavior so the arranged tab forces followStatus filter to arranged.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-04 17:36:34 +08:00
zlwu and Cursor
01946dde8e
feat(web-admin): add arranged tab to transport plan list filters
...
Insert「已安排」after「待安排」in PL_PLAN_LIST_TABS and map it to followStatus=arranged.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-04 17:34:34 +08:00
zlwu and Cursor
7a5b8c3d96
chore: update graphify after plan-archive price permission
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 16:48:28 +08:00
zlwu and Cursor
b92418fa4a
feat(web-admin): gate archive actions and price columns by menu codes
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 16:34:49 +08:00
zlwu and Cursor
af0ae031a5
feat(web-admin): split archive qty vs price display flags
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 16:33:04 +08:00
zlwu
dd3bb3cf06
提交
2026-09-03 15:54:34 +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
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
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
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