fixed api

This commit is contained in:
kicap1992
2022-06-29 22:50:13 +08:00
parent 70b9a9a04b
commit a6c69c1164
23 changed files with 1748 additions and 778 deletions

View File

@ -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:
}

View 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);
}
}

View File

@ -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());

View File

@ -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(

View File

@ -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,