Merge branch 'design_3.0_TM_Module' into design_3.0_TM_Module_bug_fixes

design_3.0_task_module_new
WaseemAbbasi22 6 months ago
commit aca081aee5

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 503 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 608 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 283 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

@ -1,50 +0,0 @@
{
"login" : "تسجيل الدخول",
"enterCredsToLogin" : "أدخل بياناتك الخاصة لتسجيل الدخول",
"forgotPassword" : "نسيت كلمة السر؟",
"password": "كلمة السر",
"username" : "اسم المستخدم",
"requiredField" : "الحقل مطلوب",
"passwordLengthMessage" : "يجب أن تتكون كلمة السر من 6 خانات على الأقل",
"overview" : "نظرة عامة",
"myRequests" : "طلباتي",
"myAssets" : "أجهزتي",
"contactUs": "اتصل بنا",
"welcome" : "مرحبا،",
"openWhatsapp" : "الإنتقال الى الواتس اب",
"callUs" : "إتصل بنا",
"liveChat" : "محادثة حية",
"gasRefillRequest" : "طلب إعادة تعبئة غاز",
"transferRequest" : "طلب نقل",
"serviceRequest" : "طلب خدمة",
"newServiceRequest" : "طلب خدمة جديدة",
"search": "بحث",
"filter" : "تصنيف",
"newGasRefillRequest" : "طلب إعادة تعبئة غاز جديد",
"newTransferRequest" : "طلب نقل جديد",
"submitRequest" : "تأكيد الطلب",
"select" : "إختر",
"gasType" : "نوع الغاز",
"quantity" : "الكمية",
"cylinderType" : "نوع الأسطوانة",
"cylinderSize" : "حجم الأسطوانة",
"department" : "القسم",
"httpError" : "خطأ فشل الطلب",
"tryAgain" : "أعد المحاولة",
"destinationSite" : "موقع الوجهة",
"add": "أضف",
"site" : "الموقع",
"onlyNumbers": "يسمح بإدخال الأرقام فقط",
"youHaveToSelect" : "يجب عليك إختيار",
"building" : "المبنى",
"floor" : "الطابق",
"youHaveToAddRequests" : "يجب إضافة طلبات",
"createdSuccessfully" : "إكتمل الطلب بنجاح",
"failedToCompleteRequest" : "فشل إتمام الطلب",
"assetNo" : "رقم الجهاز",
"manufacture" : "صناعة",
"model" : "الطراز",
"serialNumber" : "الرقم التسلسلي",
"device" : "الجهاز",
"pickAsset" : "إختر جهاز"
}

@ -1,50 +0,0 @@
{
"login" : "Login",
"enterCredsToLogin" : "Enter your credential to login",
"forgotPassword" : "Forgot Password?",
"password" : "Password",
"username" : "Username",
"requiredField" : "Required Field",
"passwordLengthMessage" : "Password must has at least 6 characters",
"overview" : "Overview",
"myRequests" : "My Request",
"myAssets" : "My Assets",
"contactUs": "Contact Us",
"welcome" : "Welcome,",
"openWhatsapp" : "Open WhatsApp",
"callUs" : "Call Us",
"liveChat" : "Live Chat",
"gasRefillRequest" : "Gas Refill Request",
"transferRequest" : "Transfer Request",
"serviceRequest" : "Service Request",
"newServiceRequest" : "New Service Request",
"search": "Search",
"filter": "Filter",
"newGasRefillRequest" : "New Gas Refill Request",
"newTransferRequest" : "New Transfer Request",
"submitRequest" : "Submit Request",
"select" : "Select",
"gasType": "Gas Type",
"quantity" : "Quantity",
"cylinderType" : "Cylinder Type",
"cylinderSize" : "Cylinder Size",
"department" : "Department",
"httpError" : "Error Request Failed",
"tryAgain" : "Try Again",
"destinationSite" : "Destination Site",
"add": "Add",
"site" : "Site",
"onlyNumbers": "Only Numbers Allowed",
"youHaveToSelect" : "You have to select",
"building" : "Building",
"floor" : "Floor",
"youHaveToAddRequests" : "You have to add requests",
"createdSuccessfully" : "Created successfully",
"failedToCompleteRequest" : "Failed to complete request",
"assetNo" : "Asset No.",
"manufacture" : "Manufacture",
"model" : "Model",
"serialNumber" : "Serial Number",
"device" : "Device",
"pickAsset" : "Pick Asset"
}

@ -8,6 +8,7 @@ import 'package:test_sa/new_views/pages/land_page/requests/gas_refill_item_view.
import 'package:test_sa/new_views/pages/land_page/requests/ppm_item_view.dart';
import 'package:test_sa/new_views/pages/land_page/requests/recurrent_wo_item_view.dart';
import 'package:test_sa/new_views/pages/land_page/requests/service_request_item_view.dart';
import 'package:test_sa/views/pages/user/tasks_request/task_request_item_view.dart';
class RequestCategoryList extends StatelessWidget {
final List<Data> list;
@ -34,28 +35,49 @@ class RequestCategoryList extends StatelessWidget {
}
Widget _buildRequestItem(Data request) {
bool isServiceRequest = request.transactionNo == 1;
bool isGasRefill = request.transactionNo == 2;
bool isAssetTransfer = request.transactionNo == 3;
bool isPPMs = request.transactionNo == 4;
bool isRecurrentTask = request.transactionNo == 5;
if (isServiceRequest) {
return ServiceRequestItemView(requestData: request);
} else if (isGasRefill) {
return GasRefillItemView(requestData: request);
} else if (isPPMs) {
// bool isServiceRequest = request.transactionNo == 1;
// bool isGasRefill = request.transactionNo == 2;
// bool isAssetTransfer = request.transactionNo == 3;
// bool isPPMs = request.transactionNo == 4;
// bool isRecurrentTask = request.transactionNo == 5;
switch(request.transactionNo){
case 1:
return ServiceRequestItemView(requestData: request);
case 2:
return GasRefillItemView(requestData: request);
case 3:
return AssetItemView(requestData: request);
case 4:
return PpmItemView(requestData: request);
} else if (isAssetTransfer) {
return AssetItemView(requestData: request);
} else if (isRecurrentTask) {
return RecurrentWoItemView(requestData: request);
} else {
return Container(
height: 100,
width: double.infinity,
color: Colors.grey,
);
case 5:
return RecurrentWoItemView(requestData: request);
case 6:
return TaskRequestItemView(requestData: request,);
default:
return Container(
height: 100,
width: double.infinity,
color: Colors.grey,
);
}
// if (isServiceRequest) {
// return ServiceRequestItemView(requestData: request);
// } else if (isGasRefill) {
// return GasRefillItemView(requestData: request);
// } else if (isPPMs) {
// return PpmItemView(requestData: request);
// } else if (isAssetTransfer) {
// return AssetItemView(requestData: request);
// } else if (isRecurrentTask) {
// return RecurrentWoItemView(requestData: request);
// } else {
// return Container(
// height: 100,
// width: double.infinity,
// color: Colors.grey,
// );
// }
}
}

@ -94,15 +94,14 @@ class _TaskRequestDetailsViewState extends State<TaskRequestDetailsView> {
],
),
8.height,
if (taskProvider.taskRequestModel?.taskType?.isInstallation == true) ...[installationWidget(taskModel: taskProvider.taskRequestModel!)],
if (taskProvider.taskRequestModel?.taskType?.isRecallAndAlert == true) ...[
assetDetails(taskModel: taskProvider.taskRequestModel!),
if (taskProvider.taskRequestModel?.taskType?.relatedTo?.value == 1) ...[
assetDetails(taskModel: taskProvider.taskRequestModel!),
],
if (taskProvider.taskRequestModel?.taskType?.isInstallation == true) ...[installationWidget(taskModel: taskProvider.taskRequestModel!)],
if (taskProvider.taskRequestModel?.taskType?.relatedTo?.value == 2) ...[
linkWithLocationWidget(taskModel: taskProvider.taskRequestModel!),
],
8.height,
const Divider().defaultStyle(context),
Text(
"Task Details".addTranslation,
style: AppTextStyles.heading4.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50),
@ -111,8 +110,14 @@ class _TaskRequestDetailsViewState extends State<TaskRequestDetailsView> {
'${context.translation.taskNo}: ${widget.requestDetails?.requestNo ?? "-"}'.bodyText(context),
if (taskProvider.taskRequestModel?.taskType?.isRecallAndAlert == true) ...[
recallAlertTypeWidget(taskModel: taskProvider.taskRequestModel!),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
'Risk Level: ${taskProvider.taskRequestModel?.riskLevel?.name}'.bodyText(context),
'Resource: ${taskProvider.taskRequestModel?.resource?.name}'.bodyText(context)
],
),
],
if (taskProvider.taskRequestModel?.callComment != null) ...[
const Divider().defaultStyle(context),
Text(
@ -150,8 +155,7 @@ class _TaskRequestDetailsViewState extends State<TaskRequestDetailsView> {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
assetDetails(taskModel: taskModel),
const Divider().defaultStyle(context),
const Divider().defaultStyle(context),
Text(
"Site Details".addTranslation,
style: AppTextStyles.heading4.copyWith(color: context.isDark ? AppColor.neutral30 : AppColor.neutral50),
@ -188,7 +192,7 @@ class _TaskRequestDetailsViewState extends State<TaskRequestDetailsView> {
),
'${context.translation.site}: ${taskModel.site?.name ?? "-"}'.bodyText(context),
'${context.translation.building}: ${taskModel.building?.name ?? "-"}'.bodyText(context),
'${context.translation.floor}: ${taskModel.floor?.name?? "-"}'.bodyText(context),
'${context.translation.floor}: ${taskModel.floor?.name ?? "-"}'.bodyText(context),
'${context.translation.department}: ${taskModel.department?.name ?? "-"}'.bodyText(context),
'${context.translation.room}: ${taskModel.room?.name ?? "-"}'.bodyText(context),
],
@ -218,14 +222,7 @@ class _TaskRequestDetailsViewState extends State<TaskRequestDetailsView> {
if (taskModel.typeOfAlert != null) {
switch (taskModel.typeOfAlert!.value) {
case 1:
return Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
'${context.translation.acknowledge}: ${taskModel.isUserAcknowledge ?? "-"}'.bodyText(context),
'Risk Level: ${taskModel.riskLevel?.name}'.bodyText(context),
'Resource: ${taskModel.resource?.name}'.bodyText(context)],
);
return '${context.translation.acknowledge}: ${taskModel.isUserAcknowledge ?? "-"}'.bodyText(context);
case 2:
return Column(
mainAxisSize: MainAxisSize.min,

@ -172,8 +172,9 @@ class _TaskRequestFormState extends State<TaskRequestForm> {
TaskRequestProvider taskRequestProvider = Provider.of<TaskRequestProvider>(context, listen: false);
TaskData? taskModel = taskRequestProvider.taskRequestModel;
taskModel?.statusValue = status;
showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
if (validate(model: taskModel)) {
showDialog(context: context, barrierDismissible: false, builder: (context) => const AppLazyLoading());
List<TaskJobAttachment> attachement = [];
for (var item in _files) {
attachement.add(TaskJobAttachment(id: 0, name: ServiceRequestUtils.isLocalUrl(item.path) ? "${item.path.split("/").last}|${base64Encode(item.readAsBytesSync())}" : item.path));

@ -6,6 +6,7 @@ import 'package:test_sa/extensions/text_extensions.dart';
import 'package:test_sa/extensions/widget_extensions.dart';
import 'package:test_sa/models/all_requests_and_count_model.dart';
import 'package:test_sa/models/device/asset_transfer.dart';
import 'package:test_sa/models/lookup.dart';
import 'package:test_sa/models/new_models/dashboard_detail.dart';
import 'package:test_sa/models/plan_preventive_visit/plan_preventive_visit_model.dart';
import 'package:test_sa/new_views/app_style/app_color.dart';
@ -23,6 +24,58 @@ class TaskRequestItemView extends StatelessWidget {
@override
Widget build(BuildContext context) {
if (requestData != null) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
StatusLabel(
label: requestData!.priorityName!,
textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.priorityName!),
backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.priorityName!),
),
8.width,
StatusLabel(
label: requestData!.statusName!,
textColor: AppColor.getRequestStatusTextColorByName(context, requestData!.statusName!),
backgroundColor: AppColor.getRequestStatusColorByName(context, requestData!.statusName!),
),
1.width.expanded,
Text(
requestData!.transactionDate?.toServiceRequestCardFormat ?? "",
textAlign: TextAlign.end,
style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral50),
),
],
),
8.height,
(requestData?.typeTransaction ?? context.translation.taskRequest).heading5(context),
infoWidget(label: context.translation.requestNo, value: requestData?.requestNo, context: context),
infoWidget(label: context.translation.assetName, value: requestData?.assetName, context: context),
infoWidget(label: context.translation.assetNo, value: requestData?.assetNumber, context: context),
12.height,
Row(
mainAxisSize: MainAxisSize.min,
children: [
Text(
context.translation.viewDetails,
style: AppTextStyles.bodyText.copyWith(color: AppColor.blueStatus(context)),
),
4.width,
Icon(Icons.arrow_forward, color: AppColor.blueStatus(context), size: 14)
],
),
],
).toShadowContainer(context, withShadow: showShadow).onPress(() async {
Navigator.of(context).push(MaterialPageRoute(
builder: (_) => TaskRequestDetailsView(
taskId: requestData!.id!,
requestDetails: RequestsDetails(nameOfType: requestData?.nameOfType, status: requestData?.statusName, priority: requestData?.priorityName, date: requestData?.transactionDate),
)));
});
}
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [

@ -20,7 +20,7 @@ version: 1.2.6+14
environment:
sdk: ">=3.5.0 <4.0.0"
localization_dir: assets\translations
#localization_dir: assets\translations
# Dependencies specify other packages that your package needs in order to work.
# To automatically upgrade your package dependencies to the latest versions
@ -129,7 +129,6 @@ flutter:
- assets/lottie/
- assets/subtitles/
- assets/rives/
- assets/translations/
fonts:
- family: Swiss
fonts:

Loading…
Cancel
Save