mirror of
https://git.meshkee.com/applications/cssd.git
synced 2026-10-13 10:48:53 +03:30
'3.1.1'
This commit is contained in:
@@ -187,4 +187,8 @@ class Url {
|
|||||||
static String getUsers(String id) {
|
static String getUsers(String id) {
|
||||||
return '$baseUrl/Users?medical_center_id=$id';
|
return '$baseUrl/Users?medical_center_id=$id';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static String showItemImage(String file) {
|
||||||
|
return 'https://www.cssd-doc.com/$file';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ class ItemDetailObject extends Equatable {
|
|||||||
final String createdAt;
|
final String createdAt;
|
||||||
final String udi;
|
final String udi;
|
||||||
final int status;
|
final int status;
|
||||||
|
final List<String>? filePath;
|
||||||
|
|
||||||
ItemDetailObject({
|
ItemDetailObject({
|
||||||
required this.id,
|
required this.id,
|
||||||
@@ -61,6 +62,7 @@ class ItemDetailObject extends Equatable {
|
|||||||
required this.createdAt,
|
required this.createdAt,
|
||||||
required this.udi,
|
required this.udi,
|
||||||
required this.status,
|
required this.status,
|
||||||
|
this.filePath,
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -76,6 +78,7 @@ class ItemDetailObject extends Equatable {
|
|||||||
createdAt,
|
createdAt,
|
||||||
udi,
|
udi,
|
||||||
status,
|
status,
|
||||||
|
filePath!,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -89,11 +89,12 @@ class _CycleAddScreenState extends State<CycleAddScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Cycles'),
|
title: Text('Cycles', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context)
|
onPressed: () => Navigator.of(context)
|
||||||
|
|||||||
@@ -54,11 +54,12 @@ class _CycleDetailScreenState extends State<CycleDetailScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Cycles'),
|
title: Text('Cycles', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -104,11 +104,12 @@ class _CycleFilterScreenState extends State<CycleFilterScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Cycles'),
|
title: Text('Cycles', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context)
|
onPressed: () => Navigator.of(context)
|
||||||
|
|||||||
@@ -77,11 +77,12 @@ class _CycleResultScreenState extends State<CycleResultScreen> {
|
|||||||
),
|
),
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Home'),
|
title: Text('Home', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -35,11 +35,12 @@ class _CycleScanScreenState extends State<CycleScanScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Cycles'),
|
title: Text('Cycles', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -93,10 +93,11 @@ class _CycleUpdateScreenState extends State<CycleUpdateScreen> {
|
|||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
title: Text('Cycles'),
|
title: Text('Cycles', style: TextStyle(color: Colors.white,),),
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context)
|
onPressed: () => Navigator.of(context)
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import 'package:cssd/widgets/ItemScreens/Add/item_save_button.dart';
|
|||||||
import 'package:cssd/widgets/ItemScreens/Add/upload_image.dart';
|
import 'package:cssd/widgets/ItemScreens/Add/upload_image.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
import 'package:intl/intl.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:random_string/random_string.dart';
|
import 'package:random_string/random_string.dart';
|
||||||
|
|
||||||
@@ -27,9 +26,9 @@ class _ItemAddScreenState extends State<ItemAddScreen> {
|
|||||||
TextEditingController nameCTRL = new TextEditingController();
|
TextEditingController nameCTRL = new TextEditingController();
|
||||||
TextEditingController specificCTRL = new TextEditingController();
|
TextEditingController specificCTRL = new TextEditingController();
|
||||||
TextEditingController sizeCTRL = new TextEditingController();
|
TextEditingController sizeCTRL = new TextEditingController();
|
||||||
TextEditingController dateCTRL = new TextEditingController();
|
|
||||||
final _form = GlobalKey<FormState>();
|
final _form = GlobalKey<FormState>();
|
||||||
bool isInit = true;
|
bool isInit = true;
|
||||||
|
bool isLoading = false;
|
||||||
ItemFilterObject? filters;
|
ItemFilterObject? filters;
|
||||||
final batchId = randomString(10);
|
final batchId = randomString(10);
|
||||||
|
|
||||||
@@ -41,25 +40,70 @@ class _ItemAddScreenState extends State<ItemAddScreen> {
|
|||||||
nameCTRL.text = '';
|
nameCTRL.text = '';
|
||||||
sizeCTRL.text = '';
|
sizeCTRL.text = '';
|
||||||
specificCTRL.text = '';
|
specificCTRL.text = '';
|
||||||
dateCTRL.text = DateFormat('y-M-d').format(DateTime.now());
|
|
||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _saveForm(String name, String size, String specific, String udi,String description) {
|
||||||
|
setState(() {
|
||||||
|
isLoading = true;
|
||||||
|
});
|
||||||
|
if (!_form.currentState!.validate()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Provider.of<ItemProvider>(context, listen: false)
|
||||||
|
.createItemResult(
|
||||||
|
name,
|
||||||
|
size,
|
||||||
|
specific,
|
||||||
|
udi,
|
||||||
|
description,
|
||||||
|
batchId,
|
||||||
|
)
|
||||||
|
.then(
|
||||||
|
(result) {
|
||||||
|
setState(() {
|
||||||
|
isLoading = false;
|
||||||
|
});
|
||||||
|
if (result == 'done') {
|
||||||
|
showDialog(
|
||||||
|
context: context,
|
||||||
|
builder: (ctx) => AlertDialog(
|
||||||
|
content: Text('Item added.'),
|
||||||
|
actions: <Widget>[
|
||||||
|
TextButton(
|
||||||
|
onPressed: () {
|
||||||
|
Navigator.of(ctx).pop();
|
||||||
|
},
|
||||||
|
child: Text('Ok'),
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
).then((value) => Navigator.of(context)
|
||||||
|
.popAndPushNamed(Routes.itemResultScreen));
|
||||||
|
}
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void didChangeDependencies() async {
|
void didChangeDependencies() async {
|
||||||
if (isInit) {
|
if (isInit) {
|
||||||
|
setState(() {
|
||||||
|
isLoading = true;
|
||||||
|
});
|
||||||
var itemProviderObject = Provider.of<ItemProvider>(context);
|
var itemProviderObject = Provider.of<ItemProvider>(context);
|
||||||
itemProviderObject.catchImages.clear();
|
itemProviderObject.catchImages.clear();
|
||||||
itemProviderObject.getItemResults().then(
|
itemProviderObject.getItemResults().then(
|
||||||
(result) {
|
(result) {
|
||||||
setState(
|
setState(
|
||||||
() {
|
() {
|
||||||
isInit = false;
|
isLoading = false;
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
isInit = false;
|
||||||
super.didChangeDependencies();
|
super.didChangeDependencies();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -85,11 +129,12 @@ class _ItemAddScreenState extends State<ItemAddScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Items'),
|
title: Text('Items', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context)
|
onPressed: () => Navigator.of(context)
|
||||||
@@ -99,7 +144,7 @@ class _ItemAddScreenState extends State<ItemAddScreen> {
|
|||||||
body: Consumer<ConnectivityProvider>(
|
body: Consumer<ConnectivityProvider>(
|
||||||
builder: (ct, connection, _) {
|
builder: (ct, connection, _) {
|
||||||
return connection.conStatus != 'offline'
|
return connection.conStatus != 'offline'
|
||||||
? isInit
|
? isLoading
|
||||||
? Center(
|
? Center(
|
||||||
child: CircularProgressIndicator(
|
child: CircularProgressIndicator(
|
||||||
color: Colors.black,
|
color: Colors.black,
|
||||||
@@ -315,16 +360,16 @@ class _ItemAddScreenState extends State<ItemAddScreen> {
|
|||||||
height: 70,
|
height: 70,
|
||||||
),
|
),
|
||||||
ItemAddSaveButton(
|
ItemAddSaveButton(
|
||||||
form: _form,
|
onTap: (){
|
||||||
nameCTRL: nameCTRL,
|
_saveForm(
|
||||||
udiCTRL: udiCTRL,
|
nameCTRL.text,
|
||||||
descriptionCTRL: descriptionCTRL,
|
sizeCTRL.text,
|
||||||
sizeCTRL: sizeCTRL,
|
specificCTRL.text,
|
||||||
specificCTRL: specificCTRL,
|
udiCTRL.text,
|
||||||
batchId: batchId,
|
descriptionCTRL.text,
|
||||||
dateValue: dateCTRL.text,
|
);
|
||||||
|
},
|
||||||
deviceBlockSize: _deviceBlockSize,
|
deviceBlockSize: _deviceBlockSize,
|
||||||
isLoading: isInit,
|
|
||||||
),
|
),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: 100,
|
height: 100,
|
||||||
|
|||||||
@@ -54,11 +54,12 @@ class _ItemDetailScreenState extends State<ItemDetailScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Items'),
|
title: Text('Items', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -99,11 +99,12 @@ class _ItemFilterScreenState extends State<ItemFilterScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Items'),
|
title: Text('Items', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context)
|
onPressed: () => Navigator.of(context)
|
||||||
|
|||||||
@@ -74,11 +74,12 @@ class _ItemResultScreenState extends State<ItemResultScreen> {
|
|||||||
),
|
),
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Home'),
|
title: Text('Home', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
@@ -191,6 +192,8 @@ class _ItemResultScreenState extends State<ItemResultScreen> {
|
|||||||
searchCTRL: searchCTRL,
|
searchCTRL: searchCTRL,
|
||||||
text: 'item',
|
text: 'item',
|
||||||
deviceBlockSize: _deviceBlockSize,
|
deviceBlockSize: _deviceBlockSize,
|
||||||
|
textInputType: TextInputType.visiblePassword,
|
||||||
|
text2: "Udi",
|
||||||
onChanged: (value) {
|
onChanged: (value) {
|
||||||
Provider.of<ItemProvider>(context, listen: false)
|
Provider.of<ItemProvider>(context, listen: false)
|
||||||
.search(value);
|
.search(value);
|
||||||
|
|||||||
@@ -33,11 +33,12 @@ class _ItemScanScreenState extends State<ItemScanScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Items'),
|
title: Text('Items', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -84,10 +84,11 @@ class _ItemUpdateScreenState extends State<ItemUpdateScreen> {
|
|||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
title: Text('Items'),
|
title: Text('Items', style: TextStyle(color: Colors.white,),),
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context)
|
onPressed: () => Navigator.of(context)
|
||||||
|
|||||||
@@ -88,11 +88,12 @@ class _LabelAddScreenState extends State<LabelAddScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Labels'),
|
title: Text('Labels', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context)
|
onPressed: () => Navigator.of(context)
|
||||||
|
|||||||
@@ -54,11 +54,12 @@ class _LabelDetailScreenState extends State<LabelDetailScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Labels'),
|
title: Text('Labels', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -95,11 +95,12 @@ class _LabelFilterScreenState extends State<LabelFilterScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Labels'),
|
title: Text('Labels', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context)
|
onPressed: () => Navigator.of(context)
|
||||||
|
|||||||
@@ -72,11 +72,12 @@ class _LabelResultScreenState extends State<LabelResultScreen> {
|
|||||||
),
|
),
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Home'),
|
title: Text('Home', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -36,11 +36,12 @@ class _LabelScanScreenState extends State<LabelScanScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Labels'),
|
title: Text('Labels', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -107,10 +107,11 @@ class _LabelUpdateScreenState extends State<LabelUpdateScreen> {
|
|||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
title: Text('Labels'),
|
title: Text('Labels', style: TextStyle(color: Colors.white,),),
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context)
|
onPressed: () => Navigator.of(context)
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ class _ForgetPassScreenState extends State<ForgetPassScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
title: Text('CSSD'),
|
title: Text('CSSD', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
),
|
),
|
||||||
body: Selector<ConnectivityProvider, String>(
|
body: Selector<ConnectivityProvider, String>(
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ class _LoginScreenState extends State<LoginScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
title: Text('CSSD'),
|
title: Text('CSSD', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
),
|
),
|
||||||
body: Selector<ConnectivityProvider, String>(
|
body: Selector<ConnectivityProvider, String>(
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ class _RePassScreenState extends State<RePassScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
title: Text('CSSD'),
|
title: Text('CSSD', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
),
|
),
|
||||||
body: Selector<ConnectivityProvider, String>(
|
body: Selector<ConnectivityProvider, String>(
|
||||||
|
|||||||
@@ -88,10 +88,11 @@ class _RegisterState extends State<Register> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Login'),
|
title: Text('Login', style: TextStyle(color: Colors.white,),),
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -90,7 +90,7 @@ class _VerifyPassScreenState extends State<VerifyPassScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
title: Text('CSSD'),
|
title: Text('CSSD', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
),
|
),
|
||||||
body: Selector<ConnectivityProvider, String>(
|
body: Selector<ConnectivityProvider, String>(
|
||||||
|
|||||||
@@ -173,6 +173,8 @@ class _MyItemsMineScreenState extends State<MyItemsMineScreen> {
|
|||||||
ResultSearchBox(
|
ResultSearchBox(
|
||||||
searchCTRL: searchCTRL,
|
searchCTRL: searchCTRL,
|
||||||
text: 'item',
|
text: 'item',
|
||||||
|
text2: "Udi",
|
||||||
|
textInputType: TextInputType.visiblePassword,
|
||||||
deviceBlockSize: _deviceBlockSize,
|
deviceBlockSize: _deviceBlockSize,
|
||||||
onChanged: (value) {
|
onChanged: (value) {
|
||||||
if (userData['roles']?.contains('User')) {
|
if (userData['roles']?.contains('User')) {
|
||||||
|
|||||||
@@ -42,11 +42,12 @@ class _MyItemsResultScreenState extends State<MyItemsResultScreen>
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Home'),
|
title: Text('Home', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
@@ -54,6 +55,7 @@ class _MyItemsResultScreenState extends State<MyItemsResultScreen>
|
|||||||
bottom: TabBar(
|
bottom: TabBar(
|
||||||
controller: _tabController,
|
controller: _tabController,
|
||||||
indicatorColor: kBlue,
|
indicatorColor: kBlue,
|
||||||
|
labelColor: Colors.white,
|
||||||
tabs: [
|
tabs: [
|
||||||
Tab(
|
Tab(
|
||||||
text: 'Mine',
|
text: 'Mine',
|
||||||
|
|||||||
@@ -55,11 +55,12 @@ class _MyItemsDetailScreenState extends State<MyItemsDetailScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('My Items'),
|
title: Text('My Items', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -68,11 +68,12 @@ class _MyItemsFilterScreenState extends State<MyItemsFilterScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('My Items'),
|
title: Text('My Items', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context)
|
onPressed: () => Navigator.of(context)
|
||||||
|
|||||||
@@ -74,11 +74,12 @@ class _MyItemsHistoryScreenState extends State<MyItemsHistoryScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('My Items'),
|
title: Text('My Items', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -33,11 +33,12 @@ class _MyItemsScanScreenState extends State<MyItemsScanScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('My Items'),
|
title: Text('My Items', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -85,11 +85,12 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Item Details'),
|
title: Text('Item Details', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
@@ -122,7 +123,7 @@ class _ItemsTransferScreenState extends State<ItemsTransferScreen> {
|
|||||||
text: 'user',
|
text: 'user',
|
||||||
text2: 'name or ID',
|
text2: 'name or ID',
|
||||||
deviceBlockSize: _deviceBlockSize,
|
deviceBlockSize: _deviceBlockSize,
|
||||||
textInputType: TextInputType.name,
|
textInputType: TextInputType.visiblePassword,
|
||||||
onChanged: (value) {
|
onChanged: (value) {
|
||||||
Provider.of<UsersProvider>(context, listen: false)
|
Provider.of<UsersProvider>(context, listen: false)
|
||||||
.searchUsers(value);
|
.searchUsers(value);
|
||||||
|
|||||||
@@ -42,11 +42,12 @@ class _MyPackagesResultScreenState extends State<MyPackagesResultScreen>
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Home'),
|
title: Text('Home', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
@@ -54,6 +55,7 @@ class _MyPackagesResultScreenState extends State<MyPackagesResultScreen>
|
|||||||
bottom: TabBar(
|
bottom: TabBar(
|
||||||
controller: _tabController,
|
controller: _tabController,
|
||||||
indicatorColor: kPurple,
|
indicatorColor: kPurple,
|
||||||
|
labelColor: Colors.white,
|
||||||
tabs: [
|
tabs: [
|
||||||
Tab(
|
Tab(
|
||||||
text: 'Mine',
|
text: 'Mine',
|
||||||
|
|||||||
@@ -55,11 +55,12 @@ class _MyPackagesDetailScreenState extends State<MyPackagesDetailScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('My Packages'),
|
title: Text('My Packages', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -65,11 +65,12 @@ class _MyPackageFilterScreenState extends State<MyPackageFilterScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('My Packages'),
|
title: Text('My Packages', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context)
|
onPressed: () => Navigator.of(context)
|
||||||
|
|||||||
@@ -74,11 +74,12 @@ class _MyPackagesHistoryScreenState extends State<MyPackagesHistoryScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('My Packages'),
|
title: Text('My Packages', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -33,11 +33,12 @@ class _MyPackagesScanScreenState extends State<MyPackagesScanScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('My Packages'),
|
title: Text('My Packages', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -81,11 +81,12 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Package Details'),
|
title: Text('Package Details', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
@@ -118,7 +119,7 @@ class _PackageTransferScreenState extends State<PackageTransferScreen> {
|
|||||||
text: 'user',
|
text: 'user',
|
||||||
text2: 'name or ID',
|
text2: 'name or ID',
|
||||||
deviceBlockSize: _deviceBlockSize,
|
deviceBlockSize: _deviceBlockSize,
|
||||||
textInputType: TextInputType.name,
|
textInputType: TextInputType.visiblePassword,
|
||||||
onChanged: (value) {
|
onChanged: (value) {
|
||||||
Provider.of<UsersProvider>(context, listen: false)
|
Provider.of<UsersProvider>(context, listen: false)
|
||||||
.searchUsers(value);
|
.searchUsers(value);
|
||||||
|
|||||||
@@ -48,23 +48,6 @@ class _PackageAddScreenState extends State<PackageAddScreen> {
|
|||||||
(result) {
|
(result) {
|
||||||
setState(
|
setState(
|
||||||
() {
|
() {
|
||||||
// itemVals = [
|
|
||||||
// {'id': '', 'name-udi': ''}
|
|
||||||
// ];
|
|
||||||
// for (var item in result) {
|
|
||||||
// itemVals.add(item);
|
|
||||||
// packageProviderObject.itemVals = itemVals;
|
|
||||||
// }
|
|
||||||
// initialItemValue.text = itemVals[1]['name-udi'];
|
|
||||||
// packageProviderObject.initialItemValue = initialItemValue.text;
|
|
||||||
|
|
||||||
// itemVals.forEach(
|
|
||||||
// (item) {
|
|
||||||
// if (item['id'] == '') {
|
|
||||||
// selectedItemsCTRL.text = item['name']!;
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// );
|
|
||||||
isInit = false;
|
isInit = false;
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
@@ -95,11 +78,12 @@ class _PackageAddScreenState extends State<PackageAddScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Packages'),
|
title: Text('Packages', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context)
|
onPressed: () => Navigator.of(context)
|
||||||
|
|||||||
@@ -49,11 +49,12 @@ class _PackageDetailScreenState extends State<PackageDetailScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Packages'),
|
title: Text('Packages', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -92,11 +92,12 @@ class _PackageFilterScreenState extends State<PackageFilterScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Packages'),
|
title: Text('Packages', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context)
|
onPressed: () => Navigator.of(context)
|
||||||
|
|||||||
@@ -74,11 +74,12 @@ class _PackageResultScreenState extends State<PackageResultScreen> {
|
|||||||
),
|
),
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Home'),
|
title: Text('Home', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -33,11 +33,12 @@ class _PackageScanScreenState extends State<PackageScanScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Packages'),
|
title: Text('Packages', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -81,10 +81,11 @@ class _PackageUpdateScreenState extends State<PackageUpdateScreen> {
|
|||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
title: Text('Packages'),
|
title: Text('Packages', style: TextStyle(color: Colors.white,),),
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context)
|
onPressed: () => Navigator.of(context)
|
||||||
|
|||||||
@@ -60,11 +60,12 @@ class _TestResultAddScreenState extends State<TestResultAddScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Test Results'),
|
title: Text('Test Results', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
// padding: EdgeInsets.all(0),
|
// padding: EdgeInsets.all(0),
|
||||||
|
|||||||
@@ -46,11 +46,12 @@ class _TestDetailsScreenState extends State<TestDetailsScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Test Results'),
|
title: Text('Test Results', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
import 'package:barcode_scan2/barcode_scan2.dart';
|
import 'package:barcode_scan2/barcode_scan2.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
@@ -139,11 +138,12 @@ class _TestFilterScreenState extends State<TestFilterScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Test Results'),
|
title: Text('Test Results', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).popAndPushNamed(
|
onPressed: () => Navigator.of(context).popAndPushNamed(
|
||||||
|
|||||||
@@ -74,8 +74,10 @@ class _FormPageState extends State<FormPage> {
|
|||||||
setState(() {
|
setState(() {
|
||||||
_isLoading = true;
|
_isLoading = true;
|
||||||
});
|
});
|
||||||
|
var providerObject = Provider.of<TestResultsProvider>(context);
|
||||||
String testTypeName = Provider.of<TestResultsProvider>(context).testType;
|
String testTypeName = Provider.of<TestResultsProvider>(context).testType;
|
||||||
String testCode = Provider.of<TestResultsProvider>(context).testCode;
|
String testCode = Provider.of<TestResultsProvider>(context).testCode;
|
||||||
|
providerObject.catchImages.clear();
|
||||||
Provider.of<Inputs>(context, listen: false)
|
Provider.of<Inputs>(context, listen: false)
|
||||||
.getInputs(
|
.getInputs(
|
||||||
testResultId: '',
|
testResultId: '',
|
||||||
@@ -107,11 +109,11 @@ class _FormPageState extends State<FormPage> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
title: Text('Add Test Result'),
|
title: Text('Add Test Result', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: Icon(Icons.save),
|
icon: Icon(Icons.save, color: Colors.white,),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
_saveForm();
|
_saveForm();
|
||||||
},
|
},
|
||||||
@@ -120,6 +122,7 @@ class _FormPageState extends State<FormPage> {
|
|||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
|
|||||||
@@ -82,11 +82,12 @@ class _TestResultScreenState extends State<TestResultScreen> {
|
|||||||
TestResultFloatingButton(deviceBlockSize: _deviceBlockSize),
|
TestResultFloatingButton(deviceBlockSize: _deviceBlockSize),
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Home'),
|
title: Text('Home', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -30,11 +30,12 @@ class _TestScanScreenState extends State<TestScanScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Test Results'),
|
title: Text('Test Results', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -76,11 +76,12 @@ class _TestVerifyScreenState extends State<TestVerifyScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Home'),
|
title: Text('Home', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -34,14 +34,16 @@ class HomePage extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
centerTitle: true,
|
centerTitle: true,
|
||||||
title: Text('CSSD'),
|
title: Text('CSSD', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
|
iconTheme: IconThemeData(color: Colors.white),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.only(right: 10.0),
|
padding: const EdgeInsets.only(right: 10.0),
|
||||||
child: IconButton(
|
child: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.power_settings_new,
|
Icons.power_settings_new,
|
||||||
|
color: Colors.white,
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
showDialog(
|
showDialog(
|
||||||
@@ -159,9 +161,6 @@ class HomePage extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Divider(
|
|
||||||
height: 2,
|
|
||||||
),
|
|
||||||
SelectionItem(
|
SelectionItem(
|
||||||
firstLine: 'CYCLES',
|
firstLine: 'CYCLES',
|
||||||
secondLine: 'List, Details & Add a one',
|
secondLine: 'List, Details & Add a one',
|
||||||
|
|||||||
@@ -48,11 +48,12 @@ class _MyInfoScreenState extends State<MyInfoScreen> {
|
|||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
titleSpacing: -10,
|
titleSpacing: -10,
|
||||||
title: Text('Dashboard'),
|
title: Text('Dashboard', style: TextStyle(color: Colors.white,),),
|
||||||
backgroundColor: Colors.black,
|
backgroundColor: Colors.black,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.keyboard_arrow_left,
|
Icons.keyboard_arrow_left,
|
||||||
|
color: Colors.white,
|
||||||
size: 35,
|
size: 35,
|
||||||
),
|
),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
onPressed: () => Navigator.of(context).pop(),
|
||||||
|
|||||||
@@ -238,7 +238,7 @@ class ItemProvider extends ChangeNotifier {
|
|||||||
items = [];
|
items = [];
|
||||||
searchBoxValue = value;
|
searchBoxValue = value;
|
||||||
originalItems!.forEach((result) {
|
originalItems!.forEach((result) {
|
||||||
if (result.id.toString().contains(searchBoxValue)) {
|
if (result.udi.toString().contains(searchBoxValue)) {
|
||||||
items!.add(result);
|
items!.add(result);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -312,10 +312,20 @@ class ItemProvider extends ChangeNotifier {
|
|||||||
createdAt: '2019-09-18 10:02:03',
|
createdAt: '2019-09-18 10:02:03',
|
||||||
udi: 'null',
|
udi: 'null',
|
||||||
status: 0,
|
status: 0,
|
||||||
|
filePath: [],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
var data = json.decode(response.body)['data'];
|
var data = json.decode(response.body)['data'];
|
||||||
print(data);
|
print(data);
|
||||||
|
|
||||||
|
List<String> mediaList = [];
|
||||||
|
|
||||||
|
if (data['filesPath'] != null) {
|
||||||
|
for (var file in data['filesPath']) {
|
||||||
|
mediaList.add(Url.showItemImage(file));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
result = ItemDetailObject(
|
result = ItemDetailObject(
|
||||||
id: data['id'].toString(),
|
id: data['id'].toString(),
|
||||||
description: data['note'] != null ? data['note'] : '',
|
description: data['note'] != null ? data['note'] : '',
|
||||||
@@ -328,6 +338,7 @@ class ItemProvider extends ChangeNotifier {
|
|||||||
createdAt: data['created_at'] != null ? data['created_at'] : '',
|
createdAt: data['created_at'] != null ? data['created_at'] : '',
|
||||||
udi: data['udi'] != null ? data['udi'] : '',
|
udi: data['udi'] != null ? data['udi'] : '',
|
||||||
status: data['status'],
|
status: data['status'],
|
||||||
|
filePath: mediaList,
|
||||||
);
|
);
|
||||||
return result!;
|
return result!;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ class MyItemProvider extends ChangeNotifier {
|
|||||||
myItems = [];
|
myItems = [];
|
||||||
searchBoxValue = value;
|
searchBoxValue = value;
|
||||||
originalMyItems!.forEach((result) {
|
originalMyItems!.forEach((result) {
|
||||||
if (result.id.toString().contains(searchBoxValue)) {
|
if (result.udi.toString().contains(searchBoxValue)) {
|
||||||
myItems!.add(result);
|
myItems!.add(result);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -56,7 +56,7 @@ class MyItemProvider extends ChangeNotifier {
|
|||||||
hospitalItems = [];
|
hospitalItems = [];
|
||||||
searchBoxValue = value;
|
searchBoxValue = value;
|
||||||
originalHospitalItems!.forEach((result) {
|
originalHospitalItems!.forEach((result) {
|
||||||
if (result.id.toString().contains(searchBoxValue)) {
|
if (result.udi.toString().contains(searchBoxValue)) {
|
||||||
hospitalItems!.add(result);
|
hospitalItems!.add(result);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -312,8 +312,10 @@ class PackageProvider extends ChangeNotifier {
|
|||||||
var data = json.decode(response.body)['data'];
|
var data = json.decode(response.body)['data'];
|
||||||
List<String> itemsList = [];
|
List<String> itemsList = [];
|
||||||
for (var item in data['items']) {
|
for (var item in data['items']) {
|
||||||
itemsList
|
// itemsList
|
||||||
.add("${item['name']} - ${item['udi'] != null ? item['udi'] : ''}");
|
// .add("${item['name']} - ${item['udi'] != null ? item['udi'] : ''}");
|
||||||
|
itemsList
|
||||||
|
.add("${item['id']} ${item['name']}");
|
||||||
}
|
}
|
||||||
print(data);
|
print(data);
|
||||||
result = PackageDetailObject(
|
result = PackageDetailObject(
|
||||||
|
|||||||
@@ -1,108 +1,23 @@
|
|||||||
// ignore_for_file: must_be_immutable
|
|
||||||
|
|
||||||
import 'package:cssd/config/colors.dart';
|
import 'package:cssd/config/colors.dart';
|
||||||
import 'package:cssd/providers/items.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
|
||||||
|
|
||||||
import '../../../config/routes.dart';
|
class ItemAddSaveButton extends StatelessWidget {
|
||||||
|
const ItemAddSaveButton({
|
||||||
class ItemAddSaveButton extends StatefulWidget {
|
|
||||||
ItemAddSaveButton({
|
|
||||||
Key? key,
|
Key? key,
|
||||||
required GlobalKey<FormState> form,
|
|
||||||
this.batchId,
|
|
||||||
required this.nameCTRL,
|
|
||||||
required this.descriptionCTRL,
|
|
||||||
required this.udiCTRL,
|
|
||||||
required double deviceBlockSize,
|
required double deviceBlockSize,
|
||||||
required this.sizeCTRL,
|
required this.onTap,
|
||||||
required this.specificCTRL,
|
}) : _deviceBlockSize = deviceBlockSize,
|
||||||
required this.dateValue,
|
|
||||||
required this.isLoading,
|
|
||||||
}) : _form = form,
|
|
||||||
_deviceBlockSize = deviceBlockSize,
|
|
||||||
super(key: key);
|
super(key: key);
|
||||||
|
|
||||||
final GlobalKey<FormState> _form;
|
|
||||||
final TextEditingController nameCTRL;
|
|
||||||
final TextEditingController descriptionCTRL;
|
|
||||||
final TextEditingController udiCTRL;
|
|
||||||
final TextEditingController sizeCTRL;
|
|
||||||
final TextEditingController specificCTRL;
|
|
||||||
final String dateValue;
|
|
||||||
final String? batchId;
|
|
||||||
final double _deviceBlockSize;
|
final double _deviceBlockSize;
|
||||||
bool isLoading;
|
final VoidCallback onTap;
|
||||||
|
|
||||||
@override
|
|
||||||
State<ItemAddSaveButton> createState() => _ItemAddSaveButtonState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _ItemAddSaveButtonState extends State<ItemAddSaveButton> {
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return InkWell(
|
return InkWell(
|
||||||
onTap: () {
|
onTap: onTap,
|
||||||
if (!widget._form.currentState!.validate()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
setState(() {
|
|
||||||
widget.isLoading = true;
|
|
||||||
});
|
|
||||||
Provider.of<ItemProvider>(context, listen: false)
|
|
||||||
.createItemResult(
|
|
||||||
widget.nameCTRL.text,
|
|
||||||
widget.sizeCTRL.text,
|
|
||||||
widget.specificCTRL.text,
|
|
||||||
widget.udiCTRL.text,
|
|
||||||
widget.descriptionCTRL.text,
|
|
||||||
widget.batchId,
|
|
||||||
)
|
|
||||||
.then(
|
|
||||||
(result) {
|
|
||||||
setState(() {
|
|
||||||
widget.isLoading = false;
|
|
||||||
});
|
|
||||||
if (result == 'done') {
|
|
||||||
showDialog(
|
|
||||||
context: context,
|
|
||||||
builder: (ctx) => AlertDialog(
|
|
||||||
content: Text('Item added.'),
|
|
||||||
actions: <Widget>[
|
|
||||||
TextButton(
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(ctx).pop();
|
|
||||||
},
|
|
||||||
child: Text('Ok'),
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
).then((value) => Navigator.of(context)
|
|
||||||
.popAndPushNamed(Routes.testResultScreen));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
);
|
|
||||||
showDialog(
|
|
||||||
context: context,
|
|
||||||
builder: (ctx) => AlertDialog(
|
|
||||||
content: Text('Item added.'),
|
|
||||||
actions: <Widget>[
|
|
||||||
TextButton(
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(ctx).pop();
|
|
||||||
},
|
|
||||||
child: Text('Ok'),
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
).then((_) {
|
|
||||||
Navigator.of(context).pushReplacementNamed(Routes.itemResultScreen);
|
|
||||||
});
|
|
||||||
},
|
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: EdgeInsets.symmetric(
|
padding: EdgeInsets.symmetric(
|
||||||
horizontal: 5 * widget._deviceBlockSize,
|
horizontal: 5 * _deviceBlockSize,
|
||||||
vertical: 10,
|
vertical: 10,
|
||||||
),
|
),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
@@ -117,7 +32,7 @@ class _ItemAddSaveButtonState extends State<ItemAddSaveButton> {
|
|||||||
'Save',
|
'Save',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
fontSize: 5 * widget._deviceBlockSize,
|
fontSize: 5 * _deviceBlockSize,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -90,20 +90,24 @@ class _UploaderImageState extends State<UploaderImage> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future<void> loadAssetsFromFilePicker(BuildContext context) async {
|
Future<void> loadAssetsFromFilePicker(BuildContext context) async {
|
||||||
var providerObject = Provider.of<ItemProvider>(context, listen: false);
|
var providerObject = Provider.of<ItemProvider>(context, listen: false);
|
||||||
List<PlatformFile> files = providerObject.catchImages;
|
List<PlatformFile> files = providerObject.catchImages;
|
||||||
try {
|
var image = await ImagePicker.platform.pickImage(
|
||||||
var datas = await FilePicker.platform.pickFiles(
|
source: ImageSource.gallery,
|
||||||
type: FileType.custom,
|
imageQuality: 25,
|
||||||
allowedExtensions: ['jpg', 'png', 'bmp', 'jpeg', 'pdf', 'docx', 'doc'],
|
);
|
||||||
withData: true,
|
if (image != null) {
|
||||||
withReadStream: true,
|
files.add(
|
||||||
);
|
PlatformFile(
|
||||||
files += datas!.files;
|
path: image.path,
|
||||||
} catch (_) {}
|
name: "item_image",
|
||||||
|
bytes: File(image.path).readAsBytesSync(),
|
||||||
providerObject.setCatchImages(files);
|
size: File(image.path).lengthSync(),
|
||||||
providerObject.setImages();
|
),
|
||||||
|
);
|
||||||
|
providerObject.setCatchImages(files);
|
||||||
|
providerObject.setImages();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> loadAssetsFromCamera(BuildContext context) async {
|
Future<void> loadAssetsFromCamera(BuildContext context) async {
|
||||||
@@ -111,6 +115,7 @@ class _UploaderImageState extends State<UploaderImage> {
|
|||||||
List<PlatformFile> _catchImages = providerObject.catchImages;
|
List<PlatformFile> _catchImages = providerObject.catchImages;
|
||||||
var image = await ImagePicker.platform.pickImage(
|
var image = await ImagePicker.platform.pickImage(
|
||||||
source: ImageSource.camera,
|
source: ImageSource.camera,
|
||||||
|
imageQuality: 25,
|
||||||
);
|
);
|
||||||
if (image != null) {
|
if (image != null) {
|
||||||
_catchImages.add(
|
_catchImages.add(
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import 'package:flutter/material.dart';
|
|||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
import 'package:url_launcher/url_launcher.dart';
|
import 'package:url_launcher/url_launcher.dart';
|
||||||
|
|
||||||
|
|
||||||
class ItemDetailsDataBox extends StatelessWidget {
|
class ItemDetailsDataBox extends StatelessWidget {
|
||||||
const ItemDetailsDataBox({
|
const ItemDetailsDataBox({
|
||||||
Key? key,
|
Key? key,
|
||||||
@@ -316,6 +317,22 @@ class ItemDetailsDataBox extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
Divider(),
|
||||||
|
SizedBox(
|
||||||
|
height: 10,
|
||||||
|
),
|
||||||
|
Container(
|
||||||
|
width: double.infinity,
|
||||||
|
padding: EdgeInsets.symmetric(vertical: 10, horizontal: 20),
|
||||||
|
child: ListView.separated(
|
||||||
|
shrinkWrap: true,
|
||||||
|
itemBuilder: (ctx, index) {
|
||||||
|
return Image(image: NetworkImage(datas.filePath![index]));
|
||||||
|
},
|
||||||
|
separatorBuilder: (ctx, index) => Divider(),
|
||||||
|
itemCount: datas.filePath!.length,
|
||||||
|
),
|
||||||
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -35,21 +35,21 @@ class ItemItemBox extends StatelessWidget {
|
|||||||
child: Row(
|
child: Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
if (item!.udi != null)
|
// if (item!.udi != null)
|
||||||
Container(
|
// Container(
|
||||||
padding: const EdgeInsets.all(6.0),
|
// padding: const EdgeInsets.all(6.0),
|
||||||
child: Text(
|
// child: Text(
|
||||||
item!.udi!,
|
// item!.udi!,
|
||||||
style: TextStyle(
|
// style: TextStyle(
|
||||||
fontWeight: FontWeight.w700,
|
// fontWeight: FontWeight.w700,
|
||||||
fontSize: 3 * _deviceBlockSize,
|
// fontSize: 3 * _deviceBlockSize,
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
if (item!.udi != null)
|
// if (item!.udi != null)
|
||||||
SizedBox(
|
// SizedBox(
|
||||||
width: 3 * _deviceBlockSize,
|
// width: 3 * _deviceBlockSize,
|
||||||
),
|
// ),
|
||||||
// Spacer(),
|
// Spacer(),
|
||||||
Column(
|
Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -69,7 +69,7 @@ class ItemItemBox extends StatelessWidget {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
'Size: ',
|
'Udi: ',
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 3 * _deviceBlockSize,
|
fontSize: 3 * _deviceBlockSize,
|
||||||
@@ -77,7 +77,7 @@ class ItemItemBox extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
item!.size,
|
item!.udi ?? '',
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.w700,
|
fontWeight: FontWeight.w700,
|
||||||
@@ -92,7 +92,7 @@ class ItemItemBox extends StatelessWidget {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Text(
|
Text(
|
||||||
'User: ',
|
'Owner: ',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.grey,
|
color: Colors.grey,
|
||||||
fontSize: 3 * _deviceBlockSize,
|
fontSize: 3 * _deviceBlockSize,
|
||||||
|
|||||||
@@ -37,21 +37,21 @@ class MyItemsItemDataBox extends StatelessWidget {
|
|||||||
child: Row(
|
child: Row(
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
if (items!.udi != null)
|
// if (items!.udi != null)
|
||||||
Container(
|
// Container(
|
||||||
padding: const EdgeInsets.all(6.0),
|
// padding: const EdgeInsets.all(6.0),
|
||||||
child: Text(
|
// child: Text(
|
||||||
items!.udi!,
|
// items!.udi!,
|
||||||
style: TextStyle(
|
// style: TextStyle(
|
||||||
fontWeight: FontWeight.w700,
|
// fontWeight: FontWeight.w700,
|
||||||
fontSize: 3 * _deviceBlockSize,
|
// fontSize: 3 * _deviceBlockSize,
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
if (items!.udi != null)
|
// if (items!.udi != null)
|
||||||
SizedBox(
|
// SizedBox(
|
||||||
width: 3 * _deviceBlockSize,
|
// width: 3 * _deviceBlockSize,
|
||||||
),
|
// ),
|
||||||
// Spacer(),
|
// Spacer(),
|
||||||
Column(
|
Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
@@ -71,7 +71,7 @@ class MyItemsItemDataBox extends StatelessWidget {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
'Size: ',
|
'Udi: ',
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 3 * _deviceBlockSize,
|
fontSize: 3 * _deviceBlockSize,
|
||||||
@@ -79,7 +79,7 @@ class MyItemsItemDataBox extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
items!.size,
|
items!.udi ?? '',
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontWeight: FontWeight.w700,
|
fontWeight: FontWeight.w700,
|
||||||
@@ -95,7 +95,7 @@ class MyItemsItemDataBox extends StatelessWidget {
|
|||||||
child: Row(
|
child: Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Text(
|
Text(
|
||||||
'User: ',
|
'Owner: ',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.grey,
|
color: Colors.grey,
|
||||||
fontSize: 3 * _deviceBlockSize,
|
fontSize: 3 * _deviceBlockSize,
|
||||||
|
|||||||
@@ -235,7 +235,7 @@ class PackageDetailsDataBox extends StatelessWidget {
|
|||||||
shrinkWrap: true,
|
shrinkWrap: true,
|
||||||
itemBuilder: (ctx, index) => RichText(
|
itemBuilder: (ctx, index) => RichText(
|
||||||
text: TextSpan(
|
text: TextSpan(
|
||||||
text: 'Item ',
|
text: '${index + 1}. ',
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
color: Colors.grey,
|
color: Colors.grey,
|
||||||
fontFamily: 'montserrat',
|
fontFamily: 'montserrat',
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ class _FormCreatorState extends State<FormCreator> {
|
|||||||
),
|
),
|
||||||
InkWell(
|
InkWell(
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
await loadAssets(context);
|
await loadAssetsFromFilePicker(context);
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
width: MediaQuery.of(context).size.width - 40,
|
width: MediaQuery.of(context).size.width - 40,
|
||||||
@@ -570,34 +570,33 @@ class _FormCreatorState extends State<FormCreator> {
|
|||||||
profileProviderObject.setImages();
|
profileProviderObject.setImages();
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> loadAssets(BuildContext context) async {
|
Future<void> loadAssetsFromFilePicker(BuildContext context) async {
|
||||||
var profileProviderObject =
|
var providerObject = Provider.of<TestResultsProvider>(context, listen: false);
|
||||||
Provider.of<TestResultsProvider>(context, listen: false);
|
List<PlatformFile> files = providerObject.catchImages;
|
||||||
List<PlatformFile> files = profileProviderObject.catchImages;
|
var image = await ImagePicker.platform.pickImage(
|
||||||
try {
|
source: ImageSource.gallery,
|
||||||
var datas = await FilePicker.platform.pickFiles(
|
imageQuality: 25,
|
||||||
type: FileType.custom,
|
);
|
||||||
allowedExtensions: ['jpg', 'png', 'bmp', 'jpeg', 'pdf', 'docx', 'doc'],
|
if (image != null) {
|
||||||
withData: true,
|
files.add(
|
||||||
withReadStream: true,
|
PlatformFile(
|
||||||
);
|
path: image.path,
|
||||||
files += datas!.files;
|
name: "item_image",
|
||||||
// files +=
|
bytes: File(image.path).readAsBytesSync(),
|
||||||
|
size: File(image.path).lengthSync(),
|
||||||
// print(files);
|
),
|
||||||
} catch (_) {}
|
);
|
||||||
|
providerObject.setCatchImages(files);
|
||||||
profileProviderObject.setCatchImages(files);
|
providerObject.setImages();
|
||||||
profileProviderObject.setImages();
|
}
|
||||||
// profileProviderObject.addImage();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> loadAssetsFromCamera(BuildContext context) async {
|
Future<void> loadAssetsFromCamera(BuildContext context) async {
|
||||||
var providerObject =
|
var providerObject = Provider.of<TestResultsProvider>(context, listen: false);
|
||||||
Provider.of<TestResultsProvider>(context, listen: false);
|
|
||||||
List<PlatformFile> _catchImages = providerObject.catchImages;
|
List<PlatformFile> _catchImages = providerObject.catchImages;
|
||||||
var image = await ImagePicker.platform.pickImage(
|
var image = await ImagePicker.platform.pickImage(
|
||||||
source: ImageSource.camera,
|
source: ImageSource.camera,
|
||||||
|
imageQuality: 25,
|
||||||
);
|
);
|
||||||
if (image != null) {
|
if (image != null) {
|
||||||
_catchImages.add(
|
_catchImages.add(
|
||||||
|
|||||||
@@ -6,13 +6,17 @@ import FlutterMacOS
|
|||||||
import Foundation
|
import Foundation
|
||||||
|
|
||||||
import connectivity_macos
|
import connectivity_macos
|
||||||
|
import flutter_image_compress_macos
|
||||||
import path_provider_foundation
|
import path_provider_foundation
|
||||||
import shared_preferences_foundation
|
import shared_preferences_foundation
|
||||||
|
import sqflite
|
||||||
import url_launcher_macos
|
import url_launcher_macos
|
||||||
|
|
||||||
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
|
||||||
ConnectivityPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlugin"))
|
ConnectivityPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlugin"))
|
||||||
|
FlutterImageCompressMacosPlugin.register(with: registry.registrar(forPlugin: "FlutterImageCompressMacosPlugin"))
|
||||||
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
|
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
|
||||||
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
|
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
|
||||||
|
SqflitePlugin.register(with: registry.registrar(forPlugin: "SqflitePlugin"))
|
||||||
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
|
UrlLauncherPlugin.register(with: registry.registrar(forPlugin: "UrlLauncherPlugin"))
|
||||||
}
|
}
|
||||||
|
|||||||
+149
-13
@@ -41,6 +41,30 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.1"
|
||||||
|
cached_network_image:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: cached_network_image
|
||||||
|
sha256: f98972704692ba679db144261172a8e20feb145636c617af0eb4022132a6797f
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.3.0"
|
||||||
|
cached_network_image_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: cached_network_image_platform_interface
|
||||||
|
sha256: "56aa42a7a01e3c9db8456d9f3f999931f1e05535b5a424271e9a38cabf066613"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.0.0"
|
||||||
|
cached_network_image_web:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: cached_network_image_web
|
||||||
|
sha256: "759b9a9f8f6ccbb66c185df805fac107f05730b1dab9c64626d1008cca532257"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.0"
|
||||||
camera:
|
camera:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -117,10 +141,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: collection
|
name: collection
|
||||||
sha256: f092b211a4319e98e5ff58223576de6c2803db36221657b46c82574721240687
|
sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.17.2"
|
version: "1.18.0"
|
||||||
connectivity:
|
connectivity:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -254,6 +278,54 @@ packages:
|
|||||||
description: flutter
|
description: flutter
|
||||||
source: sdk
|
source: sdk
|
||||||
version: "0.0.0"
|
version: "0.0.0"
|
||||||
|
flutter_cache_manager:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_cache_manager
|
||||||
|
sha256: "8207f27539deb83732fdda03e259349046a39a4c767269285f449ade355d54ba"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.3.1"
|
||||||
|
flutter_image_compress:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: flutter_image_compress
|
||||||
|
sha256: f159d2e8c4ed04b8e36994124fd4a5017a0f01e831ae3358c74095c340e9ae5e
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.0"
|
||||||
|
flutter_image_compress_common:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_image_compress_common
|
||||||
|
sha256: "7cad12802628706655920089cfe9ee1d1098300e7f39a079eb160458bbc47652"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.3"
|
||||||
|
flutter_image_compress_macos:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_image_compress_macos
|
||||||
|
sha256: fea1e3d71150d03373916b832c49b5c2f56c3e7e13da82a929274a2c6f88251e
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.1"
|
||||||
|
flutter_image_compress_platform_interface:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_image_compress_platform_interface
|
||||||
|
sha256: eb4f055138b29b04498ebcb6d569aaaee34b64d75fb74ea0d40f9790bf47ee9d
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "1.0.3"
|
||||||
|
flutter_image_compress_web:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: flutter_image_compress_web
|
||||||
|
sha256: da41cc3859f19d11c7d10be615f6a9dcf0907e7daffde7442bf4cc2486663660
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.1.3+2"
|
||||||
flutter_launcher_icons:
|
flutter_launcher_icons:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description:
|
description:
|
||||||
@@ -412,10 +484,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: meta
|
name: meta
|
||||||
sha256: "3c74dbf8763d36539f114c799d8a2d87343b5067e9d796ca22b5eb8437090ee3"
|
sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.9.1"
|
version: "1.10.0"
|
||||||
mime:
|
mime:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -440,6 +512,22 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.0.0"
|
version: "1.0.0"
|
||||||
|
network_image:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: network_image
|
||||||
|
sha256: d257e7601f72089f18f1d05e62c9cd100f49bd256c30c98cba0b1cdaf3d517e3
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.1.1"
|
||||||
|
octo_image:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: octo_image
|
||||||
|
sha256: "45b40f99622f11901238e18d48f5f12ea36426d8eced9f4cbf58479c7aa2430d"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
path:
|
path:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -560,6 +648,14 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.3.1"
|
version: "2.3.1"
|
||||||
|
rxdart:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: rxdart
|
||||||
|
sha256: "0c7c0cedd93788d996e33041ffecda924cc54389199cde4e6a34b440f50044cb"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "0.27.7"
|
||||||
shared_preferences:
|
shared_preferences:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -629,22 +725,46 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.10.0"
|
version: "1.10.0"
|
||||||
|
sprintf:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: sprintf
|
||||||
|
sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "7.0.0"
|
||||||
|
sqflite:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: sqflite
|
||||||
|
sha256: "591f1602816e9c31377d5f008c2d9ef7b8aca8941c3f89cc5fd9d84da0c38a9a"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.3.0"
|
||||||
|
sqflite_common:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: sqflite_common
|
||||||
|
sha256: bb4738f15b23352822f4c42a531677e5c6f522e079461fd240ead29d8d8a54a6
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "2.5.0+2"
|
||||||
stack_trace:
|
stack_trace:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: stack_trace
|
name: stack_trace
|
||||||
sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5
|
sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.11.0"
|
version: "1.11.1"
|
||||||
stream_channel:
|
stream_channel:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: stream_channel
|
name: stream_channel
|
||||||
sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8"
|
sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.2"
|
||||||
stream_transform:
|
stream_transform:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -661,6 +781,14 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.2.0"
|
version: "1.2.0"
|
||||||
|
synchronized:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: synchronized
|
||||||
|
sha256: "5fcbd27688af6082f5abd611af56ee575342c30e87541d0245f7ff99faa02c60"
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "3.1.0"
|
||||||
term_glyph:
|
term_glyph:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -673,10 +801,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: test_api
|
name: test_api
|
||||||
sha256: "75760ffd7786fffdfb9597c35c5b27eaeec82be8edfb6d71d32651128ed7aab8"
|
sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.6.0"
|
version: "0.6.1"
|
||||||
typed_data:
|
typed_data:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -749,6 +877,14 @@ packages:
|
|||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.8"
|
version: "3.0.8"
|
||||||
|
uuid:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: uuid
|
||||||
|
sha256: df5a4d8f22ee4ccd77f8839ac7cb274ebc11ef9adcce8b92be14b797fe889921
|
||||||
|
url: "https://pub.dev"
|
||||||
|
source: hosted
|
||||||
|
version: "4.2.1"
|
||||||
vector_math:
|
vector_math:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -761,10 +897,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: web
|
name: web
|
||||||
sha256: dc8ccd225a2005c1be616fe02951e2e342092edf968cf0844220383757ef8f10
|
sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.4-beta"
|
version: "0.3.0"
|
||||||
win32:
|
win32:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -798,5 +934,5 @@ packages:
|
|||||||
source: hosted
|
source: hosted
|
||||||
version: "3.1.2"
|
version: "3.1.2"
|
||||||
sdks:
|
sdks:
|
||||||
dart: ">=3.1.0 <4.0.0"
|
dart: ">=3.2.0-194.0.dev <4.0.0"
|
||||||
flutter: ">=3.13.0"
|
flutter: ">=3.13.0"
|
||||||
|
|||||||
+3
-1
@@ -11,7 +11,7 @@ description: A new Flutter project.
|
|||||||
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
|
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
|
||||||
# Read more about iOS versioning at
|
# Read more about iOS versioning at
|
||||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||||
version: 1.7.1+7
|
version: 3.0.0+0
|
||||||
|
|
||||||
environment:
|
environment:
|
||||||
sdk: ">=3.0.5 <4.0.0"
|
sdk: ">=3.0.5 <4.0.0"
|
||||||
@@ -40,6 +40,8 @@ dependencies:
|
|||||||
equatable: ^2.0.5
|
equatable: ^2.0.5
|
||||||
flutter_lints: ^2.0.3
|
flutter_lints: ^2.0.3
|
||||||
image_picker: ^0.7.5+4
|
image_picker: ^0.7.5+4
|
||||||
|
flutter_image_compress: ^2.1.0
|
||||||
|
network_image: ^0.1.1
|
||||||
# video_player: ^0.10.11+2
|
# video_player: ^0.10.11+2
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
|
|||||||
@@ -10,6 +10,11 @@ include(${EPHEMERAL_DIR}/generated_config.cmake)
|
|||||||
# https://github.com/flutter/flutter/issues/57146.
|
# https://github.com/flutter/flutter/issues/57146.
|
||||||
set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper")
|
set(WRAPPER_ROOT "${EPHEMERAL_DIR}/cpp_client_wrapper")
|
||||||
|
|
||||||
|
# Set fallback configurations for older versions of the flutter tool.
|
||||||
|
if (NOT DEFINED FLUTTER_TARGET_PLATFORM)
|
||||||
|
set(FLUTTER_TARGET_PLATFORM "windows-x64")
|
||||||
|
endif()
|
||||||
|
|
||||||
# === Flutter Library ===
|
# === Flutter Library ===
|
||||||
set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll")
|
set(FLUTTER_LIBRARY "${EPHEMERAL_DIR}/flutter_windows.dll")
|
||||||
|
|
||||||
@@ -92,7 +97,7 @@ add_custom_command(
|
|||||||
COMMAND ${CMAKE_COMMAND} -E env
|
COMMAND ${CMAKE_COMMAND} -E env
|
||||||
${FLUTTER_TOOL_ENVIRONMENT}
|
${FLUTTER_TOOL_ENVIRONMENT}
|
||||||
"${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat"
|
"${FLUTTER_ROOT}/packages/flutter_tools/bin/tool_backend.bat"
|
||||||
windows-x64 $<CONFIG>
|
${FLUTTER_TARGET_PLATFORM} $<CONFIG>
|
||||||
VERBATIM
|
VERBATIM
|
||||||
)
|
)
|
||||||
add_custom_target(flutter_assemble DEPENDS
|
add_custom_target(flutter_assemble DEPENDS
|
||||||
|
|||||||
Reference in New Issue
Block a user