102 lines
3.3 KiB
Dart
102 lines
3.3 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:queue_mgr/backend/DataManager.dart';
|
|
import 'package:queue_mgr/backend/Dialogs.dart';
|
|
|
|
class ScanningPage extends StatefulWidget {
|
|
ScanningPage({super.key,required this.id});
|
|
String id;
|
|
@override
|
|
State<ScanningPage> createState() => _ScanningPageState();
|
|
}
|
|
|
|
class _ScanningPageState extends State<ScanningPage> {
|
|
int tokenID = 0;
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
Map<String, dynamic> service = DataManager.instance().GetServiceById(widget.id.toString());
|
|
|
|
return Scaffold(
|
|
appBar: AppBar(title: Text("${service['name']} - Scan Mode"),),
|
|
body: Padding(
|
|
padding: const EdgeInsets.all(18.0),
|
|
child: Column(
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
children: [
|
|
Column(
|
|
children: [
|
|
Row(
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
children: [
|
|
Icon(Icons.token),
|
|
Text(" Token ID"),
|
|
],
|
|
),
|
|
Text(tokenID.toString(),style: TextStyle(fontSize: 65),),
|
|
|
|
LimitedBox(
|
|
maxWidth: 300,
|
|
child: Padding(
|
|
padding: const EdgeInsets.symmetric(horizontal: 30.0),
|
|
child: GridView.count(crossAxisCount: 3,shrinkWrap: true,children: List.generate(9, (index){
|
|
return Padding(
|
|
padding: const EdgeInsets.all(8.0),
|
|
child: ElevatedButton(onPressed: (){OnButton(index+1);}, child: Text((index+1).toString(),style: TextStyle(fontSize: 20),)),
|
|
);
|
|
}),),
|
|
),
|
|
),
|
|
Container(
|
|
height:95,
|
|
width: 135,
|
|
padding: const EdgeInsets.symmetric(horizontal: 30.0,vertical: 10),
|
|
child: ElevatedButton(onPressed: (){OnButton(0);}, child: Text("0",style: TextStyle(fontSize: 20))),
|
|
)
|
|
|
|
],
|
|
),
|
|
Row(
|
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
|
children: [
|
|
ElevatedButton(onPressed: (){
|
|
tokenID=0;
|
|
setState(() {
|
|
|
|
});
|
|
}, child: Padding(
|
|
padding: const EdgeInsets.all(18.0),
|
|
child: Text("Clear",style: TextStyle(fontSize: 15)),
|
|
),),
|
|
ElevatedButton(onPressed: () async{
|
|
Dialogs.waiting(context);
|
|
String result = await DataManager.instance().CompleteService(widget.id, tokenID);
|
|
tokenID=0;
|
|
setState(() {
|
|
|
|
});
|
|
Dialogs.hide(context);
|
|
|
|
if(result == "0"){
|
|
//success
|
|
}else{
|
|
Dialogs.showAlertDialog(context, "Error", result);
|
|
}
|
|
}, child: Padding(
|
|
padding: const EdgeInsets.all(18.0),
|
|
child: Text("Complete",style: TextStyle(fontSize: 15)),
|
|
))
|
|
],
|
|
)
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
|
|
void OnButton(int num){
|
|
tokenID = int.parse(tokenID.toString() + num.toString());
|
|
setState(() {
|
|
|
|
});
|
|
}
|
|
}
|