zlwu and Cursor
4e3c2a9ffb
fix(pl): keep driver/site tokens stable on rearrange.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:41:32 +08:00
zlwu and Cursor
2a9cc6084b
fix(pl): drop accidental cert-perm guard from dibang upsert commit.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:40:48 +08:00
zlwu and Cursor
68564c61f0
feat(pl): upsert dibang links by stop instead of revoke-and-rebuild.
...
Keep inventory ids across rearrange/plan edits; block cancel when weighing exists.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:40:29 +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
2e5b05f477
fix(pl): reject unknown plan product ids on upsert with 422.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:30:15 +08:00
zlwu and Cursor
857067ec80
feat(pl): upsert plan product rows by id on update.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:24:43 +08:00
zlwu and Cursor
6a7dfbcd38
feat(pl): upsert plan deliveries by stable id on save.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:18:06 +08:00
zlwu and Cursor
ca14bb7ca5
feat(pl): allow optional stop/product ids on plan write bodies.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:15:28 +08:00
zlwu and Cursor
9e2f563a04
docs: add implementation plan for stable plan stop IDs and link reuse.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:14:33 +08:00
zlwu and Cursor
f8d0d10b2c
docs: add design for stable plan stop IDs and in-place link reuse.
...
Captures brainstorming decisions so edits after arrange no longer break dibang/driver/site associations by regenerating stop UUIDs.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 18:08:55 +08:00
zlwu and Cursor
945bfcea54
feat(bx-mobile): bind and load reimburse apply attachments on save/edit
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 17:18:40 +08:00
zlwu and Cursor
8d14909165
feat(bx-mobile): add optional apply-attachment uploader on reimburse apply
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 17:17:21 +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
112ad31428
docs: add implementation plan for reimburse apply attachments
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 17:08:55 +08:00
zlwu and Cursor
4b012923bf
docs: add design for optional reimburse apply attachments
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 17:05:03 +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
cf579284e7
docs: add implementation plan for contract Word export
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 14:33:47 +08:00
zlwu and Cursor
32f51274eb
docs: add design for contract print dialog Word export
...
Capture the agreed frontend HTML-to-DOCX approach for CRM contract print dialog.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 14:30:40 +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
87374f3976
docs: add implementation plan for transport plan arranged tab
...
Break the arranged-tab design into TDD utility steps and list-page filter sync.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-04 17:33:11 +08:00
zlwu and Cursor
a4e107b2e6
docs: add design for transport plan arranged tab
...
Record the approved design to insert an「已安排」list tab after「待安排」, filtering by followStatus=arranged.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-04 17:31:47 +08:00
zlwu and Cursor
6bf4e7b249
fix(sql): avoid UUID collision in plan-archive price role backfill
...
MySQL may evaluate UUID() once per INSERT...SELECT, causing duplicate
primary keys when backfilling multiple sys_role_menu rows.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 16:53:06 +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 and Cursor
b47c809300
feat(backend): gate archive writes and mask plan prices by menu code
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 16:30:31 +08:00
zlwu and Cursor
ce70265c92
feat(backend): add plan archive price mask helpers
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 16:25:17 +08:00
zlwu and Cursor
7fbfcffd43
chore(sql): add pl:plan-archive:price menu and backfill roles
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 16:21:12 +08:00
zlwu and Cursor
27c1cbba15
docs: add plan-archive price permission implementation plan
...
Break the approved design into SQL, backend mask/API, and
web-admin permission wiring tasks with verification steps.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 16:19:16 +08:00
zlwu and Cursor
513d3b0fb3
docs: add plan-archive price permission design
...
Document button-level archive/price controls on the existing
transport plan archive page instead of a separate view module.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-03 16:16:13 +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