14625 submission ui portal

This commit is contained in:
2025-04-02 18:08:07 +01:00
parent 9a44e36ceb
commit ac1c127548
4 changed files with 669 additions and 5 deletions
+1 -1
View File
@@ -82,7 +82,7 @@ export const getSelectQuery = (appealTypeName) => {
return "&$select=pinswg_eiarequired,pinswg_anticipatedgridreferenceeastingtext,pinswg_anticipatedgridreferencenorthingtext,_pinswg_appellant_value,pinswg_name,pinswg_addressline1,pinswg_addressline2,pinswg_postcode,pinswg_addresstown,_pinswg_associatedlpa_value,pinswg_addresscounty,pinswg_applicationacceptedasvalid,pinswg_applicationrejectedasinvalid,pinswg_choiceofprocedure,pinswg_confirmrequesttovaryapplication,pinswg_dateeventrequested,pinswg_dateofdecision,pinswg_dateofrequesttovarytheapplication,pinswg_dateofsubmissionofapplication,pinswg_dateprojectpublishedonwebsite,pinswg_deadlineforsubmissionofapplication,pinswg_endofrepresentationperiod,pinswg_inspectorreportsubmittedtowelshgovernment,pinswg_procedureconfirmed,pinswg_projectdescription,pinswg_projectlocation,pinswg_recommendation,pinswg_rejectrequesttovaryapplication,pinswg_reportdueby,pinswg_suspensiondates,pinswg_suspensionenddates,pinswg_suspensionstartdate,pinswg_validnoticeofintentiontosubmitanapplicati,pinswg_webaddress,pinswg_withdrawndate,pinswg_writtenacceptanceofnotification,statuscode,pinswg_casestage,pinswg_startdateofevent,pinswg_typeofevent";
case "pinswg_sipses":
// return "&$select=pinswg_anticipatedgridreferenceeastingtext,pinswg_anticipatedgridreferencenorthingtext,_pinswg_appellant_value,pinswg_name,pinswg_addressline1,pinswg_addressline2,pinswg_postcode,pinswg_addresstown,_pinswg_associatedlpa_value,pinswg_addresscounty,pinswg_applicationacceptedasvalid,pinswg_applicationrejectedasinvalid,pinswg_choiceofprocedure,pinswg_confirmrequesttovaryapplication,pinswg_dateeventrequested,pinswg_dateofdecision,pinswg_dateofrequesttovarytheapplication,pinswg_dateofsubmissionofapplication,pinswg_dateprojectpublishedonwebsite,pinswg_deadlineforsubmissionofapplication,pinswg_decision,pinswg_endofrepresentationperiod,pinswg_inspectorreportsubmittedtowelshgovernment,pinswg_procedureconfirmed,pinswg_projectdescription,pinswg_projectlocation,pinswg_recommendation,pinswg_rejectrequesttovaryapplication,pinswg_reportdueby,pinswg_suspensiondates,pinswg_suspensionenddates,pinswg_suspensionstartdates,pinswg_validnoticeofintentiontosubmitanapplicati,pinswg_webaddress,pinswg_withdrawndate,pinswg_writtenacceptanceofnotification,statuscode,pinswg_casestage,_pinswg_dnsids_value,pinswg_startdateofevent,pinswg_typeofevent";
return "&$select=_pinswg_projecttype_value,pinswg_eiarequired,pinswg_anticipatedgridrefeasting,pinswg_anticipatedgridrefnorthing,_pinswg_appellant_value,pinswg_name,_pinswg_associatedlpa_value,pinswg_choiceofprocedure,pinswg_decision,pinswg_projectdescription,pinswg_projectlocation,pinswg_recommendation,statuscode,pinswg_casestage,_pinswg_sipscase_value,pinswg_writtenacceptanceofnotification,pinswg_validnoticeofintentiontosubmit,pinswg_deadlineforsubmissionofapplication,pinswg_screeningstartdate,pinswg_eiatargetdate,pinswg_targetextended,pinswg_directionissueddate,pinswg_eiarequired,pinswg_scopingstartdate,pinswg_scopingtargetdate,pinswg_scopingtargetextended,pinswg_scopingoutcomeissueddate";
return "&$select=_pinswg_projecttype_value,pinswg_eiarequired,pinswg_anticipatedgridrefeasting,pinswg_anticipatedgridrefnorthing,_pinswg_appellant_value,pinswg_name,_pinswg_associatedlpa_value,pinswg_choiceofprocedure,pinswg_decision,pinswg_projectdescription,pinswg_projectlocation,pinswg_recommendation,statuscode,pinswg_casestage,_pinswg_sipscase_value,pinswg_writtenacceptanceofnotification,pinswg_validnoticeofintentiontosubmit,pinswg_deadlineforsubmissionofapplication,pinswg_screeningstartdate,pinswg_eiatargetdate,pinswg_targetextended,pinswg_directionissueddate,pinswg_eiarequired,pinswg_scopingstartdate,pinswg_scopingtargetdate,pinswg_scopingtargetextended,pinswg_scopingoutcomeissueddate,pinswg_essubmitted,pinswg_deemedmarinelicenseappliedfor,pinswg_validationdeadlineextension,pinswg_casesuspensionstartdate,pinswg_casesuspensionenddate";
break;
default:
return "";
+221
View File
@@ -0,0 +1,221 @@
import { setEventDetails } from "../../store/searchOutput/action";
import { setCurrentPage } from "../../store/currentView/action";
import { connect } from "react-redux";
import useTranslation from "next-translate/useTranslation";
import { formatDates } from "../utils";
const EIADetails = (props) => {
let { t } = useTranslation();
const EventView = (eventsArr) => {
eventsArr = eventsArr.value;
return eventsArr.map((item, key) => {
<div>{item.pinswg_name}</div>;
});
};
const eventsArr = props.eventsObj?.value || [];
// event publishiing flag set to true displa
function hasOwnPropertyAndNotNull(obj, property) {
return obj.hasOwnProperty(property) && obj[property] !== null;
}
//console.log(eventsArr.length > 0);
return (
eventsArr.length > 0 && (
<div className="govuk-grid-row">
<div className="card">
<div className="card-body">
<h2 className="govuk-heading-m ">
{t("case:event-title")}
</h2>
{eventsArr.map(
(item, key) =>
item.pinswg_eventpublishflag && (
<>
{" "}
<div className="eventContainer">
<div className="eventColumn">
<div>
<b>
{" "}
{t(
"case:event-name-label"
)}
</b>
: {item.pinswg_name}
</div>
{hasOwnPropertyAndNotNull(
item,
"pinswg_eventname"
) && (
<div>
<b>
{t(
"case:event-event-name-label"
)}
</b>
:{" "}
{item.pinswg_eventname}
</div>
)}
</div>
<div className="eventColumn">
{hasOwnPropertyAndNotNull(
item,
"pinswg_eventaddressline1"
) && (
<>
<div>
<b>
{t(
"case:event-address-label"
)}
</b>
:
</div>
<div>
{
item.pinswg_eventaddressline1
}
</div>
</>
)}
{hasOwnPropertyAndNotNull(
item,
"pinswg_eventaddressline2"
) && (
<div>
{
item.pinswg_eventaddressline2
}
</div>
)}
{hasOwnPropertyAndNotNull(
item,
"pinswg_eventaddresstown"
) && (
<div>
{
item.pinswg_eventaddresstown
}
</div>
)}
{hasOwnPropertyAndNotNull(
item,
"pinswg_eventaddresscounty"
) && (
<div>
{
item.pinswg_eventaddresscounty
}
</div>
)}
{hasOwnPropertyAndNotNull(
item,
"pinswg_eventaddresscounty"
) && (
<div>
{
item.pinswg_eventaddresspostcode
}
</div>
)}
</div>
{/* type of event
start date date of event - end date of event
if virtual event no address showNoOfRecords
show event address */}
<div className="eventColumn">
{hasOwnPropertyAndNotNull(
item,
"pinswg_dateeventrequested"
) && (
<div>
<b>
{t(
"case:event-start-date-label"
)}
</b>
:{" "}
{formatDates(
item.pinswg_dateeventrequested
)}
</div>
)}
{hasOwnPropertyAndNotNull(
item,
"pinswg_enddateoftheevent"
) && (
<div>
<b>
{t(
"case:event-end-date-label"
)}
</b>
:{" "}
{item.pinswg_enddateoftheevent !=
null &&
formatDates(
item.pinswg_enddateoftheevent
)}
</div>
)}
</div>
<div className="eventColumn">
{hasOwnPropertyAndNotNull(
item,
[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue",
]
) && (
<div>
<b>
{t(
"case:event-type-of-event-label"
)}
</b>
:{" "}
{
item[
"pinswg_typeofevent@OData.Community.Display.V1.FormattedValue"
]
}
</div>
)}
</div>
</div>
</>
)
)}{" "}
</div>
</div>
</div>
)
);
};
const mapStateToProps = (state) => {
return {
...state,
};
};
const mapDispatchToProps = (dispatch) => {
return {
setEventDetails: (eventsObj) => {
dispatch(setEventDetails(eventsObj));
},
setCurrentPage: (currentPage) => {
dispatch(setCurrentPage(currentPage));
},
};
};
export default connect(mapStateToProps, mapDispatchToProps)(EIADetails);
+292
View File
@@ -60,6 +60,7 @@ import Pinswg_transportandworkactid from "./summaryTypes/pinswg_transportandwork
import Pinswg_wayleaveid from "./summaryTypes/pinswg_wayleaveid";
import CaseNoticeBanner from "./caseNoticeBanner";
import WatchModal from "./watchmodal";
import EIADetails from "./eia";
import GoogleMapComponent from "../mapping";
import OSPoint from "ospoint";
@@ -357,6 +358,26 @@ const CaseSummary = (props) => {
</a>
</li>
)}
{getFormCollectionByID(appealTypeID)
.PrimaryIdAttribute == "pinswg_sipscase" && (
<li
className={
whichTab == "case-eia"
? "govuk-tabs__list-item govuk-tabs__list-item--selected"
: "govuk-tabs__list-item "
}
>
<a
className="govuk-tabs__tab"
href="#case-events"
onClick={() => setWhichTab("case-eia")}
>
{" "}
EIA
</a>
</li>
)}
{isObjectNotEmpty(props, "eventsObj") && (
<li
className={
@@ -1223,6 +1244,277 @@ const CaseSummary = (props) => {
</div>
</div>
)}
<div
className={
whichTab == "case-eia"
? "govuk-tabs__panel "
: "govuk-tabs__panel govuk-tabs__panel--hidden"
}
id="case-eia"
>
<div className="govuk-grid-row">
<div className="flex-container grid-row govuk-body case">
<div className="card" id="key-dates-card">
<div className="card-body">
<div>
<h4 className="govuk-heading-s ">
EIA Screening
</h4>
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
Screening start date
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_screeningstartdate"
)
? !_.isEmpty(
detailsObj.pinswg_screeningstartdate
)
? formatDates(
detailsObj.pinswg_screeningstartdate
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
EIA target date
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_eiatargetdate"
)
? !_.isEmpty(
detailsObj.pinswg_eiatargetdate
)
? formatDates(
detailsObj.pinswg_eiatargetdate
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
{hasValidKey(
detailsObj,
"pinswg_targetextended"
) && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
Target Extended
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_targetextended"
)
? !_.isEmpty(
detailsObj.pinswg_targetextended
)
? formatDates(
detailsObj.pinswg_targetextended
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
Direction Issued
Date
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_directionissueddate"
)
? !_.isEmpty(
detailsObj.pinswg_directionissueddate
)
? formatDates(
detailsObj.pinswg_directionissueddate
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
{hasValidKey(
detailsObj,
"pinswg_eiarequired"
) && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
{t(
"case:summary-eia-required-label"
)}
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_eiarequired"
)
? detailsObj.pinswg_eiarequired
? router.locale ==
"cy"
? "Ie"
: "Yes"
: router.locale ==
"cy"
? "Na"
: "No"
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
)}
</dl>
</div>
</div>
</div>
<div className="card" id="key-dates-card">
<div className="card-body">
<div>
<h4 className="govuk-heading-s ">
EIA Scoping
</h4>
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
Scoping Start Date
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_scopingstartdate"
)
? !_.isEmpty(
detailsObj.pinswg_scopingstartdate
)
? formatDates(
detailsObj.pinswg_scopingstartdate
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
Scoping Target Date
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_scopingtargetdate"
)
? !_.isEmpty(
detailsObj.pinswg_scopingtargetdate
)
? formatDates(
detailsObj.pinswg_scopingtargetdate
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
{hasValidKey(
detailsObj,
"pinswg_scopingtargetextended"
) && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
Scoping Target
Extended
</dt>
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_scopingtargetextended"
)
? !_.isEmpty(
detailsObj.pinswg_scopingtargetextended
)
? formatDates(
detailsObj.pinswg_scopingtargetextended
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
)}
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
Scoping Outcome
Issued Date
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_scopingoutcomeissueddate"
)
? !_.isEmpty(
detailsObj.pinswg_scopingoutcomeissueddate
)
? formatDates(
detailsObj.pinswg_scopingoutcomeissueddate
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
</dl>
</div>
</div>
</div>
</div>
</div>
</div>
{getFormCollectionByID(appealTypeID)
.PrimaryIdAttribute == "pinswg_sipscase" && (
<EIADetails props={props} />
)}
{isObjectNotEmpty(props, "eventsObj") && (
<div
className={
+155 -4
View File
@@ -221,6 +221,50 @@ const Pinswg_sipscase = (props) => {
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
ES Submitted
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_essubmitted@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_essubmitted@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-to-be-confirmed-label"
)}
</dd>
</div>
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
Deemed Marine License Applied for
</dt>
<dd className="govuk-summary-list__value">
{router.locale == "cy"
? jsonpath(
'$..[?(@.value=="' +
detailsObj[
"pinswg_deemedmarinelicenseappliedfor@OData.Community.Display.V1.FormattedValue"
] +
'")].value_cy',
transLookup
)
: detailsObj[
"pinswg_deemedmarinelicenseappliedfor@OData.Community.Display.V1.FormattedValue"
] ||
t(
"case:summary-to-be-confirmed-label"
)}
</dd>
</div>
{/* <div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
@@ -536,7 +580,114 @@ const Pinswg_sipscase = (props) => {
</dl>
</div>
<div>
{(hasValidKey(
detailsObj,
"pinswg_validationdeadlineextension"
) ||
hasValidKey(
detailsObj,
"pinswg_casesuspensionstartdate"
) ||
hasValidKey(
detailsObj,
"pinswg_casesuspensionenddate"
)) && (
<div>
<h4 className="govuk-heading-s ">
Submission
</h4>
<dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
{hasValidKey(
detailsObj,
"pinswg_validationdeadlineextension"
) && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
Validation - Deadline
extension
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_validationdeadlineextension"
)
? !_.isEmpty(
detailsObj.pinswg_validationdeadlineextension
)
? formatDates(
detailsObj.pinswg_validationdeadlineextension
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
)}
{hasValidKey(
detailsObj,
"pinswg_casesuspensionstartdate"
) && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
Case Suspension Start
Date
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casesuspensionstartdate"
)
? !_.isEmpty(
detailsObj.pinswg_casesuspensionstartdate
)
? formatDates(
detailsObj.pinswg_casesuspensionstartdate
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
)}
{hasValidKey(
detailsObj,
"pinswg_casesuspensionenddate"
) && (
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">
Case Suspension End Date
</dt>{" "}
<dd className="govuk-summary-list__value">
{_.has(
detailsObj,
"pinswg_casesuspensionenddate"
)
? !_.isEmpty(
detailsObj.pinswg_casesuspensionenddate
)
? formatDates(
detailsObj.pinswg_casesuspensionenddate
)
: t(
"case:summary-awaiting-information-label"
)
: t(
"case:summary-awaiting-information-label"
)}
</dd>
</div>
)}
</dl>
</div>
)}
{/* <div>
<h4 className="govuk-heading-s ">
EIA Screening
</h4>
@@ -672,8 +823,8 @@ const Pinswg_sipscase = (props) => {
</div>
)}
</dl>
</div>
<div>
</div> */}
{/* <div>
<h4 className="govuk-heading-s ">
EIA Scoping
</h4>
@@ -777,7 +928,7 @@ const Pinswg_sipscase = (props) => {
</dd>
</div>
</dl>
</div>
</div> */}
{/* <dl className="govuk-summary-list govuk-!-font-size-16 govuk-!-margin-bottom-9">
<div className="govuk-summary-list__row">
<dt className="govuk-summary-list__key">