fixed api
This commit is contained in:
@ -4,6 +4,7 @@ import 'dart:developer';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:kurir/controller/after_login/kurir/logKirimanController.dart';
|
||||
|
||||
import 'package:socket_io_client/socket_io_client.dart';
|
||||
|
||||
@ -38,6 +39,15 @@ class KurirIndexController extends GetxController {
|
||||
|
||||
// Get.put(PengaturanKurirController());
|
||||
|
||||
break;
|
||||
case 2:
|
||||
final ctrl = Get.put<LogKirimanControllerKurir>(
|
||||
LogKirimanControllerKurir(),
|
||||
);
|
||||
ctrl.onInit();
|
||||
|
||||
// Get.put(PengaturanKurirController());
|
||||
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
||||
74
lib/controller/after_login/kurir/logKirimanController.dart
Normal file
74
lib/controller/after_login/kurir/logKirimanController.dart
Normal file
@ -0,0 +1,74 @@
|
||||
// ignore_for_file: file_names
|
||||
|
||||
import 'package:get/get.dart';
|
||||
import 'package:google_maps_flutter/google_maps_flutter.dart';
|
||||
import 'package:logger/logger.dart';
|
||||
|
||||
import '../../../api/kurirApi.dart';
|
||||
import '../../../api/pengirimApi.dart';
|
||||
import '../../../function/allFunction.dart';
|
||||
import '../../../models/pengirimimanModel.dart';
|
||||
|
||||
class LogKirimanControllerKurir extends GetxController {
|
||||
final dev = Logger();
|
||||
RxInt loadPengiriman = 0.obs;
|
||||
RxList pengirimanModelList = [].obs;
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
dev.i("sini on init log kiriman controller kurir");
|
||||
pengirimanAll();
|
||||
}
|
||||
|
||||
pengirimanAll() async {
|
||||
loadPengiriman.value = 0;
|
||||
pengirimanModelList.value = [];
|
||||
|
||||
final _api = Get.put(KurirApi());
|
||||
|
||||
Map<String, dynamic> _data = await _api.getAllPengirimanCompleted();
|
||||
|
||||
if (_data['status'] == 200) {
|
||||
if (_data['data'].length > 0) {
|
||||
pengirimanModelList.value =
|
||||
_data['data'].map((e) => PengirimanModel.fromJson(e)).toList();
|
||||
|
||||
dev.d("pengirimanModelList: $pengirimanModelList");
|
||||
} else {
|
||||
pengirimanModelList.value = [];
|
||||
}
|
||||
loadPengiriman.value = 1;
|
||||
} else {
|
||||
pengirimanModelList.value = [];
|
||||
loadPengiriman.value = 2;
|
||||
}
|
||||
}
|
||||
|
||||
cekDistance(LatLng latLngPengiriman, LatLng latLngPermulaan) async {
|
||||
final _api = Get.put(PengirimApi());
|
||||
double distance = await _api.jarak_route(
|
||||
latLngPermulaan.latitude,
|
||||
latLngPermulaan.longitude,
|
||||
latLngPengiriman.latitude,
|
||||
latLngPengiriman.longitude,
|
||||
);
|
||||
|
||||
// dev.log(distance.toString() + "ini dia");
|
||||
|
||||
return distance;
|
||||
}
|
||||
|
||||
String cekHarga(
|
||||
double distance, int biayaMinimal, int biayaMaksimal, int biayaPerKilo) {
|
||||
//
|
||||
double hargaPerKiloTotal = biayaPerKilo * distance;
|
||||
double hargaTotalMinimal = hargaPerKiloTotal + biayaMinimal;
|
||||
double hargaTotalMaksimal = hargaPerKiloTotal + biayaMaksimal;
|
||||
|
||||
return "Rp. " +
|
||||
AllFunction.thousandSeperatorDouble(hargaTotalMinimal) +
|
||||
" - Rp. " +
|
||||
AllFunction.thousandSeperatorDouble(hargaTotalMaksimal);
|
||||
}
|
||||
}
|
||||
@ -49,7 +49,10 @@ class PengaturanKurirController extends GetxController {
|
||||
status: 'Loading Data...',
|
||||
maskType: EasyLoadingMaskType.black,
|
||||
);
|
||||
final result = await KurirApi.cekPengaturanKurir();
|
||||
|
||||
final _api = Get.put(KurirApi());
|
||||
|
||||
final result = await _api.cekPengaturanKurir();
|
||||
|
||||
log(result.toString());
|
||||
if (result['status'] == 200 && result['data'] != null) {
|
||||
@ -88,7 +91,9 @@ class PengaturanKurirController extends GetxController {
|
||||
status: 'Pengaturan Biaya...',
|
||||
maskType: EasyLoadingMaskType.black,
|
||||
);
|
||||
final result = await KurirApi.pengaturanKurir(
|
||||
|
||||
final _api = Get.put(KurirApi());
|
||||
final result = await _api.pengaturanKurir(
|
||||
minimalBiayaPengiriman, maksimalBiayaPengiriman, biayaPerKilo);
|
||||
|
||||
log(result.toString());
|
||||
|
||||
@ -52,8 +52,11 @@ class PengirimanKurirController extends GetxController {
|
||||
pengirimanAll() async {
|
||||
loadPengiriman.value = 0;
|
||||
pengirimanModelList.value = [];
|
||||
|
||||
final _api = Get.put(KurirApi());
|
||||
|
||||
Map<String, dynamic> _data =
|
||||
await KurirApi.getAllPengirimanDalamPengesahanKurir();
|
||||
await _api.getAllPengirimanDalamPengesahanKurir();
|
||||
|
||||
if (_data['status'] == 200) {
|
||||
if (_data['data'].length > 0) {
|
||||
@ -83,7 +86,8 @@ class PengirimanKurirController extends GetxController {
|
||||
}
|
||||
|
||||
cekDistance(LatLng latLngPengiriman, LatLng latLngPermulaan) async {
|
||||
double distance = await PengirimApi.jarak_route(
|
||||
final _api = Get.put(PengirimApi());
|
||||
double distance = await _api.jarak_route(
|
||||
latLngPermulaan.latitude,
|
||||
latLngPermulaan.longitude,
|
||||
latLngPengiriman.latitude,
|
||||
@ -243,7 +247,10 @@ class PengirimanKurirController extends GetxController {
|
||||
status: 'Loading...',
|
||||
maskType: EasyLoadingMaskType.black,
|
||||
);
|
||||
Map<String, dynamic> _data = await KurirApi.sahkanPengiriman(id);
|
||||
|
||||
final _api = Get.put(KurirApi());
|
||||
|
||||
Map<String, dynamic> _data = await _api.sahkanPengiriman(id);
|
||||
if (_data['status'] == 200) {
|
||||
// loadPengiriman.value = 0;
|
||||
Get.snackbar(
|
||||
@ -315,7 +322,10 @@ class PengirimanKurirController extends GetxController {
|
||||
status: 'Loading...',
|
||||
maskType: EasyLoadingMaskType.black,
|
||||
);
|
||||
Map<String, dynamic> _data = await KurirApi.mengambilPaketPengiriman(id);
|
||||
|
||||
final _api = Get.put(KurirApi());
|
||||
|
||||
Map<String, dynamic> _data = await _api.mengambilPaketPengiriman(id);
|
||||
if (_data['status'] == 200) {
|
||||
// loadPengiriman.value = 0;
|
||||
Get.snackbar(
|
||||
|
||||
@ -1,16 +1,17 @@
|
||||
// ignore_for_file: file_names
|
||||
|
||||
import 'dart:developer' as dev;
|
||||
|
||||
import 'package:enhance_stepper/enhance_stepper.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:kurir/function/allFunction.dart';
|
||||
import 'package:kurir/models/pengirimimanModel.dart';
|
||||
import 'package:logger/logger.dart';
|
||||
|
||||
import '../../../api/kurirApi.dart';
|
||||
import '../../../function/allFunction.dart';
|
||||
import '../../../models/pengirimimanModel.dart';
|
||||
|
||||
class ProgressPenghantaranControllerKurir extends GetxController {
|
||||
final dev = Logger();
|
||||
|
||||
Rx<String> text = "heheh".obs;
|
||||
String id = Get.arguments;
|
||||
Rx<Widget> enhanceStepContainer = Container(
|
||||
@ -29,14 +30,16 @@ class ProgressPenghantaranControllerKurir extends GetxController {
|
||||
void onInit() {
|
||||
super.onInit();
|
||||
// text.value = "heheh222";
|
||||
dev.log("disini progress penghantaran bagian kurir berlaku");
|
||||
dev.i("disini progress penghantaran bagian kurir berlaku");
|
||||
|
||||
// future 3 sec
|
||||
getData();
|
||||
}
|
||||
|
||||
void getData() async {
|
||||
Map<String, dynamic> _data = await KurirApi.detailPengiriman(id);
|
||||
final _api = Get.put(KurirApi());
|
||||
|
||||
Map<String, dynamic> _data = await _api.detailPengiriman(id);
|
||||
if (_data["status"] == 200) {
|
||||
final PengirimanModel _pengiriman =
|
||||
PengirimanModel.fromJson(_data["data"]);
|
||||
@ -69,6 +72,7 @@ class ProgressPenghantaranControllerKurir extends GetxController {
|
||||
fontSize: 15,
|
||||
),
|
||||
);
|
||||
|
||||
switch (data.statusPengiriman) {
|
||||
case "Dalam Pengesahan Kurir":
|
||||
_icon = const Icon(
|
||||
@ -119,13 +123,38 @@ class ProgressPenghantaranControllerKurir extends GetxController {
|
||||
size: 30,
|
||||
);
|
||||
_title = const Text(
|
||||
"Mengambil Paket Pengiriman Dari Pengirim",
|
||||
"Dalam Perjalanan Mengambil Paket Pengiriman Dari Pengirim",
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 20,
|
||||
),
|
||||
);
|
||||
_content = const _MengambilPaketKirimanRichtext();
|
||||
_content = _MengambilPaketKirimanRichtext(
|
||||
terima: (pengiriman.statusPengiriman ==
|
||||
"Mengambil Paket Pengiriman Dari Pengirim")
|
||||
? true
|
||||
: false,
|
||||
waktu: (pengiriman.statusPengiriman !=
|
||||
"Mengambil Paket Pengiriman Dari Pengirim" ||
|
||||
pengiriman.statusPengiriman != "Disahkan Kurir" ||
|
||||
pengiriman.statusPengiriman != "Dalam Pengesahan Kurir")
|
||||
? AllFunction.timeZoneAdd8(pengiriman.history![3].waktu)
|
||||
: null);
|
||||
break;
|
||||
case "Menghantar Paket Pengiriman Ke Penerima":
|
||||
_icon = const Icon(
|
||||
Icons.handshake_outlined,
|
||||
color: Colors.white,
|
||||
size: 30,
|
||||
);
|
||||
_title = const Text(
|
||||
"Dalam Perjalanan Menghantar Paket Pengiriman Ke Penerima",
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 20,
|
||||
),
|
||||
);
|
||||
_content = const _MenghantarPaketKirimanRichtext();
|
||||
break;
|
||||
}
|
||||
|
||||
@ -139,8 +168,8 @@ class ProgressPenghantaranControllerKurir extends GetxController {
|
||||
}
|
||||
}
|
||||
|
||||
class _MengambilPaketKirimanRichtext extends StatelessWidget {
|
||||
const _MengambilPaketKirimanRichtext({
|
||||
class _MenghantarPaketKirimanRichtext extends StatelessWidget {
|
||||
const _MenghantarPaketKirimanRichtext({
|
||||
Key? key,
|
||||
}) : super(key: key);
|
||||
|
||||
@ -158,7 +187,7 @@ class _MengambilPaketKirimanRichtext extends StatelessWidget {
|
||||
children: [
|
||||
TextSpan(
|
||||
text:
|
||||
"Dalam perjalanan mengambail paker dari pengirim. Klik "),
|
||||
"Paket diterima dari pengirim. Dalam perjalanan menghantar paket ke penerima. Klik "),
|
||||
TextSpan(
|
||||
text: "'Terima Paket Pengiriman' ",
|
||||
style: TextStyle(
|
||||
@ -166,7 +195,7 @@ class _MengambilPaketKirimanRichtext extends StatelessWidget {
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
TextSpan(text: "jika sampai ke lokasi pengirim & scan "),
|
||||
TextSpan(text: "jika sampai ke lokasi penerima & scan "),
|
||||
TextSpan(
|
||||
text: "QRcode ",
|
||||
style: TextStyle(
|
||||
@ -182,7 +211,7 @@ class _MengambilPaketKirimanRichtext extends StatelessWidget {
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
TextSpan(text: "untuk melihat rute lokasi pengirim."),
|
||||
TextSpan(text: "untuk melihat rute lokasi penerima."),
|
||||
],
|
||||
),
|
||||
),
|
||||
@ -194,7 +223,7 @@ class _MengambilPaketKirimanRichtext extends StatelessWidget {
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||
children: const [
|
||||
_ExpandedButton(flex: 2, text: 'Terima Paket\nPengiriman'),
|
||||
_ExpandedButton(flex: 2, text: 'Serahkan Paket\nPengiriman'),
|
||||
Expanded(flex: 1, child: SizedBox()),
|
||||
_ExpandedButton(flex: 2, text: 'Rute Lokasi'),
|
||||
],
|
||||
@ -205,6 +234,91 @@ class _MengambilPaketKirimanRichtext extends StatelessWidget {
|
||||
}
|
||||
}
|
||||
|
||||
class _MengambilPaketKirimanRichtext extends StatelessWidget {
|
||||
_MengambilPaketKirimanRichtext({
|
||||
Key? key,
|
||||
required this.terima,
|
||||
this.waktu,
|
||||
}) : super(key: key);
|
||||
|
||||
final bool terima;
|
||||
final String? waktu;
|
||||
|
||||
final dev = Logger();
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
dev.i("terima: $terima");
|
||||
return Column(
|
||||
children: [
|
||||
if (terima)
|
||||
RichText(
|
||||
textAlign: TextAlign.justify,
|
||||
text: const TextSpan(
|
||||
style: TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 15,
|
||||
),
|
||||
children: [
|
||||
TextSpan(
|
||||
text:
|
||||
"Dalam perjalanan mengambil paker dari pengirim. Klik "),
|
||||
TextSpan(
|
||||
text: "'Terima Paket Pengiriman' ",
|
||||
style: TextStyle(
|
||||
fontStyle: FontStyle.italic,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
TextSpan(text: "jika sampai ke lokasi pengirim & scan "),
|
||||
TextSpan(
|
||||
text: "QRcode ",
|
||||
style: TextStyle(
|
||||
fontStyle: FontStyle.italic,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
TextSpan(text: "yang ada pada aplikasi pengirim. Klik "),
|
||||
TextSpan(
|
||||
text: "'Rute Lokasi' ",
|
||||
style: TextStyle(
|
||||
fontStyle: FontStyle.italic,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
TextSpan(text: "untuk melihat rute lokasi pengirim."),
|
||||
],
|
||||
),
|
||||
),
|
||||
if (!terima)
|
||||
Text(
|
||||
"Paket telah diterima dari pengirim.\nPaket diterima pada waktu $waktu\nDalam perjalanan menghantar paket ke penerima.",
|
||||
textAlign: TextAlign.left,
|
||||
style: const TextStyle(
|
||||
color: Colors.white,
|
||||
fontSize: 15,
|
||||
),
|
||||
),
|
||||
const SizedBox(
|
||||
height: 10,
|
||||
),
|
||||
if (terima)
|
||||
SizedBox(
|
||||
width: double.infinity,
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||
children: const [
|
||||
_ExpandedButton(flex: 2, text: 'Terima Paket\nPengiriman'),
|
||||
Expanded(flex: 1, child: SizedBox()),
|
||||
_ExpandedButton(flex: 2, text: 'Rute Lokasi'),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class _ExpandedButton extends StatelessWidget {
|
||||
const _ExpandedButton({
|
||||
Key? key,
|
||||
|
||||
Reference in New Issue
Block a user