From eafb45afd97db10f858558581df9d6ce392cba72 Mon Sep 17 00:00:00 2001 From: Nipun Arora Date: Fri, 19 Jan 2024 10:28:33 +0530 Subject: [PATCH] Master dev sync 19 (#428) * Sm 3833 (#417) * SM-3883 resolving dso search * SM-3883 WF timeline fixes for comments * SM-3883 WF timeline fixes for comments --------- Co-authored-by: nabeelmd-eGov * SM-3883 dso issue fix * Merge pull request #418 from egovernments/SM-3883 SM-3883 dso issue fix * SM-3833: logout harcoded fix, comment timeline fix * SM-3839: TQM PDF download * SM-3839: TQM PDF download * Merge pull request #423 from egovernments/SM-3833-dev SM-3833: logout harcoded fix, comment timeline fix * SM-3833 reverting core version * Merge pull request #426 from egovernments/SM-3833-dev SM-3833 reverting core version --------- Co-authored-by: nabeelmd-eGov <94039229+nabeelmd-eGov@users.noreply.github.com> Co-authored-by: nabeelmd-eGov --- .../fsm/src/config/Employee/FSMInboxConfig.js | 5 +- .../employee/ApplicationDetails/index.js | 57 +++++-------------- .../employee/FSMRegistry/Vendor/EditVendor.js | 2 +- .../modules/fsm/src/pages/employee/index.js | 8 +-- .../modules/tqm/src/components/TQMSummary.js | 28 ++++++++- .../hooks/services/searchTestResultData.js | 1 + .../tqm/src/hooks/services/viewTestSummary.js | 1 + .../employee/test-results/ViewTestResults.js | 32 ++++++++++- .../src/atoms/SearchComponent.js | 2 +- 9 files changed, 80 insertions(+), 56 deletions(-) diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/config/Employee/FSMInboxConfig.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/config/Employee/FSMInboxConfig.js index f4423f4d508..64d60c13a44 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/config/Employee/FSMInboxConfig.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/config/Employee/FSMInboxConfig.js @@ -156,6 +156,7 @@ export const FSMInboxConfig = { }, filter: { uiConfig: { + formClassName: "filter", type: "filter", headerStyle: null, primaryLabel: "Filter", @@ -164,10 +165,6 @@ export const FSMInboxConfig = { defaultValues: { status: "", locality: [], - assignee: { - code: "ASSIGNED_TO_ME", - name: "ASSIGNED_TO_ME", - }, }, fields: [ // { diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/index.js index ceb835d567b..c6059bce746 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/ApplicationDetails/index.js @@ -53,26 +53,10 @@ const ApplicationDetails = (props) => { const { data: paymentsHistory } = Digit.Hooks.fsm.usePaymentHistory(tenantId, applicationNumber); - const { isLoading, isError, data: applicationDetails, error } = Digit.Hooks.fsm.useApplicationDetail( - t, - tenantId, - applicationNumber, - {}, - props.userType - ); - const { isLoading: isDataLoading, isSuccess, data: applicationData } = Digit.Hooks.fsm.useSearch( - tenantId, - { applicationNos: applicationNumber }, - { staleTime: Infinity } - ); + const { isLoading, isError, data: applicationDetails, error } = Digit.Hooks.fsm.useApplicationDetail(t, tenantId, applicationNumber, {}, props.userType); + const { isLoading: isDataLoading, isSuccess, data: applicationData } = Digit.Hooks.fsm.useSearch(tenantId, { applicationNos: applicationNumber }, { staleTime: Infinity }); - const { - isLoading: updatingApplication, - isError: updateApplicationError, - data: updateResponse, - error: updateError, - mutate, - } = Digit.Hooks.fsm.useApplicationActions(tenantId); + const { isLoading: updatingApplication, isError: updateApplicationError, data: updateResponse, error: updateError, mutate } = Digit.Hooks.fsm.useApplicationActions(tenantId); const workflowDetails = Digit.Hooks.useWorkflowDetails({ tenantId: applicationDetails?.tenantId || tenantId, @@ -84,9 +68,7 @@ const ApplicationDetails = (props) => { ? "PAY_LATER_SERVICE" : applicationData?.advanceAmount > 0 ? "FSM_ADVANCE_PAY_SERVICE" - : applicationData?.paymentPreference === null && - applicationData?.additionalDetails?.tripAmount === 0 && - applicationData?.advanceAmount === null + : applicationData?.paymentPreference === null && applicationData?.additionalDetails?.tripAmount === 0 && applicationData?.advanceAmount === null ? "FSM_ZERO_PAY_SERVICE" : "FSM", role: DSO ? "FSM_DSO" : "FSM_EMPLOYEE", @@ -187,7 +169,8 @@ const ApplicationDetails = (props) => { checkpoint.status === "PENDING_APPL_FEE_PAYMENT" || checkpoint.status === "DSO_REJECTED" || checkpoint.status === "CANCELED" || - checkpoint.status === "REJECTED" + checkpoint.status === "REJECTED" || + (checkpoint.status === "PENDING_DSO_APPROVAL" && checkpoint.performedAction === "SENDBACK") ) { const caption = { date: checkpoint?.auditDetails?.created, @@ -294,7 +277,7 @@ const ApplicationDetails = (props) => { optionsClassName={"employee-options-btn-className"} options={dowloadOptions} displayOptions={isDisplayDownloadMenu} - setShowOptions = {()=>{}} + setShowOptions={() => {}} // displayOptions={showOptions} // options={dowloadOptions} /> @@ -361,9 +344,7 @@ const ApplicationDetails = (props) => { {(workflowDetails?.isLoading || isDataLoading) && } {!workflowDetails?.isLoading && !isDataLoading && ( - - {t("ES_APPLICATION_DETAILS_APPLICATION_TIMELINE")} - + {t("ES_APPLICATION_DETAILS_APPLICATION_TIMELINE")} {workflowDetails?.data?.timeline && workflowDetails?.data?.timeline?.length === 1 ? ( { onClose={closeToast} /> )} - {!workflowDetails?.isLoading && - workflowDetails?.data?.nextActions?.length === 1 && - workflowDetails?.data?.nextActions?.[0]?.action !== "RATE" && ( - - onActionSelect(workflowDetails?.data?.nextActions[0].action)} - /> - - )} + {!workflowDetails?.isLoading && workflowDetails?.data?.nextActions?.length === 1 && workflowDetails?.data?.nextActions?.[0]?.action !== "RATE" && ( + + onActionSelect(workflowDetails?.data?.nextActions[0].action)} /> + + )} {!workflowDetails?.isLoading && workflowDetails?.data?.nextActions?.length > 1 && ( {displayMenu && workflowDetails?.data?.nextActions ? ( - action.action)} - t={t} - onSelect={onActionSelect} - /> + action.action)} t={t} onSelect={onActionSelect} /> ) : null} setDisplayMenu(!displayMenu)} /> diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/EditVendor.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/EditVendor.js index b3faed65ab8..ba06ce45a31 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/EditVendor.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/FSMRegistry/Vendor/EditVendor.js @@ -14,6 +14,7 @@ const EditVendor = ({ parentUrl, heading }) => { const [defaultValues, setDefaultValues] = useState({}); const [dsoDetails, setDsoDetails] = useState({}); const queryClient = useQueryClient(); + const { t } = useTranslation(); const [mutationHappened, setMutationHappened, clear] = Digit.Hooks.useSessionStorage("FSM_MUTATION_HAPPENED", false); const [errorInfo, setErrorInfo, clearError] = Digit.Hooks.useSessionStorage("FSM_ERROR_DATA", false); @@ -74,7 +75,6 @@ const EditVendor = ({ parentUrl, heading }) => { } }, [dsoData]); - const { t } = useTranslation(); const history = useHistory(); const Config = VendorConfig(t, true); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/index.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/index.js index 31229d62693..d63cc8c4a7a 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/index.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/fsm/src/pages/employee/index.js @@ -102,17 +102,17 @@ export const FsmBreadCrumb = ({ location }) => { { content: t("ES_TITLE_APPLICATION_DETAILS"), show: isApplicationDetails }, { content: t("ES_TITLE_VEHICLE_LOG"), show: isVehicleLog }, { - path: `/${window?.contextPath}/employee/fsm/registry/vendor-details/` + id, + path: isVendorDetails ? null : `/${window?.contextPath}/employee/fsm/registry/vendor-details/` + id, content: t("ES_TITLE_VENDOR_DETAILS"), show: isRegistry && (isVendorDetails || isVendorEdit), }, { - path: `/${window?.contextPath}/employee/fsm/registry/vehicle-details/` + id, + path: isVehicleDetails ? null : `/${window?.contextPath}/employee/fsm/registry/vehicle-details/` + id, content: t("ES_TITLE_VEHICLE_DETAILS"), show: isRegistry && (isVehicleDetails || isVehicleEdit), }, { - path: `/${window?.contextPath}/employee/fsm/registry/driver-details/` + id, + path: isDriverDetails ? null : `/${window?.contextPath}/employee/fsm/registry/driver-details/` + id, content: t("ES_TITLE_DRIVER_DETAILS"), show: isRegistry && (isDriverDetails || isDriverEdit), }, @@ -299,4 +299,4 @@ const EmployeeApp = ({ path, url, userType }) => { ); }; -export default EmployeeApp; \ No newline at end of file +export default EmployeeApp; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/components/TQMSummary.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/components/TQMSummary.js index 4f915253180..5f7c3027860 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/components/TQMSummary.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/components/TQMSummary.js @@ -1,7 +1,7 @@ import React, { useEffect, useState } from "react"; import { useTranslation } from "react-i18next"; import { Link, useHistory } from "react-router-dom"; -import { Header, Loader, Toast, ViewComposer } from "@egovernments/digit-ui-react-components"; +import { Header, Loader, MultiLink, Toast, ViewComposer } from "@egovernments/digit-ui-react-components"; const TQMSummary = () => { const { t } = useTranslation(); @@ -52,6 +52,7 @@ const TQMSummary = () => { } : {}, ], + isWorkflowComplete: data?.workflowStatus?.processInstances?.[0]?.state?.isTerminateState, }), }; @@ -65,10 +66,35 @@ const TQMSummary = () => { history.goBack(); } + const handleDownloadPdf = async () => { + try { + const respo = await Digit.CustomService.getResponse({ + url: "/pqm-service/v1/_downloadPdf", + params: { + testId: id, + }, + }); + if (respo?.filestoreIds?.[0]) { + const pdfDownload = await Digit.UploadServices.Filefetch(respo?.filestoreIds, tenantId); + window.open(pdfDownload?.data?.fileStoreIds?.[0]?.url, "_blank"); + } + } catch (err) { + console.error(err); + } + }; + return (
{t("ES_TQM_SUMMARY_HEADING")}
+ {testData?.isWorkflowComplete ? ( + + ) : null}
{!isLoading && } diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/hooks/services/searchTestResultData.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/hooks/services/searchTestResultData.js index 2e42c1f2358..2d93fc5333b 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/hooks/services/searchTestResultData.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/hooks/services/searchTestResultData.js @@ -247,5 +247,6 @@ export const searchTestResultData = async ({ t, id, type, tenantId }) => { : null, wfStatus: testResponse?.wfStatus, testResponse, + workflowStatus: workflowData }; }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/hooks/services/viewTestSummary.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/hooks/services/viewTestSummary.js index f02111de46a..99b6a0481c0 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/hooks/services/viewTestSummary.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/hooks/services/viewTestSummary.js @@ -80,5 +80,6 @@ export const viewTestSummary = async ({ tenantId, t, id }) => { } : null, testResponse: testResponse, + workflowStatus: workflowData }; }; diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/pages/employee/test-results/ViewTestResults.js b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/pages/employee/test-results/ViewTestResults.js index 74c1d87011c..781912a303c 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/pages/employee/test-results/ViewTestResults.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/modules/tqm/src/pages/employee/test-results/ViewTestResults.js @@ -1,5 +1,5 @@ import React, { Fragment } from "react"; -import { ViewComposer, Header, Loader } from "@egovernments/digit-ui-react-components"; +import { ViewComposer, Header, Loader, MultiLink } from "@egovernments/digit-ui-react-components"; import { useTranslation } from "react-i18next"; import { useLocation } from "react-router-dom"; @@ -94,19 +94,47 @@ function ViewTestResults() { ], }, ], + isWorkflowComplete: data?.workflowStatus?.processInstances?.[0]?.state?.isTerminateState, }), staleTime: 0, cacheTime: 0, }, }); + const handleDownloadPdf = async () => { + try { + const respo = await Digit.CustomService.getResponse({ + url: "/pqm-service/v1/_downloadPdf", + params: { + testId: id, + }, + }); + if (respo?.filestoreIds?.[0]) { + const pdfDownload = await Digit.UploadServices.Filefetch(respo?.filestoreIds, tenantId); + window.open(pdfDownload?.data?.fileStoreIds?.[0]?.url, "_blank"); + } + } catch (err) { + console.error(err); + } + }; + if (isLoading) { return ; } return ( <> -
{t("ES_TQM_TEST_RESULTS_DETAILS_HEADER")}
+
+
{t("ES_TQM_TEST_RESULTS_DETAILS_HEADER")}
+ {testData?.isWorkflowComplete ? ( + + ) : null} +
{!isLoading && } ); diff --git a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/SearchComponent.js b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/SearchComponent.js index 80e6f20dac2..9be74780a11 100644 --- a/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/SearchComponent.js +++ b/frontend/micro-ui/web/micro-ui-internals/packages/react-components/src/atoms/SearchComponent.js @@ -136,7 +136,7 @@ const SearchComponent = ({ uiConfig, header = "", screenType = "search", fullCon
checkKeyDown(e)}>
{uiConfig?.showFormInstruction &&

{t(uiConfig?.showFormInstruction)}

} -
+
activeLink?.name === uiConf.uiConfig.navLink)?.[0]?.uiConfig?.fields : uiConfig?.fields}