Files
erp/crates/erp-plugin-inventory/plugin.toml
iven 08252c10f1
Some checks are pending
CI / rust-check (push) Waiting to run
CI / rust-test (push) Waiting to run
CI / frontend-build (push) Waiting to run
CI / security-audit (push) Waiting to run
feat(crm,inventory): P1 验证 — 插件 manifest 跨插件引用声明
- CRM: customer 实体新增 is_public = true,允许其他插件引用
- 进销存: sales_order.customer_id 新增 ref_plugin/ref_entity/ref_label_field/ref_fallback_label
- 进销存: metadata 版本升至 0.2.0,dependencies 添加 erp-crm
2026-04-19 00:56:32 +08:00

378 lines
7.7 KiB
TOML

[metadata]
id = "erp-inventory"
name = "进销存管理"
version = "0.2.0"
description = "进销存管理插件 — 产品、仓库、库存、供应商、采购单、销售单"
author = "ERP Team"
min_platform_version = "0.1.0"
dependencies = ["erp-crm"]
# ── 权限声明 ──
[[permissions]]
code = "product.list"
name = "查看产品"
description = "查看产品列表和详情"
[[permissions]]
code = "product.manage"
name = "管理产品"
description = "创建、编辑、删除产品"
[[permissions]]
code = "warehouse.list"
name = "查看仓库"
description = "查看仓库列表和详情"
[[permissions]]
code = "warehouse.manage"
name = "管理仓库"
description = "创建、编辑、删除仓库"
[[permissions]]
code = "stock.list"
name = "查看库存"
description = "查看库存列表和详情"
[[permissions]]
code = "stock.manage"
name = "管理库存"
description = "创建、编辑、删除库存记录"
[[permissions]]
code = "supplier.list"
name = "查看供应商"
description = "查看供应商列表和详情"
[[permissions]]
code = "supplier.manage"
name = "管理供应商"
description = "创建、编辑、删除供应商"
[[permissions]]
code = "purchase_order.list"
name = "查看采购单"
description = "查看采购单列表和详情"
[[permissions]]
code = "purchase_order.manage"
name = "管理采购单"
description = "创建、编辑、删除采购单"
[[permissions]]
code = "sales_order.list"
name = "查看销售单"
description = "查看销售单列表和详情"
[[permissions]]
code = "sales_order.manage"
name = "管理销售单"
description = "创建、编辑、删除销售单"
# ── 实体定义 ──
[[schema.entities]]
name = "product"
display_name = "产品"
[[schema.entities.fields]]
name = "code"
field_type = "string"
required = true
display_name = "产品编码"
unique = true
searchable = true
[[schema.entities.fields]]
name = "name"
field_type = "string"
required = true
display_name = "产品名称"
searchable = true
[[schema.entities.fields]]
name = "spec"
field_type = "string"
display_name = "规格"
[[schema.entities.fields]]
name = "unit"
field_type = "string"
display_name = "单位"
[[schema.entities.fields]]
name = "category"
field_type = "string"
display_name = "分类"
filterable = true
[[schema.entities.fields]]
name = "price"
field_type = "decimal"
display_name = "售价"
sortable = true
[[schema.entities.fields]]
name = "cost"
field_type = "decimal"
display_name = "成本价"
sortable = true
[[schema.entities.fields]]
name = "status"
field_type = "string"
required = true
display_name = "状态"
ui_widget = "select"
filterable = true
options = [
{ label = "上架", value = "active" },
{ label = "下架", value = "inactive" }
]
[[schema.entities]]
name = "warehouse"
display_name = "仓库"
[[schema.entities.fields]]
name = "code"
field_type = "string"
required = true
display_name = "仓库编码"
unique = true
[[schema.entities.fields]]
name = "name"
field_type = "string"
required = true
display_name = "仓库名称"
searchable = true
[[schema.entities.fields]]
name = "address"
field_type = "string"
display_name = "地址"
[[schema.entities.fields]]
name = "manager"
field_type = "string"
display_name = "负责人"
[[schema.entities.fields]]
name = "status"
field_type = "string"
required = true
display_name = "状态"
ui_widget = "select"
filterable = true
options = [
{ label = "启用", value = "active" },
{ label = "停用", value = "inactive" }
]
[[schema.entities]]
name = "stock"
display_name = "库存"
[[schema.entities.fields]]
name = "product_id"
field_type = "uuid"
required = true
display_name = "产品"
ui_widget = "entity_select"
ref_entity = "product"
ref_label_field = "name"
ref_search_fields = ["name", "code"]
[[schema.entities.fields]]
name = "warehouse_id"
field_type = "uuid"
required = true
display_name = "仓库"
ui_widget = "entity_select"
ref_entity = "warehouse"
ref_label_field = "name"
ref_search_fields = ["name", "code"]
[[schema.entities.fields]]
name = "qty"
field_type = "integer"
required = true
display_name = "数量"
sortable = true
[[schema.entities.fields]]
name = "cost"
field_type = "decimal"
display_name = "成本"
[[schema.entities.fields]]
name = "alert_line"
field_type = "integer"
display_name = "预警线"
[[schema.entities]]
name = "supplier"
display_name = "供应商"
[[schema.entities.fields]]
name = "code"
field_type = "string"
required = true
display_name = "供应商编码"
unique = true
[[schema.entities.fields]]
name = "name"
field_type = "string"
required = true
display_name = "供应商名称"
searchable = true
[[schema.entities.fields]]
name = "contact"
field_type = "string"
display_name = "联系人"
[[schema.entities.fields]]
name = "phone"
field_type = "string"
display_name = "电话"
[[schema.entities.fields]]
name = "address"
field_type = "string"
display_name = "地址"
[[schema.entities]]
name = "purchase_order"
display_name = "采购单"
[[schema.entities.fields]]
name = "supplier_id"
field_type = "uuid"
required = true
display_name = "供应商"
ui_widget = "entity_select"
ref_entity = "supplier"
ref_label_field = "name"
ref_search_fields = ["name", "code"]
[[schema.entities.fields]]
name = "total_amount"
field_type = "decimal"
display_name = "总金额"
[[schema.entities.fields]]
name = "status"
field_type = "string"
required = true
display_name = "状态"
ui_widget = "select"
filterable = true
options = [
{ label = "草稿", value = "draft" },
{ label = "已审核", value = "approved" },
{ label = "已完成", value = "completed" },
{ label = "已取消", value = "cancelled" }
]
[[schema.entities.fields]]
name = "date"
field_type = "date"
display_name = "采购日期"
[[schema.entities.fields]]
name = "items"
field_type = "json"
display_name = "采购明细"
[[schema.entities]]
name = "sales_order"
display_name = "销售单"
[[schema.entities.fields]]
name = "customer_id"
field_type = "uuid"
display_name = "客户"
ui_widget = "entity_select"
ref_plugin = "erp-crm"
ref_entity = "customer"
ref_label_field = "name"
ref_search_fields = ["name", "code"]
ref_fallback_label = "CRM 客户"
[[schema.entities.fields]]
name = "total_amount"
field_type = "decimal"
display_name = "总金额"
[[schema.entities.fields]]
name = "status"
field_type = "string"
required = true
display_name = "状态"
ui_widget = "select"
filterable = true
sortable = true
options = [
{ label = "草稿", value = "draft" },
{ label = "已审核", value = "approved" },
{ label = "已完成", value = "completed" },
{ label = "已取消", value = "cancelled" }
]
[[schema.entities.fields]]
name = "date"
field_type = "date"
display_name = "销售日期"
[[schema.entities.fields]]
name = "items"
field_type = "json"
display_name = "销售明细"
# ── 页面声明 ──
[[ui.pages]]
type = "crud"
entity = "product"
label = "产品管理"
icon = "shopping"
enable_search = true
[[ui.pages]]
type = "crud"
entity = "warehouse"
label = "仓库管理"
icon = "home"
enable_search = true
[[ui.pages]]
type = "crud"
entity = "stock"
label = "库存管理"
icon = "inbox"
enable_search = true
[[ui.pages]]
type = "crud"
entity = "supplier"
label = "供应商管理"
icon = "shop"
enable_search = true
[[ui.pages]]
type = "crud"
entity = "purchase_order"
label = "采购管理"
icon = "download"
enable_search = true
[[ui.pages]]
type = "crud"
entity = "sales_order"
label = "销售管理"
icon = "upload"
enable_search = true