Commit Graph
275 Commits
Author SHA1 Message Date
zlwuandCursor f8f9c0ceff chore(mobile-h5): point Vite proxy at unified backend and add jsencrypt
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 22:27:47 +08:00
zlwuandCursor 26192676a2 docs: add implementation plan for mobile-h5 dibang backend adaptation
Break the approved design into tasks covering login, db HTTP client, select-only master data, and public vehicle plates for fill pages.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 22:21:55 +08:00
zlwuandCursor e1170aa855 docs: add mobile-h5 dibang adaptation design for unified backend
Capture the approved approach to point mobile-h5 at shanxia2.0 backend APIs, portal login, and CRM/PL master-data selectors without UI permission gates.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 22:19:38 +08:00
zlwu 732c1b1dc9 提交 2026-08-03 21:20:00 +08:00
zlwu e233269abf 提交 2026-08-03 12:48:52 +08:00
zlwuandCursor 594e4ce38e feat(crm): sync contract number date segment with sign date
Align standard contract nos on create/update (keep seq, bump on collision),
preview the change in contract forms, and sync name parentheses.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 11:46:11 +08:00
zlwuandCursor f01057d902 docs: add implementation plan for contract no follow sign date
Break work into backend align helpers, create/update wiring, and frontend preview tasks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 11:40:33 +08:00
zlwuandCursor 1c38d82079 docs: add design for contract no date following sign date
Capture agreed rules: keep sequence when sign date changes, frontend preview plus backend authoritative align on save, and sync name parentheses.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-03 11:39:26 +08:00
zlwu 40fc54942b 提交 2026-08-03 00:48:46 +08:00
zlwu 272c68af4b 提交 2026-08-02 17:18:33 +08:00
zlwu c00f19f8bd 提交 2026-08-02 10:49:34 +08:00
zlwuandCursor c86eddac75 fix(web-admin): persist cleared vehicle/personnel photoUrls on save
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 10:40:04 +08:00
zlwuandCursor 5bf37f802e chore: update graphify and mark vehicle/personnel photo design implemented
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 10:38:33 +08:00
zlwuandCursor 8d9f5777e0 feat(web-admin): add personnel photo on driver/escort pages
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 10:37:19 +08:00
zlwuandCursor 9089e455e9 feat(web-admin): add vehicle photo on self-vehicle page
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 10:36:21 +08:00
zlwuandCursor a552049de4 feat(web-admin): add vehicle photo on tripartite vehicle page
Also include cert attachment list cell already wired in this page WIP.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 10:34:41 +08:00
zlwuandCursor e2f087e6b9 feat(web-admin): add photoUrls types and pl-photo helpers
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 10:31:22 +08:00
zlwuandCursor 479851ba4c feat(pl): expose photoUrls on vehicle and personnel APIs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 10:30:14 +08:00
zlwuandCursor 56b94e1c5b feat(pl): map photo_urls on vehicle and personnel models
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 10:25:46 +08:00
zlwuandCursor 2f580eca81 chore(db): add photo_urls to pl_vehicle and pl_personnel
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 10:23:53 +08:00
zlwuandCursor 0d33c35c7b docs: add implementation plan for vehicle/personnel photo fields
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 10:18:20 +08:00
zlwuandCursor 9af37c3f56 docs: add vehicle/personnel photo field design and UI demo
Capture the approved photo_urls approach (list thumbnail A, optional upload) for pl_vehicle and pl_personnel before implementation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-02 10:13:12 +08:00
zlwu a56b170976 提交 2026-08-02 09:28:47 +08:00
zlwu eccefc6650 提交 2026-08-01 22:49:11 +08:00
zlwu e59b2aa6cb 提交 2026-08-01 17:29:37 +08:00
zlwuandCursor 06956b742b feat(crm): add tenant-level contract approver setting with submit prefill
Mirror the quote approver setting so contract submit dialogs can prefill ordered approvers from a tenant config page while remaining editable.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 13:37:23 +08:00
zlwuandCursor ce75576fb0 docs: mark quote approver setting design implemented
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 13:09:13 +08:00
zlwuandCursor 98f33644f1 feat(web-admin): prefill quote submit approvers from tenant setting
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 13:06:59 +08:00
zlwuandCursor 209f5cb7a8 feat(web-admin): add quote approver setting page and route
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 13:05:55 +08:00
zlwuandCursor a1e26f044d feat(web-admin): add quote approver setting API client
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 13:04:29 +08:00
zlwuandCursor 8646f33587 feat(crm): expose quote approver setting get/save APIs
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 13:04:07 +08:00
zlwuandCursor ffbb5e36b3 feat(crm): implement quote approver setting model and upsert CRUD
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 13:03:35 +08:00
zlwuandCursor 82e648de9f feat(crm): add quote approver setting table and menu SQL
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 13:02:47 +08:00
zlwuandCursor 3aafae6a9d feat(crm): add quote approver setting id helpers and unit tests
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 12:54:29 +08:00
zlwuandCursor 10c3c5470c chore: sync local PL/CRM/BX and migration work to new Gogs host
Bundle pending backend/web-admin feature updates, data-migration scripts,
and related docs so the V1.5 branch on the Tencent Cloud Gogs matches the
current workspace (excluding local secrets).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-01 09:19:21 +08:00
zlwuandCursor 5a9abfdd5d fix(pl): keep multi-brand site feedback when plan product row is stale
Persist submitted brand qtys even if plan brand_mode lookup fails; resolve soft-deleted plan products for brand metadata instead of substituting another product; stop seeding all actual qty onto the first brand option.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 07:06:41 +08:00
zlwuandCursor d1daedc17d docs: update brand qty demo copy for required-as-preference
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 06:58:06 +08:00
zlwuandCursor e6a1c1db2b fix(web-admin): align site/driver public brand qty with preference semantics
Ensure required mode keeps full brand options and multi-select entry.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 06:58:06 +08:00
zlwuandCursor c39c0e2760 fix(web-admin): driver feedback dialog multi-brand for required preference
Load full brand options and preselect preferred brand without locking.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 06:58:06 +08:00
zlwuandCursor 07cadc9025 fix(web-admin): archive dialog loads all brands for required preference
Preselect preferred brand but allow multi-brand qty entry like any mode.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 06:58:06 +08:00
zlwuandCursor b28cf4a335 fix(web-admin): allow multi-brand chips when plan brand is required
Treat required like any in BrandQtyChipsField so preference brand is not locked.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 06:54:43 +08:00
zlwuandCursor 156e4b63e5 fix(pl): treat required brand as preference in brand qty validation
Allow multi-brand feedback/archive rows when plan brandMode is required; only enforce sum equals actual qty.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 06:52:49 +08:00
zlwuandCursor b3efbe8781 docs: specify transport plan required brand as preference only
Document that feedback/archive brand qty entry uses any-mode multi-select with preferred-brand preselect, removing the single-brand hard lock.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 06:50:21 +08:00
zlwuandCursor 6dcc279cc9 test(pl): verify feedback brand qty and refresh graphify
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 05:40:05 +08:00
zlwuandCursor aea4caed5b feat(web-admin): align archive brand qty entry with chips UI
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 05:37:00 +08:00
zlwuandCursor 5c323f32c2 feat(web-admin): show brand qty on transport tab and highlight supplement actions
Expose driver per-product feedback on transport read, display site/driver
brand summaries in the transport tab, move supplement buttons to section
headers with primary highlight, and wire brand chips into IO/driver edit.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 05:35:42 +08:00
zlwuandCursor b7236329c2 feat(web-admin): driver feedback dialog brand qty entry
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 05:31:22 +08:00
zlwuandCursor 2a215b2e1f feat(pl): driver public feedback by product and brand qty
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 05:29:21 +08:00
zlwuandCursor 0667e8d77b fix(web-admin): bind branded site actual qty to chip sum on load
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 05:25:03 +08:00
zlwuandCursor 6dde2cec07 feat(web-admin): site public page brand qty chips entry
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 05:23:37 +08:00