Merge branch 'development_mirza' into 'master'
Development mirza See merge request mirza.shafique/mohem_flutter_app!41merge-requests/1/merge
commit
5bdd7bb71f
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
@ -0,0 +1,113 @@
|
||||
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 64 64" style="enable-background:new 0 0 64 64;" xml:space="preserve">
|
||||
<g>
|
||||
<rect x="38" y="23" width="2" height="5"/>
|
||||
<rect x="42" y="23" width="2" height="5"/>
|
||||
<rect x="38" y="30" width="2" height="2"/>
|
||||
<rect x="42" y="30" width="2" height="2"/>
|
||||
<rect x="31" y="34" width="2" height="2"/>
|
||||
<rect x="26" y="54" width="2" height="2"/>
|
||||
<rect x="42" y="34" width="2" height="2"/>
|
||||
<rect x="38" y="38" width="2" height="2"/>
|
||||
<rect x="42" y="38" width="2" height="2"/>
|
||||
<path d="M2,2h3V0H1C0.448,0,0,0.448,0,1v4h2V2z"/>
|
||||
<path d="M63,0h-4v2h3v3h2V1C64,0.448,63.552,0,63,0z"/>
|
||||
<path d="M2,59H0v4c0,0.552,0.448,1,1,1h4v-2H2V59z"/>
|
||||
<path d="M62,62h-3v2h4c0.552,0,1-0.448,1-1v-4h-2V62z"/>
|
||||
<path d="M4,5v12c0,0.552,0.448,1,1,1h12c0.552,0,1-0.448,1-1V5c0-0.552-0.448-1-1-1H5C4.448,4,4,4.448,4,5z M6,6h10v10H6V6z"/>
|
||||
<path d="M13,8H9C8.448,8,8,8.448,8,9v4c0,0.552,0.448,1,1,1h4c0.552,0,1-0.448,1-1V9C14,8.448,13.552,8,13,8z M12,12h-2v-2h2V12z"
|
||||
/>
|
||||
<path d="M47,18h12c0.552,0,1-0.448,1-1V5c0-0.552-0.448-1-1-1H47c-0.552,0-1,0.448-1,1v12C46,17.552,46.448,18,47,18z M48,6h10v10
|
||||
H48V6z"/>
|
||||
<path d="M55,8h-4c-0.552,0-1,0.448-1,1v4c0,0.552,0.448,1,1,1h4c0.552,0,1-0.448,1-1V9C56,8.448,55.552,8,55,8z M54,12h-2v-2h2V12z
|
||||
"/>
|
||||
<path d="M17,46H5c-0.552,0-1,0.448-1,1v12c0,0.552,0.448,1,1,1h12c0.552,0,1-0.448,1-1V47C18,46.448,17.552,46,17,46z M16,58H6V48
|
||||
h10V58z"/>
|
||||
<path d="M9,56h4c0.552,0,1-0.448,1-1v-4c0-0.552-0.448-1-1-1H9c-0.552,0-1,0.448-1,1v4C8,55.552,8.448,56,9,56z M10,52h2v2h-2V52z"
|
||||
/>
|
||||
<path d="M44,19h-7V7h-2v13c0,0.552,0.448,1,1,1h8V19z"/>
|
||||
<rect x="22" y="12" width="7" height="2"/>
|
||||
<rect x="26" y="8" width="7" height="2"/>
|
||||
<rect x="4" y="19" width="2" height="9"/>
|
||||
<path d="M18,25H8v2h9v4h2v-5C19,25.448,18.552,25,18,25z"/>
|
||||
<rect x="9" y="20" width="2" height="2"/>
|
||||
<rect x="21" y="18" width="2" height="8"/>
|
||||
<rect x="21" y="28" width="9" height="2"/>
|
||||
<path d="M61,29h-2v10h-3v2h4c0.552,0,1-0.448,1-1V29z"/>
|
||||
<rect x="26" y="18" width="2" height="2"/>
|
||||
<rect x="4" y="33" width="2" height="8"/>
|
||||
<rect x="4" y="42" width="9" height="2"/>
|
||||
<path d="M50,28h2v-4c0-0.552-0.448-1-1-1h-5v2h4V28z"/>
|
||||
<rect x="9" y="33" width="2" height="2"/>
|
||||
<rect x="20" y="32" width="2" height="8"/>
|
||||
<rect x="20" y="42" width="9" height="2"/>
|
||||
<rect x="8" y="38" width="9" height="2"/>
|
||||
<rect x="21" y="52" width="2" height="4"/>
|
||||
<rect x="20" y="48" width="9" height="2"/>
|
||||
<path d="M36,44v-5c0-0.552-0.448-1-1-1H25v2h9v4H36z"/>
|
||||
<rect x="26" y="32" width="2" height="2"/>
|
||||
<rect x="15" y="34" width="2" height="2"/>
|
||||
<rect x="59" y="53" width="2" height="7"/>
|
||||
<rect x="54" y="58" width="3" height="2"/>
|
||||
<rect x="54" y="52" width="2" height="4"/>
|
||||
<path d="M61,44c0-0.552-0.448-1-1-1H49v2h10v6h2V44z"/>
|
||||
<path d="M48,56v-5c0-0.552-0.448-1-1-1H36v2h10v4H48z"/>
|
||||
<rect x="50" y="47" width="7" height="2"/>
|
||||
<rect x="20" y="58" width="7" height="2"/>
|
||||
<rect x="30" y="51" width="2" height="9"/>
|
||||
<rect x="32" y="46" width="4" height="2"/>
|
||||
<path d="M47,36h5v-2h-4v-6h-2v7C46,35.552,46.448,36,47,36z"/>
|
||||
<rect x="50" y="30" width="5" height="2"/>
|
||||
<rect x="54" y="20" width="3" height="2"/>
|
||||
<rect x="59" y="20" width="2" height="5"/>
|
||||
<rect x="54" y="25" width="2" height="2"/>
|
||||
<path d="M39,17h4c0.552,0,1-0.448,1-1V3h-2v12h-3V17z"/>
|
||||
<path d="M24,5h15V3H23c-0.552,0-1,0.448-1,1v5h2V5z"/>
|
||||
<path d="M25,24h7c0.552,0,1-0.448,1-1v-8h-2v7h-6V24z"/>
|
||||
<rect x="34" y="23" width="2" height="4"/>
|
||||
<rect x="36" y="54" width="7" height="2"/>
|
||||
<rect x="36" y="58" width="9" height="2"/>
|
||||
<path d="M50,58h-2v2h3c0.552,0,1-0.448,1-1v-8h-2V58z"/>
|
||||
<rect x="16" y="42" width="2" height="2"/>
|
||||
<rect x="39" y="42" width="4" height="2"/>
|
||||
<rect x="46" y="38" width="2" height="3"/>
|
||||
<rect x="45" y="43" width="2" height="2"/>
|
||||
<rect x="39" y="46" width="3" height="2"/>
|
||||
<rect x="50" y="38" width="2" height="2"/>
|
||||
<rect x="54" y="34" width="3" height="2"/>
|
||||
<rect x="35" y="34" width="5" height="2"/>
|
||||
<rect x="34" y="29" width="2" height="3"/>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
<g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.3 KiB |
Binary file not shown.
After Width: | Height: | Size: 634 KiB |
@ -0,0 +1,67 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
|
||||
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
|
||||
|
||||
import 'package:mohem_flutter_app/app_state/app_state.dart';
|
||||
import 'package:mohem_flutter_app/classes/utils.dart';
|
||||
|
||||
class BusinessCardDialog extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return RotatedBox(
|
||||
quarterTurns: 1,
|
||||
child: Container(
|
||||
width: MediaQuery.of(context).size.height / 2,
|
||||
color: Colors.white,
|
||||
margin: EdgeInsets.all(20),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
Row(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
Expanded(
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
Image.asset(
|
||||
"assets/images/logos/bn_cloud_soloution.jpg",
|
||||
width: 80,
|
||||
height: 80,
|
||||
),
|
||||
12.height,
|
||||
(AppState().memberInformationList!.eMPLOYEENAME ?? "").toText20(),
|
||||
],
|
||||
),
|
||||
),
|
||||
Image.memory(
|
||||
Utils.getPostBytes(AppState().memberInformationList!.businessCardQR ?? ""),
|
||||
width: 100,
|
||||
height: 100,
|
||||
),
|
||||
],
|
||||
),
|
||||
Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
children: [
|
||||
1.height,
|
||||
(AppState().memberInformationList!.pOSITIONNAME ?? "").toText12(isBold: false),
|
||||
12.height,
|
||||
(AppState().memberInformationList!.eMPLOYEENUMBER ?? "").toText12(isBold: false),
|
||||
1.height,
|
||||
(AppState().memberInformationList!.eMPLOYEEEMAILADDRESS ?? "").toText12(isBold: false),
|
||||
1.height,
|
||||
(AppState().memberInformationList!.jOBNAME ?? "").toText12(isBold: false),
|
||||
],
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,77 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:mohem_flutter_app/app_state/app_state.dart';
|
||||
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
|
||||
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
|
||||
import 'package:mohem_flutter_app/widgets/button/default_button.dart';
|
||||
import 'package:qr_flutter/qr_flutter.dart';
|
||||
|
||||
import 'package:mohem_flutter_app/classes/utils.dart';
|
||||
import 'package:mohem_flutter_app/main.dart';
|
||||
|
||||
class EmployeeDigitialIdDialog extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
width: double.infinity,
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
children: [
|
||||
Image.asset("assets/images/bn_logo.png"),
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(20.0),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
Container(
|
||||
width: 80,
|
||||
height: 80,
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.white,
|
||||
borderRadius: const BorderRadius.all(Radius.circular(12)),
|
||||
boxShadow: [BoxShadow(color: Colors.white60, blurRadius: 10, spreadRadius: 10)],
|
||||
),
|
||||
clipBehavior: Clip.antiAlias,
|
||||
child: Image.memory(
|
||||
Utils.getPostBytes(
|
||||
AppState().memberInformationList!.eMPLOYEEIMAGE ?? "",
|
||||
),
|
||||
fit: BoxFit.cover,
|
||||
),
|
||||
),
|
||||
16.width,
|
||||
(AppState().memberInformationList!.eMPLOYEENUMBER ?? "").toText20(),
|
||||
],
|
||||
),
|
||||
Container(
|
||||
width: double.infinity,
|
||||
child: Column(
|
||||
mainAxisAlignment: MainAxisAlignment.start,
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
12.height,
|
||||
(AppState().memberInformationList!.eMPLOYEENAME ?? "").toText16(),
|
||||
4.height,
|
||||
(AppState().memberInformationList!.pOSITIONNAME ?? "").toText12(isBold: false),
|
||||
],
|
||||
),
|
||||
),
|
||||
Image.memory(
|
||||
Utils.getPostBytes(AppState().memberInformationList!.employeeQR ?? ""),
|
||||
width: 160,
|
||||
height: 160,
|
||||
),
|
||||
DefaultButton("Cancel", () {
|
||||
Navigator.pop(context);
|
||||
})
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
void showMDialog(
|
||||
context, {
|
||||
Widget? child,
|
||||
}) async {
|
||||
return showDialog(
|
||||
context: context,
|
||||
barrierDismissible: true,
|
||||
builder: (context) {
|
||||
return Dialog(
|
||||
child: child,
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:qr_code_scanner/qr_code_scanner.dart';
|
||||
|
||||
import 'package:mohem_flutter_app/widgets/button/default_button.dart';
|
||||
|
||||
class QrScannerDialog extends StatefulWidget {
|
||||
@override
|
||||
State<QrScannerDialog> createState() => _QrScannerDialogState();
|
||||
}
|
||||
|
||||
class _QrScannerDialogState extends State<QrScannerDialog> {
|
||||
final GlobalKey qrKey = GlobalKey(debugLabel: 'QR');
|
||||
Barcode? result;
|
||||
QRViewController? controller;
|
||||
bool isPicked = false;
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
body: Container(
|
||||
width: double.infinity,
|
||||
height: double.infinity,
|
||||
color: Colors.white,
|
||||
child: Column(
|
||||
children: [
|
||||
Expanded(
|
||||
flex: 1,
|
||||
child: QRView(
|
||||
key: qrKey,
|
||||
onQRViewCreated: _onQRViewCreated,
|
||||
),
|
||||
),
|
||||
// Expanded(
|
||||
// flex: 1,
|
||||
// child: Center(
|
||||
// child: (result != null)
|
||||
// ? Text(
|
||||
// 'Barcode Type: ${result!.format} Data: ${result!.code}')
|
||||
// : Text('Scan a code'),
|
||||
// ),
|
||||
// ),
|
||||
Padding(
|
||||
padding: const EdgeInsets.all(12.0),
|
||||
child: DefaultButton(
|
||||
"Cancel",
|
||||
() {
|
||||
Navigator.pop(context);
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
void _onQRViewCreated(QRViewController controller) {
|
||||
this.controller = controller;
|
||||
|
||||
controller.scannedDataStream.listen((scanData) {
|
||||
setState(() {
|
||||
result = scanData;
|
||||
if (!isPicked) {
|
||||
isPicked = true;
|
||||
Navigator.pop(context, result!.code);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
controller?.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue