update carton list

This commit is contained in:
tzw
2024-02-15 16:41:49 +06:30
parent 2993ed78a3
commit ad5e61a6af
4 changed files with 144 additions and 97 deletions

View File

@@ -28,6 +28,7 @@ class _CartonListState extends State<CartonList> {
bool _isLoading = false; bool _isLoading = false;
List<FcsShipment> _shipments = []; List<FcsShipment> _shipments = [];
FcsShipment? _selectedShipment; FcsShipment? _selectedShipment;
bool _down = true;
@override @override
void initState() { void initState() {
@@ -120,105 +121,151 @@ class _CartonListState extends State<CartonList> {
), ),
body: Column( body: Column(
children: [ children: [
shipmentFilterBox, AnimatedSwitcher(
Wrap( duration: const Duration(milliseconds: 300),
runSpacing: 8, transitionBuilder: (Widget child, Animation<double> animation) =>
children: [ FadeTransition(
cartonModel.filterByConsingee != null opacity: animation,
? Padding( child: SizeTransition(
padding: const EdgeInsets.only(left: 15), child: child,
child: Row( sizeFactor: animation,
axis: Axis.vertical,
),
),
child: _down
? Column(
children: [
shipmentFilterBox,
Wrap(
runSpacing: 8,
children: [ children: [
Wrap( cartonModel.filterByConsingee != null
children: [ ? Padding(
Row( padding: const EdgeInsets.only(left: 15),
children: [ child: Row(
const Text("Consignee: ", children: [
style: TextStyle( Wrap(
fontSize: 12, color: Colors.grey)), children: [
Text( Row(
cartonModel.filterByConsingee!.name ?? children: [
"", const Text("Consignee: ",
style: const TextStyle( style: TextStyle(
fontSize: 12, color: Colors.black)), fontSize: 12,
const SizedBox(width: 3), color: Colors.grey)),
Text( Text(
cartonModel.filterByConsingee!.fcsID ?? cartonModel
"", .filterByConsingee!
style: const TextStyle( .name ??
fontSize: 12, color: labelColor)), "",
], style: const TextStyle(
) fontSize: 12,
], color: Colors.black)),
), const SizedBox(width: 3),
Padding( Text(
padding: const EdgeInsets.only(left: 5), cartonModel
child: InkResponse( .filterByConsingee!
radius: 30, .fcsID ??
onTap: () { "",
context style: const TextStyle(
.read<CartonModel>() fontSize: 12,
.clearFilterConsignee(); color: labelColor)),
}, ],
child: const Icon(AntDesign.closecircleo, )
size: 20, color: dangerColor), ],
), ),
) Padding(
padding:
const EdgeInsets.only(left: 5),
child: InkResponse(
radius: 30,
onTap: () {
context
.read<CartonModel>()
.clearFilterConsignee();
},
child: const Icon(
AntDesign.closecircleo,
size: 20,
color: dangerColor),
),
)
],
),
)
: const SizedBox(),
cartonModel.filterBySender != null
? Padding(
padding: const EdgeInsets.only(left: 15),
child: Row(
children: [
Wrap(
children: [
Row(
children: [
const Text("Sender: ",
style: TextStyle(
fontSize: 12,
color: Colors.grey)),
Text(
cartonModel.filterBySender!
.name ??
"",
style: const TextStyle(
fontSize: 12,
color: Colors.black)),
const SizedBox(width: 3),
Text(
cartonModel.filterBySender!
.fcsID ??
"",
style: const TextStyle(
fontSize: 12,
color: labelColor)),
],
)
],
),
Padding(
padding:
const EdgeInsets.only(left: 5),
child: InkResponse(
radius: 30,
onTap: () {
context
.read<CartonModel>()
.clearFilterSender();
},
child: const Icon(
AntDesign.closecircleo,
size: 20,
color: dangerColor),
),
)
],
),
)
: const SizedBox(),
], ],
), ),
) Divider(color: Colors.grey.shade400),
: const SizedBox(), ],
cartonModel.filterBySender != null )
? Padding( : const SizedBox(),
padding: const EdgeInsets.only(left: 15),
child: Row(
children: [
Wrap(
children: [
Row(
children: [
const Text("Sender: ",
style: TextStyle(
fontSize: 12, color: Colors.grey)),
Text(cartonModel.filterBySender!.name ?? "",
style: const TextStyle(
fontSize: 12, color: Colors.black)),
const SizedBox(width: 3),
Text(
cartonModel.filterBySender!.fcsID ?? "",
style: const TextStyle(
fontSize: 12, color: labelColor)),
],
)
],
),
Padding(
padding: const EdgeInsets.only(left: 5),
child: InkResponse(
radius: 30,
onTap: () {
context
.read<CartonModel>()
.clearFilterSender();
},
child: const Icon(AntDesign.closecircleo,
size: 20, color: dangerColor),
),
)
],
),
)
: const SizedBox(),
],
), ),
Divider(color: Colors.grey.shade400),
Expanded( Expanded(
child: cartonModel.getBoxes == null child: cartonModel.getBoxes == null
? const SizedBox() ? const SizedBox()
: PaginatorListView<Carton>( : PaginatorListView<Carton>(
paginatorListener: cartonModel.getBoxes!, paginatorListener: cartonModel.getBoxes!,
rowBuilder: (p) => CartonListRow(box: p), rowBuilder: (p) => CartonListRow(box: p),
color: primaryColor), color: primaryColor,
onScroll: ((down) {
if (_down == down) return;
setState(() {
_down = down;
});
}),
),
), ),
], ],
), ),

View File

@@ -37,22 +37,22 @@ class DeliveryAddressRow extends StatelessWidget {
deliveryAddress.addressLine1!="" deliveryAddress.addressLine1!=""
? ?
line(context, deliveryAddress.addressLine1, line(context, deliveryAddress.addressLine1,
iconData: Icons.location_on,color: Colors.black, fontSize: 16):SizedBox(), iconData: Icons.location_on,color: Colors.grey, fontSize: 16):SizedBox(),
deliveryAddress.addressLine2!="" deliveryAddress.addressLine2!=""
? ?
line( line(
context, context,
deliveryAddress.addressLine2,color: Colors.black, fontSize: 16 deliveryAddress.addressLine2,color: Colors.grey, fontSize: 16
):SizedBox(), ):SizedBox(),
deliveryAddress.city!="" deliveryAddress.city!=""
? ?
line( line(
context, context,
deliveryAddress.city,color: Colors.black, fontSize: 16 deliveryAddress.city,color: Colors.grey, fontSize: 16
):SizedBox(), ):SizedBox(),
deliveryAddress.state!="" deliveryAddress.state!=""
? ?
line(context, deliveryAddress.state,color: Colors.black, fontSize: 16):SizedBox(), line(context, deliveryAddress.state,color: Colors.grey, fontSize: 16):SizedBox(),
], ],
), ),
), ),
@@ -69,7 +69,7 @@ class DeliveryAddressRow extends StatelessWidget {
? SizedBox(width: 40) ? SizedBox(width: 40)
: Padding( : Padding(
padding: const EdgeInsets.only(left: 8.0, right: 8), padding: const EdgeInsets.only(left: 8.0, right: 8),
child: Icon(iconData, color: Colors.black38), child: Icon(iconData, color: Colors.grey),
), ),
Flexible( Flexible(
child: TextLocalStyle( child: TextLocalStyle(

View File

@@ -107,7 +107,7 @@ class _FcsShipmentListState extends State<FcsShipmentList> {
value: choice, value: choice,
child: Row( child: Row(
children: <Widget>[ children: <Widget>[
Flexible(child: Text("${choice.text}")), Flexible(child: Text("${choice.text}",style: TextStyle(color: Colors.black))),
const SizedBox( const SizedBox(
width: 10, width: 10,
), ),

View File

@@ -107,9 +107,9 @@ class _LocalPopupMenuButtonState extends State<LocalPopupMenuButton> {
style: TextStyle( style: TextStyle(
fontSize: 14, fontSize: 14,
color: color:
choice.enabled ? primaryColor : Colors.grey)) choice.enabled ? Colors.black : Colors.grey))
: LocalText(context, choice.textKey ?? "", : LocalText(context, choice.textKey ?? "",
color: choice.enabled ? primaryColor : Colors.grey, color: choice.enabled ? Colors.black : Colors.grey,
fontSize: 14), fontSize: 14),
SizedBox( SizedBox(
width: 10, width: 10,