update processing
This commit is contained in:
@@ -3,31 +3,21 @@ import 'package:fcs/domain/entities/carton.dart';
|
||||
import 'package:fcs/domain/entities/cargo_type.dart';
|
||||
import 'package:fcs/domain/entities/carton_size.dart';
|
||||
import 'package:fcs/domain/entities/fcs_shipment.dart';
|
||||
import 'package:fcs/domain/entities/market.dart';
|
||||
import 'package:fcs/domain/entities/package.dart';
|
||||
import 'package:fcs/domain/entities/user.dart';
|
||||
import 'package:fcs/domain/vo/delivery_address.dart';
|
||||
import 'package:fcs/helpers/theme.dart';
|
||||
import 'package:fcs/localization/app_translations.dart';
|
||||
import 'package:fcs/pages/carton/carton_cargo_table.dart';
|
||||
import 'package:fcs/pages/carton/carton_mix_table.dart';
|
||||
import 'package:fcs/pages/carton/carton_package_table.dart';
|
||||
import 'package:fcs/pages/carton_size/carton_size_list.dart';
|
||||
import 'package:fcs/pages/delivery_address/delivery_address_list.dart';
|
||||
import 'package:fcs/pages/delivery_address/delivery_address_row.dart';
|
||||
import 'package:fcs/pages/delivery_address/model/delivery_address_model.dart';
|
||||
import 'package:fcs/pages/fcs_shipment/model/fcs_shipment_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/market/model/market_model.dart';
|
||||
import 'package:fcs/pages/package/model/package_model.dart';
|
||||
import 'package:fcs/pages/package/tracking_id_page.dart';
|
||||
import 'package:fcs/pages/rates/model/shipment_rate_model.dart';
|
||||
import 'package:fcs/pages/user_search/user_serach.dart';
|
||||
import 'package:fcs/pages/widgets/bottom_up_page_route.dart';
|
||||
import 'package:fcs/pages/widgets/defalut_delivery_address.dart';
|
||||
import 'package:fcs/pages/widgets/delivery_address_selection.dart';
|
||||
import 'package:fcs/pages/widgets/display_text.dart';
|
||||
import 'package:fcs/pages/widgets/fcs_id_icon.dart';
|
||||
import 'package:fcs/pages/widgets/length_picker.dart';
|
||||
@@ -36,19 +26,17 @@ import 'package:fcs/pages/widgets/local_dropdown.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/my_data_table.dart';
|
||||
import 'package:fcs/pages/widgets/progress.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_icons/flutter_icons.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'cargo_type_addtion.dart';
|
||||
import 'cargo_type_editor.dart';
|
||||
import 'model/carton_model.dart';
|
||||
import '../carton_size/model/carton_size_model.dart';
|
||||
import 'widgets.dart';
|
||||
|
||||
const MANAGE_CARTONSIZE = "Manage Carton Size";
|
||||
|
||||
class CartonEditor extends StatefulWidget {
|
||||
final Carton box;
|
||||
CartonEditor({this.box});
|
||||
@@ -102,9 +90,9 @@ class _CartonEditorState extends State<CartonEditor> {
|
||||
cargoTypes: [],
|
||||
packages: [],
|
||||
);
|
||||
_lengthController.text = "12";
|
||||
_widthController.text = "12";
|
||||
_heightController.text = "12";
|
||||
_lengthController.text = "";
|
||||
_widthController.text = "";
|
||||
_heightController.text = "";
|
||||
_isNew = true;
|
||||
_selectedCartonType = carton_from_packages;
|
||||
_loadFcsShipments();
|
||||
@@ -212,53 +200,60 @@ class _CartonEditorState extends State<CartonEditor> {
|
||||
labelTextKey: "box.mix.carton",
|
||||
iconData: MaterialCommunityIcons.package,
|
||||
);
|
||||
var fcsShipmentsBox = LocalDropdown<FcsShipment>(
|
||||
callback: (v) {
|
||||
setState(() {
|
||||
_fcsShipment = v;
|
||||
});
|
||||
_loadMixCartons();
|
||||
},
|
||||
labelKey: "shipment.pack.fcs.shipment",
|
||||
iconData: Ionicons.ios_airplane,
|
||||
display: (u) => u.shipmentNumber,
|
||||
selectedValue: _fcsShipment,
|
||||
values: _fcsShipments,
|
||||
);
|
||||
var fcsShipmentsBox = Container(
|
||||
padding: EdgeInsets.only(top: 10),
|
||||
child: LocalDropdown<FcsShipment>(
|
||||
callback: (v) {
|
||||
setState(() {
|
||||
_fcsShipment = v;
|
||||
});
|
||||
_loadMixCartons();
|
||||
},
|
||||
labelKey: "shipment.pack.fcs.shipment",
|
||||
iconData: Ionicons.ios_airplane,
|
||||
display: (u) => u.shipmentNumber,
|
||||
selectedValue: _fcsShipment,
|
||||
values: _fcsShipments,
|
||||
));
|
||||
|
||||
var mixCartonsBox = LocalDropdown<Carton>(
|
||||
callback: (v) {
|
||||
setState(() {
|
||||
_mixCarton = v;
|
||||
});
|
||||
},
|
||||
labelKey: "box.mix.carton",
|
||||
iconData: MaterialCommunityIcons.package,
|
||||
display: (u) => u.cartonNumber,
|
||||
selectedValue: _mixCarton,
|
||||
values: _mixCartons,
|
||||
);
|
||||
var mixCartonsBox = Container(
|
||||
padding: EdgeInsets.only(top: 10),
|
||||
child: LocalDropdown<Carton>(
|
||||
callback: (v) {
|
||||
setState(() {
|
||||
_mixCarton = v;
|
||||
});
|
||||
},
|
||||
labelKey: "box.mix.carton",
|
||||
iconData: MaterialCommunityIcons.package,
|
||||
display: (u) => u.cartonNumber,
|
||||
selectedValue: _mixCarton,
|
||||
values: _mixCartons,
|
||||
));
|
||||
|
||||
final fcsIDBox = Row(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: DisplayText(
|
||||
text: _user?.fcsID ?? "",
|
||||
labelTextKey: "box.fcs.id",
|
||||
icon: FcsIDIcon(),
|
||||
)),
|
||||
_isNew
|
||||
? IconButton(
|
||||
icon: Icon(Icons.search, color: primaryColor),
|
||||
onPressed: () => searchUser(context, callbackUserSelect: (u) {
|
||||
setState(() {
|
||||
this._user = u;
|
||||
_loadPackages();
|
||||
});
|
||||
}))
|
||||
: Container(),
|
||||
],
|
||||
);
|
||||
final fcsIDBox = Container(
|
||||
padding: EdgeInsets.only(top: 10),
|
||||
child: Row(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: DisplayText(
|
||||
text: _user?.fcsID ?? "",
|
||||
labelTextKey: "box.fcs.id",
|
||||
icon: FcsIDIcon(),
|
||||
)),
|
||||
_isNew
|
||||
? IconButton(
|
||||
icon: Icon(Icons.search, color: primaryColor),
|
||||
onPressed: () =>
|
||||
searchUser(context, callbackUserSelect: (u) {
|
||||
setState(() {
|
||||
this._user = u;
|
||||
_loadPackages();
|
||||
});
|
||||
}))
|
||||
: Container(),
|
||||
],
|
||||
));
|
||||
|
||||
final namebox = DisplayText(
|
||||
text: _user?.name ?? "",
|
||||
@@ -269,14 +264,17 @@ class _CartonEditorState extends State<CartonEditor> {
|
||||
final lengthBox = LengthPicker(
|
||||
controller: _lengthController,
|
||||
lableKey: "box.length",
|
||||
isReadOnly: true,
|
||||
);
|
||||
final widthBox = LengthPicker(
|
||||
controller: _widthController,
|
||||
lableKey: "box.width",
|
||||
isReadOnly: true,
|
||||
);
|
||||
final heightBox = LengthPicker(
|
||||
controller: _heightController,
|
||||
lableKey: "box.height",
|
||||
isReadOnly: true,
|
||||
);
|
||||
|
||||
final dimBox = Row(
|
||||
@@ -293,7 +291,7 @@ class _CartonEditorState extends State<CartonEditor> {
|
||||
);
|
||||
|
||||
final shipmentWeightBox = DisplayText(
|
||||
text: shipmentWeight != null ? shipmentWeight.toStringAsFixed(0) : "",
|
||||
text: shipmentWeight != null ? shipmentWeight.toStringAsFixed(2) : "",
|
||||
labelTextKey: "box.shipment_weight",
|
||||
iconData: MaterialCommunityIcons.weight,
|
||||
);
|
||||
@@ -326,9 +324,17 @@ class _CartonEditorState extends State<CartonEditor> {
|
||||
color: primaryColor,
|
||||
),
|
||||
onPressed: () async {
|
||||
CargoType cargo = await Navigator.push<CargoType>(context,
|
||||
CupertinoPageRoute(builder: (context) => CargoTypeEditor()));
|
||||
_addCargo(cargo);
|
||||
// CargoType cargo = await Navigator.push<CargoType>(context,
|
||||
// CupertinoPageRoute(builder: (context) => CargoTypeEditor()));
|
||||
// _addCargo(cargo);
|
||||
List<CargoType> cargos = await Navigator.push<List<CargoType>>(
|
||||
context,
|
||||
CupertinoPageRoute(builder: (context) => CargoTypeAddition()));
|
||||
if (cargos == null) return;
|
||||
setState(() {
|
||||
_carton.cargoTypes.clear();
|
||||
_carton.cargoTypes.addAll(cargos);
|
||||
});
|
||||
}),
|
||||
);
|
||||
|
||||
@@ -414,7 +420,7 @@ class _CartonEditorState extends State<CartonEditor> {
|
||||
? Container()
|
||||
: LocalTitle(textKey: "box.dimension"),
|
||||
isSmallBag ? Container() : cartonSizeDropdown(),
|
||||
// isSmallBag ? Container() : dimBox,
|
||||
isSmallBag ? Container() : dimBox,
|
||||
isSmallBag ? Container() : shipmentWeightBox,
|
||||
LocalTitle(textKey: "box.delivery_address"),
|
||||
DefaultDeliveryAddress(
|
||||
@@ -445,16 +451,13 @@ class _CartonEditorState extends State<CartonEditor> {
|
||||
);
|
||||
}
|
||||
|
||||
String selectedCatonSize;
|
||||
CartonSize selectedCatonSize;
|
||||
Widget cartonSizeDropdown() {
|
||||
List<CartonSize> _cartonSizes =
|
||||
Provider.of<CartonSizeModel>(context).cartonSizes;
|
||||
|
||||
List<String> cartonSizes = _cartonSizes.map((e) => e.name).toList();
|
||||
cartonSizes.insert(0, MANAGE_CARTONSIZE);
|
||||
Provider.of<CartonSizeModel>(context).getCartonSizes;
|
||||
|
||||
return Padding(
|
||||
padding: const EdgeInsets.only(top: 10, bottom: 10),
|
||||
padding: const EdgeInsets.only(top: 10),
|
||||
child: Row(
|
||||
children: [
|
||||
Padding(
|
||||
@@ -474,7 +477,7 @@ class _CartonEditorState extends State<CartonEditor> {
|
||||
fontSize: 16,
|
||||
),
|
||||
),
|
||||
DropdownButton<String>(
|
||||
DropdownButton<CartonSize>(
|
||||
isDense: true,
|
||||
value: selectedCatonSize,
|
||||
style: TextStyle(color: Colors.black, fontSize: 14),
|
||||
@@ -482,25 +485,31 @@ class _CartonEditorState extends State<CartonEditor> {
|
||||
height: 1,
|
||||
color: Colors.grey,
|
||||
),
|
||||
onChanged: (String newValue) {
|
||||
onChanged: (CartonSize newValue) {
|
||||
setState(() {
|
||||
if (newValue == MANAGE_CARTONSIZE) {
|
||||
if (newValue.name == MANAGE_CARTONSIZE) {
|
||||
selectedCatonSize = null;
|
||||
_manageCartonSize();
|
||||
return;
|
||||
}
|
||||
selectedCatonSize = newValue;
|
||||
_widthController.text =
|
||||
selectedCatonSize.width.toString();
|
||||
_heightController.text =
|
||||
selectedCatonSize.height.toString();
|
||||
_lengthController.text =
|
||||
selectedCatonSize.length.toString();
|
||||
});
|
||||
},
|
||||
isExpanded: true,
|
||||
items:
|
||||
cartonSizes.map<DropdownMenuItem<String>>((String value) {
|
||||
return DropdownMenuItem<String>(
|
||||
items: _cartonSizes
|
||||
.map<DropdownMenuItem<CartonSize>>((CartonSize value) {
|
||||
return DropdownMenuItem<CartonSize>(
|
||||
value: value,
|
||||
child: Text(value ?? "",
|
||||
child: Text(value.name ?? "",
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: TextStyle(
|
||||
color: value == MANAGE_CARTONSIZE
|
||||
color: value.name == MANAGE_CARTONSIZE
|
||||
? secondaryColor
|
||||
: primaryColor)),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user