mirror of
https://github.com/inventree/inventree-app.git
synced 2025-04-28 13:36:50 +00:00
Add skeleton page for showing test results for a stock item
This commit is contained in:
parent
868e1d20dc
commit
1d7d3def04
@ -1,5 +1,6 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
|
import 'package:InvenTree/inventree/part.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
import 'model.dart';
|
import 'model.dart';
|
||||||
@ -67,6 +68,29 @@ class InvenTreeStockItem extends InvenTreeModel {
|
|||||||
// TODO
|
// TODO
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<InvenTreePartTestTemplate> testTemplates = List<InvenTreePartTestTemplate>();
|
||||||
|
|
||||||
|
int get testTemplateCount => testTemplates.length;
|
||||||
|
|
||||||
|
// Get all the test templates associated with this StockItem
|
||||||
|
Future<void> getTestTemplates(BuildContext context, {bool showDialog=false}) async {
|
||||||
|
InvenTreePartTestTemplate().list(
|
||||||
|
context,
|
||||||
|
filters: {
|
||||||
|
"part": "${partId}",
|
||||||
|
},
|
||||||
|
dialog: showDialog,
|
||||||
|
).then((var templates) {
|
||||||
|
testTemplates.clear();
|
||||||
|
|
||||||
|
for (var t in templates) {
|
||||||
|
if (t is InvenTreePartTestTemplate) {
|
||||||
|
testTemplates.add(t);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
List<InvenTreeStockItemTestResult> testResults = List<InvenTreeStockItemTestResult>();
|
List<InvenTreeStockItemTestResult> testResults = List<InvenTreeStockItemTestResult>();
|
||||||
|
|
||||||
int get testResultCount => testResults.length;
|
int get testResultCount => testResults.length;
|
||||||
|
@ -7,6 +7,7 @@ import 'package:InvenTree/widget/fields.dart';
|
|||||||
import 'package:InvenTree/widget/location_display.dart';
|
import 'package:InvenTree/widget/location_display.dart';
|
||||||
import 'package:InvenTree/widget/part_detail.dart';
|
import 'package:InvenTree/widget/part_detail.dart';
|
||||||
import 'package:InvenTree/widget/refreshable_state.dart';
|
import 'package:InvenTree/widget/refreshable_state.dart';
|
||||||
|
import 'package:InvenTree/widget/stock_item_test_results.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
@ -429,7 +430,9 @@ class _StockItemDisplayState extends RefreshableState<StockDetailWidget> {
|
|||||||
title: Text("Test Results"),
|
title: Text("Test Results"),
|
||||||
leading: FaIcon(FontAwesomeIcons.tasks),
|
leading: FaIcon(FontAwesomeIcons.tasks),
|
||||||
trailing: Text("${item.testResultCount}"),
|
trailing: Text("${item.testResultCount}"),
|
||||||
onTap: null,
|
onTap: () {
|
||||||
|
Navigator.push(context, MaterialPageRoute(builder: (context) => StockItemTestResultsWidget(item)));
|
||||||
|
}
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
40
lib/widget/stock_item_test_results.dart
Normal file
40
lib/widget/stock_item_test_results.dart
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
import 'package:InvenTree/inventree/stock.dart';
|
||||||
|
import 'package:InvenTree/api.dart';
|
||||||
|
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:InvenTree/widget/refreshable_state.dart';
|
||||||
|
|
||||||
|
class StockItemTestResultsWidget extends StatefulWidget {
|
||||||
|
|
||||||
|
StockItemTestResultsWidget(this.item, {Key key}) : super(key: key);
|
||||||
|
|
||||||
|
final InvenTreeStockItem item;
|
||||||
|
|
||||||
|
@override
|
||||||
|
_StockItemTestResultDisplayState createState() => _StockItemTestResultDisplayState(item);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class _StockItemTestResultDisplayState extends RefreshableState<StockItemTestResultsWidget> {
|
||||||
|
|
||||||
|
@override
|
||||||
|
String getAppBarTitle(BuildContext context) { return "Test Results"; }
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> request(BuildContext context) async {
|
||||||
|
await item.getTestTemplates(context);
|
||||||
|
await item.getTestResults(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
final InvenTreeStockItem item;
|
||||||
|
|
||||||
|
_StockItemTestResultDisplayState(this.item);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget getBody(BuildContext context) {
|
||||||
|
return ListView(
|
||||||
|
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user