kae
5c903d7abc
feat: add create purchase order page and route
...
The "创建采购订单" button navigated to /purchase/orders/new which matched
the /:id detail route with id="new", causing the detail page to request a
non-existent order and render blank.
Added a dedicated new.tsx form page (supplier select, date, dynamic detail
rows with product autocomplete and computed line totals) and registered
/purchase/orders/new in .umirc.ts before the /:id route so it takes
precedence.
2026-06-18 18:25:00 +09:00
kae
4ba4dc98bf
update ourchase
2026-05-24 20:05:28 +09:00
kae
4626bf2771
update api
2026-05-22 18:59:15 +09:00
Chever John
8096f4a848
first init
2026-04-20 01:58:36 +00:00
Chever John
f61e216c43
feat: multi-tenant CRM portal with tenant login, supplier/customer views, and graph visualization
...
- Login page: tenantId mandatory, ruby logo (木羽清風), brand rename to 木羽清風
- Tenant session: localStorage tenantId + X-Tenant-Id header on all requests
- CRM Relations page: "我的供应商" / "我的客户" tabs with Chinese relation type mapping
- CRM Graph page: Terminal CLI aesthetic force-directed supply chain visualization (admin only)
- Menu filtering: empty menuPaths hides all menus (security fix)
- Error handler: 403 no longer triggers logout (security fix)
- API layer: added CRM endpoints (upstream/downstream/relations/history/full graph)
- Route config: added /crm/relations and /crm/graph routes
- app.ts renamed to app.tsx for JSX support in layout config
Made-with: Cursor
2026-03-30 02:56:16 +00:00
Chever John
0437aa04ed
feat: initial commit for muyu-portal
...
Umi-based frontend portal with TypeScript config.
Made-with: Cursor
2026-02-28 15:29:12 +08:00