revisi + request v 1.01 -> 1.02
This commit is contained in:
@@ -4,14 +4,17 @@ import 'dart:ui';
|
||||
import 'package:eva_icons_flutter/eva_icons_flutter.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_hooks/flutter_hooks.dart';
|
||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
|
||||
import 'package:mitra_corporate/model/auth_model.dart';
|
||||
import 'package:mitra_corporate/model/registration_model.dart';
|
||||
import 'package:mitra_corporate/model/test_model.dart';
|
||||
import 'package:mitra_corporate/model/user_mou_model.dart';
|
||||
import 'package:mitra_corporate/provider/auth_provider.dart';
|
||||
import 'package:mitra_corporate/provider/order_provider.dart';
|
||||
import 'package:mitra_corporate/screen/registrasi/registrasi_prvider.dart';
|
||||
import 'package:loading_animation_widget/loading_animation_widget.dart';
|
||||
import 'package:mitra_corporate/screen/registrasi/user_mou_provider.dart';
|
||||
import 'package:scroll_to_index/scroll_to_index.dart';
|
||||
|
||||
import '../../app/constant.dart';
|
||||
@@ -29,6 +32,7 @@ class FormEditPemeriksaan extends HookConsumerWidget {
|
||||
final selectedtest = ref.watch(selectedTestEditProvider);
|
||||
final selectedPacket = ref.watch(selectedPacketEditProvider);
|
||||
final selectedPacketOld = ref.watch(currentPacketProvider);
|
||||
final selectedMou = ref.watch(selectedMouProvider);
|
||||
// inisialisasi baca provider idTipePeriksaStateProvider
|
||||
final selectedTab = ref.watch(idTipePeriksaStateProvider);
|
||||
final AuthModel auth = ref.watch(authProvider) ?? AuthModel();
|
||||
@@ -37,17 +41,31 @@ class FormEditPemeriksaan extends HookConsumerWidget {
|
||||
final searchCtr = useTextEditingController(text: "");
|
||||
final scrollCtr = useScrollController();
|
||||
final ctr = useState(AutoScrollController());
|
||||
final listUserMou = useState<List<UserMouModel>>(List.empty());
|
||||
final userMouCtr = useTextEditingController(text: "");
|
||||
|
||||
//get pemeriksaan from api
|
||||
getPemeriksaan() {
|
||||
getPemeriksaan(String mouID) {
|
||||
ref
|
||||
.read(GetFPPProvider.notifier)
|
||||
.getData(mouID: auth.mUserMMouID ?? "0", token: auth.token ?? "0");
|
||||
.getData(mouID: mouID, token: auth.token ?? "0");
|
||||
}
|
||||
|
||||
//get pemeriksaan from api
|
||||
getUserMou() {
|
||||
ref
|
||||
.read(GetUserMouProvider.notifier)
|
||||
.getData(userID: auth.mUserID ?? "0", token: auth.token ?? "0");
|
||||
}
|
||||
|
||||
useEffect(() {
|
||||
WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
|
||||
getPemeriksaan();
|
||||
// getPemeriksaan();
|
||||
getUserMou();
|
||||
if (selectedMou.userMouID != "0" && selectedMou.userMouID != null) {
|
||||
getPemeriksaan(selectedMou.userMouMouID ?? "0");
|
||||
userMouCtr.text = selectedMou.userMouName ?? "";
|
||||
}
|
||||
});
|
||||
return () {};
|
||||
}, []);
|
||||
@@ -87,6 +105,29 @@ class FormEditPemeriksaan extends HookConsumerWidget {
|
||||
},
|
||||
);
|
||||
|
||||
ref.listen(
|
||||
GetUserMouProvider,
|
||||
(pref, next) {
|
||||
if (next is GetUserMouStateInit) {
|
||||
testLoading.value = true;
|
||||
} else if (next is GetUserMouStateLoading) {
|
||||
testLoading.value = true;
|
||||
} else if (next is GetUserMouStateError) {
|
||||
testLoading.value = false;
|
||||
print(next.message);
|
||||
SanckbarWidget(context, next.message, snackbarType.error);
|
||||
Constant.autoLogout(context: context, msg: next.message);
|
||||
} else if (next is GetUserMouStateDone) {
|
||||
listUserMou.value = next.model;
|
||||
// ref.read(tempTestListProvider.notifier).state = next.model;
|
||||
print(listUserMou.value);
|
||||
|
||||
// tabController.length
|
||||
|
||||
testLoading.value = false;
|
||||
}
|
||||
},
|
||||
);
|
||||
// searchCtr.addListener(() {
|
||||
// listTest.value.firstWhere((element) => element.items)
|
||||
// },);
|
||||
@@ -96,6 +137,63 @@ class FormEditPemeriksaan extends HookConsumerWidget {
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
SizedBox(
|
||||
width: Constant.getActualX(context: context, x: 500),
|
||||
child: TypeAheadField(
|
||||
builder: (context, controller, focusNode) {
|
||||
return TextField(
|
||||
controller: controller,
|
||||
focusNode: focusNode,
|
||||
enabled: !testLoading.value,
|
||||
// autofocus: true,
|
||||
decoration: InputDecoration(
|
||||
hintStyle: Constant.body2_400(context: context),
|
||||
labelStyle: Constant.body2_400(context: context),
|
||||
fillColor: Constant.primaryBlue,
|
||||
labelText: 'Pilih Agreement',
|
||||
// isCollapsed: true,
|
||||
hintText: 'Pilih Agreement',
|
||||
border: OutlineInputBorder(
|
||||
borderSide: BorderSide(color: Constant.primaryBlue),
|
||||
borderRadius: BorderRadius.circular(8),
|
||||
)));
|
||||
},
|
||||
controller: userMouCtr,
|
||||
suggestionsCallback: (pattern) async {
|
||||
return listUserMou.value
|
||||
.where(
|
||||
(element) => element.userMouName!
|
||||
.toLowerCase()
|
||||
.contains(pattern.toLowerCase()),
|
||||
)
|
||||
.toList();
|
||||
},
|
||||
itemBuilder: (BuildContext context, UserMouModel value) {
|
||||
return ListTile(
|
||||
title: Text(value.userMouName ?? ""),
|
||||
);
|
||||
},
|
||||
onSelected: (UserMouModel value) {
|
||||
print(selectedtest);
|
||||
print(selectedPacket);
|
||||
|
||||
// if (selectedtest.isNotEmpty || selectedPacket.isNotEmpty) {
|
||||
// SanckbarWidget(
|
||||
// context,
|
||||
// "test dan paket yang sudah dipilih telah di reset",
|
||||
// snackbarType.warning);
|
||||
// }
|
||||
ref.read(selectedTestEditProvider.notifier).state = List.empty();
|
||||
ref.read(selectedPacketEditProvider.notifier).state =
|
||||
List.empty();
|
||||
ref.read(selectedMouProvider.notifier).state = value;
|
||||
|
||||
userMouCtr.text = value.userMouName ?? "";
|
||||
getPemeriksaan(value.userMouMouID ?? "0");
|
||||
},
|
||||
),
|
||||
),
|
||||
SizedBox(height: Constant.getActualY(context: context, y: 12)),
|
||||
SizedBox(
|
||||
width: Constant.getActualX(context: context, x: 500),
|
||||
// height: Constant.getActualY(context: context, y: 56),
|
||||
|
||||
@@ -8,6 +8,7 @@ import 'package:intl/intl.dart';
|
||||
|
||||
import 'package:mitra_corporate/model/registration_model.dart';
|
||||
import 'package:mitra_corporate/model/test_model.dart';
|
||||
import 'package:mitra_corporate/model/user_mou_model.dart';
|
||||
import 'package:mitra_corporate/provider/auth_provider.dart';
|
||||
import 'package:mitra_corporate/provider/order_provider.dart';
|
||||
import 'package:mitra_corporate/provider/registrasi_provider.dart';
|
||||
@@ -31,6 +32,7 @@ class DetailEdit extends HookConsumerWidget {
|
||||
final testListAll = ref.read(tempTestListProvider);
|
||||
final selectedTest = ref.read(selectedTestEditProvider);
|
||||
final dialogAction = ref.watch(dialogOrderActionProvider);
|
||||
final selectedMou = ref.watch(selectedMouProvider);
|
||||
|
||||
final testList = useState<List<Items>>(List.empty());
|
||||
final testScrollCtr = useScrollController();
|
||||
@@ -446,6 +448,7 @@ class DetailEdit extends HookConsumerWidget {
|
||||
}
|
||||
|
||||
editOrder() {
|
||||
tempRegistrationData.userMouID = selectedMou.userMouMouID;
|
||||
print(jsonEncode(tempRegistrationData));
|
||||
// tempRegistrationData.tests!.forEach((element) {
|
||||
// if (element.date == null || element.date!.isEmpty) {
|
||||
@@ -497,6 +500,7 @@ class DetailEdit extends HookConsumerWidget {
|
||||
ref.read(currentPacketProvider.notifier).state =
|
||||
List.empty(growable: true);
|
||||
ref.read(selectedPacketEditProvider.notifier).state = List.empty();
|
||||
ref.read(selectedMouProvider.notifier).state = UserMouModel();
|
||||
}
|
||||
},
|
||||
);
|
||||
@@ -507,7 +511,13 @@ class DetailEdit extends HookConsumerWidget {
|
||||
// height: MediaQuery.of(context).size.height,
|
||||
color: Colors.white,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
Text(
|
||||
"Agreement : ${selectedMou.userMouName}",
|
||||
style: Constant.h4_600(context: context),
|
||||
),
|
||||
SizedBox(height: Constant.getActualY(context: context, y: 24)),
|
||||
Row(
|
||||
children: [
|
||||
SizedBox(
|
||||
|
||||
@@ -6,6 +6,7 @@ import 'package:intl/intl.dart';
|
||||
import 'package:mitra_corporate/model/registration_model.dart';
|
||||
import 'package:mitra_corporate/model/search_order_model.dart';
|
||||
import 'package:mitra_corporate/model/test_model.dart';
|
||||
import 'package:mitra_corporate/model/user_mou_model.dart';
|
||||
import 'package:mitra_corporate/provider/order_provider.dart';
|
||||
import 'package:mitra_corporate/screen/order/cancel_order_provider.dart';
|
||||
import 'package:mitra_corporate/screen/order/dialog_cancel_order.dart';
|
||||
@@ -872,6 +873,7 @@ class OrderScreen extends HookConsumerWidget {
|
||||
pekerjaan: e.value.pekerjaan,
|
||||
));
|
||||
ref.read(EditDataProvider.notifier).state = a;
|
||||
ref.read(selectedMouProvider.notifier).state = e.value.mou ?? UserMouModel();
|
||||
showDialog(context: context, barrierDismissible: false, builder: ((context) => DialogEdit())).then((value) => refresh());
|
||||
},
|
||||
icon: Icon(
|
||||
|
||||
Reference in New Issue
Block a user