Estimate
Estimate module frontend tech documentation
Overview
The Estimate module helps in creating estimates based on projects created. This enables in deciding the Tendering, and Quotation.
The module has 5 associated screens :
Create Estimate
Search Estimate
Edit Estimate
View Estimate
Estimate Inbox
MDMS Configurations
Module Enablement Configuration
Set module code as “Estimate” in Module.js of Estimate Module. Refer to the file CityModule.json
Enable Module in App.js. Update the object ‘enabledModules’. Use the code Estimate. This code should match the code of the cityModule.json, mentioned above.
Role-action Mapping
1
/estimate-service/estimate/v1/_create
9
ESTIMATE_CREATOR
2
/estimate-service/estimate/v1/_search
10
ESTIMATE_CREATOR, ESTIMATE_VERIFIER, TECHNICAL_SANCTIONER
ESTIMATE_APPROVER
ESTIMATE_VIEWER
EMPLOYEE_COMMON
3
/estimate-service/estimate/v1/_update
11
ESTIMATE_VERIFIER, TECHNICAL_SANCTIONER, ESTIMATE_APPROVER
4
/wms/estimate/_search
77
EMPLOYEE_COMMON
5
/pms/project/v1/_search
52
PROJECT_VIEWER
Sidebar Configuration
1
Search Estimate
/works-ui/employee/estimate/search-estimate
dynamic:EstimateIcon
ESTIMATE_VIEWER
2
Estimate Inbox
/works-ui/employee/estimate/inbox
dynamic:EstimateIcon
ESTIMATE_VERIFIER
TECHNICAL_SANCTIONER
ESTIMATE_APPROVER
ESTIMATE_CREATOR
Sample object for a sidebar action defined in MDMS (containing navigationUrl )
Screen Configuration
Localization Configuration & Modules
pg
rainmaker-common
pg
rainmaker-estimate
pg
rainmaker-common-masters
pg
rainmaker-workflow
pg.citya
rainmaker-pg.citya
Workflow Configuration
Business Service name - “mukta-estimate”. Refer to the MDMS file for workflow businessServices names - Workflow
For Workflow related actions, the View screens use two components:
Workflow Actions -> For calling the update API with appropriate workflow action (through the action bar rendered at the bottom of the view screen). This component has all the logic to show actions according to the logged-in user, showing relevant popups and calling the update API to execute an action.
Popups are rendered based on configMap defined in this config file Popup.
Workflow Timeline -> To show the workflow history on View screens.
Customisation
Custom Components used in Estimate:
Document Config -
Based on the document config, respective documents will be rendered on the Create Screen. Please mention the validations, file type limits and file size limits in this config
NonSOR Table - Non-SOR Table
Used in Create Estimate Screen to capture Non-Sor line items.
Overheads Table - Overheads Table
Used in Create Estimate Screen to capture Overhead items.
Total Estimate Amount - Total Estimate Amount
Used in Create Estimate Screen to calculate and render Total Estimate Amount.
UploadFileComposer - Upload File Composer
Used in Create Estimate Screen to render document upload section using Document Config
Labour and Material Analysis- Labour and Material Analysis
Used in Create Estimate screen to capture labour and material costs. The total labour and material costs cannot be greater than the total Estimate Amount.
Create Estimate Screen:
Use the common Utility “PreProcessMDMSConfig”.
Pass the associated dependencies for the config.
The utility will return a config which will run through FormComposer.
Refer to docs for Pre-Process config in Component comments.
UOM and Overheads captured in the create screen are MDMS data.
Inbox / Search Screen:
Use the common utility “preProcessMDMSConfigInboxSearch”.
Pass the associated dependencies for the config.
The utility will return a config which will run through RenderFormFields.
Refer to docs for Pre-Process config in Component comments.
All the Inbox and Search screens throughout the app are rendered using this component Inbox/Search Composer.