2
0
mirror of https://github.com/inventree/inventree-app.git synced 2025-10-30 04:45:39 +00:00

SalesOrderShipment (#697)

* Add detail widget for SalesOrderShipment

* Support editing of shipment details

* Rearrange SalesOrderDetail page

* Add support for attachments against shipment model

* refactoring

* Add shipment details page

* Add user actions for shipments:

- Check / uncheck
- Take photo

* Placeholder action to send shipment

* Send shipment from app

* Display pending shipments on the home screen

* Improve rending for shipments list

* Add class definition for SalesOrderAllocation

* Display list of items allocated against SalesOrderShipment

* Bump release notse

* Click through to stock item

* Bump version number

* dart format

* cleanup

* Remove unused imports
This commit is contained in:
Oliver
2025-10-24 13:36:10 +11:00
committed by GitHub
parent 6b67cc9e50
commit 624655ec6b
22 changed files with 858 additions and 79 deletions

View File

@@ -375,24 +375,7 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> {
Color lineColor = widget.order.complete ? COLOR_SUCCESS : COLOR_WARNING;
// Shipment progress
if (widget.order.shipmentCount > 0) {
tiles.add(
ListTile(
title: Text(L10().shipments),
subtitle: ProgressBar(
widget.order.completedShipmentCount.toDouble(),
maximum: widget.order.shipmentCount.toDouble(),
),
leading: Icon(TablerIcons.truck_delivery),
trailing: LargeText(
"${widget.order.completedShipmentCount} / ${widget.order.shipmentCount}",
color: lineColor,
),
),
);
}
// Line items progress
tiles.add(
ListTile(
title: Text(L10().lineItems),
@@ -408,6 +391,24 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> {
),
);
// Shipment progress
if (widget.order.shipmentCount > 0) {
tiles.add(
ListTile(
title: Text(L10().shipments),
subtitle: ProgressBar(
widget.order.completedShipmentCount.toDouble(),
maximum: widget.order.shipmentCount.toDouble(),
),
leading: Icon(TablerIcons.cube_send),
trailing: LargeText(
"${widget.order.completedShipmentCount} / ${widget.order.shipmentCount}",
color: lineColor,
),
),
);
}
// Extra line items
tiles.add(
ListTile(
@@ -522,8 +523,8 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> {
List<Widget> getTabIcons(BuildContext context) {
return [
Tab(text: L10().details),
Tab(text: L10().shipments),
Tab(text: L10().lineItems),
Tab(text: L10().shipments),
];
}
@@ -531,8 +532,8 @@ class _SalesOrderDetailState extends RefreshableState<SalesOrderDetailWidget> {
List<Widget> getTabs(BuildContext context) {
return [
ListView(children: orderTiles(context)),
PaginatedSOShipmentList({"order": widget.order.pk.toString()}),
PaginatedSOLineList({"order": widget.order.pk.toString()}),
PaginatedSOShipmentList({"order": widget.order.pk.toString()}),
];
}
}