zlwu
f70dc26206
提交
2026-08-09 14:51:41 +08:00
zlwu
90ae136f38
提交
2026-08-08 23:14:40 +08:00
zlwu
fdf7d391a6
提交
2026-08-08 22:19:09 +08:00
zlwu
683f14828f
提交
2026-08-08 20:43:48 +08:00
zlwu and Cursor
7898d65437
feat: add menu favorites API under /web/admin/menu-favorites
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-08 12:01:28 +08:00
zlwu and Cursor
1a0c58f82d
feat: add sys_user_menu_favorite table for portal menu favorites
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-08 11:58:55 +08:00
zlwu and Cursor
5575b08437
feat: add backfill script for CRM name pinyin initials.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 17:29:21 +08:00
zlwu and Cursor
659fc89179
feat: store and search customer name pinyin initials.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 17:24:28 +08:00
zlwu and Cursor
ba3f2c19bb
feat: store and search product name pinyin initials.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 17:18:59 +08:00
zlwu and Cursor
e7b3fbb21b
feat: add name_pinyin_abbr columns for CRM product and customer.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 17:10:53 +08:00
zlwu and Cursor
fa9b3429c7
feat: add pinyin initial abbr helper for CRM names.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-07 16:57:05 +08:00
zlwu
3d645b4112
提交
2026-08-06 22:49:00 +08:00
zlwu
f3693be913
提交
2026-08-06 09:58:20 +08:00
zlwu
5cf67f60d1
提交
2026-08-04 15:33:41 +08:00
zlwu
5fe53c5481
提交
2026-08-04 14:02:01 +08:00
zlwu and Cursor
5f2a6f2338
feat: public vehicle plate options for H5 fill pages; select-only plates
...
Add GET /api/public/db/vehicle-plates for unauthenticated fill/plan pages and remove manual plate entry plus auto-create.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-03 22:44:01 +08:00
zlwu
732c1b1dc9
提交
2026-08-03 21:20:00 +08:00
zlwu
e233269abf
提交
2026-08-03 12:48:52 +08:00
zlwu and Cursor
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
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
006ed6586c
feat(pl): site io-order feedback accepts and stores brand qtys
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-31 05:17:50 +08:00
zlwu and Cursor
b0346e688d
feat(pl): add feedback brand qty persist helpers and tests
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-31 05:14:54 +08:00
zlwu and Cursor
79f87d39a7
feat(pl): add ORM models for feedback brand qty tables
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-31 05:11:51 +08:00
zlwu and Cursor
b658591818
chore(db): add feedback brand qty tables for site and driver
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-31 05:07:53 +08:00
zlwu and Cursor
dd4aa734ee
chore: sync remaining local plan, form mapping and graphify cache
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 10:05:03 +08:00
zlwu and Cursor
44a57b86ca
chore: update graphify after brand/alias inventory work
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 09:38:07 +08:00
zlwu and Cursor
dd31fb53b6
chore(db): add optional script to split brand from product names
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 09:36:32 +08:00
zlwu and Cursor
7aa995a9d6
feat(pl): show archive brand breakdown on inbound/outbound orders
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 09:36:15 +08:00
zlwu and Cursor
cc2edfc61f
feat(pl): post brand-level inventory on plan archive
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 09:34:07 +08:00