merge material 3
This commit is contained in:
14
lib/app.dart
14
lib/app.dart
@@ -25,7 +25,7 @@ import 'package:fcs/pages/main/splash_page.dart';
|
|||||||
import 'package:fcs/pages/staff/model/staff_model.dart';
|
import 'package:fcs/pages/staff/model/staff_model.dart';
|
||||||
import 'package:fcs/pages/term/model/term_model.dart';
|
import 'package:fcs/pages/term/model/term_model.dart';
|
||||||
import 'package:fcs/pages/main/welcome_page.dart';
|
import 'package:fcs/pages/main/welcome_page.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_localizations/flutter_localizations.dart';
|
import 'package:flutter_localizations/flutter_localizations.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
@@ -136,9 +136,17 @@ class _AppState extends State<App> {
|
|||||||
],
|
],
|
||||||
child: Consumer<LanguageModel>(
|
child: Consumer<LanguageModel>(
|
||||||
builder: (context, value, child) {
|
builder: (context, value, child) {
|
||||||
return CupertinoApp(
|
return MaterialApp(
|
||||||
debugShowCheckedModeBanner: false,
|
debugShowCheckedModeBanner: false,
|
||||||
theme: CupertinoThemeData(),
|
theme: ThemeData(
|
||||||
|
// useMaterial3: false,
|
||||||
|
dividerTheme: DividerThemeData(color: Colors.grey.shade200),
|
||||||
|
colorScheme: ColorScheme.light(primary: Colors.white),
|
||||||
|
dialogTheme: DialogTheme(
|
||||||
|
backgroundColor: Colors.white,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(10))),
|
||||||
|
),
|
||||||
title: widget.title,
|
title: widget.title,
|
||||||
routes: route(context),
|
routes: route(context),
|
||||||
localizationsDelegates: [
|
localizationsDelegates: [
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'dart:ui';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
|
|
||||||
const primaryColor = const Color(0xff272262);
|
const primaryColor = const Color(0xff272262);
|
||||||
const secondaryColor = const Color(0xffff4400);
|
const secondaryColor = const Color(0xffff4400);
|
||||||
@@ -9,6 +7,7 @@ const nextColor = const Color(0xFFfa833d);
|
|||||||
const buttonColor = const Color(0xFFFFFFFF);
|
const buttonColor = const Color(0xFFFFFFFF);
|
||||||
const buttonBkColor = const Color(0xFF268944);
|
const buttonBkColor = const Color(0xFF268944);
|
||||||
const labelColor = const Color(0xFF757575);
|
const labelColor = const Color(0xFF757575);
|
||||||
|
var dividerColor = Colors.grey.shade400;
|
||||||
|
|
||||||
const TextStyle labelStyle =
|
const TextStyle labelStyle =
|
||||||
TextStyle(fontSize: 20, color: labelColor, fontWeight: FontWeight.w500);
|
TextStyle(fontSize: 20, color: labelColor, fontWeight: FontWeight.w500);
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import 'package:fcs/helpers/theme.dart';
|
|||||||
import 'package:fcs/pages/main/model/main_model.dart';
|
import 'package:fcs/pages/main/model/main_model.dart';
|
||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@@ -63,24 +64,11 @@ class _BuyingOnlinePagetate extends State<BuyingOnlinePage>
|
|||||||
);
|
);
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "buy_online.title",
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(
|
|
||||||
CupertinoIcons.back,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"buy_online.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
shadowColor: Colors.transparent,
|
arrowColor: primaryColor,
|
||||||
),
|
labelColor: primaryColor),
|
||||||
body: ListView(
|
body: ListView(
|
||||||
shrinkWrap: true,
|
shrinkWrap: true,
|
||||||
padding: EdgeInsets.only(top: 10, left: 10, right: 10),
|
padding: EdgeInsets.only(top: 10, left: 10, right: 10),
|
||||||
@@ -92,11 +80,12 @@ class _BuyingOnlinePagetate extends State<BuyingOnlinePage>
|
|||||||
instructionBox,
|
instructionBox,
|
||||||
new Container(
|
new Container(
|
||||||
decoration: new BoxDecoration(color: Colors.white),
|
decoration: new BoxDecoration(color: Colors.white),
|
||||||
child: new TabBar(
|
child: new TabBar.secondary(
|
||||||
// indicatorColor: primaryColor,
|
labelPadding: EdgeInsets.all(7),
|
||||||
|
dividerColor: Colors.grey.shade200,
|
||||||
|
indicatorColor: primaryColor,
|
||||||
labelColor: primaryColor,
|
labelColor: primaryColor,
|
||||||
labelStyle: TextStyle(fontWeight: FontWeight.bold),
|
labelStyle: TextStyle(fontWeight: FontWeight.bold),
|
||||||
unselectedLabelColor: Colors.grey,
|
|
||||||
controller: _tabController,
|
controller: _tabController,
|
||||||
tabs: [
|
tabs: [
|
||||||
LocalText(context, "buy_online.fullname", color: primaryColor),
|
LocalText(context, "buy_online.fullname", color: primaryColor),
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ class _CargoTableState extends State<CargoTable> {
|
|||||||
headingRowHeight: 40,
|
headingRowHeight: 40,
|
||||||
columnSpacing: 50,
|
columnSpacing: 50,
|
||||||
showCheckboxColumn: false,
|
showCheckboxColumn: false,
|
||||||
|
decoration: BoxDecoration(border: Border.all(color: Colors.white)),
|
||||||
|
border: TableBorder(horizontalInside: BorderSide(color: Colors.white)),
|
||||||
columns: [
|
columns: [
|
||||||
DataColumn(
|
DataColumn(
|
||||||
label: LocalText(
|
label: LocalText(
|
||||||
|
|||||||
@@ -39,14 +39,14 @@ class _CargoTableState extends State<CargoTable> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
print("Cargotypes:${cargoTypes!.length}");
|
|
||||||
|
|
||||||
return SingleChildScrollView(
|
return SingleChildScrollView(
|
||||||
scrollDirection: Axis.horizontal,
|
scrollDirection: Axis.horizontal,
|
||||||
child: DataTable(
|
child: DataTable(
|
||||||
showCheckboxColumn: false,
|
showCheckboxColumn: false,
|
||||||
headingRowHeight: 40,
|
headingRowHeight: 40,
|
||||||
columnSpacing: 40,
|
columnSpacing: 40,
|
||||||
|
decoration: BoxDecoration(border: Border.all(color: Colors.white)),
|
||||||
|
border: TableBorder(horizontalInside: BorderSide(color: Colors.white)),
|
||||||
columns: [
|
columns: [
|
||||||
DataColumn(
|
DataColumn(
|
||||||
label: LocalText(
|
label: LocalText(
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ import 'package:fcs/pages/widgets/delivery_address_selection.dart';
|
|||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
||||||
import 'package:fcs/pages/widgets/length_picker.dart';
|
import 'package:fcs/pages/widgets/length_picker.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_button.dart';
|
import 'package:fcs/pages/widgets/local_button.dart';
|
||||||
import 'package:fcs/pages/widgets/local_dropdown.dart';
|
import 'package:fcs/pages/widgets/local_dropdown.dart';
|
||||||
import 'package:fcs/pages/widgets/local_radio_buttons.dart';
|
import 'package:fcs/pages/widgets/local_radio_buttons.dart';
|
||||||
@@ -531,21 +532,11 @@ class _CartonEditorState extends State<CartonEditor> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: _isNew ? "box.info.title" : "box.edit.title",
|
||||||
leading: new IconButton(
|
|
||||||
icon:
|
|
||||||
new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
|
|
||||||
onPressed: () => Navigator.of(context).pop()),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
title: LocalText(
|
arrowColor: primaryColor,
|
||||||
context,
|
labelColor: primaryColor),
|
||||||
_isNew ? "box.info.title" : "box.edit.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: ListView(
|
child: ListView(
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import 'package:fcs/pages/widgets/defalut_delivery_address.dart';
|
|||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
||||||
import 'package:fcs/pages/widgets/length_picker.dart';
|
import 'package:fcs/pages/widgets/length_picker.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_radio_buttons.dart';
|
import 'package:fcs/pages/widgets/local_radio_buttons.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/local_title.dart';
|
import 'package:fcs/pages/widgets/local_title.dart';
|
||||||
@@ -311,20 +312,11 @@ class _CartonInfoState extends State<CartonInfo> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "box.info.title",
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
title: LocalText(
|
labelColor: primaryColor,
|
||||||
context,
|
arrowColor: primaryColor,
|
||||||
"box.info.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
actions: isEdiable
|
actions: isEdiable
|
||||||
? <Widget>[
|
? <Widget>[
|
||||||
IconButton(
|
IconButton(
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/carton/model/carton_model.dart';
|
import 'package:fcs/pages/carton/model/carton_model.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_popup_menu_button.dart';
|
import 'package:fcs/pages/widgets/local_popup_menu_button.dart';
|
||||||
import 'package:fcs/pages/widgets/local_popupmenu.dart';
|
import 'package:fcs/pages/widgets/local_popupmenu.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
@@ -60,20 +61,8 @@ class _CartonListState extends State<CartonList> {
|
|||||||
});
|
});
|
||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: DefaultTabController(
|
|
||||||
length: 2,
|
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(labelKey: "boxes.name", actions: [popupMenu]),
|
||||||
centerTitle: true,
|
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: LocalText(context, "boxes.name",
|
|
||||||
color: Colors.white, fontSize: 20),
|
|
||||||
actions: <Widget>[popupMenu],
|
|
||||||
),
|
|
||||||
floatingActionButton: FloatingActionButton.extended(
|
floatingActionButton: FloatingActionButton.extended(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
_newBox();
|
_newBox();
|
||||||
@@ -87,7 +76,6 @@ class _CartonListState extends State<CartonList> {
|
|||||||
rowBuilder: (p) => CartonListRow(box: p),
|
rowBuilder: (p) => CartonListRow(box: p),
|
||||||
color: primaryColor),
|
color: primaryColor),
|
||||||
),
|
),
|
||||||
),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class CartonListRow extends StatelessWidget {
|
|||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Expanded(
|
Expanded(
|
||||||
child: new Padding(
|
child: new Padding(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 16.0),
|
padding: const EdgeInsets.symmetric(vertical: 13.0),
|
||||||
child: new Row(
|
child: new Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Container(
|
Container(
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import 'package:fcs/domain/entities/package.dart';
|
|||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/local_title.dart';
|
import 'package:fcs/pages/widgets/local_title.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
typedef OnSelect = Function(Package package, bool checked);
|
typedef OnSelect = Function(Package package, bool checked);
|
||||||
|
|||||||
@@ -31,12 +31,8 @@ class CartonRow extends StatelessWidget {
|
|||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Container(
|
Container(
|
||||||
padding: EdgeInsets.only(left: 5, right: 10),
|
padding: EdgeInsets.only(left: 5, right: 10),
|
||||||
child: Icon(
|
child: Icon(MaterialCommunityIcons.package,
|
||||||
MaterialCommunityIcons.package,
|
color: primaryColor, size: 30)),
|
||||||
color: primaryColor,
|
|
||||||
size: 30,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
new Expanded(
|
new Expanded(
|
||||||
child: new Column(
|
child: new Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
|||||||
@@ -10,14 +10,18 @@ Widget getCartonNumberStatus(BuildContext context, Carton carton) {
|
|||||||
LocalText(
|
LocalText(
|
||||||
context,
|
context,
|
||||||
'',
|
'',
|
||||||
text: carton.cartonNumber ,
|
text: carton.cartonNumber,
|
||||||
color: primaryColor,
|
color: primaryColor,
|
||||||
fontSize: 18,
|
fontSize: 18,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
),
|
),
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.only(left: 8.0),
|
padding: const EdgeInsets.only(left: 8.0),
|
||||||
child: Chip(label: Text(carton.status??"")),
|
child: Chip(
|
||||||
|
shape: const StadiumBorder(
|
||||||
|
side: BorderSide(color: Colors.transparent)),
|
||||||
|
backgroundColor: Colors.grey.withOpacity(0.3),
|
||||||
|
label: Text(carton.status ?? "")),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class CartonListRow extends StatelessWidget {
|
|||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Expanded(
|
Expanded(
|
||||||
child: new Padding(
|
child: new Padding(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 13.0),
|
padding: const EdgeInsets.symmetric(vertical: 10.0),
|
||||||
child: new Row(
|
child: new Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
new Padding(
|
new Padding(
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import 'package:fcs/pages/widgets/barcode_scanner.dart';
|
|||||||
import 'package:fcs/pages/widgets/local_popup_menu_button.dart';
|
import 'package:fcs/pages/widgets/local_popup_menu_button.dart';
|
||||||
import 'package:fcs/pages/widgets/local_popupmenu.dart';
|
import 'package:fcs/pages/widgets/local_popupmenu.dart';
|
||||||
import 'package:fcs/pagination/paginator_listview.dart';
|
import 'package:fcs/pagination/paginator_listview.dart';
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -32,13 +33,15 @@ class PartSearchDelegate extends SearchDelegate<Carton> {
|
|||||||
final ThemeData theme = Theme.of(context);
|
final ThemeData theme = Theme.of(context);
|
||||||
return theme.copyWith(
|
return theme.copyWith(
|
||||||
appBarTheme: AppBarTheme(color: primaryColor),
|
appBarTheme: AppBarTheme(color: primaryColor),
|
||||||
|
iconButtonTheme: IconButtonThemeData(
|
||||||
|
style: ButtonStyle(
|
||||||
|
iconColor: MaterialStateProperty.all<Color>(Colors.white))),
|
||||||
inputDecorationTheme: InputDecorationTheme(
|
inputDecorationTheme: InputDecorationTheme(
|
||||||
border: InputBorder.none,
|
border: InputBorder.none,
|
||||||
hintStyle: TextStyle(
|
hintStyle: TextStyle(color: Colors.grey, fontSize: 14)),
|
||||||
color: theme.primaryTextTheme.caption?.color, fontSize: 14)),
|
|
||||||
textTheme: TextTheme(
|
textTheme: TextTheme(
|
||||||
headline1: TextStyle(
|
displayLarge: TextStyle(
|
||||||
color: theme.primaryTextTheme.headline1?.color,
|
color: theme.primaryTextTheme.displayLarge?.color,
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
backgroundColor: primaryColor)),
|
backgroundColor: primaryColor)),
|
||||||
primaryColor: primaryColor,
|
primaryColor: primaryColor,
|
||||||
@@ -83,7 +86,7 @@ class PartSearchDelegate extends SearchDelegate<Carton> {
|
|||||||
@override
|
@override
|
||||||
Widget buildLeading(BuildContext context) {
|
Widget buildLeading(BuildContext context) {
|
||||||
return IconButton(
|
return IconButton(
|
||||||
icon: Icon(Icons.arrow_back),
|
icon: Icon(CupertinoIcons.back),
|
||||||
onPressed: () => close(context, new Carton()),
|
onPressed: () => close(context, new Carton()),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import 'package:fcs/pages/package/package_info.dart';
|
|||||||
import 'package:fcs/pages/profile/profile_page.dart';
|
import 'package:fcs/pages/profile/profile_page.dart';
|
||||||
import 'package:fcs/pages/shipment/model/shipment_model.dart';
|
import 'package:fcs/pages/shipment/model/shipment_model.dart';
|
||||||
import 'package:fcs/pages/shipment/shipment_info.dart';
|
import 'package:fcs/pages/shipment/shipment_info.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -50,18 +51,9 @@ class MessageDetail extends StatelessWidget {
|
|||||||
String userID = Provider.of<MessageModel>(context).user?.id ?? "";
|
String userID = Provider.of<MessageModel>(context).user?.id ?? "";
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
leading: new IconButton(
|
titleWidget: Text(receiverName ?? "FCS Team",
|
||||||
icon: new Icon(CupertinoIcons.back),
|
style: TextStyle(color: Colors.white, fontSize: 20))),
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
elevation: .9,
|
|
||||||
title: Text(
|
|
||||||
receiverName ?? "FCS Team",
|
|
||||||
),
|
|
||||||
actions: <Widget>[],
|
|
||||||
),
|
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: EdgeInsets.all(16.0),
|
padding: EdgeInsets.all(16.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
@@ -129,15 +121,15 @@ class MessageDetail extends StatelessWidget {
|
|||||||
minLines: 1,
|
minLines: 1,
|
||||||
keyboardType: TextInputType.multiline,
|
keyboardType: TextInputType.multiline,
|
||||||
controller: textEditingController,
|
controller: textEditingController,
|
||||||
|
cursorColor: primaryColor,
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
focusedBorder: const OutlineInputBorder(
|
focusedBorder: const OutlineInputBorder(
|
||||||
borderSide:
|
borderSide:
|
||||||
const BorderSide(color: primaryColor, width: 1.0),
|
const BorderSide(color: primaryColor, width: 1.0),
|
||||||
),
|
),
|
||||||
border: new OutlineInputBorder(
|
border: new OutlineInputBorder(
|
||||||
borderRadius: const BorderRadius.all(
|
borderRadius:
|
||||||
const Radius.circular(10.0),
|
const BorderRadius.all(const Radius.circular(5.0)),
|
||||||
),
|
|
||||||
),
|
),
|
||||||
hintText: getLocalString(context, "message.hint.input"),
|
hintText: getLocalString(context, "message.hint.input"),
|
||||||
hintStyle: TextStyle(
|
hintStyle: TextStyle(
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import 'package:fcs/helpers/theme.dart';
|
|||||||
import 'package:fcs/pages/contact/model/contact_model.dart';
|
import 'package:fcs/pages/contact/model/contact_model.dart';
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@@ -87,21 +87,11 @@ class _ContactEditorState extends State<ContactEditor> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: 'contact.edit.title',
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor),
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(context).pop();
|
|
||||||
}),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
title: LocalText(
|
labelColor: primaryColor,
|
||||||
context,
|
arrowColor: primaryColor),
|
||||||
'contact.edit.title',
|
|
||||||
color: primaryColor,
|
|
||||||
fontSize: 20,
|
|
||||||
)),
|
|
||||||
body: ListView(
|
body: ListView(
|
||||||
children: [
|
children: [
|
||||||
Padding(
|
Padding(
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import 'package:fcs/domain/vo/contact.dart';
|
|||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/contact/contact_editor.dart';
|
import 'package:fcs/pages/contact/contact_editor.dart';
|
||||||
import 'package:fcs/pages/main/model/main_model.dart';
|
import 'package:fcs/pages/main/model/main_model.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.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';
|
||||||
@@ -26,23 +26,11 @@ class _ContactPageState extends State<ContactPage> {
|
|||||||
bool isEditable = context.select((MainModel m) => m.contactEditable());
|
bool isEditable = context.select((MainModel m) => m.contactEditable());
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "contact.title",
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(
|
|
||||||
CupertinoIcons.back,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
title: LocalText(
|
labelColor: primaryColor,
|
||||||
context,
|
arrowColor: primaryColor,
|
||||||
'contact.title',
|
|
||||||
color: primaryColor,
|
|
||||||
fontSize: 20,
|
|
||||||
),
|
|
||||||
actions: isEditable
|
actions: isEditable
|
||||||
? [
|
? [
|
||||||
IconButton(
|
IconButton(
|
||||||
@@ -102,6 +90,7 @@ class _ContactPageState extends State<ContactPage> {
|
|||||||
onTap: () => _opencontactItem(setting.facebookLink ?? ""),
|
onTap: () => _opencontactItem(setting.facebookLink ?? ""),
|
||||||
labelKey: "contact.facebook",
|
labelKey: "contact.facebook",
|
||||||
),
|
),
|
||||||
|
const SizedBox(height: 30)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import 'package:fcs/pages/customer/customer_editor.dart';
|
|||||||
import 'package:fcs/pages/customer/model/customer_model.dart';
|
import 'package:fcs/pages/customer/model/customer_model.dart';
|
||||||
import 'package:fcs/pages/main/model/main_model.dart';
|
import 'package:fcs/pages/main/model/main_model.dart';
|
||||||
import 'package:fcs/pages/user_search/user_serach.dart';
|
import 'package:fcs/pages/user_search/user_serach.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
@@ -28,7 +29,6 @@ class _CustomerListState extends State<CustomerList> {
|
|||||||
final double dotSize = 15.0;
|
final double dotSize = 15.0;
|
||||||
bool _isLoading = false;
|
bool _isLoading = false;
|
||||||
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
context.read<CustomerModel>().loadPaginationCustomers();
|
context.read<CustomerModel>().loadPaginationCustomers();
|
||||||
@@ -42,26 +42,15 @@ class _CustomerListState extends State<CustomerList> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "customer.list.title",
|
||||||
leading: new IconButton(
|
actions: [
|
||||||
icon: new Icon(CupertinoIcons.back),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
actions: <Widget>[
|
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: Icon(Icons.search, color: Colors.white),
|
icon: Icon(Icons.search, color: Colors.white),
|
||||||
onPressed: () => searchUser(context, onUserSelect: (u) {
|
onPressed: () => searchUser(context, onUserSelect: (u) {
|
||||||
_select(u);
|
_select(u);
|
||||||
})),
|
})),
|
||||||
],
|
],
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"customer.list.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: Colors.white,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
floatingActionButton: FloatingActionButton.extended(
|
floatingActionButton: FloatingActionButton.extended(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
@@ -88,7 +77,7 @@ class _CustomerListState extends State<CustomerList> {
|
|||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Expanded(
|
Expanded(
|
||||||
child: new Padding(
|
child: new Padding(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 2.0),
|
padding: const EdgeInsets.symmetric(vertical: 5.0),
|
||||||
child: new Row(
|
child: new Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
InkWell(
|
InkWell(
|
||||||
@@ -120,7 +109,7 @@ class _CustomerListState extends State<CustomerList> {
|
|||||||
child: new Text(
|
child: new Text(
|
||||||
customer.name ?? "",
|
customer.name ?? "",
|
||||||
style: new TextStyle(
|
style: new TextStyle(
|
||||||
fontSize: 20.0, color: primaryColor),
|
fontSize: 18.0, color: primaryColor),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Padding(
|
Padding(
|
||||||
@@ -146,16 +135,13 @@ class _CustomerListState extends State<CustomerList> {
|
|||||||
onPressed: () => _share(customer),
|
onPressed: () => _share(customer),
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.circular(18.0),
|
borderRadius: BorderRadius.circular(20.0),
|
||||||
side: BorderSide(color: primaryColor))),
|
side: BorderSide(color: primaryColor))),
|
||||||
// shape: RoundedRectangleBorder(
|
|
||||||
// borderRadius: BorderRadius.circular(18.0),
|
|
||||||
// side: BorderSide(color: primaryColor)),
|
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"Share",
|
"Share",
|
||||||
style: TextStyle(fontSize: 12),
|
style: TextStyle(fontSize: 12, color: primaryColor),
|
||||||
),
|
),
|
||||||
Icon(Icons.share, color: primaryColor),
|
Icon(Icons.share, color: primaryColor),
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -3,9 +3,8 @@ import 'package:fcs/helpers/theme.dart';
|
|||||||
import 'package:fcs/pages/customer/model/customer_model.dart';
|
import 'package:fcs/pages/customer/model/customer_model.dart';
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
@@ -42,16 +41,12 @@ class _InvitationCreateState extends State<InvitationCreate> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
|
labelKey: "invitation.form.title",
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
shadowColor: Colors.transparent,
|
labelColor: primaryColor,
|
||||||
centerTitle: true,
|
arrowColor: primaryColor,
|
||||||
leading: new IconButton(
|
onBack: () {
|
||||||
icon: new Icon(
|
|
||||||
CupertinoIcons.back,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
onPressed: () {
|
|
||||||
if (isDataChanged()) {
|
if (isDataChanged()) {
|
||||||
showConfirmDialog(context, "back.button_confirm", () {
|
showConfirmDialog(context, "back.button_confirm", () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
@@ -61,13 +56,6 @@ class _InvitationCreateState extends State<InvitationCreate> {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"invitation.form.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
body: Container(
|
body: Container(
|
||||||
padding: EdgeInsets.all(18),
|
padding: EdgeInsets.all(18),
|
||||||
child: ListView(
|
child: ListView(
|
||||||
|
|||||||
@@ -13,12 +13,11 @@ import 'package:fcs/pages/rates/model/shipment_rate_model.dart';
|
|||||||
import 'package:fcs/pages/widgets/defalut_delivery_address.dart';
|
import 'package:fcs/pages/widgets/defalut_delivery_address.dart';
|
||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_button.dart';
|
import 'package:fcs/pages/widgets/local_button.dart';
|
||||||
import 'package:fcs/pages/widgets/local_radio_buttons.dart';
|
import 'package:fcs/pages/widgets/local_radio_buttons.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
|
||||||
import 'package:fcs/pages/widgets/local_title.dart';
|
import 'package:fcs/pages/widgets/local_title.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
@@ -226,23 +225,11 @@ class _DeliveryInfoState extends State<DeliveryInfo> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "delivery.info.title",
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(context).pop();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
title: LocalText(
|
labelColor: primaryColor,
|
||||||
context,
|
arrowColor: primaryColor),
|
||||||
"delivery.info.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.all(10.0),
|
padding: const EdgeInsets.all(10.0),
|
||||||
child: ListView(children: <Widget>[
|
child: ListView(children: <Widget>[
|
||||||
|
|||||||
@@ -1,9 +1,8 @@
|
|||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_popup_menu_button.dart';
|
import 'package:fcs/pages/widgets/local_popup_menu_button.dart';
|
||||||
import 'package:fcs/pages/widgets/local_popupmenu.dart';
|
import 'package:fcs/pages/widgets/local_popupmenu.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
@@ -61,17 +60,7 @@ class _DeliverListState extends State<DeliverList> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(labelKey: "delivery", actions: [popupMenu]),
|
||||||
centerTitle: true,
|
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: LocalText(context, "delivery",
|
|
||||||
color: Colors.white, fontSize: 20),
|
|
||||||
actions: <Widget>[popupMenu],
|
|
||||||
),
|
|
||||||
body: PaginatorListView<Carton>(
|
body: PaginatorListView<Carton>(
|
||||||
paginatorListener: deliveryModel.getCartons!,
|
paginatorListener: deliveryModel.getCartons!,
|
||||||
rowBuilder: (p) => DeliveryListRow(box: p),
|
rowBuilder: (p) => DeliveryListRow(box: p),
|
||||||
|
|||||||
@@ -4,9 +4,8 @@ import 'package:fcs/helpers/theme.dart';
|
|||||||
import 'package:fcs/pages/delivery_address/model/delivery_address_model.dart';
|
import 'package:fcs/pages/delivery_address/model/delivery_address_model.dart';
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -104,11 +103,12 @@ class _DeliveryAddressEditorState extends State<DeliveryAddressEditor> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: 'delivery_address',
|
||||||
leading: new IconButton(
|
backgroundColor: Colors.white,
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor),
|
labelColor: primaryColor,
|
||||||
onPressed: () {
|
arrowColor: primaryColor,
|
||||||
|
onBack: () {
|
||||||
if (isDataChanged()) {
|
if (isDataChanged()) {
|
||||||
showConfirmDialog(context, "back.button_confirm", () {
|
showConfirmDialog(context, "back.button_confirm", () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
@@ -117,11 +117,6 @@ class _DeliveryAddressEditorState extends State<DeliveryAddressEditor> {
|
|||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
|
||||||
backgroundColor: Colors.white,
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
title: LocalText(context, 'delivery_address',
|
|
||||||
color: primaryColor, fontSize: 18),
|
|
||||||
actions: [
|
actions: [
|
||||||
_isNew
|
_isNew
|
||||||
? Container()
|
? Container()
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import 'package:fcs/domain/vo/delivery_address.dart';
|
|||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/delivery_address/delivery_address_editor.dart';
|
import 'package:fcs/pages/delivery_address/delivery_address_editor.dart';
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
@@ -41,17 +42,11 @@ class _DeliveryAddressListState extends State<DeliveryAddressList> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: 'delivery_addresses',
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
shadowColor: Colors.transparent,
|
labelColor: primaryColor,
|
||||||
title: LocalText(context, 'delivery_addresses',
|
arrowColor: primaryColor),
|
||||||
color: primaryColor, fontSize: 20),
|
|
||||||
),
|
|
||||||
floatingActionButton: FloatingActionButton.extended(
|
floatingActionButton: FloatingActionButton.extended(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).push(CupertinoPageRoute(
|
Navigator.of(context).push(CupertinoPageRoute(
|
||||||
|
|||||||
@@ -1,140 +0,0 @@
|
|||||||
import 'package:fcs/domain/entities/faq.dart';
|
|
||||||
import 'package:fcs/helpers/theme.dart';
|
|
||||||
import 'package:fcs/pages/faq/faq_edit_page.dart';
|
|
||||||
import 'package:fcs/pages/faq/model/faq_model.dart';
|
|
||||||
import 'package:fcs/pages/main/model/language_model.dart';
|
|
||||||
import 'package:fcs/pages/main/model/main_model.dart';
|
|
||||||
import 'package:fcs/pages/main/util.dart';
|
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
|
||||||
|
|
||||||
class FAQDetailPage extends StatefulWidget {
|
|
||||||
final FAQ faq;
|
|
||||||
const FAQDetailPage({required this.faq});
|
|
||||||
@override
|
|
||||||
_FAQDetailPageState createState() => _FAQDetailPageState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _FAQDetailPageState extends State<FAQDetailPage> {
|
|
||||||
bool _isLoading = false;
|
|
||||||
FAQ faq = new FAQ();
|
|
||||||
|
|
||||||
intState() {
|
|
||||||
super.initState();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
if (widget.faq.id != null)
|
|
||||||
faq = context.select((FAQModel m) => m.getFAQ(widget.faq.id!));
|
|
||||||
// if (faq == null) return Text("Deleted");
|
|
||||||
|
|
||||||
bool isEditable = context.select((MainModel m) => m.faqEditable());
|
|
||||||
return LocalProgress(
|
|
||||||
inAsyncCall: _isLoading,
|
|
||||||
child: Scaffold(
|
|
||||||
body: CustomScrollView(slivers: [
|
|
||||||
SliverAppBar(
|
|
||||||
leading: IconButton(
|
|
||||||
icon: Icon(
|
|
||||||
CupertinoIcons.back,
|
|
||||||
color: primaryColor,
|
|
||||||
size: 50,
|
|
||||||
),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
backgroundColor: Colors.white,
|
|
||||||
expandedHeight: 100.0,
|
|
||||||
floating: false,
|
|
||||||
pinned: true,
|
|
||||||
flexibleSpace: FlexibleSpaceBar(
|
|
||||||
centerTitle: true,
|
|
||||||
titlePadding: EdgeInsets.symmetric(vertical: 10),
|
|
||||||
),
|
|
||||||
actions: isEditable
|
|
||||||
? [
|
|
||||||
IconButton(
|
|
||||||
onPressed: () {
|
|
||||||
showConfirmDialog(context, "faq.edit.delete.confirm",
|
|
||||||
() {
|
|
||||||
_delete();
|
|
||||||
});
|
|
||||||
},
|
|
||||||
icon: Icon(
|
|
||||||
CupertinoIcons.delete,
|
|
||||||
color: primaryColor,
|
|
||||||
size: 30,
|
|
||||||
)),
|
|
||||||
IconButton(
|
|
||||||
onPressed: () =>
|
|
||||||
Navigator.of(context).push<void>(CupertinoPageRoute(
|
|
||||||
builder: (context) => FAQEditor(faq: faq),
|
|
||||||
)),
|
|
||||||
icon: Icon(
|
|
||||||
CupertinoIcons.pen,
|
|
||||||
color: primaryColor,
|
|
||||||
))
|
|
||||||
]
|
|
||||||
: [],
|
|
||||||
),
|
|
||||||
SliverList(
|
|
||||||
delegate: SliverChildListDelegate([
|
|
||||||
Padding(
|
|
||||||
padding: const EdgeInsets.all(28.0),
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
getQuestion(context, faq),
|
|
||||||
SizedBox(
|
|
||||||
height: 50,
|
|
||||||
),
|
|
||||||
getAnwser(context, faq)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
]))
|
|
||||||
]),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Widget getQuestion(BuildContext context, FAQ faq) {
|
|
||||||
bool isEng = Provider.of<LanguageModel>(context).isEng;
|
|
||||||
return TextLocalStyle(
|
|
||||||
context,
|
|
||||||
faq.question(isEng),
|
|
||||||
fontSize: 22,
|
|
||||||
fontWeight: FontWeight.bold,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
Widget getAnwser(BuildContext context, FAQ faq) {
|
|
||||||
bool isEng = Provider.of<LanguageModel>(context).isEng;
|
|
||||||
return TextLocalStyle(
|
|
||||||
context,
|
|
||||||
faq.answer(isEng),
|
|
||||||
fontSize: 16,
|
|
||||||
fontWeight: FontWeight.w200,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
_delete() async {
|
|
||||||
setState(() {
|
|
||||||
_isLoading = true;
|
|
||||||
});
|
|
||||||
try {
|
|
||||||
FAQModel faqModel = Provider.of<FAQModel>(context, listen: false);
|
|
||||||
await faqModel.deleteFAQ(faq);
|
|
||||||
Navigator.pop(context);
|
|
||||||
} catch (e) {
|
|
||||||
showMsgDialog(context, "Error", e.toString());
|
|
||||||
} finally {
|
|
||||||
setState(() {
|
|
||||||
_isLoading = false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -5,9 +5,8 @@ import 'package:fcs/pages/faq/model/faq_model.dart';
|
|||||||
import 'package:fcs/pages/faq/widgets.dart';
|
import 'package:fcs/pages/faq/widgets.dart';
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -84,6 +83,7 @@ class _FAQEditorState extends State<FAQEditor> {
|
|||||||
withBorder: true,
|
withBorder: true,
|
||||||
);
|
);
|
||||||
final pageLinkBox = DropdownButton<String>(
|
final pageLinkBox = DropdownButton<String>(
|
||||||
|
isExpanded: true,
|
||||||
value: _pageLink,
|
value: _pageLink,
|
||||||
style: TextStyle(color: Colors.deepPurple),
|
style: TextStyle(color: Colors.deepPurple),
|
||||||
underline: Container(
|
underline: Container(
|
||||||
@@ -124,11 +124,12 @@ class _FAQEditorState extends State<FAQEditor> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: _isNew ? 'faq.add.title' : 'faq.edit.title',
|
||||||
leading: new IconButton(
|
backgroundColor: Colors.white,
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor),
|
arrowColor: primaryColor,
|
||||||
onPressed: () {
|
labelColor: primaryColor,
|
||||||
|
onBack: () {
|
||||||
if (isDataChanged()) {
|
if (isDataChanged()) {
|
||||||
showConfirmDialog(context, "back.button_confirm", () {
|
showConfirmDialog(context, "back.button_confirm", () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
@@ -137,14 +138,10 @@ class _FAQEditorState extends State<FAQEditor> {
|
|||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
|
||||||
backgroundColor: Colors.white,
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
title: LocalText(
|
|
||||||
context, _isNew ? 'faq.add.title' : 'faq.edit.title',
|
|
||||||
color: primaryColor, fontSize: 20),
|
|
||||||
actions: [
|
actions: [
|
||||||
IconButton(
|
_isNew
|
||||||
|
? const SizedBox()
|
||||||
|
: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.delete,
|
Icons.delete,
|
||||||
color: primaryColor,
|
color: primaryColor,
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import 'package:fcs/pages/main/model/main_model.dart';
|
|||||||
import 'package:fcs/pages/payment_methods/payment_method_page.dart';
|
import 'package:fcs/pages/payment_methods/payment_method_page.dart';
|
||||||
import 'package:fcs/pages/rates/shipment_rates.dart';
|
import 'package:fcs/pages/rates/shipment_rates.dart';
|
||||||
import 'package:fcs/pages/widgets/fcs_expansion_tile.dart';
|
import 'package:fcs/pages/widgets/fcs_expansion_tile.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@@ -15,7 +16,6 @@ import 'package:provider/provider.dart';
|
|||||||
|
|
||||||
import 'model/faq_model.dart';
|
import 'model/faq_model.dart';
|
||||||
|
|
||||||
|
|
||||||
class FAQListPage extends StatefulWidget {
|
class FAQListPage extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
_FAQListPageState createState() => _FAQListPageState();
|
_FAQListPageState createState() => _FAQListPageState();
|
||||||
@@ -29,19 +29,8 @@ class _FAQListPageState extends State<FAQListPage>
|
|||||||
bool isEditable = context.select((MainModel m) => m.faqEditable());
|
bool isEditable = context.select((MainModel m) => m.faqEditable());
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "faq.title",
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"faq.title",
|
|
||||||
color: Colors.white,
|
|
||||||
fontSize: 20,
|
|
||||||
),
|
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
actions: isEditable
|
actions: isEditable
|
||||||
? [
|
? [
|
||||||
IconButton(
|
IconButton(
|
||||||
|
|||||||
@@ -7,10 +7,9 @@ import 'package:fcs/pages/main/model/main_model.dart';
|
|||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/input_date.dart';
|
import 'package:fcs/pages/widgets/input_date.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_button.dart';
|
import 'package:fcs/pages/widgets/local_button.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
@@ -50,11 +49,13 @@ class _FcsShipmentEditorState extends State<FcsShipmentEditor> {
|
|||||||
if (widget.shipment != null) {
|
if (widget.shipment != null) {
|
||||||
_shipment = widget.shipment!;
|
_shipment = widget.shipment!;
|
||||||
_shipmentNumberController.text = _shipment.shipmentNumber ?? "";
|
_shipmentNumberController.text = _shipment.shipmentNumber ?? "";
|
||||||
if(_shipment.cutoffDate != null)
|
if (_shipment.cutoffDate != null)
|
||||||
_cutoffDateController.text = dateFormatter.format(_shipment.cutoffDate!);
|
_cutoffDateController.text =
|
||||||
if(_shipment.arrivalDate != null)
|
dateFormatter.format(_shipment.cutoffDate!);
|
||||||
_arrivalDateController.text = dateFormatter.format(_shipment.arrivalDate!);
|
if (_shipment.arrivalDate != null)
|
||||||
if(_shipment.departureDate != null)
|
_arrivalDateController.text =
|
||||||
|
dateFormatter.format(_shipment.arrivalDate!);
|
||||||
|
if (_shipment.departureDate != null)
|
||||||
_departureDateControler.text =
|
_departureDateControler.text =
|
||||||
dateFormatter.format(_shipment.departureDate!);
|
dateFormatter.format(_shipment.departureDate!);
|
||||||
_statusController.text = _shipment.status ?? "";
|
_statusController.text = _shipment.status ?? "";
|
||||||
@@ -91,12 +92,12 @@ class _FcsShipmentEditorState extends State<FcsShipmentEditor> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "FCSshipment.form.title",
|
||||||
shadowColor: Colors.transparent,
|
backgroundColor: Colors.white,
|
||||||
leading: new IconButton(
|
labelColor: primaryColor,
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor),
|
arrowColor: primaryColor,
|
||||||
onPressed: () {
|
onBack: () {
|
||||||
if (isDataChanged()) {
|
if (isDataChanged()) {
|
||||||
showConfirmDialog(context, "back.button_confirm", () {
|
showConfirmDialog(context, "back.button_confirm", () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
@@ -104,16 +105,7 @@ class _FcsShipmentEditorState extends State<FcsShipmentEditor> {
|
|||||||
} else {
|
} else {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
}
|
}
|
||||||
},
|
}),
|
||||||
),
|
|
||||||
backgroundColor: Colors.white,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"FCSshipment.form.title",
|
|
||||||
color: primaryColor,
|
|
||||||
fontSize: 18,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.all(10.0),
|
padding: const EdgeInsets.all(10.0),
|
||||||
child: ListView(children: <Widget>[
|
child: ListView(children: <Widget>[
|
||||||
@@ -206,7 +198,7 @@ class _FcsShipmentEditorState extends State<FcsShipmentEditor> {
|
|||||||
// fcsShipment.departureDate =
|
// fcsShipment.departureDate =
|
||||||
// depDate == "" ? null : dateFormatter.parse(depDate);
|
// depDate == "" ? null : dateFormatter.parse(depDate);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
showMsgDialog(context, "Error", e.toString()); // shold never happen
|
// showMsgDialog(context, "Error", e.toString()); // shold never happen
|
||||||
}
|
}
|
||||||
return fcsShipment;
|
return fcsShipment;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import 'package:fcs/helpers/theme.dart';
|
|||||||
import 'package:fcs/pages/fcs_shipment/model/fcs_shipment_model.dart';
|
import 'package:fcs/pages/fcs_shipment/model/fcs_shipment_model.dart';
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_button.dart';
|
import 'package:fcs/pages/widgets/local_button.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/pdf_screen.dart';
|
import 'package:fcs/pages/widgets/pdf_screen.dart';
|
||||||
@@ -132,20 +133,11 @@ class _FcsShipmentInfoState extends State<FcsShipmentInfo> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "FCSshipment.form.title",
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
title: LocalText(
|
labelColor: primaryColor,
|
||||||
context,
|
arrowColor: primaryColor,
|
||||||
"FCSshipment.form.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
actions: [
|
actions: [
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: Icon(Icons.edit, color: primaryColor),
|
icon: Icon(Icons.edit, color: primaryColor),
|
||||||
@@ -154,7 +146,30 @@ class _FcsShipmentInfoState extends State<FcsShipmentInfo> {
|
|||||||
menuPopWidget(context)
|
menuPopWidget(context)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
// appBar: AppBar(
|
||||||
|
// centerTitle: true,
|
||||||
|
// leading: new IconButton(
|
||||||
|
// icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
|
||||||
|
// onPressed: () => Navigator.of(context).pop(),
|
||||||
|
// ),
|
||||||
|
// shadowColor: Colors.transparent,
|
||||||
|
// backgroundColor: Colors.white,
|
||||||
|
// title: LocalText(
|
||||||
|
// context,
|
||||||
|
// "FCSshipment.form.title",
|
||||||
|
// fontSize: 20,
|
||||||
|
// color: primaryColor,
|
||||||
|
// ),
|
||||||
|
// actions: [
|
||||||
|
// IconButton(
|
||||||
|
// icon: Icon(Icons.edit, color: primaryColor),
|
||||||
|
// onPressed: _edit,
|
||||||
|
// ),
|
||||||
|
// menuPopWidget(context)
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
body: Card(
|
body: Card(
|
||||||
|
elevation: 0,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Expanded(
|
Expanded(
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/fcs_shipment/model/fcs_shipment_model.dart';
|
import 'package:fcs/pages/fcs_shipment/model/fcs_shipment_model.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_popup_menu_button.dart';
|
import 'package:fcs/pages/widgets/local_popup_menu_button.dart';
|
||||||
import 'package:fcs/pages/widgets/local_popupmenu.dart';
|
import 'package:fcs/pages/widgets/local_popupmenu.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
@@ -63,17 +64,8 @@ class _FcsShipmentListState extends State<FcsShipmentList> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "FCSshipment.list.title", actions: [popupMenu]),
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: LocalText(context, 'FCSshipment.list.title',
|
|
||||||
color: Colors.white, fontSize: 20),
|
|
||||||
actions: [popupMenu],
|
|
||||||
),
|
|
||||||
floatingActionButton: FloatingActionButton.extended(
|
floatingActionButton: FloatingActionButton.extended(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
_newShipment();
|
_newShipment();
|
||||||
|
|||||||
@@ -20,7 +20,10 @@ Future showMsgDialog(BuildContext context, String title, String msg) {
|
|||||||
content: new Text(msg),
|
content: new Text(msg),
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
new TextButton(
|
new TextButton(
|
||||||
child: new Text("Close"),
|
child: new Text(
|
||||||
|
"Close",
|
||||||
|
style: TextStyle(color: primaryColor),
|
||||||
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
},
|
},
|
||||||
@@ -52,14 +55,16 @@ Future<void> showConfirmDialog(
|
|||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
TextButton(
|
TextButton(
|
||||||
style:
|
style: TextButton.styleFrom(
|
||||||
TextButton.styleFrom(backgroundColor: Colors.grey[300]),
|
backgroundColor: Colors.grey[300],
|
||||||
// color: Colors.grey[300],
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(5.0))),
|
||||||
child: Text(
|
child: Text(
|
||||||
AppTranslations.of(context)!.text('btn.cancel'),
|
AppTranslations.of(context)!.text('btn.cancel'),
|
||||||
style: Provider.of<LanguageModel>(context).isEng
|
style: Provider.of<LanguageModel>(context).isEng
|
||||||
? TextStyle()
|
? TextStyle(color: primaryColor)
|
||||||
: TextStyle(fontFamily: 'Myanmar3'),
|
: TextStyle(
|
||||||
|
fontFamily: 'Myanmar3', color: primaryColor),
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
@@ -68,8 +73,10 @@ Future<void> showConfirmDialog(
|
|||||||
width: 0,
|
width: 0,
|
||||||
),
|
),
|
||||||
TextButton(
|
TextButton(
|
||||||
style: TextButton.styleFrom(backgroundColor: primaryColor),
|
style: TextButton.styleFrom(
|
||||||
// color: primaryColor,
|
backgroundColor: primaryColor,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(5.0))),
|
||||||
child: Text(AppTranslations.of(context)!.text('btn.ok'),
|
child: Text(AppTranslations.of(context)!.text('btn.ok'),
|
||||||
style: Provider.of<LanguageModel>(context).isEng
|
style: Provider.of<LanguageModel>(context).isEng
|
||||||
? TextStyle(
|
? TextStyle(
|
||||||
@@ -374,7 +381,8 @@ String getLocalString(BuildContext context, String key) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void showToast(GlobalKey key, String text) {
|
void showToast(GlobalKey key, String text) {
|
||||||
final ScaffoldMessengerState scaffold = key.currentState as ScaffoldMessengerState;
|
final ScaffoldMessengerState scaffold =
|
||||||
|
key.currentState as ScaffoldMessengerState;
|
||||||
scaffold.showSnackBar(
|
scaffold.showSnackBar(
|
||||||
SnackBar(
|
SnackBar(
|
||||||
content: Text(text),
|
content: Text(text),
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import 'package:fcs/helpers/theme.dart';
|
|||||||
import 'package:fcs/pages/market/model/market_model.dart';
|
import 'package:fcs/pages/market/model/market_model.dart';
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
@@ -58,22 +59,11 @@ class _MarketEditorState extends State<MarketEditor> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: 'market.edit.title',
|
||||||
leading: new IconButton(
|
|
||||||
icon:
|
|
||||||
new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
title: LocalText(
|
labelColor: primaryColor,
|
||||||
context,
|
arrowColor: primaryColor),
|
||||||
"market.edit.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.only(left: 12.0, right: 12),
|
padding: const EdgeInsets.only(left: 12.0, right: 12),
|
||||||
child: ListView(
|
child: ListView(
|
||||||
|
|||||||
@@ -1,265 +0,0 @@
|
|||||||
import 'package:fcs/domain/entities/market.dart';
|
|
||||||
import 'package:fcs/domain/entities/package.dart';
|
|
||||||
import 'package:fcs/helpers/theme.dart';
|
|
||||||
import 'package:fcs/pages/main/util.dart';
|
|
||||||
import 'package:fcs/pages/market/market_editor.dart';
|
|
||||||
import 'package:fcs/pages/market/model/market_model.dart';
|
|
||||||
import 'package:fcs/pages/package/tracking_id_page.dart';
|
|
||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
|
||||||
import 'package:fcs/pages/widgets/multi_img_controller.dart';
|
|
||||||
import 'package:fcs/pages/widgets/multi_img_file.dart';
|
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
|
||||||
import 'package:intl/intl.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
|
||||||
|
|
||||||
class PackageEditorPage extends StatefulWidget {
|
|
||||||
final Package? package;
|
|
||||||
PackageEditorPage({this.package});
|
|
||||||
|
|
||||||
@override
|
|
||||||
_PackageEditorPageState createState() => _PackageEditorPageState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _PackageEditorPageState extends State<PackageEditorPage> {
|
|
||||||
TextEditingController _remarkCtl = new TextEditingController();
|
|
||||||
TextEditingController _descCtl = new TextEditingController();
|
|
||||||
|
|
||||||
Package? _package;
|
|
||||||
bool _isLoading = false;
|
|
||||||
|
|
||||||
@override
|
|
||||||
void initState() {
|
|
||||||
super.initState();
|
|
||||||
_package = widget.package!;
|
|
||||||
selectedMarket = _package!.market;
|
|
||||||
_descCtl.text = _package!.desc!;
|
|
||||||
_remarkCtl.text = _package!.remark!;
|
|
||||||
multiImgController.setImageUrls = _package!.photoUrls;
|
|
||||||
}
|
|
||||||
|
|
||||||
final DateFormat dateFormat = DateFormat("d MMM yyyy");
|
|
||||||
|
|
||||||
bool isNew = false;
|
|
||||||
MultiImgController multiImgController = MultiImgController();
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
final trackingIdBox = DisplayText(
|
|
||||||
text: _package != null ? _package!.trackingID : "",
|
|
||||||
labelTextKey: "package.tracking.id",
|
|
||||||
iconData: MaterialCommunityIcons.barcode_scan,
|
|
||||||
);
|
|
||||||
final statusBox = DisplayText(
|
|
||||||
text: _package != null ? _package!.status : "",
|
|
||||||
labelTextKey: "package.edit.status",
|
|
||||||
iconData: AntDesign.exclamationcircleo,
|
|
||||||
);
|
|
||||||
final customerNameBox = DisplayText(
|
|
||||||
text: _package != null ? _package!.userName : "",
|
|
||||||
labelTextKey: "package.create.name",
|
|
||||||
iconData: Icons.perm_identity,
|
|
||||||
);
|
|
||||||
final completeProcessingBtn = fcsButton(
|
|
||||||
context,
|
|
||||||
getLocalString(context, 'package.edit.complete.process.btn'),
|
|
||||||
callack: _completeProcessing,
|
|
||||||
);
|
|
||||||
final descBox = InputText(
|
|
||||||
labelTextKey: 'package.edit.desc',
|
|
||||||
iconData: MaterialCommunityIcons.message_text_outline,
|
|
||||||
controller: _descCtl);
|
|
||||||
final remarkBox = InputText(
|
|
||||||
labelTextKey: 'package.edit.remark',
|
|
||||||
iconData: Entypo.new_message,
|
|
||||||
controller: _remarkCtl);
|
|
||||||
|
|
||||||
final img = MultiImageFile(
|
|
||||||
enabled: true,
|
|
||||||
controller: multiImgController,
|
|
||||||
title: "Receipt File",
|
|
||||||
);
|
|
||||||
return LocalProgress(
|
|
||||||
inAsyncCall: _isLoading,
|
|
||||||
child: Scaffold(
|
|
||||||
appBar: AppBar(
|
|
||||||
centerTitle: true,
|
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
|
|
||||||
onPressed: () {
|
|
||||||
showConfirmDialog(context, "back.button_confirm", () {
|
|
||||||
Navigator.of(context).pop();
|
|
||||||
});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"package.edit.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
actions: [
|
|
||||||
IconButton(
|
|
||||||
icon: Icon(Icons.delete, color: primaryColor),
|
|
||||||
onPressed: _delete,
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
body: Padding(
|
|
||||||
padding: const EdgeInsets.all(8.0),
|
|
||||||
child: ListView(
|
|
||||||
children: [
|
|
||||||
trackingIdBox,
|
|
||||||
customerNameBox,
|
|
||||||
statusBox,
|
|
||||||
Divider(),
|
|
||||||
Center(
|
|
||||||
child: Padding(
|
|
||||||
padding: const EdgeInsets.all(8.0),
|
|
||||||
child: LocalText(
|
|
||||||
context,
|
|
||||||
"package.edit.procseeing",
|
|
||||||
color: primaryColor,
|
|
||||||
fontSize: 16,
|
|
||||||
fontWeight: FontWeight.w700,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Padding(
|
|
||||||
padding: const EdgeInsets.only(left: 18.0, right: 10),
|
|
||||||
child: Column(
|
|
||||||
children: [
|
|
||||||
marketDropdown(),
|
|
||||||
descBox,
|
|
||||||
remarkBox,
|
|
||||||
img,
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
completeProcessingBtn,
|
|
||||||
SizedBox(
|
|
||||||
height: 20,
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
String? selectedMarket;
|
|
||||||
Widget marketDropdown() {
|
|
||||||
List<Market> _markets = Provider.of<MarketModel>(context).markets;
|
|
||||||
List<String?> markets = _markets.map((e) => e.name).toList();
|
|
||||||
markets.insert(0, MANAGE_MARKET);
|
|
||||||
if (!markets.contains(selectedMarket)) {
|
|
||||||
markets.insert(0, selectedMarket!);
|
|
||||||
}
|
|
||||||
|
|
||||||
return Row(
|
|
||||||
children: [
|
|
||||||
Padding(
|
|
||||||
padding: const EdgeInsets.only(right: 18.0),
|
|
||||||
child: LocalText(
|
|
||||||
context,
|
|
||||||
"package.create.market",
|
|
||||||
color: primaryColor,
|
|
||||||
fontSize: 16,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Container(
|
|
||||||
width: 150,
|
|
||||||
child: DropdownButton<String>(
|
|
||||||
value: selectedMarket,
|
|
||||||
style: TextStyle(color: Colors.black, fontSize: 14),
|
|
||||||
underline: Container(
|
|
||||||
height: 1,
|
|
||||||
color: Colors.grey,
|
|
||||||
),
|
|
||||||
onChanged: (String? newValue) {
|
|
||||||
setState(() {
|
|
||||||
if (newValue == MANAGE_MARKET) {
|
|
||||||
selectedMarket = null;
|
|
||||||
_manageMarket();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
selectedMarket = newValue;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
isExpanded: true,
|
|
||||||
items: markets.map<DropdownMenuItem<String>>((String? value) {
|
|
||||||
return DropdownMenuItem<String>(
|
|
||||||
value: value,
|
|
||||||
child: Text(value ?? "",
|
|
||||||
overflow: TextOverflow.ellipsis,
|
|
||||||
style: TextStyle(
|
|
||||||
color: value == MANAGE_MARKET
|
|
||||||
? secondaryColor
|
|
||||||
: primaryColor)),
|
|
||||||
);
|
|
||||||
}).toList(),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
_manageMarket() {
|
|
||||||
Navigator.push<Package>(
|
|
||||||
context,
|
|
||||||
CupertinoPageRoute(builder: (context) => MarketEditor()),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
_completeProcessing() async {
|
|
||||||
if (_descCtl.text == "") {
|
|
||||||
showMsgDialog(context, "Error", "Expected some description");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
setState(() {
|
|
||||||
_isLoading = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
try {
|
|
||||||
_package!.desc = _descCtl.text;
|
|
||||||
_package!.remark = _remarkCtl.text;
|
|
||||||
_package!.market = selectedMarket!;
|
|
||||||
// await packageModel.completeProcessing(_package,
|
|
||||||
// multiImgController.getAddedFile, multiImgController.getDeletedUrl);
|
|
||||||
Navigator.pop(context);
|
|
||||||
} catch (e) {
|
|
||||||
showMsgDialog(context, "Error", e.toString());
|
|
||||||
} finally {
|
|
||||||
setState(() {
|
|
||||||
_isLoading = false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_delete() {
|
|
||||||
showConfirmDialog(context, "package.delete.confirm", _deletePackage);
|
|
||||||
}
|
|
||||||
|
|
||||||
_deletePackage() async {
|
|
||||||
setState(() {
|
|
||||||
_isLoading = true;
|
|
||||||
});
|
|
||||||
|
|
||||||
try {
|
|
||||||
// await packageModel.deletePackage(_package);
|
|
||||||
Navigator.pop<bool>(context, true);
|
|
||||||
} catch (e) {
|
|
||||||
showMsgDialog(context, "Error", e.toString());
|
|
||||||
} finally {
|
|
||||||
setState(() {
|
|
||||||
_isLoading = false;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -155,6 +155,7 @@ class _PackageInfoState extends State<PackageInfo> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
body: Card(
|
body: Card(
|
||||||
|
elevation: 0,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Expanded(
|
Expanded(
|
||||||
@@ -177,9 +178,12 @@ class _PackageInfoState extends State<PackageInfo> {
|
|||||||
widget.isSearchResult ? Container() : deliveryAddressBox,
|
widget.isSearchResult ? Container() : deliveryAddressBox,
|
||||||
widget.isSearchResult
|
widget.isSearchResult
|
||||||
? Container()
|
? Container()
|
||||||
: StatusTree(
|
: Padding(
|
||||||
|
padding: const EdgeInsets.only(top: 15),
|
||||||
|
child: StatusTree(
|
||||||
shipmentHistory: _package!.shipmentHistory,
|
shipmentHistory: _package!.shipmentHistory,
|
||||||
currentStatus: _package!.status),
|
currentStatus: _package!.status),
|
||||||
|
),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: 20,
|
height: 20,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ import 'package:fcs/pages/package/model/package_model.dart';
|
|||||||
import 'package:fcs/pages/package/package_info.dart';
|
import 'package:fcs/pages/package/package_info.dart';
|
||||||
import 'package:fcs/pages/package/package_list_row.dart';
|
import 'package:fcs/pages/package/package_list_row.dart';
|
||||||
import 'package:fcs/pages/package_search/package_serach.dart';
|
import 'package:fcs/pages/package_search/package_serach.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_popup_menu_button.dart';
|
import 'package:fcs/pages/widgets/local_popup_menu_button.dart';
|
||||||
import 'package:fcs/pages/widgets/local_popupmenu.dart';
|
import 'package:fcs/pages/widgets/local_popupmenu.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:fcs/pagination/paginator_listview.dart';
|
import 'package:fcs/pagination/paginator_listview.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
@@ -55,20 +55,9 @@ class _PackageListState extends State<PackageList> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: 'package.title',
|
||||||
leading: new IconButton(
|
actions: [
|
||||||
icon: new Icon(CupertinoIcons.back),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"package.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: Colors.white,
|
|
||||||
),
|
|
||||||
actions: <Widget>[
|
|
||||||
widget.forCustomer
|
widget.forCustomer
|
||||||
? Container()
|
? Container()
|
||||||
: IconButton(
|
: IconButton(
|
||||||
@@ -78,8 +67,7 @@ class _PackageListState extends State<PackageList> {
|
|||||||
),
|
),
|
||||||
iconSize: 30,
|
iconSize: 30,
|
||||||
onPressed: () => searchPackage(context,
|
onPressed: () => searchPackage(context,
|
||||||
callbackPackageSelect: _searchCallback),
|
callbackPackageSelect: _searchCallback)),
|
||||||
),
|
|
||||||
popupMenu
|
popupMenu
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import 'package:fcs/helpers/theme.dart';
|
|||||||
import 'package:fcs/pages/package/model/package_model.dart';
|
import 'package:fcs/pages/package/model/package_model.dart';
|
||||||
import 'package:fcs/pages/package/package_list_row.dart';
|
import 'package:fcs/pages/package/package_list_row.dart';
|
||||||
import 'package:fcs/pages/widgets/barcode_scanner.dart';
|
import 'package:fcs/pages/widgets/barcode_scanner.dart';
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -28,13 +29,15 @@ class PackageSearchDelegate extends SearchDelegate<Package> {
|
|||||||
final ThemeData theme = Theme.of(context);
|
final ThemeData theme = Theme.of(context);
|
||||||
return theme.copyWith(
|
return theme.copyWith(
|
||||||
appBarTheme: AppBarTheme(color: primaryColor),
|
appBarTheme: AppBarTheme(color: primaryColor),
|
||||||
|
iconButtonTheme: IconButtonThemeData(
|
||||||
|
style: ButtonStyle(
|
||||||
|
iconColor: MaterialStateProperty.all<Color>(Colors.white))),
|
||||||
inputDecorationTheme: InputDecorationTheme(
|
inputDecorationTheme: InputDecorationTheme(
|
||||||
border: InputBorder.none,
|
border: InputBorder.none,
|
||||||
hintStyle: TextStyle(
|
hintStyle: TextStyle(color: Colors.grey, fontSize: 14)),
|
||||||
color: theme.primaryTextTheme.caption?.color, fontSize: 14)),
|
|
||||||
textTheme: TextTheme(
|
textTheme: TextTheme(
|
||||||
headline1: TextStyle(
|
displayLarge: TextStyle(
|
||||||
color: theme.primaryTextTheme.headline1?.color,
|
color: theme.primaryTextTheme.displayLarge?.color,
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
backgroundColor: primaryColor)),
|
backgroundColor: primaryColor)),
|
||||||
primaryColor: primaryColor,
|
primaryColor: primaryColor,
|
||||||
@@ -59,7 +62,7 @@ class PackageSearchDelegate extends SearchDelegate<Package> {
|
|||||||
@override
|
@override
|
||||||
Widget buildLeading(BuildContext context) {
|
Widget buildLeading(BuildContext context) {
|
||||||
return IconButton(
|
return IconButton(
|
||||||
icon: Icon(Icons.arrow_back),
|
icon: Icon(CupertinoIcons.back),
|
||||||
onPressed: () => close(context, new Package()),
|
onPressed: () => close(context, new Package()),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,9 +3,8 @@ import 'package:fcs/helpers/theme.dart';
|
|||||||
import 'package:fcs/pages/payment_methods/model/payment_method_model.dart';
|
import 'package:fcs/pages/payment_methods/model/payment_method_model.dart';
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -55,11 +54,12 @@ class _PaymentMethodEditorState extends State<PaymentMethodEditor> {
|
|||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: isNew ? "pm.form.new" : "pm.update",
|
||||||
leading: new IconButton(
|
backgroundColor: Colors.white,
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor),
|
labelColor: primaryColor,
|
||||||
onPressed: () {
|
arrowColor: primaryColor,
|
||||||
|
onBack: () {
|
||||||
if (isDataChanged()) {
|
if (isDataChanged()) {
|
||||||
showConfirmDialog(context, "back.button_confirm", () {
|
showConfirmDialog(context, "back.button_confirm", () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
@@ -68,15 +68,6 @@ class _PaymentMethodEditorState extends State<PaymentMethodEditor> {
|
|||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
isNew ? "pm.form.new" : "pm.update",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
|
||||||
actions: <Widget>[
|
actions: <Widget>[
|
||||||
isNew
|
isNew
|
||||||
? Container()
|
? Container()
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import 'package:fcs/pages/payment_methods/model/payment_method_model.dart';
|
|||||||
import 'package:fcs/pages/payment_methods/payment_method_editor.dart';
|
import 'package:fcs/pages/payment_methods/payment_method_editor.dart';
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
@@ -31,25 +32,11 @@ class _PaymentMethodPageState extends State<PaymentMethodPage> {
|
|||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
key: key,
|
key: key,
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
leading: new IconButton(
|
labelKey: "pm.title",
|
||||||
icon: new Icon(
|
|
||||||
CupertinoIcons.back,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
centerTitle: true,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"pm.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
actions: <Widget>[],
|
labelColor: primaryColor,
|
||||||
),
|
arrowColor: primaryColor),
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.all(12.0),
|
padding: const EdgeInsets.all(12.0),
|
||||||
child: ListView.separated(
|
child: ListView.separated(
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import 'package:fcs/pages/pickup/model/pickup_model.dart';
|
|||||||
import 'package:fcs/pages/widgets/defalut_delivery_address.dart';
|
import 'package:fcs/pages/widgets/defalut_delivery_address.dart';
|
||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/multi_img_controller.dart';
|
import 'package:fcs/pages/widgets/multi_img_controller.dart';
|
||||||
import 'package:fcs/pages/widgets/multi_img_file.dart';
|
import 'package:fcs/pages/widgets/multi_img_file.dart';
|
||||||
@@ -131,11 +132,12 @@ class _PickupEditorState extends State<PickupEditor> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "pickup.edit.title",
|
||||||
leading: new IconButton(
|
backgroundColor: Colors.white,
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
|
labelColor: primaryColor,
|
||||||
onPressed: () {
|
arrowColor: primaryColor,
|
||||||
|
onBack: () {
|
||||||
if (isDataChanged()) {
|
if (isDataChanged()) {
|
||||||
showConfirmDialog(context, "back.button_confirm", () {
|
showConfirmDialog(context, "back.button_confirm", () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
@@ -145,15 +147,6 @@ class _PickupEditorState extends State<PickupEditor> {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"pickup.edit.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: ListView(
|
child: ListView(
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import 'package:fcs/pages/pickup/model/pickup_model.dart';
|
|||||||
import 'package:fcs/pages/pickup/pickup_editor.dart';
|
import 'package:fcs/pages/pickup/pickup_editor.dart';
|
||||||
import 'package:fcs/pages/widgets/defalut_delivery_address.dart';
|
import 'package:fcs/pages/widgets/defalut_delivery_address.dart';
|
||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/multi_img_controller.dart';
|
import 'package:fcs/pages/widgets/multi_img_controller.dart';
|
||||||
import 'package:fcs/pages/widgets/multi_img_file.dart';
|
import 'package:fcs/pages/widgets/multi_img_file.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
@@ -149,22 +149,13 @@ class _PickupInfoState extends State<PickupInfo> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "pickup.info.title",
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
title: LocalText(
|
labelColor: primaryColor,
|
||||||
context,
|
arrowColor: primaryColor),
|
||||||
"pickup.info.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
body: Card(
|
body: Card(
|
||||||
|
elevation: 0,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Expanded(
|
Expanded(
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import 'package:fcs/helpers/theme.dart';
|
|||||||
import 'package:fcs/pages/pickup/pickup_info.dart';
|
import 'package:fcs/pages/pickup/pickup_info.dart';
|
||||||
import 'package:fcs/pages/pickup/pickup_list_row.dart';
|
import 'package:fcs/pages/pickup/pickup_list_row.dart';
|
||||||
import 'package:fcs/pages/pickup_search/pickup_serach.dart';
|
import 'package:fcs/pages/pickup_search/pickup_serach.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:fcs/pagination/paginator_listview.dart';
|
import 'package:fcs/pagination/paginator_listview.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
@@ -26,7 +26,6 @@ class _PickupListState extends State<PickupList> {
|
|||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
var pickupModel = Provider.of<PickupModel>(context);
|
var pickupModel = Provider.of<PickupModel>(context);
|
||||||
@@ -35,20 +34,9 @@ class _PickupListState extends State<PickupList> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "pickup.title",
|
||||||
leading: new IconButton(
|
actions: [
|
||||||
icon: new Icon(CupertinoIcons.back),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"pickup.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: Colors.white,
|
|
||||||
),
|
|
||||||
actions: <Widget>[
|
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.search,
|
Icons.search,
|
||||||
@@ -56,8 +44,7 @@ class _PickupListState extends State<PickupList> {
|
|||||||
),
|
),
|
||||||
iconSize: 30,
|
iconSize: 30,
|
||||||
onPressed: () => searchPickup(context,
|
onPressed: () => searchPickup(context,
|
||||||
callbackPickupSelect: _searchCallback),
|
callbackPickupSelect: _searchCallback)),
|
||||||
),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
body: PaginatorListView<Pickup>(
|
body: PaginatorListView<Pickup>(
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import 'package:fcs/helpers/theme.dart';
|
|||||||
import 'package:fcs/pages/pickup/model/pickup_model.dart';
|
import 'package:fcs/pages/pickup/model/pickup_model.dart';
|
||||||
import 'package:fcs/pages/pickup/pickup_list_row.dart';
|
import 'package:fcs/pages/pickup/pickup_list_row.dart';
|
||||||
import 'package:fcs/pages/widgets/barcode_scanner.dart';
|
import 'package:fcs/pages/widgets/barcode_scanner.dart';
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -29,13 +30,15 @@ class PackageSearchDelegate extends SearchDelegate<Pickup> {
|
|||||||
final ThemeData theme = Theme.of(context);
|
final ThemeData theme = Theme.of(context);
|
||||||
return theme.copyWith(
|
return theme.copyWith(
|
||||||
appBarTheme: AppBarTheme(color: primaryColor),
|
appBarTheme: AppBarTheme(color: primaryColor),
|
||||||
|
iconButtonTheme: IconButtonThemeData(
|
||||||
|
style: ButtonStyle(
|
||||||
|
iconColor: MaterialStateProperty.all<Color>(Colors.white))),
|
||||||
inputDecorationTheme: InputDecorationTheme(
|
inputDecorationTheme: InputDecorationTheme(
|
||||||
border: InputBorder.none,
|
border: InputBorder.none,
|
||||||
hintStyle: TextStyle(
|
hintStyle: TextStyle(color: Colors.grey, fontSize: 14)),
|
||||||
color: theme.primaryTextTheme.caption?.color, fontSize: 14)),
|
|
||||||
textTheme: TextTheme(
|
textTheme: TextTheme(
|
||||||
headline1: TextStyle(
|
displayLarge: TextStyle(
|
||||||
color: theme.primaryTextTheme.headline1?.color,
|
color: theme.primaryTextTheme.displayLarge?.color,
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
backgroundColor: primaryColor)),
|
backgroundColor: primaryColor)),
|
||||||
primaryColor: primaryColor,
|
primaryColor: primaryColor,
|
||||||
@@ -60,7 +63,7 @@ class PackageSearchDelegate extends SearchDelegate<Pickup> {
|
|||||||
@override
|
@override
|
||||||
Widget buildLeading(BuildContext context) {
|
Widget buildLeading(BuildContext context) {
|
||||||
return IconButton(
|
return IconButton(
|
||||||
icon: Icon(Icons.arrow_back),
|
icon: Icon(CupertinoIcons.back),
|
||||||
onPressed: () => close(context, new Pickup()),
|
onPressed: () => close(context, new Pickup()),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -120,7 +123,8 @@ class PackageSearchDelegate extends SearchDelegate<Pickup> {
|
|||||||
child: Center(
|
child: Center(
|
||||||
child: Opacity(
|
child: Opacity(
|
||||||
opacity: 0.2,
|
opacity: 0.2,
|
||||||
child: Icon(SimpleLineIcons.direction, size: 200, color: primaryColor)),
|
child: Icon(SimpleLineIcons.direction,
|
||||||
|
size: 200, color: primaryColor)),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import 'package:fcs/pages/user_search/user_serach.dart';
|
|||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/multi_img_controller.dart';
|
import 'package:fcs/pages/widgets/multi_img_controller.dart';
|
||||||
import 'package:fcs/pages/widgets/multi_img_file.dart';
|
import 'package:fcs/pages/widgets/multi_img_file.dart';
|
||||||
@@ -172,11 +173,12 @@ class _ProcessingEditEditorState extends State<ProcessingEditEditor> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "processing.edit.title",
|
||||||
leading: new IconButton(
|
backgroundColor: Colors.white,
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
|
labelColor: primaryColor,
|
||||||
onPressed: () {
|
arrowColor: primaryColor,
|
||||||
|
onBack: () {
|
||||||
if (isDataChanged()) {
|
if (isDataChanged()) {
|
||||||
showConfirmDialog(context, "back.button_confirm", () {
|
showConfirmDialog(context, "back.button_confirm", () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
@@ -186,15 +188,6 @@ class _ProcessingEditEditorState extends State<ProcessingEditEditor> {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"processing.edit.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: ListView(
|
child: ListView(
|
||||||
@@ -337,7 +330,7 @@ class _ProcessingEditEditorState extends State<ProcessingEditEditor> {
|
|||||||
fcsID: _consignee!.fcsID,
|
fcsID: _consignee!.fcsID,
|
||||||
senderFCSID: _sender!.fcsID,
|
senderFCSID: _sender!.fcsID,
|
||||||
market: selectedMarket,
|
market: selectedMarket,
|
||||||
desc: _descCtl.text ,
|
desc: _descCtl.text,
|
||||||
remark: _remarkCtl.text,
|
remark: _remarkCtl.text,
|
||||||
photoUrls: widget.package!.photoUrls);
|
photoUrls: widget.package!.photoUrls);
|
||||||
return widget.package!.isChangedForEditProcessing(_package) ||
|
return widget.package!.isChangedForEditProcessing(_package) ||
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import 'package:fcs/pages/package/package_info.dart';
|
|||||||
import 'package:fcs/pages/user_search/user_serach.dart';
|
import 'package:fcs/pages/user_search/user_serach.dart';
|
||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@@ -177,23 +177,11 @@ class _ProcesingEditorState extends State<ProcesingEditor> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: _isNew ? "processing.create" : "processing.update",
|
||||||
leading: new IconButton(
|
|
||||||
icon:
|
|
||||||
new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(context).pop();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
title: LocalText(
|
labelColor: primaryColor,
|
||||||
context,
|
arrowColor: primaryColor,
|
||||||
_isNew ? "processing.create" : "processing.update",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.only(left: 12.0, right: 12),
|
padding: const EdgeInsets.only(left: 12.0, right: 12),
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import 'package:fcs/pages/main/util.dart';
|
|||||||
import 'package:fcs/pages/package/model/package_model.dart';
|
import 'package:fcs/pages/package/model/package_model.dart';
|
||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/multi_img_controller.dart';
|
import 'package:fcs/pages/widgets/multi_img_controller.dart';
|
||||||
import 'package:fcs/pages/widgets/multi_img_file.dart';
|
import 'package:fcs/pages/widgets/multi_img_file.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
@@ -131,21 +131,12 @@ class _ProcessingInfoState extends State<ProcessingInfo> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "processing.info.title",
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
title: LocalText(
|
labelColor: primaryColor,
|
||||||
context,
|
arrowColor: primaryColor,
|
||||||
"processing.info.title",
|
actions: [
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
actions: <Widget>[
|
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: Icon(Icons.delete, color: primaryColor),
|
icon: Icon(Icons.delete, color: primaryColor),
|
||||||
onPressed: _delete,
|
onPressed: _delete,
|
||||||
@@ -154,9 +145,9 @@ class _ProcessingInfoState extends State<ProcessingInfo> {
|
|||||||
icon: Icon(Icons.edit, color: primaryColor),
|
icon: Icon(Icons.edit, color: primaryColor),
|
||||||
onPressed: _gotoEditor,
|
onPressed: _gotoEditor,
|
||||||
),
|
),
|
||||||
],
|
]),
|
||||||
),
|
|
||||||
body: Card(
|
body: Card(
|
||||||
|
elevation: 0,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Expanded(
|
Expanded(
|
||||||
@@ -177,9 +168,7 @@ class _ProcessingInfoState extends State<ProcessingInfo> {
|
|||||||
StatusTree(
|
StatusTree(
|
||||||
shipmentHistory: _package!.shipmentHistory,
|
shipmentHistory: _package!.shipmentHistory,
|
||||||
currentStatus: _package!.status ?? ""),
|
currentStatus: _package!.status ?? ""),
|
||||||
SizedBox(
|
SizedBox(height: 20)
|
||||||
height: 20,
|
|
||||||
)
|
|
||||||
]),
|
]),
|
||||||
)),
|
)),
|
||||||
],
|
],
|
||||||
@@ -222,7 +211,7 @@ class _ProcessingInfoState extends State<ProcessingInfo> {
|
|||||||
PackageModel packageModel =
|
PackageModel packageModel =
|
||||||
Provider.of<PackageModel>(context, listen: false);
|
Provider.of<PackageModel>(context, listen: false);
|
||||||
Package? p = await packageModel.getPackage(_package!.id!);
|
Package? p = await packageModel.getPackage(_package!.id!);
|
||||||
if(p == null)return;
|
if (p == null) return;
|
||||||
initPackage(p);
|
initPackage(p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import 'package:fcs/domain/entities/package.dart';
|
|||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/package/model/package_model.dart';
|
import 'package:fcs/pages/package/model/package_model.dart';
|
||||||
import 'package:fcs/pages/package_search/package_serach.dart';
|
import 'package:fcs/pages/package_search/package_serach.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:fcs/pagination/paginator_listview.dart';
|
import 'package:fcs/pagination/paginator_listview.dart';
|
||||||
@@ -39,20 +40,7 @@ class _ProcessingListState extends State<ProcessingList> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(labelKey: "processing.title", actions: [
|
||||||
centerTitle: true,
|
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"processing.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: Colors.white,
|
|
||||||
),
|
|
||||||
actions: <Widget>[
|
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.search,
|
Icons.search,
|
||||||
@@ -60,10 +48,8 @@ class _ProcessingListState extends State<ProcessingList> {
|
|||||||
),
|
),
|
||||||
iconSize: 30,
|
iconSize: 30,
|
||||||
onPressed: () => searchPackage(context,
|
onPressed: () => searchPackage(context,
|
||||||
callbackPackageSelect: _searchCallback),
|
callbackPackageSelect: _searchCallback))
|
||||||
),
|
]),
|
||||||
],
|
|
||||||
),
|
|
||||||
floatingActionButton: FloatingActionButton.extended(
|
floatingActionButton: FloatingActionButton.extended(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
_newProcessing();
|
_newProcessing();
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/main/model/main_model.dart';
|
import 'package:fcs/pages/main/model/main_model.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
@@ -41,27 +40,11 @@ class _ProfileCurrencyEditState extends State<ProfileCurrencyEdit> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _loading,
|
inAsyncCall: _loading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: 'profile.edit.currency.title',
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"profile.edit.currency.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
shadowColor: Colors.transparent,
|
labelColor: primaryColor,
|
||||||
leading: IconButton(
|
arrowColor: primaryColor),
|
||||||
icon: Icon(
|
|
||||||
CupertinoIcons.back,
|
|
||||||
size: 35,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(context).pop();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),
|
|
||||||
body: Column(
|
body: Column(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
InkWell(
|
InkWell(
|
||||||
@@ -75,7 +58,7 @@ class _ProfileCurrencyEditState extends State<ProfileCurrencyEdit> {
|
|||||||
value: Currency.USD,
|
value: Currency.USD,
|
||||||
groupValue: _currency,
|
groupValue: _currency,
|
||||||
onChanged: (Currency? value) {
|
onChanged: (Currency? value) {
|
||||||
if(value != null)
|
if (value != null)
|
||||||
setState(() {
|
setState(() {
|
||||||
_currency = value;
|
_currency = value;
|
||||||
});
|
});
|
||||||
@@ -94,7 +77,7 @@ class _ProfileCurrencyEditState extends State<ProfileCurrencyEdit> {
|
|||||||
value: Currency.MMK,
|
value: Currency.MMK,
|
||||||
groupValue: _currency,
|
groupValue: _currency,
|
||||||
onChanged: (Currency? value) {
|
onChanged: (Currency? value) {
|
||||||
if(value != null)
|
if (value != null)
|
||||||
setState(() {
|
setState(() {
|
||||||
_currency = value;
|
_currency = value;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -2,9 +2,8 @@ import 'package:fcs/helpers/theme.dart';
|
|||||||
import 'package:fcs/localization/app_translations.dart';
|
import 'package:fcs/localization/app_translations.dart';
|
||||||
import 'package:fcs/pages/main/model/language_model.dart';
|
import 'package:fcs/pages/main/model/language_model.dart';
|
||||||
import 'package:fcs/pages/main/model/main_model.dart';
|
import 'package:fcs/pages/main/model/main_model.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
@@ -58,27 +57,11 @@ class _ProfileEditState extends State<ProfileEdit> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _loading,
|
inAsyncCall: _loading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "profile.edit_title",
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"profile.edit_title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
shadowColor: Colors.transparent,
|
labelColor: primaryColor,
|
||||||
leading: IconButton(
|
arrowColor: primaryColor),
|
||||||
icon: Icon(
|
|
||||||
CupertinoIcons.back,
|
|
||||||
size: 35,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(context).pop();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),
|
|
||||||
body: Column(
|
body: Column(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Expanded(child: name),
|
Expanded(child: name),
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import 'package:fcs/pages/staff/model/staff_model.dart';
|
|||||||
import 'package:fcs/pages/widgets/defalut_delivery_address.dart';
|
import 'package:fcs/pages/widgets/defalut_delivery_address.dart';
|
||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@@ -128,25 +128,11 @@ class _ProfileState extends State<Profile> {
|
|||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
key: key,
|
key: key,
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "profile.title",
|
||||||
leading: IconButton(
|
|
||||||
icon: Icon(
|
|
||||||
CupertinoIcons.back,
|
|
||||||
size: 35,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"profile.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
),
|
labelColor: primaryColor,
|
||||||
|
arrowColor: primaryColor),
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: ListView(
|
child: ListView(
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import 'package:fcs/domain/entities/cargo_type.dart';
|
import 'package:fcs/domain/entities/cargo_type.dart';
|
||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/localization/app_translations.dart';
|
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
@@ -56,11 +55,12 @@ class _CargoEditorState extends State<CargoEditor> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "cargo.form.title",
|
||||||
leading: new IconButton(
|
backgroundColor: Colors.white,
|
||||||
icon: new Icon(CupertinoIcons.back),
|
labelColor: primaryColor,
|
||||||
onPressed: () {
|
arrowColor: primaryColor,
|
||||||
|
onBack: () {
|
||||||
if (isDataChanged()) {
|
if (isDataChanged()) {
|
||||||
showConfirmDialog(context, "back.button_confirm", () {
|
showConfirmDialog(context, "back.button_confirm", () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
@@ -69,14 +69,11 @@ class _CargoEditorState extends State<CargoEditor> {
|
|||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: Text(AppTranslations.of(context)!.text("cargo.form.title")),
|
|
||||||
actions: [
|
actions: [
|
||||||
_isNew
|
_isNew
|
||||||
? Container()
|
? Container()
|
||||||
: IconButton(
|
: IconButton(
|
||||||
icon: Icon(Icons.delete),
|
icon: Icon(Icons.delete, color: primaryColor),
|
||||||
onPressed: _delete,
|
onPressed: _delete,
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import 'package:fcs/domain/entities/cargo_type.dart';
|
import 'package:fcs/domain/entities/cargo_type.dart';
|
||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
@@ -35,20 +36,7 @@ class _CargoTypeListState extends State<CargoTypeList> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(labelKey: "cargo.form.title"),
|
||||||
centerTitle: true,
|
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back),
|
|
||||||
onPressed: () => Navigator.pop(context),
|
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"cargo.form.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: Colors.white,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
floatingActionButton: FloatingActionButton.extended(
|
floatingActionButton: FloatingActionButton.extended(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).push(
|
Navigator.of(context).push(
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import 'package:fcs/domain/entities/cargo_type.dart';
|
import 'package:fcs/domain/entities/cargo_type.dart';
|
||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/localization/app_translations.dart';
|
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.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:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -64,13 +63,12 @@ class _CustomEditorState extends State<CustomEditor> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: 'rate.custom.form.title',
|
||||||
leading: new IconButton(
|
backgroundColor: Colors.white,
|
||||||
icon: new Icon(
|
arrowColor: primaryColor,
|
||||||
CupertinoIcons.back,
|
labelColor: primaryColor,
|
||||||
),
|
onBack: () {
|
||||||
onPressed: () {
|
|
||||||
if (isDataChanged()) {
|
if (isDataChanged()) {
|
||||||
showConfirmDialog(context, "back.button_confirm", () {
|
showConfirmDialog(context, "back.button_confirm", () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
@@ -79,15 +77,11 @@ class _CustomEditorState extends State<CustomEditor> {
|
|||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title:
|
|
||||||
Text(AppTranslations.of(context)!.text("rate.custom.form.title")),
|
|
||||||
actions: [
|
actions: [
|
||||||
_isNew
|
_isNew
|
||||||
? Container()
|
? Container()
|
||||||
: IconButton(
|
: IconButton(
|
||||||
icon: Icon(Icons.delete),
|
icon: Icon(Icons.delete, color: primaryColor),
|
||||||
onPressed: _delete,
|
onPressed: _delete,
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'package:fcs/domain/entities/cargo_type.dart';
|
import 'package:fcs/domain/entities/cargo_type.dart';
|
||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/rates/custom_editor.dart';
|
import 'package:fcs/pages/rates/custom_editor.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
@@ -39,20 +40,7 @@ class _CustomListState extends State<CustomList> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(labelKey: 'rate.custom_duty.title'),
|
||||||
centerTitle: true,
|
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back),
|
|
||||||
onPressed: () => Navigator.pop(context),
|
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"rate.custom_duty.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: Colors.white,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
floatingActionButton: FloatingActionButton.extended(
|
floatingActionButton: FloatingActionButton.extended(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).push(
|
Navigator.of(context).push(
|
||||||
@@ -81,8 +69,9 @@ class _CustomListState extends State<CustomList> {
|
|||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
child: _row(
|
child: _row(
|
||||||
custom.name??"",
|
custom.name ?? "",
|
||||||
"Custom Fee \$ " + custom.customDutyFee.toStringAsFixed(2),
|
"Custom Fee \$ " +
|
||||||
|
custom.customDutyFee.toStringAsFixed(2),
|
||||||
// ignore: unnecessary_null_comparison
|
// ignore: unnecessary_null_comparison
|
||||||
custom.rate == null
|
custom.rate == null
|
||||||
? ""
|
? ""
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'package:fcs/domain/entities/discount_by_weight.dart';
|
import 'package:fcs/domain/entities/discount_by_weight.dart';
|
||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/rates/discount_by_weight_editor.dart';
|
import 'package:fcs/pages/rates/discount_by_weight_editor.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
@@ -35,20 +36,7 @@ class _DiscountByWeightListState extends State<DiscountByWeightList> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(labelKey: 'rate.discount_by_weight'),
|
||||||
centerTitle: true,
|
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back),
|
|
||||||
onPressed: () => Navigator.pop(context),
|
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"rate.discount_by_weight",
|
|
||||||
fontSize: 20,
|
|
||||||
color: Colors.white,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
floatingActionButton: FloatingActionButton.extended(
|
floatingActionButton: FloatingActionButton.extended(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).push(CupertinoPageRoute(
|
Navigator.of(context).push(CupertinoPageRoute(
|
||||||
@@ -86,7 +74,7 @@ class _DiscountByWeightListState extends State<DiscountByWeightList> {
|
|||||||
|
|
||||||
_row(String desc, String price) {
|
_row(String desc, String price) {
|
||||||
return Container(
|
return Container(
|
||||||
padding: EdgeInsets.only(left: 25, top: 5, bottom: 5),
|
padding: EdgeInsets.only(left: 25, top: 8, bottom: 8),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Text('$desc ', style: TextStyle(fontSize: 15)),
|
Text('$desc ', style: TextStyle(fontSize: 15)),
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
import 'package:fcs/domain/entities/discount_by_weight.dart';
|
import 'package:fcs/domain/entities/discount_by_weight.dart';
|
||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/localization/app_translations.dart';
|
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
import 'package:fcs/pages/rates/model/shipment_rate_model.dart';
|
import 'package:fcs/pages/rates/model/shipment_rate_model.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.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:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -58,11 +57,12 @@ class _DiscountByWeightEditorState extends State<DiscountByWeightEditor> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: 'discount.new',
|
||||||
leading: new IconButton(
|
backgroundColor: Colors.white,
|
||||||
icon: new Icon(CupertinoIcons.back),
|
labelColor: primaryColor,
|
||||||
onPressed: () {
|
arrowColor: primaryColor,
|
||||||
|
onBack: () {
|
||||||
if (isDataChanged()) {
|
if (isDataChanged()) {
|
||||||
showConfirmDialog(context, "back.button_confirm", () {
|
showConfirmDialog(context, "back.button_confirm", () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
@@ -71,14 +71,11 @@ class _DiscountByWeightEditorState extends State<DiscountByWeightEditor> {
|
|||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: Text(AppTranslations.of(context)!.text("discount.new")),
|
|
||||||
actions: [
|
actions: [
|
||||||
_isNew
|
_isNew
|
||||||
? Container()
|
? Container()
|
||||||
: IconButton(
|
: IconButton(
|
||||||
icon: Icon(Icons.delete),
|
icon: Icon(Icons.delete, color: primaryColor),
|
||||||
onPressed: _delete,
|
onPressed: _delete,
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import 'package:fcs/pages/main/model/main_model.dart';
|
|||||||
import 'package:fcs/pages/rates/cargo_type_list.dart';
|
import 'package:fcs/pages/rates/cargo_type_list.dart';
|
||||||
import 'package:fcs/pages/rates/custom_list.dart';
|
import 'package:fcs/pages/rates/custom_list.dart';
|
||||||
import 'package:fcs/pages/rates/model/shipment_rate_model.dart';
|
import 'package:fcs/pages/rates/model/shipment_rate_model.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
@@ -46,33 +47,23 @@ class _ShipmentRatesState extends State<ShipmentRates> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "rate.title",
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
shadowColor: Colors.transparent,
|
labelColor: primaryColor,
|
||||||
title: LocalText(context, 'rate.title',
|
arrowColor: primaryColor,
|
||||||
color: primaryColor, fontSize: 20),
|
|
||||||
actions: isEditable
|
actions: isEditable
|
||||||
? [
|
? [
|
||||||
IconButton(
|
IconButton(
|
||||||
onPressed: () => Navigator.of(context).push(
|
onPressed: () => Navigator.of(context).push(
|
||||||
CupertinoPageRoute(
|
CupertinoPageRoute(
|
||||||
builder: (context) => ShipmentRatesEdit())),
|
builder: (context) => ShipmentRatesEdit())),
|
||||||
icon: Icon(
|
icon: Icon(Icons.edit, color: primaryColor))
|
||||||
Icons.edit,
|
|
||||||
color: primaryColor,
|
|
||||||
))
|
|
||||||
]
|
]
|
||||||
: [],
|
: []),
|
||||||
),
|
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: ListView(
|
child: ListView(
|
||||||
// crossAxisAlignment: CrossAxisAlignment.center,
|
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
fcsButton(context, getLocalString(context, "rate.cal.title"),
|
fcsButton(context, getLocalString(context, "rate.cal.title"),
|
||||||
callack: () {
|
callack: () {
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import 'package:fcs/pages/rates/model/shipment_rate_model.dart';
|
|||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
import 'package:fcs/pages/widgets/length_picker.dart';
|
import 'package:fcs/pages/widgets/length_picker.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_dropdown.dart';
|
import 'package:fcs/pages/widgets/local_dropdown.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
@@ -53,9 +54,9 @@ class _ShipmentRatesCalState extends State<ShipmentRatesCal> {
|
|||||||
_calShipmentWeight() {
|
_calShipmentWeight() {
|
||||||
Rate rate = Provider.of<ShipmentRateModel>(context, listen: false).rate;
|
Rate rate = Provider.of<ShipmentRateModel>(context, listen: false).rate;
|
||||||
|
|
||||||
double l = double.parse(_lengthController.text);
|
double l = double.tryParse(_lengthController.text) ?? 0;
|
||||||
double w = double.parse(_widthController.text);
|
double w = double.tryParse(_widthController.text) ?? 0;
|
||||||
double h = double.parse(_heightController.text);
|
double h = double.tryParse(_heightController.text) ?? 0;
|
||||||
_cargoType.weight = double.tryParse(_actualWeightCtl.text) ?? 0;
|
_cargoType.weight = double.tryParse(_actualWeightCtl.text) ?? 0;
|
||||||
Carton box =
|
Carton box =
|
||||||
Carton(cargoTypes: [_cargoType], length: l, width: w, height: h);
|
Carton(cargoTypes: [_cargoType], length: l, width: w, height: h);
|
||||||
@@ -137,19 +138,11 @@ class _ShipmentRatesCalState extends State<ShipmentRatesCal> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "rate.cal.title",
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor),
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(context).pop();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
shadowColor: Colors.transparent,
|
labelColor: primaryColor,
|
||||||
title: LocalText(context, 'rate.cal.title',
|
arrowColor: primaryColor),
|
||||||
color: primaryColor, fontSize: 20),
|
|
||||||
),
|
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: ListView(
|
child: ListView(
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
import 'package:fcs/domain/entities/rate.dart';
|
import 'package:fcs/domain/entities/rate.dart';
|
||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/localization/app_translations.dart';
|
|
||||||
import 'package:fcs/pages/rates/model/shipment_rate_model.dart';
|
import 'package:fcs/pages/rates/model/shipment_rate_model.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.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:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -73,13 +72,12 @@ class _ShipmentRatesEditState extends State<ShipmentRatesEdit> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "rate.edit.title",
|
||||||
leading: new IconButton(
|
backgroundColor: Colors.white,
|
||||||
icon: new Icon(
|
labelColor: primaryColor,
|
||||||
CupertinoIcons.back,
|
arrowColor: primaryColor,
|
||||||
),
|
onBack: () {
|
||||||
onPressed: () {
|
|
||||||
if (isDataChanged()) {
|
if (isDataChanged()) {
|
||||||
showConfirmDialog(context, "back.button_confirm", () {
|
showConfirmDialog(context, "back.button_confirm", () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
@@ -89,9 +87,6 @@ class _ShipmentRatesEditState extends State<ShipmentRatesEdit> {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: Text(AppTranslations.of(context)!.text("rate.edit.title")),
|
|
||||||
),
|
|
||||||
body: Container(
|
body: Container(
|
||||||
padding: EdgeInsets.all(18),
|
padding: EdgeInsets.all(18),
|
||||||
child: Column(
|
child: Column(
|
||||||
|
|||||||
@@ -8,11 +8,10 @@ import 'package:fcs/pages/widgets/barcode_scanner.dart';
|
|||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
||||||
import 'package:fcs/pages/widgets/input_text.dart';
|
import 'package:fcs/pages/widgets/input_text.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/multi_img_controller.dart';
|
import 'package:fcs/pages/widgets/multi_img_controller.dart';
|
||||||
import 'package:fcs/pages/widgets/multi_img_file.dart';
|
import 'package:fcs/pages/widgets/multi_img_file.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
import 'package:flutter_vector_icons/flutter_vector_icons.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -143,12 +142,12 @@ class _ReceivingEditorState extends State<ReceivingEditor> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: _isNew ? "receiving.create" : "receiving.update",
|
||||||
leading: new IconButton(
|
backgroundColor: Colors.white,
|
||||||
icon:
|
labelColor: primaryColor,
|
||||||
new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
|
arrowColor: primaryColor,
|
||||||
onPressed: () {
|
onBack: () {
|
||||||
if (isDataChanged()) {
|
if (isDataChanged()) {
|
||||||
showConfirmDialog(context, "back.button_confirm", () {
|
showConfirmDialog(context, "back.button_confirm", () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
@@ -158,15 +157,6 @@ class _ReceivingEditorState extends State<ReceivingEditor> {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
_isNew ? "receiving.create" : "receiving.update",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.only(left: 12.0, right: 12),
|
padding: const EdgeInsets.only(left: 12.0, right: 12),
|
||||||
child: ListView(
|
child: ListView(
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import 'package:fcs/pages/main/util.dart';
|
|||||||
import 'package:fcs/pages/package/model/package_model.dart';
|
import 'package:fcs/pages/package/model/package_model.dart';
|
||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/multi_img_controller.dart';
|
import 'package:fcs/pages/widgets/multi_img_controller.dart';
|
||||||
import 'package:fcs/pages/widgets/multi_img_file.dart';
|
import 'package:fcs/pages/widgets/multi_img_file.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
@@ -85,20 +85,11 @@ class _ReceivingInfoState extends State<ReceivingInfo> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "receiving.info",
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back, color: primaryColor, size: 30),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
title: LocalText(
|
arrowColor: primaryColor,
|
||||||
context,
|
labelColor: primaryColor,
|
||||||
"receiving.info",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
actions: isCustomer
|
actions: isCustomer
|
||||||
? null
|
? null
|
||||||
: <Widget>[
|
: <Widget>[
|
||||||
@@ -113,6 +104,7 @@ class _ReceivingInfoState extends State<ReceivingInfo> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
body: Card(
|
body: Card(
|
||||||
|
elevation: 0,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
Expanded(
|
Expanded(
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import 'package:fcs/domain/entities/package.dart';
|
|||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/package/model/package_model.dart';
|
import 'package:fcs/pages/package/model/package_model.dart';
|
||||||
import 'package:fcs/pages/package_search/package_serach.dart';
|
import 'package:fcs/pages/package_search/package_serach.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:fcs/pagination/paginator_listview.dart';
|
import 'package:fcs/pagination/paginator_listview.dart';
|
||||||
@@ -29,20 +30,9 @@ class _ReceivingListState extends State<ReceivingList> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "receiving.title",
|
||||||
leading: new IconButton(
|
actions: [
|
||||||
icon: new Icon(CupertinoIcons.back),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
"receiving.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: Colors.white,
|
|
||||||
),
|
|
||||||
actions: <Widget>[
|
|
||||||
IconButton(
|
IconButton(
|
||||||
icon: Icon(
|
icon: Icon(
|
||||||
Icons.search,
|
Icons.search,
|
||||||
@@ -51,7 +41,7 @@ class _ReceivingListState extends State<ReceivingList> {
|
|||||||
iconSize: 30,
|
iconSize: 30,
|
||||||
onPressed: () => searchPackage(context,
|
onPressed: () => searchPackage(context,
|
||||||
callbackPackageSelect: _searchCallback),
|
callbackPackageSelect: _searchCallback),
|
||||||
),
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
floatingActionButton: FloatingActionButton.extended(
|
floatingActionButton: FloatingActionButton.extended(
|
||||||
|
|||||||
@@ -6,9 +6,8 @@ import 'package:fcs/pages/main/model/language_model.dart';
|
|||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
import 'package:fcs/pages/staff/model/staff_model.dart';
|
import 'package:fcs/pages/staff/model/staff_model.dart';
|
||||||
import 'package:fcs/pages/widgets/display_text.dart';
|
import 'package:fcs/pages/widgets/display_text.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
@@ -37,8 +36,8 @@ class _StaffEditorState extends State<StaffEditor> {
|
|||||||
isNew = widget.staff == null;
|
isNew = widget.staff == null;
|
||||||
user = User();
|
user = User();
|
||||||
if (!isNew) {
|
if (!isNew) {
|
||||||
user =
|
user = User(
|
||||||
User(name: widget.staff!.name, phoneNumber: widget.staff!.phoneNumber);
|
name: widget.staff!.name, phoneNumber: widget.staff!.phoneNumber);
|
||||||
user.privileges = widget.staff!.privileges;
|
user.privileges = widget.staff!.privileges;
|
||||||
privileges.forEach((p) => user.privileges.contains(p.id)
|
privileges.forEach((p) => user.privileges.contains(p.id)
|
||||||
? p.isChecked = true
|
? p.isChecked = true
|
||||||
@@ -64,8 +63,9 @@ class _StaffEditorState extends State<StaffEditor> {
|
|||||||
new Checkbox(
|
new Checkbox(
|
||||||
value: p.isChecked == null ? false : p.isChecked,
|
value: p.isChecked == null ? false : p.isChecked,
|
||||||
activeColor: primaryColor,
|
activeColor: primaryColor,
|
||||||
|
side: BorderSide(color: Colors.black38, width: 2),
|
||||||
onChanged: (bool? value) {
|
onChanged: (bool? value) {
|
||||||
if(value != null)
|
if (value != null)
|
||||||
setState(() {
|
setState(() {
|
||||||
p.isChecked = value;
|
p.isChecked = value;
|
||||||
});
|
});
|
||||||
@@ -79,7 +79,7 @@ class _StaffEditorState extends State<StaffEditor> {
|
|||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
new Text(
|
new Text(
|
||||||
p.name ??"",
|
p.name ?? "",
|
||||||
style: TextStyle(fontSize: 15.0, color: primaryColor),
|
style: TextStyle(fontSize: 15.0, color: primaryColor),
|
||||||
),
|
),
|
||||||
Text(p.desc ?? "",
|
Text(p.desc ?? "",
|
||||||
@@ -169,23 +169,11 @@ class _StaffEditorState extends State<StaffEditor> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
centerTitle: true,
|
labelKey: "staff.form.title",
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back,
|
|
||||||
color: primaryColor, size: 30),
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(context).pop();
|
|
||||||
}),
|
|
||||||
shadowColor: Colors.transparent,
|
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
title: LocalText(
|
labelColor: primaryColor,
|
||||||
context,
|
arrowColor: primaryColor),
|
||||||
"staff.form.title",
|
|
||||||
fontSize: 20,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
body: Padding(
|
body: Padding(
|
||||||
padding: const EdgeInsets.only(left: 12.0, right: 12),
|
padding: const EdgeInsets.only(left: 12.0, right: 12),
|
||||||
child: ListView(
|
child: ListView(
|
||||||
@@ -197,7 +185,7 @@ class _StaffEditorState extends State<StaffEditor> {
|
|||||||
namebox,
|
namebox,
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.only(top: 18.0),
|
padding: const EdgeInsets.only(top: 18.0),
|
||||||
child: Text("Privileges"),
|
child: Text("Privileges", style: TextStyle(fontSize: 15)),
|
||||||
),
|
),
|
||||||
Column(
|
Column(
|
||||||
children: showprivilegeList(context),
|
children: showprivilegeList(context),
|
||||||
@@ -227,7 +215,8 @@ class _StaffEditorState extends State<StaffEditor> {
|
|||||||
});
|
});
|
||||||
StaffModel staffModel = Provider.of<StaffModel>(context, listen: false);
|
StaffModel staffModel = Provider.of<StaffModel>(context, listen: false);
|
||||||
try {
|
try {
|
||||||
await staffModel.updatePrivileges(this.selectedUser!.id!, privilegesIDs());
|
await staffModel.updatePrivileges(
|
||||||
|
this.selectedUser!.id!, privilegesIDs());
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
showMsgDialog(context, "Error", e.toString());
|
showMsgDialog(context, "Error", e.toString());
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'package:fcs/domain/entities/user.dart';
|
import 'package:fcs/domain/entities/user.dart';
|
||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/staff/model/staff_model.dart';
|
import 'package:fcs/pages/staff/model/staff_model.dart';
|
||||||
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:fcs/pages/widgets/progress.dart';
|
import 'package:fcs/pages/widgets/progress.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
@@ -35,20 +36,7 @@ class _StaffListState extends State<StaffList> {
|
|||||||
return LocalProgress(
|
return LocalProgress(
|
||||||
inAsyncCall: _isLoading,
|
inAsyncCall: _isLoading,
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(labelKey: "staff.list.title"),
|
||||||
centerTitle: true,
|
|
||||||
leading: new IconButton(
|
|
||||||
icon: new Icon(CupertinoIcons.back),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
backgroundColor: primaryColor,
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
'staff.list.title',
|
|
||||||
color: Colors.white,
|
|
||||||
fontSize: 20,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
floatingActionButton: FloatingActionButton.extended(
|
floatingActionButton: FloatingActionButton.extended(
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).push(
|
Navigator.of(context).push(
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
|
|
||||||
import 'package:fcs/domain/vo/term.dart';
|
import 'package:fcs/domain/vo/term.dart';
|
||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/main/util.dart';
|
import 'package:fcs/pages/main/util.dart';
|
||||||
@@ -69,11 +68,7 @@ class _TermEditState extends State<TermEdit> {
|
|||||||
color: primaryColor,
|
color: primaryColor,
|
||||||
),
|
),
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(
|
icon: Icon(CupertinoIcons.back, color: primaryColor, size: 25),
|
||||||
CupertinoIcons.back,
|
|
||||||
color: primaryColor,
|
|
||||||
size: 30,
|
|
||||||
),
|
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.of(context).pop();
|
Navigator.of(context).pop();
|
||||||
},
|
},
|
||||||
@@ -85,7 +80,8 @@ class _TermEditState extends State<TermEdit> {
|
|||||||
onPressed: _unfocus,
|
onPressed: _unfocus,
|
||||||
icon: Icon(Icons.check, color: primaryColor))
|
icon: Icon(Icons.check, color: primaryColor))
|
||||||
],
|
],
|
||||||
bottom: TabBar(
|
bottom: TabBar.secondary(
|
||||||
|
indicatorColor: primaryColor,
|
||||||
onTap: (index) {
|
onTap: (index) {
|
||||||
if (index == 0) {
|
if (index == 0) {
|
||||||
_focusNodeEng = new FocusNode();
|
_focusNodeEng = new FocusNode();
|
||||||
@@ -119,12 +115,15 @@ class _TermEditState extends State<TermEdit> {
|
|||||||
height: MediaQuery.of(context).size.height - 200,
|
height: MediaQuery.of(context).size.height - 200,
|
||||||
child: TabBarView(
|
child: TabBarView(
|
||||||
children: [
|
children: [
|
||||||
|
const SizedBox(),
|
||||||
|
const SizedBox(),
|
||||||
// textEditor(_controllerEng, _focusNodeEng),
|
// textEditor(_controllerEng, _focusNodeEng),
|
||||||
// textEditor(_controllerMm, _focusNodeMm),
|
// textEditor(_controllerMm, _focusNodeMm),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
savebtn,
|
savebtn,
|
||||||
|
const SizedBox(height: 20)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
|
|
||||||
import 'package:fcs/domain/entities/setting.dart';
|
import 'package:fcs/domain/entities/setting.dart';
|
||||||
import 'package:fcs/domain/vo/term.dart';
|
import 'package:fcs/domain/vo/term.dart';
|
||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/main/model/main_model.dart';
|
import 'package:fcs/pages/main/model/main_model.dart';
|
||||||
import 'package:fcs/pages/term/term_edit.dart';
|
import 'package:fcs/pages/term/term_edit.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_app_bar.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
@@ -51,23 +50,11 @@ class _TermPageState extends State<TermPage> {
|
|||||||
bool isEditable = context.select((MainModel m) => m.termEditable());
|
bool isEditable = context.select((MainModel m) => m.termEditable());
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
appBar: AppBar(
|
appBar: LocalAppBar(
|
||||||
shadowColor: Colors.transparent,
|
labelKey: 'term',
|
||||||
backgroundColor: Colors.white,
|
backgroundColor: Colors.white,
|
||||||
centerTitle: true,
|
labelColor: primaryColor,
|
||||||
leading: new IconButton(
|
arrowColor: primaryColor,
|
||||||
icon: new Icon(
|
|
||||||
CupertinoIcons.back,
|
|
||||||
color: primaryColor,
|
|
||||||
),
|
|
||||||
onPressed: () => Navigator.of(context).pop(),
|
|
||||||
),
|
|
||||||
title: LocalText(
|
|
||||||
context,
|
|
||||||
'term',
|
|
||||||
color: primaryColor,
|
|
||||||
fontSize: 20,
|
|
||||||
),
|
|
||||||
actions: isEditable
|
actions: isEditable
|
||||||
? [
|
? [
|
||||||
IconButton(
|
IconButton(
|
||||||
@@ -76,10 +63,7 @@ class _TermPageState extends State<TermPage> {
|
|||||||
builder: (context) =>
|
builder: (context) =>
|
||||||
TermEdit(term: Term.fromSetting(setting!)),
|
TermEdit(term: Term.fromSetting(setting!)),
|
||||||
)),
|
)),
|
||||||
icon: Icon(
|
icon: Icon(Icons.edit, color: primaryColor))
|
||||||
Icons.edit,
|
|
||||||
color: primaryColor,
|
|
||||||
))
|
|
||||||
]
|
]
|
||||||
: [],
|
: [],
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ import 'package:fcs/domain/entities/user.dart';
|
|||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/package/model/package_model.dart';
|
import 'package:fcs/pages/package/model/package_model.dart';
|
||||||
import 'package:fcs/pages/user_search/user_list_row.dart';
|
import 'package:fcs/pages/user_search/user_list_row.dart';
|
||||||
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
@@ -30,13 +31,15 @@ class UserSearchDelegate extends SearchDelegate<User> {
|
|||||||
final ThemeData theme = Theme.of(context);
|
final ThemeData theme = Theme.of(context);
|
||||||
return theme.copyWith(
|
return theme.copyWith(
|
||||||
appBarTheme: AppBarTheme(color: primaryColor),
|
appBarTheme: AppBarTheme(color: primaryColor),
|
||||||
|
iconButtonTheme: IconButtonThemeData(
|
||||||
|
style: ButtonStyle(
|
||||||
|
iconColor: MaterialStateProperty.all<Color>(Colors.white))),
|
||||||
inputDecorationTheme: InputDecorationTheme(
|
inputDecorationTheme: InputDecorationTheme(
|
||||||
border: InputBorder.none,
|
border: InputBorder.none,
|
||||||
hintStyle: TextStyle(
|
hintStyle: TextStyle(color: Colors.grey, fontSize: 14)),
|
||||||
color: theme.primaryTextTheme.caption?.color, fontSize: 14)),
|
|
||||||
textTheme: TextTheme(
|
textTheme: TextTheme(
|
||||||
headline1: TextStyle(
|
displayLarge: TextStyle(
|
||||||
color: theme.primaryTextTheme.headline1?.color,
|
color: theme.primaryTextTheme.displayLarge?.color,
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
backgroundColor: primaryColor)),
|
backgroundColor: primaryColor)),
|
||||||
primaryColor: primaryColor,
|
primaryColor: primaryColor,
|
||||||
@@ -56,7 +59,7 @@ class UserSearchDelegate extends SearchDelegate<User> {
|
|||||||
@override
|
@override
|
||||||
Widget buildLeading(BuildContext context) {
|
Widget buildLeading(BuildContext context) {
|
||||||
return IconButton(
|
return IconButton(
|
||||||
icon: Icon(Icons.arrow_back),
|
icon: Icon(CupertinoIcons.back),
|
||||||
onPressed: () => close(context, new User()),
|
onPressed: () => close(context, new User()),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,11 @@ class DefaultDeliveryAddress extends StatelessWidget {
|
|||||||
final IconData? iconData;
|
final IconData? iconData;
|
||||||
|
|
||||||
const DefaultDeliveryAddress(
|
const DefaultDeliveryAddress(
|
||||||
{Key? key, this.deliveryAddress, this.onTap, this.labelKey, this.iconData})
|
{Key? key,
|
||||||
|
this.deliveryAddress,
|
||||||
|
this.onTap,
|
||||||
|
this.labelKey,
|
||||||
|
this.iconData})
|
||||||
: super(key: key);
|
: super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -38,6 +42,9 @@ class DefaultDeliveryAddress extends StatelessWidget {
|
|||||||
: GestureDetector(
|
: GestureDetector(
|
||||||
onTap: () => onTap!(),
|
onTap: () => onTap!(),
|
||||||
child: Chip(
|
child: Chip(
|
||||||
|
shape: const StadiumBorder(
|
||||||
|
side: BorderSide(color: Colors.transparent)),
|
||||||
|
backgroundColor: Colors.grey.withOpacity(0.3),
|
||||||
label: LocalText(
|
label: LocalText(
|
||||||
context, "delivery_address.change_address",
|
context, "delivery_address.change_address",
|
||||||
color: primaryColor)),
|
color: primaryColor)),
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:fcs/pages/widgets/local_text.dart';
|
import 'package:fcs/pages/widgets/local_text.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/services.dart';
|
|
||||||
|
|
||||||
import 'input_text.dart';
|
import 'input_text.dart';
|
||||||
|
|
||||||
@@ -268,6 +266,7 @@ class _LengthPickerDialogState extends State<LengthPickerDialog> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
Slider(
|
Slider(
|
||||||
|
inactiveColor: Colors.grey.shade200,
|
||||||
activeColor: primaryColor,
|
activeColor: primaryColor,
|
||||||
value: _valueFeet.toDouble() > MAX_FEET
|
value: _valueFeet.toDouble() > MAX_FEET
|
||||||
? 0
|
? 0
|
||||||
@@ -296,6 +295,7 @@ class _LengthPickerDialogState extends State<LengthPickerDialog> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
Slider(
|
Slider(
|
||||||
|
inactiveColor: Colors.grey.shade200,
|
||||||
activeColor: primaryColor,
|
activeColor: primaryColor,
|
||||||
value: _valueInc.toDouble() > (widget.displayFeet! ? 11 : MAX_INC)
|
value: _valueInc.toDouble() > (widget.displayFeet! ? 11 : MAX_INC)
|
||||||
? 0
|
? 0
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import 'package:fcs/helpers/theme.dart';
|
import 'package:fcs/helpers/theme.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
import 'local_text.dart';
|
import 'local_text.dart';
|
||||||
|
|
||||||
class LocalAppBar extends StatelessWidget implements PreferredSizeWidget {
|
class LocalAppBar extends StatelessWidget implements PreferredSizeWidget {
|
||||||
@@ -12,6 +11,7 @@ class LocalAppBar extends StatelessWidget implements PreferredSizeWidget {
|
|||||||
final List<Widget>? actions;
|
final List<Widget>? actions;
|
||||||
final Widget? titleWidget;
|
final Widget? titleWidget;
|
||||||
final Function()? onBack;
|
final Function()? onBack;
|
||||||
|
final bool centerTitle;
|
||||||
|
|
||||||
const LocalAppBar(
|
const LocalAppBar(
|
||||||
{Key? key,
|
{Key? key,
|
||||||
@@ -21,7 +21,8 @@ class LocalAppBar extends StatelessWidget implements PreferredSizeWidget {
|
|||||||
this.arrowColor = Colors.white,
|
this.arrowColor = Colors.white,
|
||||||
this.actions,
|
this.actions,
|
||||||
this.titleWidget,
|
this.titleWidget,
|
||||||
this.onBack})
|
this.onBack,
|
||||||
|
this.centerTitle = true})
|
||||||
: super(key: key);
|
: super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -31,21 +32,23 @@ class LocalAppBar extends StatelessWidget implements PreferredSizeWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return AppBar(
|
return AppBar(
|
||||||
elevation: 0,
|
elevation: 0,
|
||||||
centerTitle: true,
|
centerTitle: centerTitle,
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(CupertinoIcons.back, color: arrowColor, size: 25),
|
icon: Icon(CupertinoIcons.back, color: arrowColor, size: 25),
|
||||||
onPressed: onBack),
|
onPressed: () {
|
||||||
|
if (onBack != null) {
|
||||||
|
onBack!();
|
||||||
|
} else {
|
||||||
|
Navigator.of(context).pop();
|
||||||
|
}
|
||||||
|
}),
|
||||||
shadowColor: Colors.transparent,
|
shadowColor: Colors.transparent,
|
||||||
backgroundColor: backgroundColor,
|
backgroundColor: backgroundColor,
|
||||||
surfaceTintColor: backgroundColor,
|
surfaceTintColor: backgroundColor,
|
||||||
title: titleWidget ??
|
title: titleWidget ??
|
||||||
(labelKey != null
|
(labelKey != null
|
||||||
? LocalText(
|
? LocalText(context, labelKey!,
|
||||||
context,
|
color: labelColor ?? Colors.white, fontSize: 20)
|
||||||
labelKey!,
|
|
||||||
color: Colors.white,
|
|
||||||
fontSize: 20,
|
|
||||||
)
|
|
||||||
: const SizedBox()),
|
: const SizedBox()),
|
||||||
actions: actions,
|
actions: actions,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ class StatusTree extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return ExpansionTile(
|
return ExpansionTile(
|
||||||
initiallyExpanded: true,
|
initiallyExpanded: true,
|
||||||
|
shape: Border.symmetric(horizontal: BorderSide(color: Colors.grey.shade300)),
|
||||||
title: Text(
|
title: Text(
|
||||||
'Status',
|
'Status',
|
||||||
style: TextStyle(color: primaryColor, fontWeight: FontWeight.bold),
|
style: TextStyle(color: primaryColor, fontWeight: FontWeight.bold),
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/rendering.dart';
|
import 'package:flutter/rendering.dart';
|
||||||
|
|
||||||
|
import '../helpers/theme.dart';
|
||||||
import 'paginator_listener.dart';
|
import 'paginator_listener.dart';
|
||||||
|
|
||||||
typedef RowBuilder = Widget Function(dynamic);
|
typedef RowBuilder = Widget Function(dynamic);
|
||||||
@@ -81,7 +82,7 @@ class _PaginatorListViewState<T> extends State<PaginatorListView<T>> {
|
|||||||
},
|
},
|
||||||
child: ListView.separated(
|
child: ListView.separated(
|
||||||
separatorBuilder: (context, index) =>
|
separatorBuilder: (context, index) =>
|
||||||
Divider(height: 1, color: Colors.black),
|
Divider(height: 1, color: dividerColor),
|
||||||
controller: widget._scrollController,
|
controller: widget._scrollController,
|
||||||
scrollDirection: Axis.vertical,
|
scrollDirection: Axis.vertical,
|
||||||
physics: const AlwaysScrollableScrollPhysics(),
|
physics: const AlwaysScrollableScrollPhysics(),
|
||||||
|
|||||||
Reference in New Issue
Block a user