123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- import 'dart:io';
- import 'package:easy_localization/easy_localization.dart';
- import 'package:flutter/cupertino.dart';
- import 'package:open_file/open_file.dart';
- import 'package:telnow_mobile_new/src/api/api_auth_provider.dart';
- import 'package:telnow_mobile_new/src/api/jwt_token.dart';
- import 'package:telnow_mobile_new/src/layouts/components/template.dart';
- import 'package:telnow_mobile_new/src/utils/U.dart';
- import 'package:translator/translator.dart';
- class DetailFunction{
- final ApiAuthProvider apiAuthProvider = ApiAuthProvider();
- final JwtToken token = JwtToken();
- final translator = GoogleTranslator();
- Future getMission(BuildContext context, list) async{
- var userData = await token.getUserData(context);
- var data = list;
- if (data['datetimeScheduled'] != null && data['datetimeScheduled'] != '' && data['noteFormat'] == 'DATE') {
- var date = data['datetimeScheduled'];
- data['datetimeScheduled'] = DateFormat('dd MMM yyyy HH:mm', 'id').format(DateTime.parse(date));
- }
- data['noteStartTranslate'] = '';
- data['noteFinishTranslate'] = '';
- data['noteCompleteTranslate'] = '';
- data['noteCancelTranslate'] = '';
- var locale = context.locale.toString() == 'zh' ? 'zh-cn' : context.locale.toString();
- if (data['noteStart'] == 'transferNoteBySystem'){
- data['noteStart'] = 'transferNoteBySystem'.tr();
- } else if (data['noteStart'] == 'escalationNoteBySystem'){
- data['noteStart'] = 'escalationNoteBySystem'.tr();
- } else{
- if(U.autoTranslate() && data['noteStart'] != null && data['noteStart'] != ''){
- var translate = await translator.translate(data['noteStart'], to: locale);
- data['noteStartTranslate'] = translate.text;
- }
- }
- if(U.autoTranslate() && data['noteFinish'] != null && data['noteFinish'] != ''){
- var translate = await translator.translate(data['noteFinish'], to: locale);
- data['noteFinishTranslate'] = translate.text;
- }
- if(U.autoTranslate() && data['noteComplete'] != null && data['noteComplete'] != ''){
- var translate = await translator.translate(data['noteComplete'], to: locale);
- data['noteCompleteTranslate'] = translate.text;
- }
- if(U.autoTranslate() && data['noteCancel'] != null && data['noteCancel'] != ''){
- var translate = await translator.translate(data['noteCancel'], to: locale);
- data['noteCancelTranslate'] = translate.text;
- }
- data['_collaboratorDataFilter'] = data['_collaboratorData'].where((el) => el['status'] == 'ACCEPTED').toList();
- return {
- 'user': userData,
- 'list': data
- };
- }
- openAttachment(list) async{
- var filePath = await token.getPath()+'/TelNow/Files/';
- if(!File(filePath+getFileName(list['responseAttachment'])).existsSync()){
- // print("file isnot ready yet");
- await apiAuthProvider.downloadImage(list['responseAttachment'], filePath+getFileName(list['responseAttachment']));
- }
- await OpenFile.open(filePath+getFileName(list['responseAttachment']));
- }
- getFileName(pdfUrl){
- var imgSplit = pdfUrl.toString().split('/');
- return imgSplit[imgSplit.length-1];
- }
- cancelRequest(BuildContext context, list, controllerNote){
- var note = controllerNote.text.trim();
- if (note.length > 128) {
- showError(context, 'noteLongAlert'.tr());
- }
- else{
- dialogConfirm(context: context, title: 'buttonCancel'.tr(), text: 'confirmCancel'.tr(), actionYes: ()async{
- showLoading(context);
- var data = {
- 'note': controllerNote.text.trim(),
- };
- var res = await apiAuthProvider.postData('/api/requestHistories/search/request/cancel/'+list['ticketNo'], null, data, context);
- if(res != null){
- closeLoading(context);
- navigateBack(context, exc: true);
- }
- else{
- closeLoading(context);
- }
- });
- }
- }
- }
|