questionnaire for callins and uploads

This commit is contained in:
2024-12-03 18:27:51 +00:00
parent c7e13f84e7
commit 49d39e052e
14 changed files with 220 additions and 160 deletions
+18 -8
View File
@@ -34,7 +34,6 @@ let MakeRepresentation = (props) => {
const [clearRepForm, setClearRepForm] = useState(false);
const [savingStatus, setSavingStatus] = useState(false);
const [showQuestionnaireSection, setShowQuestionnaireSection] = useState(1);
//const [questionnaireCount, setQuestionnaireCount] = useState(0);
const { data: session } = useSession();
@@ -57,6 +56,8 @@ let MakeRepresentation = (props) => {
handleSubmit,
setRepresentationSubmitConfirmation,
setRepresentationMessageSent,
setShowQuestionnaireSection,
showQuestionnaireSection,
initialValues,
} = props;
const formObj = props.props.form;
@@ -194,6 +195,8 @@ let MakeRepresentation = (props) => {
? true
: false;
isLPA && setRepresentationCapacity("lpa");
currentType == "searchResultsObj"
? (casesObj = jsonpath(
'$..[?(@.title=="' + caseReference + '")]',
@@ -374,7 +377,15 @@ let MakeRepresentation = (props) => {
};
const whichControl = () => {
if (isLPA && _.isEmpty(currentView.representationCapacity)) {
if (
isLPA &&
_.isEmpty(
currentView.representationCapacity ||
(currentView.caseReference.hasOwnProperty("repDetails") &&
currentView.caseReference.repDetails
.representationCapacity)
)
) {
return (
//setRepresentationCapacity("lpa"),
<RepLPACapacitySelection
@@ -396,7 +407,10 @@ let MakeRepresentation = (props) => {
/>
);
} else {
switch (currentView.representationCapacity) {
switch (
currentView.representationCapacity ||
currentView.caseReference.repDetails.representationCapacity
) {
case false:
<RepCapacitySelection
formObj={formObj}
@@ -955,11 +969,7 @@ let MakeRepresentation = (props) => {
if (currentView.representationSubmit != true) {
if (_.isEmpty(currentView.representationCapacity)) {
if (isLPA) {
setRepresentationCapacity(
values.representationCapacity
.replace(/(\band|[\s\-\+\(\)\,\&])/g, "")
.toLowerCase()
);
setRepresentationCapacity("lpa");
} else {
setRepresentationCapacity(
values.representationCapacity
@@ -141,21 +141,21 @@ const RepCompleteSubmit = (props) => {
let buildAppealFilesArray = [];
// let filesUploadObj =
// formObj.representationForm.values.representationDocuments;
let filesUploadObj =
formObj.representationForm.values.representationDocuments;
// for (let key in filesUploadObj) {
// typeof filesUploadObj[key].name != "undefined" &&
// buildAppealFilesArray.push({
// "name": filesUploadObj[key].name,
// "size": filesUploadObj[key].size,
// });
// }
for (let key in filesUploadObj) {
typeof filesUploadObj[key].name != "undefined" &&
buildAppealFilesArray.push({
"name": filesUploadObj[key].name,
"size": filesUploadObj[key].size,
});
}
// console.log(
// buildAppealFilesArray,
// formObj.representationForm.values.filesList
// );
console.log(
buildAppealFilesArray,
formObj.representationForm.values.filesList
);
buildAppealFilesArray = formObj.representationForm.values.hasOwnProperty(
"filesList"
@@ -165,23 +165,43 @@ const RepCompleteSubmit = (props) => {
console.log(buildAppealFilesArray);
// const arrUniq = [
// ...new Map(buildAppealFilesArray.map((v) => [v.name, v])).values(),
// ];
let arrUniq = [
...new Map(buildAppealFilesArray.map((v) => [v.name, v])).values(),
];
// buildAppealFilesArray = buildAppealFilesArray.filter(function (el) {
// return el != null;
// });
buildAppealFilesArray = buildAppealFilesArray.filter(function (el) {
return el != null;
});
// const arrUniq = buildAppealFilesArray.filter(
// (obj1, i, arr) => arr.findIndex((obj2) => obj2.name === obj1.name) === i
// );
// console.log(arrUniq);
console.log(arrUniq, buildAppealFilesArray);
// Object.assign(formObj.representationForm.values, {
// "filesList": arrUniq,
// });
arrUniq = arrUniq.concat(filesUploadObj);
function removeNullObjects(arr) {
if (arr.length === 0) {
return arr;
}
return arr.filter((obj) => obj !== null);
}
function removeEmptyObjects(arr) {
if (arr.length === 0) {
return arr;
}
return arr.filter(
(obj) =>
obj && typeof obj === "object" && Object.keys(obj).length > 0
);
}
arrUniq = removeNullObjects(arrUniq);
arrUniq = removeEmptyObjects(arrUniq);
Object.assign(formObj.representationForm.values, {
"filesList": arrUniq,
});
let filterFiles = [];
return (
@@ -363,35 +383,29 @@ const RepCompleteSubmit = (props) => {
</dt>
<dd className="govuk-summary-list__value">
{buildAppealFilesArray.length > 0
? buildAppealFilesArray.map(
(blob, i) => (
<div
key={
blob.name +
"_" +
i
}
className="govuk-!-margin-bottom-5 fileThumb "
>
<img
src={getThumbnailIconByExtension(
blob.name
)}
alt={blob.name}
width="50"
/>
{arrUniq.length > 0
? arrUniq.map((blob, i) => (
<div
key={blob.name + "_" + i}
className="govuk-!-margin-bottom-5 fileThumb "
>
<img
src={getThumbnailIconByExtension(
blob.name
)}
alt={blob.name}
width="50"
/>
<span className="govuk-body govuk-!-font-size-14 govuk-!-padding-left-5">
{blob.name} (
{bytesToSize(
blob.size
)}
)
</span>
</div>
)
)
<span className="govuk-body govuk-!-font-size-14 govuk-!-padding-left-5">
{blob.name} (
{bytesToSize(
blob.size
)}
)
</span>
</div>
))
: ""}
</dd>
@@ -413,7 +427,10 @@ const RepCompleteSubmit = (props) => {
</a>
</dd>
</div>
{whichQuestionnaireCheck()}
{repFormData.representationType ==
"Questionnaire"
? whichQuestionnaireCheck()
: ""}
</dl>
<p>
{t(
@@ -494,7 +494,9 @@ export const RenderPickList = ({
disabled={custom.disabled}
// onChange={onChange}
>
<option>{t("common:drop-down-select")}</option>
<option value="" disabled defaultValue>
{t("common:drop-down-select")}
</option>
{Object.keys(optionsArr).map((key, index) => {
return (
<option key={key} value={optionsArr[key]}>
@@ -907,59 +909,6 @@ export const RenderFileUpload = (field) => {
}
};
const getDocumentType = (docCode) => {
switch (docCode) {
case "000001":
return "000001";
break;
case "000002":
return "000002";
break;
case "000003":
return "000003";
break;
case "000004":
return "000004";
break;
case "000005":
return "000005";
break;
case "000006":
return "000006";
break;
case "000007":
return "000007";
break;
case "000008":
return "000008";
break;
case "000009":
return "000009";
break;
case "000010":
return "000010";
break;
case "000011":
return "000011";
break;
case "000012":
return "000012";
break;
case "000013":
return "000013";
break;
case "000014":
return "000014";
break;
case "000015":
return "000015";
break;
default:
return "000000";
}
};
const filelistObj = field.fileList || {};
console.log("----", filelistObj.length);
@@ -1006,7 +955,7 @@ export const RenderFileUpload = (field) => {
});
}
buildAppealFilesArray = buildAppealFilesArray.concat(blobList);
//buildAppealFilesArray = buildAppealFilesArray.concat(blobList);
function removeDuplicates(arr) {
const seen = new Set();
@@ -1022,7 +971,7 @@ export const RenderFileUpload = (field) => {
buildAppealFilesArray = removeDuplicates(buildAppealFilesArray);
blobList = buildAppealFilesArray;
//blobList = buildAppealFilesArray;
const deleteThisBlob = async (
containerName,
@@ -1098,9 +1047,9 @@ export const RenderFileUpload = (field) => {
{field.meta.touched && field.meta.error && (
<span className="error">{field.meta.error}</span>
)}
{/* {files && Array.isArray(files) && (
{filesUploadObj && Array.isArray(filesUploadObj) && (
<ul>
{files.map(
{filesUploadObj.map(
(file, i) =>
typeof file.name != "undefined" && (
<div
@@ -1119,7 +1068,7 @@ export const RenderFileUpload = (field) => {
)
)}
</ul>
)} */}
)}
{blobList.map((blob, i) => (
<div
key={blob.name + "_" + i}
@@ -61,6 +61,7 @@ let RepLPA = (props) => {
case 846040003:
case 846040009:
case 846040008:
case 846040010:
case 846040017:
return (
<S78_Questionnaire
@@ -487,6 +488,9 @@ let RepLPA = (props) => {
type="submit"
className="govuk-button"
data-module="govuk-button"
onClick={() => {
setRepresentationSubmit(true);
}}
>
{t("common:continue-button")}
</button>
@@ -87,7 +87,9 @@ let Enforcement_Questionnaire = (props) => {
aria-describedby="commentBox-hint"
>
<h3 className="govuk-heading-s ">
Enforcement_Questionnaire{" "}
Enforcement Questionnaire
</h3>
<h3 className="govuk-heading-s ">
{t("myrepresentations:enf-section-heading-one")}{" "}
</h3>
<div className="govuk-form-group">