Commit 7773cec0 authored by devendra's avatar devendra
Browse files

Feat: 2 lead assessor workflow

1 merge request!3Two lead assessor
Showing with 295 additions and 223 deletions
+295 -223
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "smf-mobile",
"request": "launch",
"type": "dart"
},
{
"name": "smf-mobile (profile mode)",
"request": "launch",
"type": "dart",
"flutterMode": "profile"
},
{
"name": "smf-mobile (release mode)",
"request": "launch",
"type": "dart",
"flutterMode": "release"
}
]
}
\ No newline at end of file
...@@ -50,6 +50,8 @@ ...@@ -50,6 +50,8 @@
"inspetionCompletedOn": "Assessment completed on", "inspetionCompletedOn": "Assessment completed on",
"inspectionSummary": "Assessment Summary", "inspectionSummary": "Assessment Summary",
"leadInspector": "Lead assessor", "leadInspector": "Lead assessor",
"firstLeadAssessor": "First Lead assessor",
"secondLeadAssessor": "Second Lead assessor",
"assistingInspectors": "Assisting assessor", "assistingInspectors": "Assisting assessor",
"iDisagree": "I disagree", "iDisagree": "I disagree",
"iConsent": "I consent", "iConsent": "I consent",
...@@ -68,5 +70,6 @@ ...@@ -68,5 +70,6 @@
"remove": "Remove", "remove": "Remove",
"attachment": "Attachment", "attachment": "Attachment",
"version": "Version", "version": "Version",
"canNotSubmitEmptyForm": "Empty assessment can't be submitted" "canNotSubmitEmptyFormError": "Empty assessment can't be submitted",
"assessmentForAllError": "Assessment is not given for all fields"
} }
\ No newline at end of file
...@@ -7,6 +7,7 @@ class Application { ...@@ -7,6 +7,7 @@ class Application {
final Map dataObject; final Map dataObject;
final List inspectors; final List inspectors;
final List leadInspector; final List leadInspector;
final List assistingInspector; // using it as second lead assessor
final Map inspectorDataObject; final Map inspectorDataObject;
final Map inspectorSummaryDataObject; final Map inspectorSummaryDataObject;
final String inspectionStatus; final String inspectionStatus;
...@@ -23,6 +24,7 @@ class Application { ...@@ -23,6 +24,7 @@ class Application {
required this.dataObject, required this.dataObject,
required this.inspectors, required this.inspectors,
required this.leadInspector, required this.leadInspector,
required this.assistingInspector,
required this.inspectorDataObject, required this.inspectorDataObject,
required this.inspectorSummaryDataObject, required this.inspectorSummaryDataObject,
required this.inspectionStatus, required this.inspectionStatus,
...@@ -43,6 +45,9 @@ class Application { ...@@ -43,6 +45,9 @@ class Application {
json['inspection'] != null ? json['inspection']['assignedTo'] : [], json['inspection'] != null ? json['inspection']['assignedTo'] : [],
leadInspector: leadInspector:
json['inspection'] != null ? json['inspection']['leadInspector'] : [], json['inspection'] != null ? json['inspection']['leadInspector'] : [],
assistingInspector: json['inspection'] != null
? json['inspection']['assistingInspector']
: [],
inspectorDataObject: json['inspectorDataObject'] != null inspectorDataObject: json['inspectorDataObject'] != null
? json['inspectorDataObject']['dataObject'] ? json['inspectorDataObject']['dataObject']
: {}, : {},
...@@ -65,6 +70,7 @@ class Application { ...@@ -65,6 +70,7 @@ class Application {
dataObject, dataObject,
inspectors, inspectors,
leadInspector, leadInspector,
assistingInspector,
inspectorDataObject, inspectorDataObject,
inspectorSummaryDataObject, inspectorSummaryDataObject,
inspectionStatus, inspectionStatus,
......
This diff is collapsed.
...@@ -24,14 +24,14 @@ class InspectionSummaryPage extends StatefulWidget { ...@@ -24,14 +24,14 @@ class InspectionSummaryPage extends StatefulWidget {
final List inspectionFields; final List inspectionFields;
final Map inspectionData; final Map inspectionData;
const InspectionSummaryPage( const InspectionSummaryPage({
{Key? key, Key? key,
required this.formId, required this.formId,
required this.inspectors, required this.inspectors,
required this.leadInspector, required this.leadInspector,
required this.inspectionFields, required this.inspectionFields,
required this.inspectionData}) required this.inspectionData,
: super(key: key); }) : super(key: key);
@override @override
_InspectionSummaryPageState createState() => _InspectionSummaryPageState(); _InspectionSummaryPageState createState() => _InspectionSummaryPageState();
} }
...@@ -40,6 +40,7 @@ class _InspectionSummaryPageState extends State<InspectionSummaryPage> { ...@@ -40,6 +40,7 @@ class _InspectionSummaryPageState extends State<InspectionSummaryPage> {
// Map _source = {ConnectivityResult.none: false}; // Map _source = {ConnectivityResult.none: false};
// final MyConnectivity _connectivity = MyConnectivity.instance; // final MyConnectivity _connectivity = MyConnectivity.instance;
final TextEditingController _summaryController = TextEditingController(); final TextEditingController _summaryController = TextEditingController();
final List<Map> _inspectors = []; final List<Map> _inspectors = [];
int _leadInspectorId = 0; int _leadInspectorId = 0;
bool _iAgree = false; bool _iAgree = false;
...@@ -247,7 +248,7 @@ class _InspectionSummaryPageState extends State<InspectionSummaryPage> { ...@@ -247,7 +248,7 @@ class _InspectionSummaryPageState extends State<InspectionSummaryPage> {
? Container( ? Container(
margin: const EdgeInsets.fromLTRB(20, 10, 20, 15), margin: const EdgeInsets.fromLTRB(20, 10, 20, 15),
child: Text( child: Text(
'Lead assessor', AppLocalizations.of(context)!.firstLeadAssessor,
style: GoogleFonts.lato( style: GoogleFonts.lato(
color: AppColors.black87, color: AppColors.black87,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
...@@ -266,7 +267,7 @@ class _InspectionSummaryPageState extends State<InspectionSummaryPage> { ...@@ -266,7 +267,7 @@ class _InspectionSummaryPageState extends State<InspectionSummaryPage> {
Container( Container(
margin: const EdgeInsets.fromLTRB(20, 10, 20, 15), margin: const EdgeInsets.fromLTRB(20, 10, 20, 15),
child: Text( child: Text(
'Assisting assessor', AppLocalizations.of(context)!.secondLeadAssessor,
style: GoogleFonts.lato( style: GoogleFonts.lato(
color: AppColors.black87, color: AppColors.black87,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
......
...@@ -53,7 +53,9 @@ class _PastApplicationsState extends State<PastApplications> { ...@@ -53,7 +53,9 @@ class _PastApplicationsState extends State<PastApplications> {
itemCount: widget.pastApplications.length, itemCount: widget.pastApplications.length,
itemBuilder: (context, i) { itemBuilder: (context, i) {
return ApplicationCard( return ApplicationCard(
application: widget.pastApplications[i]); application: widget.pastApplications[i],
isPastApplication: true,
);
}, },
), ),
], ],
......
...@@ -12,9 +12,13 @@ class ApplicationCard extends StatefulWidget { ...@@ -12,9 +12,13 @@ class ApplicationCard extends StatefulWidget {
static const route = AppUrl.homePage; static const route = AppUrl.homePage;
final Application application; final Application application;
final bool isUpcomingApplication; final bool isUpcomingApplication;
final bool isPastApplication;
const ApplicationCard( const ApplicationCard(
{Key? key, required this.application, this.isUpcomingApplication = false}) {Key? key,
required this.application,
this.isUpcomingApplication = false,
this.isPastApplication = false})
: super(key: key); : super(key: key);
@override @override
_ApplicationCardState createState() => _ApplicationCardState(); _ApplicationCardState createState() => _ApplicationCardState();
...@@ -49,6 +53,7 @@ class _ApplicationCardState extends State<ApplicationCard> { ...@@ -49,6 +53,7 @@ class _ApplicationCardState extends State<ApplicationCard> {
MaterialPageRoute( MaterialPageRoute(
builder: (context) => ApplicationDetailsPage( builder: (context) => ApplicationDetailsPage(
application: widget.application, application: widget.application,
isPastApplication: widget.isPastApplication,
))); )));
} }
}, },
......
...@@ -61,11 +61,11 @@ class _LeadInspectorApplicationFieldState ...@@ -61,11 +61,11 @@ class _LeadInspectorApplicationFieldState
_data = widget.fieldData[widget.fieldData.keys.elementAt(0)]; _data = widget.fieldData[widget.fieldData.keys.elementAt(0)];
// print('Field: ' + _data.toString()); // print('Field: ' + _data.toString());
_radioValue = _data[_data.keys.elementAt(0)]; _radioValue = _data[_data.keys.elementAt(0)] ?? "";
_summaryText = _data[_data.keys.elementAt(1)]; _summaryText = _data[_data.keys.elementAt(1)] ?? "";
try { try {
_inspectionValue = _data[_data.keys.elementAt(2)]; _inspectionValue = _data[_data.keys.elementAt(2)] ?? "";
_attachment = _data[_data.keys.elementAt(3)]; _attachment = _data[_data.keys.elementAt(3)] ?? "";
} catch (_) { } catch (_) {
return; return;
} }
...@@ -445,23 +445,23 @@ class _LeadInspectorApplicationFieldState ...@@ -445,23 +445,23 @@ class _LeadInspectorApplicationFieldState
InkWell( InkWell(
onTap: () { onTap: () {
// print(_options[i]); // print(_options[i]);
if (widget.applicationStatus != // if (widget.applicationStatus !=
InspectionStatus // InspectionStatus
.inspectionCompleted) { // .inspectionCompleted) {
setState(() { setState(() {
_radioValue = _options[i]; _radioValue = _options[i];
}); });
if (_options[i] == if (_options[i] ==
FieldValue.inCorrect) { FieldValue.inCorrect) {
_displayCommentDialog(); _displayCommentDialog();
}
Map data = {
'summaryText': _summaryText,
'inspectionValue':
_inspectionValue
};
triggerUpdate(data);
} }
Map data = {
'summaryText': _summaryText,
'inspectionValue':
_inspectionValue
};
triggerUpdate(data);
// }
}, },
child: Container( child: Container(
padding: const EdgeInsets.only( padding: const EdgeInsets.only(
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment