You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
3.6 KiB
Dart
96 lines
3.6 KiB
Dart
import 'package:easy_localization/easy_localization.dart';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_svg/svg.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/generated/locale_keys.g.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: const BoxDecoration(
|
|
color: Colors.white,
|
|
borderRadius: BorderRadius.all(Radius.circular(12)),
|
|
boxShadow: [BoxShadow(color: Colors.white60, blurRadius: 10, spreadRadius: 10)],
|
|
),
|
|
clipBehavior: Clip.antiAlias,
|
|
child: (AppState().memberInformationList!.eMPLOYEEIMAGE == null || AppState().memberInformationList!.eMPLOYEEIMAGE!.isEmpty)
|
|
? Container(
|
|
color: Colors.grey[300],
|
|
child: SvgPicture.asset("assets/images/user.svg"),
|
|
)
|
|
: Image.memory(
|
|
Utils.dataFromBase64String(
|
|
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!.eMPLOYEEDISPLAYNAME ?? "").toText16(),
|
|
4.height,
|
|
(showJobName(AppState().memberInformationList!.pOSITIONNAME ?? "")).toText12(isBold: false),
|
|
],
|
|
),
|
|
),
|
|
Image.memory(
|
|
Utils.getPostBytes(AppState().memberInformationList!.employeeQR ?? ""),
|
|
width: 160,
|
|
height: 160,
|
|
),
|
|
DefaultButton(LocaleKeys.close.tr(), () {
|
|
Navigator.pop(context);
|
|
})
|
|
],
|
|
),
|
|
),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
|
|
String showJobName(String position){
|
|
try{
|
|
var p=position.split(".");
|
|
return p[0]+" "+p[1];
|
|
}catch(e){
|
|
return "";
|
|
}
|
|
|
|
}
|
|
}
|