Arrumado o bug de adicionar o mesmo visitante, no mesmo modal
This commit is contained in:
parent
7e002981b0
commit
981c718e41
|
@ -59,6 +59,26 @@ class _VisitorSearchModalTemplateComponentWidgetState
|
||||||
super.dispose();
|
super.dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _showErrorSnackbar(BuildContext context) {
|
||||||
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
SnackBar(
|
||||||
|
content: Text(
|
||||||
|
FFLocalizations.of(context).getVariableText(
|
||||||
|
ptText: "Visitante já adicionado.",
|
||||||
|
enText: "Visitor already added."),
|
||||||
|
),
|
||||||
|
duration: const Duration(seconds: 3),
|
||||||
|
backgroundColor: FlutterFlowTheme.of(context).error,
|
||||||
|
dismissDirection: DismissDirection.up,
|
||||||
|
behavior: SnackBarBehavior.floating,
|
||||||
|
margin: EdgeInsets.only(
|
||||||
|
bottom: MediaQuery.of(context).size.height - 150,
|
||||||
|
left: 10,
|
||||||
|
right: 10),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
context.watch<FFAppState>();
|
context.watch<FFAppState>();
|
||||||
|
@ -68,7 +88,7 @@ class _VisitorSearchModalTemplateComponentWidgetState
|
||||||
child: Container(
|
child: Container(
|
||||||
width: MediaQuery.of(context).size.width,
|
width: MediaQuery.of(context).size.width,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: FlutterFlowTheme.of(context).primaryBackground,
|
color: Colors.transparent,
|
||||||
borderRadius: const BorderRadius.only(
|
borderRadius: const BorderRadius.only(
|
||||||
bottomLeft: Radius.circular(0.0),
|
bottomLeft: Radius.circular(0.0),
|
||||||
bottomRight: Radius.circular(0.0),
|
bottomRight: Radius.circular(0.0),
|
||||||
|
@ -90,7 +110,7 @@ class _VisitorSearchModalTemplateComponentWidgetState
|
||||||
),
|
),
|
||||||
Padding(
|
Padding(
|
||||||
padding:
|
padding:
|
||||||
const EdgeInsetsDirectional.fromSTEB(16.0, 10.0, 16.0, 0.0),
|
const EdgeInsetsDirectional.fromSTEB(16.0, 15.0, 16.0, 0.0),
|
||||||
child: TextFormField(
|
child: TextFormField(
|
||||||
controller: _model.textController,
|
controller: _model.textController,
|
||||||
focusNode: _model.textFieldFocusNode,
|
focusNode: _model.textFieldFocusNode,
|
||||||
|
@ -231,12 +251,14 @@ class _VisitorSearchModalTemplateComponentWidgetState
|
||||||
builder: (context) {
|
builder: (context) {
|
||||||
final visitor =
|
final visitor =
|
||||||
_model.visitors.map((e) => e).toList();
|
_model.visitors.map((e) => e).toList();
|
||||||
|
final doc = _model.docs.map((e) => e).toList();
|
||||||
return ListView.builder(
|
return ListView.builder(
|
||||||
padding: EdgeInsets.zero,
|
padding: EdgeInsets.zero,
|
||||||
scrollDirection: Axis.vertical,
|
scrollDirection: Axis.vertical,
|
||||||
itemCount: visitor.length,
|
itemCount: visitor.length,
|
||||||
itemBuilder: (context, visitorIndex) {
|
itemBuilder: (context, visitorIndex) {
|
||||||
final visitorItem = visitor[visitorIndex];
|
final visitorItem = visitor[visitorIndex];
|
||||||
|
final docItem = doc[visitorIndex];
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsetsDirectional.fromSTEB(
|
padding: const EdgeInsetsDirectional.fromSTEB(
|
||||||
0.0, 0.0, 0.0, 1.0),
|
0.0, 0.0, 0.0, 1.0),
|
||||||
|
@ -245,38 +267,6 @@ class _VisitorSearchModalTemplateComponentWidgetState
|
||||||
focusColor: Colors.transparent,
|
focusColor: Colors.transparent,
|
||||||
hoverColor: Colors.transparent,
|
hoverColor: Colors.transparent,
|
||||||
highlightColor: Colors.transparent,
|
highlightColor: Colors.transparent,
|
||||||
onTap: () async {
|
|
||||||
// await showModalBottomSheet(
|
|
||||||
// isScrollControlled: true,
|
|
||||||
// enableDrag: true,
|
|
||||||
// isDismissible: true,
|
|
||||||
// context: context,
|
|
||||||
// builder: (context) {
|
|
||||||
// return Padding(
|
|
||||||
// padding:
|
|
||||||
// MediaQuery.viewInsetsOf(context),
|
|
||||||
// child: SizedBox(
|
|
||||||
// height: 610.0,
|
|
||||||
// child:
|
|
||||||
// VisitorDetailsModalTemplateComponentWidget(
|
|
||||||
// visitorImageURL:
|
|
||||||
// "https://freaccess.com.br/freaccess/getImage.php?devUUID=${FFAppState().devUUID}&userUUID=${FFAppState().userUUID}&cliID=${FFAppState().cliUUID}&atividade=getFoto&Documento=${getJsonField(
|
|
||||||
// visitorItem,
|
|
||||||
// r'''$.VTE_DOCUMENTO''',
|
|
||||||
// ).toString()}&tipo=E",
|
|
||||||
// visitorEmail: '',
|
|
||||||
// visitorName: getJsonField(
|
|
||||||
// visitorItem,
|
|
||||||
// r'''$.VTE_NOME''',
|
|
||||||
// )?.toString(),
|
|
||||||
// visitorPhone: '',
|
|
||||||
// visitorType: '',
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// );
|
|
||||||
// },
|
|
||||||
// ).then((value) => safeSetState(() {}));
|
|
||||||
},
|
|
||||||
child: Container(
|
child: Container(
|
||||||
width: 100.0,
|
width: 100.0,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
|
@ -364,6 +354,7 @@ class _VisitorSearchModalTemplateComponentWidgetState
|
||||||
onPressed: () async {
|
onPressed: () async {
|
||||||
_model.removeFromVisitors(
|
_model.removeFromVisitors(
|
||||||
visitorItem);
|
visitorItem);
|
||||||
|
_model.removeFromDocs(docItem);
|
||||||
safeSetState(() {});
|
safeSetState(() {});
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
@ -487,12 +478,18 @@ class _VisitorSearchModalTemplateComponentWidgetState
|
||||||
PhpGroup.getVisitorByDocCall
|
PhpGroup.getVisitorByDocCall
|
||||||
.vistanteId((_model.getVisitorByDoc?.jsonBody ?? '')) !=
|
.vistanteId((_model.getVisitorByDoc?.jsonBody ?? '')) !=
|
||||||
null) {
|
null) {
|
||||||
_model.addToVisitors(PhpGroup.getVisitorByDocCall.visitante(
|
String newDoc = _model.textController.text;
|
||||||
(_model.getVisitorByDoc?.jsonBody ?? ''),
|
bool existDoc = _model.docs.contains(newDoc);
|
||||||
));
|
if (existDoc == false) {
|
||||||
safeSetState(() {});
|
_model.addToVisitors(PhpGroup.getVisitorByDocCall.visitante(
|
||||||
_model.addToDocs(_model.textController.text);
|
(_model.getVisitorByDoc?.jsonBody ?? ''),
|
||||||
safeSetState(() {});
|
));
|
||||||
|
safeSetState(() {});
|
||||||
|
_model.addToDocs(_model.textController.text);
|
||||||
|
safeSetState(() {});
|
||||||
|
} else if (existDoc == true) {
|
||||||
|
_showErrorSnackbar(context);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
await showAdaptiveDialog(
|
await showAdaptiveDialog(
|
||||||
useSafeArea: true,
|
useSafeArea: true,
|
||||||
|
|
Loading…
Reference in New Issue