zlwu and Cursor
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
zlwu and Cursor
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
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 and Cursor
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
zlwu and Cursor
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
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
ce75576fb0
docs: mark quote approver setting design implemented
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-01 13:09:13 +08:00
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
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
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
zlwu and Cursor
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
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
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
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
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
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
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
zlwu and Cursor
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
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
5538fa3152
fix(db): drop unrelated shanxia2.0.sql diffs from brand qty migrate
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-31 05:10:07 +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
fb76940d15
docs: add implementation plan for feedback brand qty
...
Break down site/driver brand quantity feedback into DDL, APIs,
shared chips UI, view-tab layout, and archive alignment tasks.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-31 05:02:46 +08:00
zlwu and Cursor
4e6e06a603
docs: add transport feedback brand qty design and demo
...
Capture the approved design for site/driver brand quantity feedback,
independent storage from archive, and view-tab/button layout changes.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-31 05:00:36 +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
e7d7e731ba
feat(web-admin): show brand on inventory ledger and transactions
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 09:35:42 +08:00
zlwu and Cursor
38b1613fee
feat(web-admin): enter archive inbound/outbound qty by brand
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 09:35:05 +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
zlwu and Cursor
32533948e3
feat(pl): validate and persist archive quantities by brand
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 09:32:36 +08:00
zlwu and Cursor
c35627d60a
feat(pl): show brand constraint on plan product rows
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 09:31:51 +08:00
zlwu and Cursor
cd33befa07
feat(web-admin): choose display name and brand constraint on quote/contract lines
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 09:30:38 +08:00
zlwu and Cursor
ba98108659
feat(crm): snapshot brand mode on quote and contract lines
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 09:23:50 +08:00
zlwu and Cursor
bcfadd23d9
feat(web-admin): edit product brands and aliases in product form
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 09:22:29 +08:00
zlwu and Cursor
bfa0d50597
feat(crm): persist product brands and aliases on create/update
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 09:21:31 +08:00
zlwu and Cursor
ea43150b8a
feat(models): add product brand/alias and plan brand qty models
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 09:18:32 +08:00
zlwu and Cursor
265a4ff4f7
chore(db): add product brand/alias and brand-level inventory schema
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-28 09:16:52 +08:00
zlwu and Cursor
a79dd9f61d
docs(crm): add product brand and alias implementation plan.
...
Break the approved design into sequenced tasks from DDL through archive inventory posting and UI.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 21:47:38 +08:00
zlwu and Cursor
d7e0edf2d5
docs(crm): add product brand and alias design spec.
...
Capture the agreed model: per-product brands, document-line brand constraints, archive-time brand quantities, and brand-level inventory.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 21:42:53 +08:00
zlwu and Cursor
768ef934f9
chore: update graphify after pl batch print merge
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 21:17:00 +08:00
zlwu and Cursor
246da286e2
feat(web-admin): enable multi-select batch slip print on plan list toolbar
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 21:16:19 +08:00
zlwu and Cursor
25978401e1
feat(web-admin): allow multi planIds in transport slip print dialogs
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 21:15:41 +08:00
zlwu and Cursor
e930e583a9
feat(web-admin): support per-row planNo and multiline remarks on slip templates
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 21:14:59 +08:00
zlwu and Cursor
bbcb2b8936
feat(web-admin): add batch print merge helpers for transport plans
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 21:13:19 +08:00
zlwu and Cursor
92736acced
docs(pl): add batch print merge implementation plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 20:45:00 +08:00
zlwu and Cursor
8d76c6bec6
docs(pl): 运输计划多选合打打印设计与交互 Demo
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 20:39:39 +08:00
zlwu and Cursor
ada592924a
docs(pl): add create_date implementation plan
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 16:30:35 +08:00
zlwu and Cursor
b5c49e3fc8
chore: update graphify after pl_plan create_date
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 16:30:29 +08:00
zlwu and Cursor
a276f09350
feat(web-admin): add createDate and default pickup/delivery on plan forms
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 16:29:35 +08:00
zlwu and Cursor
349e031790
feat(pl): persist create_date on plan create APIs
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 16:29:35 +08:00
zlwu and Cursor
bb7f05ffda
feat(pl): add create_date to PlPlan model and schemas
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 16:29:35 +08:00
zlwu and Cursor
5ebaec2e2e
chore(pl): add pl_plan.create_date migration and DDL snapshot
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 16:27:32 +08:00
zlwu and Cursor
60841264e0
docs(pl): 运输计划创建日期字段与取货/送达默认设计
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-27 09:06:32 +08:00
zlwu
bede140d12
提交
2026-07-26 21:06:09 +08:00
zlwu and Cursor
70bdd820ce
feat(pl): 按单据类型限制打印项并调整送(提)货单布局
...
按入库/出库/直销限制可打印单据;送(提)货单信息区改为一行布局,物料表增加单据编号列,并修正条款列宽与类型多选不换行。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-26 21:05:11 +08:00
zlwu and Cursor
55410191ec
chore: 同步 PL 三方分册相关知识图谱
...
后端/前端 AST 图谱随证书门禁、粘贴识别与菜单分册改动更新。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-25 12:57:44 +08:00
zlwu and Cursor
6258821273
feat(web-admin): 三方车辆/人员粘贴识别弹窗与入口
...
共享识别预览弹窗,支持冲突三选一,并在三方车辆与三方驾押人员工具栏接入。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-25 12:54:50 +08:00
zlwu and Cursor
c60ebfc082
feat(pl): 三方粘贴识别批量提交接口
...
新增 paste-recognize/commit,事务内处理车/人冲突策略与关联写入。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-25 12:52:09 +08:00
zlwu and Cursor
b1e788e856
feat(web-admin): 三方车辆客户文本粘贴解析工具
...
为三方车辆/人员粘贴识别提供规则解析纯函数。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-25 10:58:52 +08:00
zlwu and Cursor
fd62043f71
feat(web-admin): 承运商去审核 UI 并移除安排运输准入拦截
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-25 10:58:24 +08:00
zlwu and Cursor
4eed1183b5
fix(web-admin): 三方驾押人员查看态不显示证书缺失后缀
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-25 10:57:23 +08:00
zlwu and Cursor
5543f26dca
feat(web-admin): 驾押人员页按归属分册并仅山峡强制证书
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-25 10:57:04 +08:00
zlwu and Cursor
3396e3d164
feat(web-admin): 全部车辆页改为三方车辆并关闭证书强制
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-25 10:56:16 +08:00
zlwu and Cursor
8ba55dd6f6
feat(pl): 基础信息库四菜单分册(三方/山峡)
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-25 10:54:48 +08:00
zlwu and Cursor
d92bd7940e
fix(pl): 取消承运商审核与资质协议准入门禁
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-25 10:49:12 +08:00
zlwu and Cursor
b071687a71
fix(pl): 三方车辆与人员保存跳过必备证书校验
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-25 10:45:26 +08:00
zlwu and Cursor
db4907ec28
docs(pl): 三方/山峡车辆人员分册与粘贴建档实现计划
...
按已批准设计拆为证书门禁、菜单路由、粘贴提交与承运商去准入等可执行任务。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-25 10:41:25 +08:00
zlwu and Cursor
47c1017923
docs(pl): 三方/山峡车辆人员分册与粘贴建档设计
...
固化四菜单分册、三方证书不强制、粘贴识别双入口与承运商去准入规则,供后续实现计划使用。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-25 10:36:10 +08:00
zlwu
68d96f87ff
提交
2026-07-22 21:26:33 +08:00
zlwu
aff71d296b
提交
2026-07-20 10:50:26 +08:00
zlwu and Cursor
6d9354a194
chore: 更新 PL 相关知识图谱并修复 update-graph.sh 探测逻辑
...
使用本机 graphify CLI 强制重建 backend/web-admin 图谱;脚本改为优先走 PATH 中的 graphify。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-19 17:22:31 +08:00
zlwu and Cursor
aa5fbe7780
docs(pl): 出入库现场状态可选设计、实现计划与 D5 旁注
...
记录显式 status 提交流程,并标注旧出入库设计中现场自动完成规则已被覆盖。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-19 17:16:39 +08:00
zlwu and Cursor
dee85f182e
feat(web-admin): 出入库现场页支持选择单据状态并作废只读
...
提交携带 status;作废需确认;作废后整页只读可查看。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-19 17:14:23 +08:00
zlwu and Cursor
1df9bbe22a
feat(web-admin): 出入库现场回执 API 增加 status 字段
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-19 17:14:22 +08:00
zlwu and Cursor
664acff1f3
feat(pl): 现场回执提交显式写入出入库单状态
...
删除首次提交自动改为已完成的隐式逻辑,改为由客户端传入 status。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-19 17:13:40 +08:00
zlwu and Cursor
2474449448
feat(web-admin): 补齐出入库单页面入口与公共路由
...
登记库存管理入库/出库菜单路由,以及免登录现场链接静态路由与薄包装页。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-19 16:47:32 +08:00
zlwu and Cursor
3f23feba59
feat(web-admin): 计划查看出入库回传补齐取送货与产品列
...
查看 KV、只读子表与快捷编辑弹窗与入库/出库单编辑弹窗字段对齐。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-19 16:47:03 +08:00
zlwu and Cursor
4d88ceb65e
feat(web-admin): 出入库列表与编辑弹窗展示取送货及完整产品列
...
列表增加取送货地址;编辑弹窗主信息与产品八列对齐设计。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-19 16:47:02 +08:00
zlwu and Cursor
8b2ebe28e6
feat(web-admin): 出入库现场链接页对齐 Demo 信息密度与样式
...
补回取送货与导航,产品区卡片展示包装规格,单位使用后端已转义标签。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-19 16:47:01 +08:00
zlwu and Cursor
8b7f6d99c8
feat(web-admin): 扩展出入库单与公共页 TypeScript 类型
...
为 enrichment 返回的取送货、产品编号、包装规格与单位标签补齐前端类型。
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-19 16:47:00 +08:00