Commit Graph
552 Commits
Author SHA1 Message Date
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor cf579284e7 docs: add implementation plan for contract Word export
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-05 14:33:47 +08:00
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 7a5b8c3d96 chore: update graphify after plan-archive price permission
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 16:48:28 +08:00
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor ce70265c92 feat(backend): add plan archive price mask helpers
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-03 16:25:17 +08:00
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 585b731846 chore: update graphify after plan draft-save feature
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-02 11:43:47 +08:00
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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
zlwuandCursor 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