Erweiterungen
This commit is contained in:
1 parent
c604dc9d55
commit
31fe4c5a06
20 files changed
+1804
-654
No files matched your search
@@ -1,9 +1,10 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:isar/isar.dart';
|
||||
import 'package:kumi_popup_window/kumi_popup_window.dart';
|
||||
import 'package:stadtbote/content_views/tour_list_page.dart';
|
||||
import 'package:stadtbote/content_views/utils/content_view_widget.dart';
|
||||
import 'package:stadtbote/content_views/utils/header_info.dart';
|
||||
import 'package:stadtbote/messages/PopContentViewMessage.dart';
|
||||
@@ -64,8 +65,6 @@ class _TaskListPageState extends State<TaskListPage> {
|
||||
|
||||
late List<TaskInfo> _taskList;
|
||||
|
||||
late KumiPopupWindow _popup;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
Future.delayed(const Duration(seconds: 0), () async {
|
||||
@@ -244,9 +243,12 @@ class _TaskListPageState extends State<TaskListPage> {
|
||||
}
|
||||
|
||||
_processTaskArrivedOrFinished(TaskInfo taskInfo) {
|
||||
_popup = showTaskArrivedPopup(context, taskInfo, () {
|
||||
showTaskArrivedPopup(context, taskInfo, () {
|
||||
DateFormat dateFormat = DateFormat("dd.MM.yyyy HH:mm");
|
||||
|
||||
var answer = _createAnswerHeader(taskInfo);
|
||||
|
||||
taskInfo.answer = jsonEncode(answer.toJson());
|
||||
taskInfo.additionalText = dateFormat.format(DateTime.now());
|
||||
taskInfo.completed = true;
|
||||
|
||||
@@ -255,34 +257,38 @@ class _TaskListPageState extends State<TaskListPage> {
|
||||
setState(() {});
|
||||
|
||||
_finishTaskProcessing(taskInfo);
|
||||
|
||||
_popup.dismiss(context);
|
||||
});
|
||||
}
|
||||
|
||||
_processCommissionNumber(TaskInfo taskInfo) {
|
||||
_popup = showComissionNumberPopup(context, taskInfo, (comissionNumber) {
|
||||
showComissionNumberPopup(context, taskInfo, (comissionNumber) {
|
||||
var answer = _createAnswerHeader(taskInfo);
|
||||
answer.val = comissionNumber;
|
||||
|
||||
taskInfo.answer = jsonEncode(answer.toJson());
|
||||
taskInfo.additionalText = comissionNumber;
|
||||
taskInfo.completed = true;
|
||||
|
||||
setState(() {});
|
||||
|
||||
_finishTaskProcessing(taskInfo);
|
||||
|
||||
_popup.dismiss(context);
|
||||
});
|
||||
}
|
||||
|
||||
_processScanBarcodes(TaskInfo taskInfo) {
|
||||
_popup = showScanBarcodesPopup(context, taskInfo, (List<String> barcodes) {
|
||||
showScanBarcodesPopup(context, taskInfo, (List<String> barcodes) {
|
||||
var answer = _createAnswerHeader(taskInfo);
|
||||
answer.codes = [];
|
||||
for(var barcode in barcodes) {
|
||||
answer.codes!.add(barcode);
|
||||
}
|
||||
|
||||
taskInfo.additionalText = "Barcodes gescannt";
|
||||
taskInfo.completed = true;
|
||||
|
||||
setState(() {});
|
||||
|
||||
_finishTaskProcessing(taskInfo);
|
||||
|
||||
_popup.dismiss(context);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -298,10 +304,11 @@ class _TaskListPageState extends State<TaskListPage> {
|
||||
}
|
||||
|
||||
void _processStationNotice(TaskInfo taskInfo) {
|
||||
_popup = showStationNoticePopup(context, taskInfo, (notice) {
|
||||
_popup.dismiss(context);
|
||||
showStationNoticePopup(context, taskInfo, (notice) {
|
||||
var answer = _createAnswerHeader(taskInfo);
|
||||
answer.val = notice;
|
||||
|
||||
taskInfo.additionalText = notice;
|
||||
taskInfo.answer = jsonEncode(answer.toJson());
|
||||
taskInfo.completed = true;
|
||||
|
||||
_finishTaskProcessing(taskInfo);
|
||||
@@ -311,22 +318,28 @@ class _TaskListPageState extends State<TaskListPage> {
|
||||
}
|
||||
|
||||
void _processReceiptGiver(TaskInfo taskInfo) {
|
||||
_popup = showReceiptGiverPopup(context, taskInfo, (receiptGiver) {
|
||||
showReceiptGiverPopup(context, taskInfo, (receiptGiver) {
|
||||
var answer = _createAnswerHeader(taskInfo);
|
||||
answer.val = receiptGiver;
|
||||
|
||||
taskInfo.answer = jsonEncode(answer.toJson());
|
||||
taskInfo.additionalText = receiptGiver;
|
||||
taskInfo.completed = true;
|
||||
|
||||
setState(() {});
|
||||
|
||||
_finishTaskProcessing(taskInfo);
|
||||
|
||||
_popup.dismiss(context);
|
||||
});
|
||||
}
|
||||
|
||||
void _processPickupDeliveryStatusTask(TaskInfo taskInfo) {
|
||||
Future.delayed(const Duration(seconds: 1), () async {
|
||||
showPickupDeliveryStatusPopup(context, taskInfo, (tourEntry) {
|
||||
taskInfo.additionalText = tourEntry!.text;
|
||||
var answer = _createAnswerHeader(taskInfo);
|
||||
answer.code = tourEntry!.code;
|
||||
|
||||
taskInfo.answer = jsonEncode(answer.toJson());
|
||||
taskInfo.additionalText = tourEntry.text;
|
||||
taskInfo.completed = true;
|
||||
|
||||
_finishTaskProcessing(taskInfo);
|
||||
@@ -341,6 +354,10 @@ class _TaskListPageState extends State<TaskListPage> {
|
||||
|
||||
Future.delayed(const Duration(seconds: 1), () async {
|
||||
showSignaturePopup(context, taskInfo, () {
|
||||
var answer = _createAnswerHeader(taskInfo);
|
||||
answer.sign = 'A110';
|
||||
|
||||
taskInfo.answer = jsonEncode(answer.toJson());
|
||||
taskInfo.completed = true;
|
||||
|
||||
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
|
||||
@@ -395,6 +412,22 @@ class _TaskListPageState extends State<TaskListPage> {
|
||||
MqttCore.instance.publishPayloadMessage("job", finTaskMessage.toJson());
|
||||
}
|
||||
|
||||
FinTourTask _createAnswerHeader(TaskInfo taskInfo) {
|
||||
var position = MyApp.currentPosition;
|
||||
|
||||
var finTourTask = FinTourTask();
|
||||
finTourTask.sId = taskInfo.task.sId;
|
||||
finTourTask.time = DateTime.now().toIso8601String();
|
||||
finTourTask.pos = FinTaskPos();
|
||||
if (position != null) {
|
||||
finTourTask.pos.lat = position.latitude;
|
||||
finTourTask.pos.long = position.longitude;
|
||||
finTourTask.pos.acc = position.accuracy.toInt();
|
||||
}
|
||||
|
||||
return finTourTask;
|
||||
}
|
||||
|
||||
_sendFinTourMessage() async {
|
||||
var finTourMessage = FinTourMessage();
|
||||
finTourMessage.finTour = FinTour();
|
||||
@@ -412,20 +445,17 @@ class _TaskListPageState extends State<TaskListPage> {
|
||||
|
||||
finTourMessage.finTour.tasks = [];
|
||||
for(var taskInfo in _taskList) {
|
||||
var finTourTask = FinTourTask();
|
||||
finTourTask.sId = taskInfo.task.sId;
|
||||
finTourTask.time = DateTime.now().toIso8601String();
|
||||
finTourTask.pos = FinTaskPos();
|
||||
finTourTask.pos.lat = 0;
|
||||
finTourTask.pos.long = 0;
|
||||
if (taskInfo.answer != null) {
|
||||
var finTourTask = FinTourTask.fromJson(jsonDecode(taskInfo.answer!));
|
||||
|
||||
finTourMessage.finTour.tasks.add(finTourTask);
|
||||
finTourMessage.finTour.tasks.add(finTourTask);
|
||||
}
|
||||
}
|
||||
|
||||
MqttCore.instance.publishPayloadMessage("job", finTourMessage.toJson());
|
||||
MqttCore.instance.publishPayloadMessage("fin_tour", finTourMessage.toJson());
|
||||
|
||||
widget.tour.state = 9;
|
||||
await MyApp.isarInstance.writeTxn(() async {
|
||||
widget.tour.state = Constants.stateFinishedNotConfirmed;
|
||||
await MyApp.isarInstance.writeTxn(() async {
|
||||
await MyApp.isarInstance.jobs.put(widget.job);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user