add packages

This commit is contained in:
Sai Naw Wun
2020-06-02 00:00:05 +06:30
21 changed files with 568 additions and 335 deletions

View File

@@ -56,7 +56,6 @@ class _FCSProfilePageState extends State<FCSProfilePage> {
));
final mmAddress = Container(
height: 50.0,
child: Row(children: <Widget>[
Expanded(
child: FCSTextField(
@@ -67,7 +66,6 @@ class _FCSProfilePageState extends State<FCSProfilePage> {
);
final contactNumber = Container(
height: 50.0,
child: Row(children: <Widget>[
Expanded(
child: FCSTextField(
@@ -78,7 +76,6 @@ class _FCSProfilePageState extends State<FCSProfilePage> {
);
final mmContactNumber = Container(
height: 50.0,
child: Row(children: <Widget>[
Expanded(
child: FCSTextField(
@@ -89,7 +86,6 @@ class _FCSProfilePageState extends State<FCSProfilePage> {
);
final mailBox = Container(
height: 50.0,
child: Row(children: <Widget>[
Expanded(
child: FCSTextField(
@@ -100,7 +96,6 @@ class _FCSProfilePageState extends State<FCSProfilePage> {
);
final fbLinkBox = Container(
height: 50.0,
child: Row(children: <Widget>[
Expanded(
child: FCSTextField(
@@ -112,28 +107,29 @@ class _FCSProfilePageState extends State<FCSProfilePage> {
inAsyncCall: _isLoading,
child: Scaffold(
appBar: AppBar(
centerTitle: true,
backgroundColor: primaryColor,
title: Text('Profile'),
title: Text('FCS PROFILE'),
),
body: Card(
child: Column(
children: <Widget>[
Expanded(
child: Padding(
padding: const EdgeInsets.all(20.0),
padding: const EdgeInsets.only(left: 20.0),
child: ListView(children: <Widget>[
usaAddress,
SizedBox(height: 15),
SizedBox(height: 10),
mmAddress,
SizedBox(height: 15),
SizedBox(height: 10),
contactNumber,
SizedBox(height: 15),
SizedBox(height: 10),
mmContactNumber,
SizedBox(height: 15),
SizedBox(height: 10),
mailBox,
SizedBox(height: 15),
SizedBox(height: 10),
fbLinkBox,
SizedBox(height: 15),
SizedBox(height: 10),
]),
)),
widget.pickUp == null
@@ -143,8 +139,6 @@ class _FCSProfilePageState extends State<FCSProfilePage> {
child: Container(
width: 250,
child: FlatButton(
shape: new RoundedRectangleBorder(
borderRadius: new BorderRadius.circular(10)),
child: Text('Update'),
color: primaryColor,
textColor: Colors.white,

View File

@@ -1,3 +1,4 @@
import 'package:country_code_picker/country_code.dart';
import 'package:fcs/model/main_model.dart';
import 'package:fcs/pages/shipment_list.dart';
import 'package:fcs/pages_fcs/package_list.dart';
@@ -94,30 +95,15 @@ class _HomePageState extends State<HomePage> {
final numberFormatter = new NumberFormat("#,###");
String pin;
List<bool> isSelected = [true, false];
@override
Widget build(BuildContext context) {
login = Provider.of<MainModel>(context).isLogin();
final packagesBtn = _buildBtn2("package.name",
icon: Octicons.package,
btnCallback: () => Navigator.of(context)
.push(MaterialPageRoute(builder: (_) => PackageList())));
final announcementBtn = _buildBtn2("announcement.title",
icon: Icons.announcement,
btnCallback: () => Navigator.of(context)
.push(MaterialPageRoute(builder: (_) => AnnouncementList())));
final reportBtn = _buildBtn2("report.title",
icon: FontAwesomeIcons.paperPlane,
imgIcon: Image.asset(
"assets/report.png",
width: 50,
height: 50,
// color: primaryColor,
),
btnCallback: () => Navigator.of(context)
.push(MaterialPageRoute(builder: (_) => ReportList())));
btnCallback: () =>
Navigator.of(context).push(BottomUpPageRoute(PackageList())));
final pickUpBtn = _buildBtn2("pickup",
icon: MaterialCommunityIcons.directions,
@@ -130,9 +116,10 @@ class _HomePageState extends State<HomePage> {
Navigator.of(context).push(BottomUpPageRoute(ShipmentRates())));
final fcsProfileBtn = _buildBtn2("profile.title",
icon: Icons.account_circle,
btnCallback: () => Navigator.of(context)
.push(MaterialPageRoute(builder: (_) => FCSProfilePage())));
// imgIcon: Image.asset("assets/logo_btn.png", height: 25,color:Colors.white),
icon: MaterialCommunityIcons.home_city,
btnCallback: () =>
Navigator.of(context).push(BottomUpPageRoute(FCSProfilePage())));
final shipmentBtn = _buildBtn2("shipment.title",
icon: Ionicons.ios_airplane,
@@ -142,19 +129,8 @@ class _HomePageState extends State<HomePage> {
height: 50,
color: primaryColor,
),
btnCallback: () => Navigator.of(context)
.push(MaterialPageRoute(builder: (_) => ShipmentList())));
final termBtn = _buildBtn2("term.title",
icon: FontAwesomeIcons.fileContract,
imgIcon: Image.asset(
"assets/term.png",
width: 40,
height: 30,
color: primaryColor,
), btnCallback: () {
Navigator.push(context, MaterialPageRoute(builder: (context) => Term()));
});
btnCallback: () =>
Navigator.of(context).push(BottomUpPageRoute(ShipmentList())));
final buyingBtn = _buildBtn2("buy_online",
icon: MaterialCommunityIcons.cart_outline, btnCallback: () {
@@ -163,8 +139,8 @@ class _HomePageState extends State<HomePage> {
);
});
final notiBtn = _buildBtn2("notifications.title", icon: Icons.notifications,
btnCallback: () {
final notiBtn =
_buildBtn2("message.btn", icon: Icons.message, btnCallback: () {
Navigator.push(
context,
BottomUpPageRoute(NotificationList()),
@@ -172,17 +148,19 @@ class _HomePageState extends State<HomePage> {
});
final staffBtn = _buildBtn2("staff.title",
icon: SimpleLineIcons.people,
btnCallback: () => Navigator.of(context)
.push(MaterialPageRoute(builder: (_) => StaffList())));
icon: MaterialCommunityIcons.worker,
btnCallback: () =>
Navigator.of(context).push(BottomUpPageRoute(StaffList())));
final _bankAccountsBtn = _buildBtn2("banks.title",
icon: FontAwesomeIcons.moneyCheck, btnCallback: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => BankAccounts()),
);
});
final customersBtn = _buildBtn2("customers.btn",
icon: Feather.users,
btnCallback: () =>
Navigator.of(context).push(BottomUpPageRoute(StaffList())));
final invoicesBtn = _buildBtn2("invoices.btn",
icon: FontAwesomeIcons.fileInvoice,
btnCallback: () =>
Navigator.of(context).push(BottomUpPageRoute(StaffList())));
List<Widget> widgets = [];
widgets.add(buyingBtn);
@@ -190,13 +168,11 @@ class _HomePageState extends State<HomePage> {
widgets.add(shipmentBtn);
widgets.add(notiBtn);
widgets.add(staffBtn);
widgets.add(announcementBtn);
widgets.add(fcsProfileBtn);
widgets.add(shipmentCostBtn);
widgets.add(reportBtn);
widgets.add(termBtn);
widgets.add(_bankAccountsBtn);
widgets.add(packagesBtn);
widgets.add(customersBtn);
widgets.add(invoicesBtn);
return OfflineRedirect(
child: FlavorBanner(
@@ -210,16 +186,23 @@ class _HomePageState extends State<HomePage> {
),
actions: login
? <Widget>[
IconButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => Contact()),
);
},
iconSize: 30,
icon: Icon(Icons.notifications),
ToggleButtons(
children: <Widget>[
Image.asset(
'icons/flags/png/gb.png',
package: 'country_icons',
fit: BoxFit.fitWidth,
width: 25,
),
Image.asset(
'icons/flags/png/mm.png',
package: 'country_icons',
fit: BoxFit.fitWidth,
width: 25,
)
],
onPressed: _langChange,
isSelected: isSelected,
),
IconButton(
onPressed: () {
@@ -234,6 +217,24 @@ class _HomePageState extends State<HomePage> {
),
]
: <Widget>[
ToggleButtons(
children: <Widget>[
Image.asset(
'icons/flags/png/gb.png',
package: 'country_icons',
fit: BoxFit.fitWidth,
width: 25,
),
Image.asset(
'icons/flags/png/mm.png',
package: 'country_icons',
fit: BoxFit.fitWidth,
width: 25,
)
],
onPressed: _langChange,
isSelected: isSelected,
),
FlatButton(
onPressed: () {
Navigator.push(
@@ -244,21 +245,10 @@ class _HomePageState extends State<HomePage> {
},
// iconSize: 30,
child: Text(
"Sign in",
"Sign In",
style: siginButtonStyle,
),
),
IconButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => SigninPage()),
);
},
iconSize: 30,
icon: Icon(MaterialCommunityIcons.login),
)
),
]),
body: Container(
decoration: BoxDecoration(
@@ -321,6 +311,15 @@ class _HomePageState extends State<HomePage> {
);
}
_langChange(index) {
setState(() {
isSelected.asMap().forEach((i, e) {
isSelected[i] = false;
});
isSelected[index] = !isSelected[index];
});
}
Widget _buildTile(Widget child, {Function() onTap}) {
return Material(
elevation: 0,
@@ -403,7 +402,9 @@ class _HomePageState extends State<HomePage> {
child: SizedBox(
width: 60,
height: 60,
child: Icon(icon, color: Colors.white, size: 30)),
child: icon == null
? Container(width: 10, height: 10, child: imgIcon)
: Icon(icon, color: Colors.white, size: 30)),
onTap: btnCallback,
),
),

View File

@@ -54,8 +54,10 @@ class _InstructionPageState extends State<InstructionPage> {
body: Container(
padding: EdgeInsets.only(left: 5, right: 5, top: 5),
child: Card(elevation: 0,
child: FittedBox(
child: Image.asset(widget.image), fit: BoxFit.contain)),
child: Expanded(
child: FittedBox(
child: Image.asset(widget.image), fit: BoxFit.contain),
)),
),
),
);

View File

@@ -2,8 +2,12 @@ import 'package:fcs/model/main_model.dart';
import 'package:fcs/model/pickup_model.dart';
import 'package:fcs/pages/util.dart';
import 'package:fcs/vo/pickup.dart';
import 'package:fcs/widget/fcs_text_field.dart';
import 'package:fcs/widget/fcs_text_field_readonly.dart';
import 'package:flutter_datetime_picker/flutter_datetime_picker.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
import 'package:fcs/widget/localization/app_translations.dart';
@@ -21,6 +25,8 @@ class PickUpEditor extends StatefulWidget {
}
class _PickUpEditorState extends State<PickUpEditor> {
var dateFormatter = new DateFormat('dd MMM yyyy');
TextEditingController _addressEditingController = new TextEditingController();
TextEditingController _fromTimeEditingController =
new TextEditingController();
@@ -28,9 +34,17 @@ class _PickUpEditorState extends State<PickUpEditor> {
TextEditingController _noOfPackageEditingController =
new TextEditingController();
TextEditingController _weightEditingController = new TextEditingController();
TextEditingController _recipientNameEditingController =
new TextEditingController();
TextEditingController _recipientPhoneEditingController =
new TextEditingController();
TextEditingController _recipientAddressEditingController =
new TextEditingController();
TextEditingController _pickupDate = new TextEditingController();
PickUp _pickUp;
bool _isLoading = false;
var now = new DateTime.now();
@override
void initState() {
@@ -42,6 +56,13 @@ class _PickUpEditorState extends State<PickUpEditor> {
_toTimeEditingController.text = _pickUp.toTime;
_noOfPackageEditingController.text = _pickUp.numberOfPackage.toString();
_weightEditingController.text = _pickUp.weight.toString();
_pickupDate.text = dateFormatter.format(now);
var mainModel = Provider.of<MainModel>(context, listen: false);
_recipientNameEditingController.text = mainModel.recipient.name;
_recipientPhoneEditingController.text = mainModel.recipient.phoneNumber;
_recipientAddressEditingController.text =
mainModel.recipient.shippingAddress;
}
}
@@ -63,6 +84,7 @@ class _PickUpEditorState extends State<PickUpEditor> {
minLines: 2,
decoration: new InputDecoration(
labelText: 'Pickup Address',
disabledBorder: InputBorder.none,
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: primaryColor, width: 1.0)),
focusedBorder: UnderlineInputBorder(
@@ -70,6 +92,12 @@ class _PickUpEditorState extends State<PickUpEditor> {
),
));
final pickUpAddressReadOnly = Container(
child: FCSTextFieldReadOnly(
controller: _addressEditingController,
label: 'Pickup Address',
));
final pickupTime = Container(
height: 50.0,
child: Row(children: <Widget>[
@@ -106,6 +134,24 @@ class _PickUpEditorState extends State<PickUpEditor> {
]),
);
final pickupTimeReadOnly = Container(
height: 50.0,
child: Row(children: <Widget>[
Container(
width: 70.0,
child: FCSTextFieldReadOnly(
controller: _fromTimeEditingController, label: 'From')),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(' - '),
),
Container(
width: 70.0,
child: FCSTextFieldReadOnly(
controller: _toTimeEditingController, label: 'To')),
]),
);
final noOfPackageBox = Container(
height: 50.0,
child: Row(children: <Widget>[
@@ -125,25 +171,58 @@ class _PickUpEditorState extends State<PickUpEditor> {
]),
);
final weightBox = Container(
final noOfPackageBoxReadonly = Container(
height: 50.0,
child: Row(children: <Widget>[
Expanded(
child: TextFormField(
controller: _weightEditingController,
cursorColor: primaryColor,
textAlign: TextAlign.left,
decoration: new InputDecoration(
labelText: 'Total Weight (lb)',
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(color: primaryColor, width: 1.0)),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(color: primaryColor, width: 1.0)),
),
)),
child: FCSTextFieldReadOnly(
controller: _noOfPackageEditingController,
label: 'Number of Packages')),
]),
);
final requestDateBox = Container(
child: InkWell(
onTap: () {
DatePicker.showDatePicker(
context,
showTitleActions: true,
currentTime: _pickupDate.text == ""
? null
: dateFormatter.parse(_pickupDate.text),
minTime: DateTime.now(),
maxTime: DateTime(2030, 12, 31),
onConfirm: (date) {},
locale: LocaleType.en,
);
},
child: TextFormField(
controller: _pickupDate,
autofocus: false,
cursorColor: primaryColor,
style: textStyle,
enabled: false,
keyboardType: TextInputType.datetime,
decoration: new InputDecoration(
border: InputBorder.none,
focusedBorder: InputBorder.none,
labelText: AppTranslations.of(context).text("pickup.date"),
// labelStyle: languageModel.isEng ? labelStyle : labelStyleMM,
contentPadding:
EdgeInsets.symmetric(vertical: 10.0, horizontal: 0.0),
icon: Icon(
Icons.date_range,
color: Colors.black87,
)),
validator: (value) {
if (value.isEmpty) {
return AppTranslations.of(context).text("do.form.date");
}
return null;
},
),
));
MainModel mainModel = Provider.of<MainModel>(context);
return LocalProgress(
@@ -166,53 +245,198 @@ class _PickUpEditorState extends State<PickUpEditor> {
padding: const EdgeInsets.all(10.0),
child: ListView(children: <Widget>[
Center(child: nameWidget(mainModel.customer.name)),
phoneWidget(context, mainModel.customer.phoneNumber),
Row(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(right: 8.0),
child: Icon(Icons.location_on),
Center(child: nameWidget(mainModel.customer.phoneNumber)),
Center(
child: Padding(
padding: const EdgeInsets.only(left: 10.0, top: 8),
child: Text(
'#P200304',
style: TextStyle(
color: Colors.black87,
fontSize: 14,
fontWeight: FontWeight.bold),
),
Expanded(child: pickUpAddress),
],
),
SizedBox(height: 25),
Row(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(right: 8.0),
child: Icon(Icons.timer),
),
Text('Pickup Time',
style: TextStyle(color: Colors.grey, fontSize: 18)),
],
),
SizedBox(height: 5),
Padding(
padding: const EdgeInsets.only(left: 33),
child: pickupTime,
),
),
SizedBox(height: 15),
Row(
ExpansionTile(
title: Text('Pickup Location / Time'),
children: <Widget>[
Padding(
padding: const EdgeInsets.only(right: 8.0),
child: Icon(Octicons.package),
padding: const EdgeInsets.only(left: 20.0),
child: Row(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(right: 8.0),
child: Icon(Icons.location_on),
),
Expanded(
child: widget.pickUp == null
? pickUpAddress
: widget.pickUp.status == 'Pending'
? pickUpAddress
: pickUpAddressReadOnly),
],
),
),
Expanded(child: noOfPackageBox),
SizedBox(height: 15),
Padding(
padding: const EdgeInsets.only(left: 20.0),
child: Row(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(right: 8.0),
child: Icon(Icons.timer),
),
Padding(
padding: const EdgeInsets.only(left: 8.0),
child: Text('Pickup Time',
style: TextStyle(
color: Colors.grey, fontSize: 14)),
),
],
),
),
Padding(
padding: const EdgeInsets.only(left: 20.0),
child: Row(
children: <Widget>[
SizedBox(height: 5),
Padding(
padding: const EdgeInsets.only(left: 33),
child: widget.pickUp == null
? pickupTime
: widget.pickUp.status == 'Pending'
? pickupTime
: pickupTimeReadOnly,
),
],
),
),
SizedBox(height: 5),
Padding(
padding: const EdgeInsets.only(left: 20.0),
child: Column(
children: <Widget>[
SizedBox(height: 5),
Container(height: 50.0, child: requestDateBox)
],
),
),
SizedBox(height: 10),
],
),
SizedBox(
height: 15,
ExpansionTile(
title: Text('Package Informations'),
children: <Widget>[
Padding(
padding: const EdgeInsets.only(left: 20.0),
child: Row(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(right: 8.0),
child: Icon(Octicons.package),
),
Expanded(
child: widget.pickUp == null
? noOfPackageBox
: widget.pickUp.status == 'Pending'
? noOfPackageBox
: noOfPackageBoxReadonly),
],
),
),
SizedBox(
height: 15,
),
Padding(
padding: const EdgeInsets.only(left: 20.0),
child: widget.pickUp == null
? fcsInput("Total Weight (lb)",
FontAwesomeIcons.weightHanging,
controller: _weightEditingController)
: widget.pickUp.status == 'Pending'
? fcsInput("Total Weight (lb)",
FontAwesomeIcons.weightHanging,
controller: _weightEditingController)
: fcsInputReadOnly("Total Weight (lb)",
FontAwesomeIcons.weightHanging,
controller: _weightEditingController),
),
SizedBox(height: 15),
Padding(
padding: const EdgeInsets.only(left: 20.0),
child: fcsInput("Remark", MaterialCommunityIcons.note),
),
SizedBox(height: 25),
],
),
fcsInput("Total Weight (lb)", FontAwesomeIcons.weightHanging),
SizedBox(
height: 15,
ExpansionTile(
title: Text('Recipient Informations'),
children: <Widget>[
Padding(
padding: const EdgeInsets.only(left: 20.0),
child: widget.pickUp == null
? fcsInput("Name", FontAwesomeIcons.user,
controller: _recipientNameEditingController)
: widget.pickUp.status == 'Pending'
? fcsInput("Name", FontAwesomeIcons.user,
controller:
_recipientNameEditingController)
: fcsInputReadOnly(
"Name", FontAwesomeIcons.user,
controller:
_recipientNameEditingController)),
SizedBox(height: 25),
Padding(
padding: const EdgeInsets.only(left: 20.0),
child: widget.pickUp == null
? fcsInput("Phone Number", FontAwesomeIcons.phone,
controller: _recipientPhoneEditingController)
: widget.pickUp.status == 'Pending'
? fcsInput(
"Phone Number", FontAwesomeIcons.phone,
controller:
_recipientPhoneEditingController)
: fcsInputReadOnly(
"Phone Number", FontAwesomeIcons.phone,
controller:
_recipientPhoneEditingController)),
SizedBox(height: 25),
Padding(
padding: const EdgeInsets.only(left: 20.0),
child: widget.pickUp == null
? fcsInput("Address", Icons.location_on,
controller:
_recipientAddressEditingController)
: widget.pickUp.status == 'Pending'
? fcsInput("Address", Icons.location_on,
controller:
_recipientAddressEditingController)
: fcsInputReadOnly(
"Address", Icons.location_on,
controller:
_recipientAddressEditingController)),
SizedBox(height: 25),
],
),
ExpansionTile(
title: Text('For FCS'),
children: <Widget>[
widget.pickUp != null
? widget.pickUp.status == 'Pending'
? Padding(
padding: const EdgeInsets.only(left: 20.0),
child: fcsDropDown("Assigned",
MaterialCommunityIcons.worker),
)
: Container()
: Container(),
SizedBox(
height: 25,
),
],
),
widget.pickUp != null
? fcsDropDown("Assigned", MaterialCommunityIcons.worker)
: Container(),
fcsInput("Remark", MaterialCommunityIcons.note)
]),
)),
widget.pickUp == null
@@ -233,20 +457,35 @@ class _PickUpEditorState extends State<PickUpEditor> {
: Container(
child: Column(
children: <Widget>[
Align(
alignment: Alignment.bottomCenter,
child: Center(
child: Container(
width: 250,
child: FlatButton(
child: Text('Update'),
color: primaryColor,
textColor: Colors.white,
onPressed: () {
Navigator.pop(context);
},
),
))),
widget.pickUp.status == 'Assigned'
? Align(
alignment: Alignment.bottomCenter,
child: Center(
child: Container(
width: 250,
child: FlatButton(
child: Text('Complete'),
color: primaryColor,
textColor: Colors.white,
onPressed: () {
Navigator.pop(context);
},
),
)))
: Align(
alignment: Alignment.bottomCenter,
child: Center(
child: Container(
width: 250,
child: FlatButton(
child: Text('Update'),
color: primaryColor,
textColor: Colors.white,
onPressed: () {
Navigator.pop(context);
},
),
))),
Align(
alignment: Alignment.bottomCenter,
child: Center(

View File

@@ -2,6 +2,7 @@ import 'package:fcs/model/pickup_model.dart';
import 'package:fcs/pages/pickup_editor.dart';
import 'package:fcs/vo/pickup.dart';
import 'package:flutter/material.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:provider/provider.dart';
import 'package:fcs/model/buyer_model.dart';
import 'package:fcs/pages/util.dart';
@@ -56,6 +57,12 @@ class _PickupListRowState extends State<PickupListRow> {
padding: const EdgeInsets.symmetric(vertical: 16.0),
child: new Row(
children: <Widget>[
Padding(
padding: EdgeInsets.all(5.0),
child: Icon(
MaterialCommunityIcons.directions,
color: primaryColor,
)),
new Expanded(
child: new Column(
crossAxisAlignment: CrossAxisAlignment.start,
@@ -71,7 +78,9 @@ class _PickupListRowState extends State<PickupListRow> {
Padding(
padding: const EdgeInsets.only(left: 10.0, top: 10),
child: new Text(
_pickUp.id == null ? '' : "Last ${_pickUp.last} days" ,
_pickUp.id == null
? ''
: "Last ${_pickUp.last} days",
style: new TextStyle(
fontSize: 15.0, color: Colors.grey),
),
@@ -90,7 +99,7 @@ class _PickupListRowState extends State<PickupListRow> {
child: getStatus(_pickUp.status),
),
Padding(
padding: const EdgeInsets.only(left: 8.0,top:5,bottom: 5),
padding: const EdgeInsets.only(left: 8.0, top: 5, bottom: 5),
child: Row(
children: <Widget>[
new Text(

View File

@@ -284,24 +284,7 @@ class _ProfileState extends State<Profile> {
),
backgroundColor: primaryColor,
actions: <Widget>[
IconButton(
icon: Icon(Icons.edit),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ProfileEdit()),
);
},
),
IconButton(
icon: Icon(Icons.settings),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => ProfileSetting()),
);
},
)
],
),
body: ListView(
@@ -311,7 +294,15 @@ class _ProfileState extends State<Profile> {
),
shrinkWrap: true,
children: <Widget>[
namebox,
Row(
children: <Widget>[
namebox,
Padding(
padding: const EdgeInsets.only(left:18.0),
child: Icon(Icons.edit),
)
],
),
mainModel.isBuyer() ? Container() : getPrivilegeBox(context),
phonenumberbox,
mainModel.user == null
@@ -320,20 +311,8 @@ class _ProfileState extends State<Profile> {
? Container()
: emailBox,
languageBox,
SizedBox(height: 50,),
logoutbutton,
Divider(color: secondaryColor),
Switch(
value: false,
onChanged: (value) {
setState(() {});
},
// activeTrackColor: Colors.lightGreenAccent,
// activeColor: Colors.green,
),
versionbox,
SizedBox(
height: 20,
)
],
),
),

View File

@@ -87,7 +87,7 @@ class _StaffListState extends State<StaffList> {
padding: new EdgeInsets.symmetric(
horizontal: 32.0 - dotSize / 2),
child: Icon(
SimpleLineIcons.people,
MaterialCommunityIcons.worker,
color: primaryColor,
size: 40,
),

View File

@@ -51,12 +51,14 @@ class _TermState extends State<Term> {
@override
Widget build(BuildContext context) {
MainModel mainModel = Provider.of<MainModel>(context);
print("controller terms => ${_controller.document}");
bool isOwnerAndAbove =
mainModel.user != null && mainModel.user.isOwnerAndAbove();
bool hasAdmin = mainModel.user != null && mainModel.user.hasAdmin();
bool aggreed = mainModel.user.agreeTerms;
// bool aggreed = mainModel.user.agreeTerms;
bool aggreed = true;
final agreeBtn = Padding(
padding: EdgeInsets.symmetric(vertical: 10.0),
@@ -86,9 +88,9 @@ class _TermState extends State<Term> {
inAsyncCall: isLoading,
child: Scaffold(
appBar: AppBar(
centerTitle: true,
automaticallyImplyLeading: !widget.agreePage,
title: LocalText(context, 'term.title',
color: Colors.white, fontSize: 20),
title: LocalText(context, 'term', color: Colors.white, fontSize: 20),
backgroundColor: primaryColor,
actions: <Widget>[
isOwnerAndAbove || hasAdmin
@@ -111,8 +113,7 @@ class _TermState extends State<Term> {
padding: const EdgeInsets.all(8.0),
child: Card(
child: ZefyrTheme(
data: ZefyrThemeData().copyWith(
),
data: ZefyrThemeData().copyWith(),
child: ZefyrScaffold(
child: ZefyrEditor(
mode: ZefyrMode.view,
@@ -134,13 +135,13 @@ class _TermState extends State<Term> {
isLoading = true;
});
try {
MainModel mainModel = Provider.of<MainModel>(context);
await mainModel.agreeTerms();
if (widget.agreePage) {
Future.delayed(const Duration(milliseconds: 3000), () {
Navigator.pop(context);
});
}
// MainModel mainModel = Provider.of<MainModel>(context);
// await mainModel.agreeTerms();
// if (widget.agreePage) {
// Future.delayed(const Duration(milliseconds: 3000), () {
// Navigator.pop(context);
// });
// }
} catch (e) {
showMsgDialog(context, "Error", e.toString());
setState(() {

View File

@@ -92,8 +92,7 @@ class _TermEditState extends State<TermEdit> {
),
body: ZefyrScaffold(
child: ZefyrTheme(
data: ZefyrThemeData().copyWith(
),
data: ZefyrThemeData().copyWith(),
child: ZefyrEditor(
padding: EdgeInsets.all(16),
controller: _controller,

View File

@@ -401,6 +401,8 @@ Widget fcsInput(String label, IconData iconData,
initialValue: value,
controller: controller,
cursorColor: primaryColor,
maxLines: null,
minLines: 1,
textAlign: TextAlign.left,
decoration: new InputDecoration(
contentPadding: EdgeInsets.only(top: 8),
@@ -418,6 +420,38 @@ Widget fcsInput(String label, IconData iconData,
);
}
Widget fcsInputReadOnly(String label, IconData iconData,
{TextEditingController controller, String value}) {
return Row(
children: <Widget>[
Padding(
padding: const EdgeInsets.only(right: 8.0),
child: Icon(iconData),
),
Expanded(
child: Container(
child: Row(children: <Widget>[
Expanded(
child: TextFormField(
initialValue: value,
controller: controller,
cursorColor: primaryColor,
maxLines: null,
minLines: 1,
readOnly: true,
textAlign: TextAlign.left,
decoration: new InputDecoration(
border: InputBorder.none,
contentPadding: EdgeInsets.only(top: 8),
labelText: label,
),
)),
]),
)),
],
);
}
Widget fcsDropDown(String label, IconData iconData,
{TextEditingController controller}) {
return Row(