mirror of
https://github.com/inventree/inventree-app.git
synced 2025-04-27 21:16:48 +00:00
Display "destination" in purchase order line item detail
(cherry picked from commit 818f8cf7098df5dd83e86b9102288f22556c8700)
This commit is contained in:
parent
e2a688315d
commit
2141c647c5
@ -5,14 +5,18 @@ import "package:flutter_tabler_icons/flutter_tabler_icons.dart";
|
||||
import "package:inventree/api_form.dart";
|
||||
import "package:inventree/app_colors.dart";
|
||||
import "package:inventree/helpers.dart";
|
||||
import "package:inventree/inventree/model.dart";
|
||||
import "package:inventree/l10.dart";
|
||||
import "package:inventree/widget/progress.dart";
|
||||
import "package:inventree/widget/part/part_detail.dart";
|
||||
|
||||
import "package:inventree/widget/refreshable_state.dart";
|
||||
import "package:inventree/inventree/company.dart";
|
||||
import "package:inventree/inventree/part.dart";
|
||||
import "package:inventree/inventree/purchase_order.dart";
|
||||
import "package:inventree/inventree/stock.dart";
|
||||
|
||||
import "package:inventree/widget/progress.dart";
|
||||
import "package:inventree/widget/part/part_detail.dart";
|
||||
import "package:inventree/widget/stock/location_display.dart";
|
||||
import "package:inventree/widget/refreshable_state.dart";
|
||||
import "package:inventree/widget/snacks.dart";
|
||||
import "package:inventree/widget/company/supplier_part_detail.dart";
|
||||
|
||||
@ -38,6 +42,8 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> {
|
||||
|
||||
_POLineDetailWidgetState();
|
||||
|
||||
InvenTreeStockLocation? destination;
|
||||
|
||||
@override
|
||||
String getAppBarTitle() => L10().lineItem;
|
||||
|
||||
@ -84,6 +90,29 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> {
|
||||
@override
|
||||
Future<void> request(BuildContext context) async {
|
||||
await widget.item.reload();
|
||||
|
||||
if (widget.item.destinationId > 0) {
|
||||
InvenTreeStockLocation().get(widget.item.destinationId).then((InvenTreeModel? loc) {
|
||||
if (mounted) {
|
||||
if (loc != null && loc is InvenTreeStockLocation) {
|
||||
setState(() {
|
||||
destination = loc;
|
||||
});
|
||||
} else {
|
||||
setState(() {
|
||||
destination = null;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
} else {
|
||||
if (mounted) {
|
||||
setState(() {
|
||||
destination = null;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Callback to edit this line item
|
||||
@ -199,6 +228,24 @@ class _POLineDetailWidgetState extends RefreshableState<POLineDetailWidget> {
|
||||
)
|
||||
);
|
||||
|
||||
// Destination
|
||||
if (destination != null) {
|
||||
tiles.add(ListTile(
|
||||
title: Text(L10().destination),
|
||||
subtitle: Text(destination!.name),
|
||||
leading: Icon(TablerIcons.map_pin, color: COLOR_ACTION),
|
||||
onTap: () =>
|
||||
{
|
||||
Navigator.push(
|
||||
context,
|
||||
MaterialPageRoute(
|
||||
builder: (context) => LocationDisplayWidget(destination!)
|
||||
)
|
||||
)
|
||||
}
|
||||
));
|
||||
}
|
||||
|
||||
// Received quantity
|
||||
tiles.add(
|
||||
ListTile(
|
||||
|
Loading…
x
Reference in New Issue
Block a user