flutter-freaccess-hub/lib/pages/liberation_history/liberation_history_widget.dart

681 lines
45 KiB
Dart

// import '/backend/api_requests/api_calls.dart';
// import '/components/templates_components/visit_details_modal_template_component/visit_details_modal_template_component_widget.dart';
// import '/flutter_flow/flutter_flow_theme.dart';
// import '/flutter_flow/flutter_flow_util.dart';
// import '/flutter_flow/custom_functions.dart' as functions;
// import 'package:cached_network_image/cached_network_image.dart';
// import 'package:flutter/material.dart';
// import 'package:flutter_spinkit/flutter_spinkit.dart';
// import 'package:google_fonts/google_fonts.dart';
// import 'package:provider/provider.dart';
// import 'liberation_history_model.dart';
// export 'liberation_history_model.dart';
// class LiberationHistoryWidget extends StatefulWidget {
// const LiberationHistoryWidget({super.key});
// @override
// State<LiberationHistoryWidget> createState() =>
// _LiberationHistoryWidgetState();
// }
// class _LiberationHistoryWidgetState extends State<LiberationHistoryWidget> {
// late LiberationHistoryModel _model;
// final scaffoldKey = GlobalKey<ScaffoldState>();
// @override
// void initState() {
// super.initState();
// _model = createModel(context, () => LiberationHistoryModel());
// _model.textController ??= TextEditingController();
// _model.textFieldFocusNode ??= FocusNode();
// }
// @override
// void dispose() {
// _model.dispose();
// super.dispose();
// }
// @override
// Widget build(BuildContext context) {
// context.watch<FFAppState>();
// return GestureDetector(
// onTap: () => _model.unfocusNode.canRequestFocus
// ? FocusScope.of(context).requestFocus(_model.unfocusNode)
// : FocusScope.of(context).unfocus(),
// child: Scaffold(
// key: scaffoldKey,
// backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
// body: SafeArea(
// top: true,
// child: Column(
// mainAxisSize: MainAxisSize.max,
// mainAxisAlignment: MainAxisAlignment.start,
// children: [
// Container(
// width: double.infinity,
// height: 100.0,
// decoration: BoxDecoration(
// color: FlutterFlowTheme.of(context).secondaryBackground,
// ),
// alignment: const AlignmentDirectional(0.0, -1.0),
// child: Padding(
// padding: const EdgeInsetsDirectional.fromSTEB(8.0, 0.0, 8.0, 0.0),
// child: TextFormField(
// controller: _model.textController,
// focusNode: _model.textFieldFocusNode,
// autofocus: true,
// obscureText: false,
// decoration: InputDecoration(
// labelText: FFLocalizations.of(context).getText(
// 'dy0mx15f' /* Label here... */,
// ),
// labelStyle: FlutterFlowTheme.of(context)
// .labelMedium
// .override(
// fontFamily:
// FlutterFlowTheme.of(context).labelMediumFamily,
// letterSpacing: 0.0,
// useGoogleFonts: GoogleFonts.asMap().containsKey(
// FlutterFlowTheme.of(context).labelMediumFamily),
// ),
// hintStyle: FlutterFlowTheme.of(context)
// .labelMedium
// .override(
// fontFamily:
// FlutterFlowTheme.of(context).labelMediumFamily,
// letterSpacing: 0.0,
// useGoogleFonts: GoogleFonts.asMap().containsKey(
// FlutterFlowTheme.of(context).labelMediumFamily),
// ),
// enabledBorder: UnderlineInputBorder(
// borderSide: BorderSide(
// color: FlutterFlowTheme.of(context).alternate,
// width: 2.0,
// ),
// borderRadius: BorderRadius.circular(8.0),
// ),
// focusedBorder: UnderlineInputBorder(
// borderSide: BorderSide(
// color: FlutterFlowTheme.of(context).primary,
// width: 2.0,
// ),
// borderRadius: BorderRadius.circular(8.0),
// ),
// errorBorder: UnderlineInputBorder(
// borderSide: BorderSide(
// color: FlutterFlowTheme.of(context).error,
// width: 2.0,
// ),
// borderRadius: BorderRadius.circular(8.0),
// ),
// focusedErrorBorder: UnderlineInputBorder(
// borderSide: BorderSide(
// color: FlutterFlowTheme.of(context).error,
// width: 2.0,
// ),
// borderRadius: BorderRadius.circular(8.0),
// ),
// prefixIcon: const Icon(
// Icons.search_sharp,
// ),
// ),
// style: FlutterFlowTheme.of(context).bodyMedium.override(
// fontFamily:
// FlutterFlowTheme.of(context).bodyMediumFamily,
// letterSpacing: 0.0,
// useGoogleFonts: GoogleFonts.asMap().containsKey(
// FlutterFlowTheme.of(context).bodyMediumFamily),
// ),
// validator:
// _model.textControllerValidator.asValidator(context),
// ),
// ),
// ),
// Expanded(
// child: Container(
// width: double.infinity,
// height: double.infinity,
// decoration: const BoxDecoration(),
// child: FutureBuilder<ApiCallResponse>(
// future: PhpGroup.getVisitsCall.call(
// devUUID: FFAppState().devUUID,
// userUUID: FFAppState().userUUID,
// cliID: FFAppState().cliUUID,
// atividade: 'getVisitas',
// ),
// builder: (context, snapshot) {
// // Customize what your widget looks like when it's loading.
// if (!snapshot.hasData) {
// return Center(
// child: SizedBox(
// width: 50.0,
// height: 50.0,
// child: SpinKitCircle(
// color: FlutterFlowTheme.of(context).primary,
// size: 50.0,
// ),
// ),
// );
// }
// final wrapGetVisitsResponse = snapshot.data!;
// return Builder(
// builder: (context) {
// final visitaWrap = PhpGroup.getVisitsCall
// .visitasList(
// wrapGetVisitsResponse.jsonBody,
// )
// ?.toList() ??
// [];
// return Wrap(
// spacing: 2.0,
// runSpacing: 1.0,
// alignment: WrapAlignment.start,
// crossAxisAlignment: WrapCrossAlignment.start,
// direction: Axis.horizontal,
// runAlignment: WrapAlignment.start,
// verticalDirection: VerticalDirection.down,
// clipBehavior: Clip.none,
// children: List.generate(visitaWrap.length,
// (visitaWrapIndex) {
// final visitaWrapItem =
// visitaWrap[visitaWrapIndex];
// return Align(
// alignment: const AlignmentDirectional(0.0, 0.0),
// child: InkWell(
// splashColor: Colors.transparent,
// focusColor: Colors.transparent,
// hoverColor: Colors.transparent,
// highlightColor: Colors.transparent,
// onTap: () async {
// await showModalBottomSheet(
// isScrollControlled: true,
// backgroundColor: Colors.transparent,
// enableDrag: false,
// useSafeArea: true,
// context: context,
// builder: (context) {
// return GestureDetector(
// onTap: () => _model
// .unfocusNode.canRequestFocus
// ? FocusScope.of(context)
// .requestFocus(
// _model.unfocusNode)
// : FocusScope.of(context)
// .unfocus(),
// child: Padding(
// padding: MediaQuery.viewInsetsOf(
// context),
// child:
// VisitDetailsModalTemplateComponentWidget(
// visitStatusStr: getJsonField(
// visitaWrapItem,
// r'''$.VAW_STATUS''',
// ).toString(),
// visitStartDateStr: getJsonField(
// visitaWrapItem,
// r'''$.VAW_DTINICIO''',
// ).toString(),
// visitEndDateStr: getJsonField(
// visitaWrapItem,
// r'''$.VAW_DTFIM''',
// ).toString(),
// visitReasonStr: getJsonField(
// visitaWrapItem,
// r'''$.MOT_DESCRICAO''',
// ).toString(),
// visitLevelStr: getJsonField(
// visitaWrapItem,
// r'''$.NAC_DESCRICAO''',
// ).toString(),
// visitTempStr: getJsonField(
// visitaWrapItem,
// r'''$.VTE_UNICA''',
// ).toString(),
// visitObsStr: getJsonField(
// visitaWrapItem,
// r'''$.VAW_OBS''',
// ).toString(),
// visitorImgPath:
// valueOrDefault<String>(
// 'https://freaccess.com.br/freaccess/getImage.php?devUUID=${FFAppState().devUUID}&userUUID=${FFAppState().userUUID}&cliID=${FFAppState().cliUUID}&atividade=getFoto&Documento=${getJsonField(
// visitaWrapItem,
// r'''$.VTE_DOCUMENTO''',
// ).toString()}&tipo=E',
// 'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/7ftdetkzc3s0/360_F_64676383_LdbmhiNM6Ypzb3FM4PPuFP9rHe7ri8Ju.jpg',
// ),
// visitorStrList: getJsonField(
// visitaWrapItem,
// r'''$.VTE_DOCUMENTO''',
// ).toString(),
// visitIdStr: getJsonField(
// visitaWrapItem,
// r'''$.VAW_ID''',
// ).toString(),
// visitorJsonList: PhpGroup
// .getVisitsCall
// .visitasList(
// wrapGetVisitsResponse.jsonBody,
// ),
// updateToggleIdx: () async {},
// repeatVisitSchedule: () async {},
// ),
// ),
// );
// },
// ).then((value) => safeSetState(() {}));
// },
// child: Card(
// clipBehavior: Clip.antiAliasWithSaveLayer,
// color: FlutterFlowTheme.of(context)
// .secondaryBackground,
// elevation: 5.0,
// shape: RoundedRectangleBorder(
// borderRadius: BorderRadius.circular(8.0),
// ),
// child: Container(
// width: 350.0,
// height: 115.0,
// decoration: BoxDecoration(
// color: FlutterFlowTheme.of(context)
// .secondaryBackground,
// ),
// child: Row(
// mainAxisSize: MainAxisSize.max,
// mainAxisAlignment:
// MainAxisAlignment.spaceBetween,
// children: [
// Expanded(
// child: Container(
// width: 100.0,
// height: 100.0,
// decoration: const BoxDecoration(),
// child: Column(
// mainAxisSize: MainAxisSize.max,
// children: [
// Row(
// mainAxisSize:
// MainAxisSize.max,
// children: [
// Text(
// FFLocalizations.of(
// context)
// .getText(
// 'f77je6tr' /* Visitante: */,
// ),
// style:
// FlutterFlowTheme.of(
// context)
// .bodyMedium
// .override(
// fontFamily: FlutterFlowTheme.of(
// context)
// .bodyMediumFamily,
// fontSize:
// 12.5,
// letterSpacing:
// 0.0,
// fontWeight:
// FontWeight
// .bold,
// useGoogleFonts: GoogleFonts
// .asMap()
// .containsKey(
// FlutterFlowTheme.of(context)
// .bodyMediumFamily),
// ),
// ),
// Align(
// alignment:
// const AlignmentDirectional(
// -1.0, -1.0),
// child: Text(
// getJsonField(
// visitaWrapItem,
// r'''$.VTE_NOME''',
// ).toString(),
// style: FlutterFlowTheme
// .of(context)
// .bodyMedium
// .override(
// fontFamily: FlutterFlowTheme.of(
// context)
// .bodyMediumFamily,
// fontSize: 12.5,
// letterSpacing:
// 0.0,
// useGoogleFonts: GoogleFonts
// .asMap()
// .containsKey(
// FlutterFlowTheme.of(context)
// .bodyMediumFamily),
// ),
// ),
// ),
// ].addToStart(
// const SizedBox(width: 10.0)),
// ),
// Row(
// mainAxisSize:
// MainAxisSize.max,
// mainAxisAlignment:
// MainAxisAlignment.start,
// children: [
// Text(
// FFLocalizations.of(
// context)
// .getText(
// 'dkzewokx' /* Início em: */,
// ),
// style:
// FlutterFlowTheme.of(
// context)
// .bodyMedium
// .override(
// fontFamily: FlutterFlowTheme.of(
// context)
// .bodyMediumFamily,
// fontSize:
// 12.5,
// letterSpacing:
// 0.0,
// fontWeight:
// FontWeight
// .bold,
// useGoogleFonts: GoogleFonts
// .asMap()
// .containsKey(
// FlutterFlowTheme.of(context)
// .bodyMediumFamily),
// ),
// ),
// Text(
// getJsonField(
// visitaWrapItem,
// r'''$.VAW_DTINICIO''',
// ).toString(),
// style:
// FlutterFlowTheme.of(
// context)
// .bodyMedium
// .override(
// fontFamily: FlutterFlowTheme.of(
// context)
// .bodyMediumFamily,
// fontSize:
// 12.5,
// letterSpacing:
// 0.0,
// useGoogleFonts: GoogleFonts
// .asMap()
// .containsKey(
// FlutterFlowTheme.of(context)
// .bodyMediumFamily),
// ),
// ),
// ].addToStart(
// const SizedBox(width: 10.0)),
// ),
// Row(
// mainAxisSize:
// MainAxisSize.max,
// mainAxisAlignment:
// MainAxisAlignment.start,
// children: [
// Text(
// FFLocalizations.of(
// context)
// .getText(
// 'qi4mjhtw' /* Fim em: */,
// ),
// style:
// FlutterFlowTheme.of(
// context)
// .bodyMedium
// .override(
// fontFamily: FlutterFlowTheme.of(
// context)
// .bodyMediumFamily,
// fontSize:
// 12.5,
// letterSpacing:
// 0.0,
// fontWeight:
// FontWeight
// .bold,
// useGoogleFonts: GoogleFonts
// .asMap()
// .containsKey(
// FlutterFlowTheme.of(context)
// .bodyMediumFamily),
// ),
// ),
// Text(
// getJsonField(
// visitaWrapItem,
// r'''$.VAW_DTFIM''',
// ).toString(),
// style:
// FlutterFlowTheme.of(
// context)
// .bodyMedium
// .override(
// fontFamily: FlutterFlowTheme.of(
// context)
// .bodyMediumFamily,
// fontSize:
// 12.5,
// letterSpacing:
// 0.0,
// useGoogleFonts: GoogleFonts
// .asMap()
// .containsKey(
// FlutterFlowTheme.of(context)
// .bodyMediumFamily),
// ),
// ),
// ].addToStart(
// const SizedBox(width: 10.0)),
// ),
// Align(
// alignment:
// const AlignmentDirectional(
// -1.0, 0.0),
// child: Padding(
// padding:
// const EdgeInsetsDirectional
// .fromSTEB(
// 10.0,
// 0.0,
// 0.0,
// 0.0),
// child: Container(
// width: 200.0,
// height: 27.0,
// decoration:
// BoxDecoration(
// color: valueOrDefault<
// Color>(
// () {
// if (functions
// .jsonToStr(
// getJsonField(
// visitaWrapItem,
// r'''$.VAW_STATUS''',
// )) ==
// '\"A\"') {
// return FlutterFlowTheme.of(
// context)
// .success;
// } else if (functions
// .jsonToStr(
// getJsonField(
// visitaWrapItem,
// r'''$.VAW_STATUS''',
// )) ==
// '\"C\"') {
// return FlutterFlowTheme.of(
// context)
// .error;
// } else if (functions
// .jsonToStr(
// getJsonField(
// visitaWrapItem,
// r'''$.VAW_STATUS''',
// )) ==
// '\"I\"') {
// return FlutterFlowTheme.of(
// context)
// .warning;
// } else {
// return FlutterFlowTheme.of(
// context)
// .primary;
// }
// }(),
// FlutterFlowTheme.of(
// context)
// .primary,
// ),
// borderRadius:
// BorderRadius
// .circular(
// 5.0),
// ),
// child: Align(
// alignment:
// const AlignmentDirectional(
// 0.0, 0.0),
// child: Text(
// () {
// if (functions
// .jsonToStr(
// getJsonField(
// visitaWrapItem,
// r'''$.VAW_STATUS''',
// )) ==
// '\"A\"') {
// return FFLocalizations.of(
// context)
// .getVariableText(
// ptText:
// 'Ativo',
// enText:
// 'Active',
// );
// } else if ((functions
// .jsonToStr(
// getJsonField(
// visitaWrapItem,
// r'''$.VAW_STATUS''',
// )) ==
// '\"F\"') ||
// (functions.jsonToStr(
// getJsonField(
// visitaWrapItem,
// r'''$.VAW_STATUS''',
// )) ==
// '\"C\"') ||
// (functions.jsonToStr(
// getJsonField(
// visitaWrapItem,
// r'''$.VAW_STATUS''',
// )) ==
// '\"B\"') ||
// (functions.jsonToStr(
// getJsonField(
// visitaWrapItem,
// r'''$.VAW_STATUS''',
// )) ==
// '\"I\"')) {
// return FFLocalizations.of(
// context)
// .getVariableText(
// ptText:
// 'Cancelado',
// enText:
// 'Canceled',
// );
// } else {
// return FFLocalizations.of(
// context)
// .getVariableText(
// ptText:
// 'Pendente',
// enText:
// 'Pending',
// );
// }
// }(),
// style: FlutterFlowTheme
// .of(context)
// .bodyMedium
// .override(
// fontFamily: FlutterFlowTheme.of(
// context)
// .bodyMediumFamily,
// color: FlutterFlowTheme.of(
// context)
// .info,
// letterSpacing:
// 0.0,
// useGoogleFonts: GoogleFonts
// .asMap()
// .containsKey(
// FlutterFlowTheme.of(context)
// .bodyMediumFamily),
// ),
// ),
// ),
// ),
// ),
// ),
// ].divide(const SizedBox(height: 3.0)),
// ),
// ),
// ),
// ClipRRect(
// borderRadius:
// BorderRadius.circular(0.0),
// child: CachedNetworkImage(
// fadeInDuration:
// const Duration(milliseconds: 500),
// fadeOutDuration:
// const Duration(milliseconds: 500),
// imageUrl: valueOrDefault<String>(
// 'https://freaccess.com.br/freaccess/getImage.php?devUUID=${FFAppState().devUUID}&userUUID=${FFAppState().userUUID}&cliID=${FFAppState().cliUUID}&atividade=getFoto&Documento=${getJsonField(
// visitaWrapItem,
// r'''$.VTE_DOCUMENTO''',
// ).toString()}&tipo=E',
// 'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/7ftdetkzc3s0/360_F_64676383_LdbmhiNM6Ypzb3FM4PPuFP9rHe7ri8Ju.jpg',
// ),
// fit: BoxFit.cover,
// ),
// ),
// ],
// ),
// ),
// ),
// ),
// );
// }),
// );
// },
// );
// },
// ),
// ),
// ),
// ].addToStart(const SizedBox(height: 30.0)),
// ),
// ),
// ),
// );
// }
// }