contentoh-components-library 21.1.35 → 21.1.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/atoms/Percent/Percent.stories.js +39 -0
- package/dist/components/atoms/Percent/index.js +39 -0
- package/dist/components/atoms/Percent/styles.js +20 -0
- package/dist/components/atoms/StatusTag/index.js +17 -2
- package/dist/components/atoms/StatusTag/styles.js +1 -1
- package/dist/components/molecules/TextAndGradient/TextAndGradient.stories.js +31 -0
- package/dist/components/molecules/TextAndGradient/index.js +36 -0
- package/dist/components/molecules/TextAndGradient/styles.js +18 -0
- package/dist/components/organisms/FullProductNameHeader/index.js +1 -1
- package/dist/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +105 -103
- package/dist/components/pages/ProviderProductEdition/index.js +323 -349
- package/dist/components/pages/RegistrationLoginFirstStep/RegistrationLoginFirstStep.stories.js +37 -0
- package/dist/components/pages/RegistrationLoginFirstStep/index.js +269 -0
- package/dist/components/pages/RegistrationLoginFirstStep/styles.js +20 -0
- package/dist/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +38 -83
- package/dist/components/pages/RetailerProductEdition/index.js +197 -208
- package/dist/global-files/data.js +9 -10
- package/package.json +1 -1
- package/src/components/atoms/StatusTag/index.js +12 -2
- package/src/components/atoms/StatusTag/styles.js +11 -11
- package/src/components/organisms/FullProductNameHeader/index.js +1 -1
- package/src/components/pages/ProviderProductEdition/ProviderProductEdition.stories.js +117 -103
- package/src/components/pages/ProviderProductEdition/index.js +171 -165
- package/src/components/pages/RetailerProductEdition/RetailerProductEdition.stories.js +33 -82
- package/src/components/pages/RetailerProductEdition/index.js +167 -139
- package/src/global-files/data.js +9 -10
- package/dist/assets/images/sliderToolTip/slide21.svg +0 -9
- package/dist/assets/images/sliderToolTip/slide22.svg +0 -9
- package/dist/assets/images/sliderToolTip/slide23.svg +0 -9
|
@@ -29,6 +29,7 @@ import { GenericModal } from "../../atoms/GenericModal";
|
|
|
29
29
|
import { ScreenHeader } from "../../atoms/ScreenHeader";
|
|
30
30
|
import { Loading } from "../../atoms/Loading";
|
|
31
31
|
import succes from "../../../assets/images/genericModal/genericModalCheck.svg";
|
|
32
|
+
import { getNewStatus } from "../../../global-files/data";
|
|
32
33
|
import errorModal from "../../../assets/images/genericModal/errorModal.svg";
|
|
33
34
|
|
|
34
35
|
const reducerImages = (state, action) => {
|
|
@@ -181,8 +182,11 @@ export const RetailerProductEdition = ({
|
|
|
181
182
|
setServices(services);
|
|
182
183
|
getServices();
|
|
183
184
|
|
|
184
|
-
//
|
|
185
|
-
setImages({
|
|
185
|
+
//setActiveRetailer(product?.retailers[0]);
|
|
186
|
+
setImages({
|
|
187
|
+
action: "init",
|
|
188
|
+
init: services[2],
|
|
189
|
+
});
|
|
186
190
|
if (services[2]?.values?.length > 0) setActiveImage(0);
|
|
187
191
|
|
|
188
192
|
getPercentage({ data: [product] }).then((res) => setPercentages(res));
|
|
@@ -200,22 +204,24 @@ export const RetailerProductEdition = ({
|
|
|
200
204
|
);
|
|
201
205
|
const parsedResponse = JSON.parse(servicesResponse?.data?.body).data;
|
|
202
206
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
);
|
|
207
|
+
let retailers = product.retailers || product.retailersAvailable;
|
|
208
|
+
let active = retailers?.filter((retailer) =>
|
|
209
|
+
parsedResponse?.map((srv) => srv.id_retailer).includes(retailer.id)
|
|
210
|
+
)[0];
|
|
208
211
|
!activeRetailer.id && setActiveRetailer(active ? active : retailers[0]);
|
|
209
212
|
setServicesData(parsedResponse);
|
|
210
213
|
};
|
|
211
214
|
|
|
212
215
|
const translateConcept = (concept) => {
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
216
|
+
let translation = "";
|
|
217
|
+
if (concept === "datasheet") {
|
|
218
|
+
translation = "Ficha técnica";
|
|
219
|
+
} else if (concept === "description") {
|
|
220
|
+
translation = "Descripción";
|
|
221
|
+
} else if (concept === "images") {
|
|
222
|
+
translation = "Imágenes";
|
|
223
|
+
}
|
|
224
|
+
return translation;
|
|
219
225
|
};
|
|
220
226
|
|
|
221
227
|
const getComments = async (tab = "Descripción") => {
|
|
@@ -251,14 +257,14 @@ export const RetailerProductEdition = ({
|
|
|
251
257
|
switch (user.id_role) {
|
|
252
258
|
case 7:
|
|
253
259
|
case 8:
|
|
254
|
-
arr = ["
|
|
260
|
+
arr = ["IN_PROGRESS", "RF", "RA"];
|
|
255
261
|
break;
|
|
256
262
|
case 4:
|
|
257
263
|
case 5:
|
|
258
|
-
arr = ["
|
|
264
|
+
arr = ["RF", "AF", "AA", "AP", "AC"];
|
|
259
265
|
break;
|
|
260
266
|
case 6:
|
|
261
|
-
arr = ["RP", "
|
|
267
|
+
arr = ["RP", "RC", "AF", "RA"];
|
|
262
268
|
break;
|
|
263
269
|
default:
|
|
264
270
|
arr = [];
|
|
@@ -384,14 +390,13 @@ export const RetailerProductEdition = ({
|
|
|
384
390
|
const saveDescriptions = async () => {
|
|
385
391
|
setLoading(true);
|
|
386
392
|
const productTemp = product;
|
|
387
|
-
const articleId = product?.article?.id_article;
|
|
388
393
|
const dataObject = {
|
|
389
|
-
articleId,
|
|
394
|
+
articleId: product?.article?.id_article,
|
|
390
395
|
articleData: updatedDescriptions,
|
|
391
396
|
};
|
|
392
397
|
if (product?.orderId) dataObject["orderId"] = product?.orderId;
|
|
393
398
|
try {
|
|
394
|
-
|
|
399
|
+
await axios.put(
|
|
395
400
|
`${process.env.REACT_APP_ARTICLE_DATA_ENDPOINT}?description=true&version=${version}`,
|
|
396
401
|
dataObject,
|
|
397
402
|
{
|
|
@@ -400,16 +405,14 @@ export const RetailerProductEdition = ({
|
|
|
400
405
|
},
|
|
401
406
|
}
|
|
402
407
|
);
|
|
403
|
-
if (
|
|
404
|
-
|
|
405
|
-
if (newArticleStatus) productTemp.status = newArticleStatus[articleId];
|
|
406
|
-
if (newStatus) productTemp.description_status = newStatus;
|
|
408
|
+
if (productTemp.status === "ASSIGNED") {
|
|
409
|
+
productTemp.status = "IN_PROGRESS";
|
|
407
410
|
setProduct(productTemp);
|
|
408
411
|
sessionStorage.setItem("productSelected", JSON.stringify(productTemp));
|
|
409
|
-
|
|
410
|
-
setMessage("Descripciones guardadas con éxito");
|
|
411
|
-
await loadData();
|
|
412
412
|
}
|
|
413
|
+
|
|
414
|
+
setMessage("Descripciones guardadas con éxito");
|
|
415
|
+
loadData();
|
|
413
416
|
} catch (error) {
|
|
414
417
|
console.log(error);
|
|
415
418
|
}
|
|
@@ -418,14 +421,13 @@ export const RetailerProductEdition = ({
|
|
|
418
421
|
const saveDatasheets = async () => {
|
|
419
422
|
setLoading(true);
|
|
420
423
|
const productTemp = product;
|
|
421
|
-
const articleId = product?.article?.id_article;
|
|
422
424
|
const dataObject = {
|
|
423
|
-
articleId,
|
|
425
|
+
articleId: product?.article?.id_article,
|
|
424
426
|
articleData: updatedDatasheets,
|
|
425
427
|
};
|
|
426
428
|
if (product?.orderId) dataObject["orderId"] = product?.orderId;
|
|
427
429
|
try {
|
|
428
|
-
|
|
430
|
+
await axios.put(
|
|
429
431
|
`${process.env.REACT_APP_ARTICLE_DATA_ENDPOINT}?datasheet=true&version=${version}`,
|
|
430
432
|
dataObject,
|
|
431
433
|
{
|
|
@@ -434,16 +436,13 @@ export const RetailerProductEdition = ({
|
|
|
434
436
|
},
|
|
435
437
|
}
|
|
436
438
|
);
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
if (newStatus) productTemp.datasheet_status = newStatus;
|
|
439
|
+
setMessage("Fichas técnicas guardadas");
|
|
440
|
+
if (productTemp.status === "ASSIGNED") {
|
|
441
|
+
productTemp.status = "IN_PROGRESS";
|
|
441
442
|
setProduct(productTemp);
|
|
442
443
|
sessionStorage.setItem("productSelected", JSON.stringify(productTemp));
|
|
443
|
-
|
|
444
|
-
setMessage("Fichas técnicas guardadas");
|
|
445
|
-
await loadData();
|
|
446
444
|
}
|
|
445
|
+
loadData();
|
|
447
446
|
} catch (error) {
|
|
448
447
|
console.log(error);
|
|
449
448
|
}
|
|
@@ -527,6 +526,15 @@ export const RetailerProductEdition = ({
|
|
|
527
526
|
} else {
|
|
528
527
|
setImagesUploaded(true);
|
|
529
528
|
}
|
|
529
|
+
let productTemp = product;
|
|
530
|
+
if (productTemp.status === "ASSIGNED") {
|
|
531
|
+
productTemp.status = "IN_PROGRESS";
|
|
532
|
+
setProduct(productTemp);
|
|
533
|
+
sessionStorage.setItem(
|
|
534
|
+
"productSelected",
|
|
535
|
+
JSON.stringify(productTemp)
|
|
536
|
+
);
|
|
537
|
+
}
|
|
530
538
|
} catch (err) {
|
|
531
539
|
console.log(err);
|
|
532
540
|
// setMainLoading(false);
|
|
@@ -551,7 +559,7 @@ export const RetailerProductEdition = ({
|
|
|
551
559
|
return e;
|
|
552
560
|
});
|
|
553
561
|
try {
|
|
554
|
-
|
|
562
|
+
await axios.put(
|
|
555
563
|
`${process.env.REACT_APP_ARTICLE_DATA_ENDPOINT}?image=true&version=${version}`,
|
|
556
564
|
dataImages,
|
|
557
565
|
{
|
|
@@ -560,21 +568,9 @@ export const RetailerProductEdition = ({
|
|
|
560
568
|
},
|
|
561
569
|
}
|
|
562
570
|
);
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
if (newArticleStatus)
|
|
567
|
-
productTemp.status = newArticleStatus[articleId];
|
|
568
|
-
if (newStatus) productTemp.images_status = newStatus;
|
|
569
|
-
setProduct(productTemp);
|
|
570
|
-
sessionStorage.setItem(
|
|
571
|
-
"productSelected",
|
|
572
|
-
JSON.stringify(productTemp)
|
|
573
|
-
);
|
|
574
|
-
setMessage("Imágenes guardadas con éxito");
|
|
575
|
-
sessionStorage.removeItem("imagesList");
|
|
576
|
-
await loadData();
|
|
577
|
-
}
|
|
571
|
+
setMessage("Imágenes guardadas con éxito");
|
|
572
|
+
sessionStorage.removeItem("imagesList");
|
|
573
|
+
loadData();
|
|
578
574
|
} catch (error) {
|
|
579
575
|
console.log(error);
|
|
580
576
|
}
|
|
@@ -583,20 +579,24 @@ export const RetailerProductEdition = ({
|
|
|
583
579
|
|
|
584
580
|
const evaluationFinished = (userId, tab, statusArray) => {
|
|
585
581
|
const srv = servicesData.filter((serv) => serv.service === getConcept(tab));
|
|
586
|
-
const srvActive = srv
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
const
|
|
590
|
-
|
|
582
|
+
const [srvActive] = srv.filter(
|
|
583
|
+
(serv) => serv.id_retailer === activeRetailer?.id
|
|
584
|
+
);
|
|
585
|
+
const unvalidated =
|
|
586
|
+
product[`${getConcept(tab)}_status`] === "QF" ||
|
|
587
|
+
product[`${getConcept(tab)}_status`] === "IN_PROGRESS";
|
|
591
588
|
|
|
592
|
-
const auditorUnvalidated = !["RA", "AA", "
|
|
589
|
+
const auditorUnvalidated = !["RA", "AA", "AC", "AP"].includes(
|
|
590
|
+
product[`${getConcept(tab)}_status`]
|
|
591
|
+
);
|
|
593
592
|
|
|
594
593
|
switch (userId) {
|
|
595
594
|
case 7:
|
|
596
595
|
case 8:
|
|
597
596
|
return (
|
|
598
|
-
|
|
599
|
-
|
|
597
|
+
(["RA", "RF"].includes(product?.status) && //"IN_PROGRESS", "RF", "RA"
|
|
598
|
+
statusArray.includes(srvActive?.status)) ||
|
|
599
|
+
(statusArray.includes(product.status) &&
|
|
600
600
|
srv.filter((serv) => statusArray.includes(serv.status)).length ===
|
|
601
601
|
srv.length)
|
|
602
602
|
);
|
|
@@ -604,16 +604,14 @@ export const RetailerProductEdition = ({
|
|
|
604
604
|
case 5:
|
|
605
605
|
return (
|
|
606
606
|
unvalidated &&
|
|
607
|
-
["
|
|
607
|
+
["IN_PROGRESS", "QF"].includes(product.status) && //"RF", "AF", "AA", "AP", "AC
|
|
608
608
|
srv.filter((serv) => statusArray.includes(serv.status)).length ===
|
|
609
609
|
srv.length
|
|
610
610
|
);
|
|
611
611
|
case 6:
|
|
612
612
|
return (
|
|
613
|
-
statusArray.includes(product.status) && //
|
|
614
|
-
srv.every((serv) =>
|
|
615
|
-
["RA", "AA", "AP", "ACA"].includes(serv.status)
|
|
616
|
-
) &&
|
|
613
|
+
statusArray.includes(product.status) && //RP, RC, AF, RA true
|
|
614
|
+
srv.every((serv) => ["RA", "AA", "AP", "AC"].includes(serv.status)) &&
|
|
617
615
|
auditorUnvalidated
|
|
618
616
|
);
|
|
619
617
|
default:
|
|
@@ -635,20 +633,20 @@ export const RetailerProductEdition = ({
|
|
|
635
633
|
const approveRejectButtons = (action) => {
|
|
636
634
|
let concept = getConcept(action || activeTab);
|
|
637
635
|
|
|
638
|
-
const retailerStatus = servicesData
|
|
639
|
-
.
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
?.status
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
retailerStatus === "
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
636
|
+
const [retailerStatus] = servicesData.filter(
|
|
637
|
+
(srv) => srv.id_retailer === activeRetailer?.id && srv.service === concept
|
|
638
|
+
);
|
|
639
|
+
|
|
640
|
+
return (
|
|
641
|
+
(retailerStatus?.status === "QF" &&
|
|
642
|
+
(user.id_role === 1 || user.id_role === 4 || user.id_role === 5)) ||
|
|
643
|
+
(retailerStatus?.status === "AF" && //sessionStorage product
|
|
644
|
+
(user.id_role === 1 || user.id_role === 6)) ||
|
|
645
|
+
(retailerStatus?.status === "RP" &&
|
|
646
|
+
(user.id_role === 1 || user.id_role === 6)) ||
|
|
647
|
+
(retailerStatus?.status === "RC" &&
|
|
648
|
+
(user.id_role === 1 || user.id_role === 6))
|
|
649
|
+
);
|
|
652
650
|
};
|
|
653
651
|
|
|
654
652
|
const getSectionIcon = () => {
|
|
@@ -672,57 +670,92 @@ export const RetailerProductEdition = ({
|
|
|
672
670
|
try {
|
|
673
671
|
let concept = getConcept(activeTab);
|
|
674
672
|
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
let data = {
|
|
681
|
-
articleId,
|
|
682
|
-
orderId,
|
|
683
|
-
concept,
|
|
684
|
-
evalStatus,
|
|
685
|
-
retailerId: activeRetailer.id,
|
|
686
|
-
};
|
|
687
|
-
let res;
|
|
673
|
+
let productTemp = { ...product };
|
|
674
|
+
let evalStatus = product[`${concept}_status`];
|
|
675
|
+
|
|
676
|
+
let data = {};
|
|
688
677
|
if (result) {
|
|
689
|
-
data
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
678
|
+
data = {
|
|
679
|
+
articleId: product.article.id_article,
|
|
680
|
+
orderId: product.orderId,
|
|
681
|
+
concept: concept,
|
|
682
|
+
result: result,
|
|
683
|
+
evalStatus: evalStatus,
|
|
684
|
+
retailerId: activeRetailer.id,
|
|
685
|
+
};
|
|
686
|
+
|
|
687
|
+
await axios.put(`${process.env.REACT_APP_EVALUATION_ENDPOINT}`, data, {
|
|
688
|
+
headers: {
|
|
689
|
+
Authorization: token,
|
|
690
|
+
},
|
|
691
|
+
});
|
|
699
692
|
getServices();
|
|
700
693
|
} else {
|
|
701
|
-
const specialistDone =
|
|
694
|
+
const specialistDone =
|
|
695
|
+
evalStatus === "RF" ||
|
|
696
|
+
evalStatus === "RA" ||
|
|
697
|
+
evalStatus === "IN_PROGRESS";
|
|
702
698
|
|
|
703
|
-
let message;
|
|
704
699
|
if (specialistDone) {
|
|
705
|
-
|
|
700
|
+
setMessage(`${activeTab} enviada a facilitador`);
|
|
701
|
+
getSectionIcon();
|
|
702
|
+
} else if (evalStatus === "QF") {
|
|
703
|
+
setMessage("Evaluación enviada");
|
|
704
|
+
getSectionIcon();
|
|
705
|
+
} else if (evalStatus === "AF") {
|
|
706
|
+
setMessage("Evaluación enviada");
|
|
706
707
|
getSectionIcon();
|
|
707
|
-
} else if (
|
|
708
|
-
|
|
708
|
+
} else if (evalStatus === "RP") {
|
|
709
|
+
setMessage("Evaluación enviada");
|
|
709
710
|
getSectionIcon();
|
|
711
|
+
} else if (evalStatus === "RC") {
|
|
712
|
+
setMessage("Evaluación enviada");
|
|
713
|
+
getSectionIcon();
|
|
714
|
+
}
|
|
715
|
+
let statusArr = [];
|
|
716
|
+
servicesData.forEach((srv) => {
|
|
717
|
+
srv.service === concept && statusArr.push(srv.status);
|
|
718
|
+
});
|
|
719
|
+
|
|
720
|
+
productTemp[`${concept}_status`] = getNewStatus(statusArr);
|
|
721
|
+
|
|
722
|
+
let newStatus = getNewStatus([
|
|
723
|
+
productTemp.datasheet_status,
|
|
724
|
+
productTemp.description_status,
|
|
725
|
+
productTemp.images_status,
|
|
726
|
+
]);
|
|
727
|
+
|
|
728
|
+
productTemp.status = newStatus;
|
|
729
|
+
|
|
730
|
+
data = {
|
|
731
|
+
articleId: product.article.id_article,
|
|
732
|
+
orderId: product.orderId,
|
|
733
|
+
concept: concept,
|
|
734
|
+
evalStatus: evalStatus,
|
|
735
|
+
retailerId: activeRetailer.id,
|
|
736
|
+
};
|
|
737
|
+
|
|
738
|
+
switch (user.id_role) {
|
|
739
|
+
case 7:
|
|
740
|
+
case 8:
|
|
741
|
+
data.especialist = true;
|
|
742
|
+
break;
|
|
743
|
+
case 4:
|
|
744
|
+
case 5:
|
|
745
|
+
data.facilitator = true;
|
|
746
|
+
break;
|
|
747
|
+
default:
|
|
748
|
+
break;
|
|
710
749
|
}
|
|
711
|
-
|
|
750
|
+
await axios.put(`${process.env.REACT_APP_SEND_EVAL}`, data, {
|
|
712
751
|
headers: {
|
|
713
752
|
Authorization: token,
|
|
714
753
|
},
|
|
715
754
|
});
|
|
716
755
|
}
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
productTemp[`${concept}_status`] = newStatus;
|
|
721
|
-
await loadData();
|
|
722
|
-
if (message) setMessage(message);
|
|
723
|
-
sessionStorage.setItem("productSelected", JSON.stringify(productTemp));
|
|
724
|
-
setProduct(productTemp);
|
|
725
|
-
}
|
|
756
|
+
loadData();
|
|
757
|
+
sessionStorage.setItem("productSelected", JSON.stringify(productTemp));
|
|
758
|
+
setProduct(productTemp);
|
|
726
759
|
} catch (error) {
|
|
727
760
|
console.log(error);
|
|
728
761
|
}
|
|
@@ -908,12 +941,12 @@ export const RetailerProductEdition = ({
|
|
|
908
941
|
},
|
|
909
942
|
],
|
|
910
943
|
concept: concept,
|
|
911
|
-
|
|
944
|
+
[`${assignationType}Id`]: assignationId,
|
|
912
945
|
};
|
|
913
|
-
|
|
946
|
+
axios({
|
|
914
947
|
method: "post",
|
|
915
948
|
url: process.env.REACT_APP_ASSIGNATIONS_ENDPOINT,
|
|
916
|
-
data,
|
|
949
|
+
data: data,
|
|
917
950
|
headers: {
|
|
918
951
|
Authorization: token,
|
|
919
952
|
},
|
|
@@ -1102,7 +1135,7 @@ export const RetailerProductEdition = ({
|
|
|
1102
1135
|
sessionStorage.setItem("productSelected", JSON.stringify(productTemp));
|
|
1103
1136
|
setProduct(productTemp);
|
|
1104
1137
|
|
|
1105
|
-
|
|
1138
|
+
loadData();
|
|
1106
1139
|
} catch (error) {
|
|
1107
1140
|
console.log(error);
|
|
1108
1141
|
}
|
|
@@ -1180,7 +1213,7 @@ export const RetailerProductEdition = ({
|
|
|
1180
1213
|
showApproveRejectAll={
|
|
1181
1214
|
isAuditor &&
|
|
1182
1215
|
servicesData.every((serv) =>
|
|
1183
|
-
["RA", "AA", "AP", "
|
|
1216
|
+
["RA", "AA", "AP", "AC", "AF"].includes(serv.status)
|
|
1184
1217
|
) &&
|
|
1185
1218
|
approveRejectButtons() &&
|
|
1186
1219
|
(auditorAssigned() || userAssigned())
|
|
@@ -1233,7 +1266,7 @@ export const RetailerProductEdition = ({
|
|
|
1233
1266
|
assig={assig[activeTab]}
|
|
1234
1267
|
setAssignation={setAssignation}
|
|
1235
1268
|
isRetailer={isRetailer}
|
|
1236
|
-
showSaveButton={userAssigned()}
|
|
1269
|
+
showSaveButton={auditorAssigned() || userAssigned()}
|
|
1237
1270
|
onClickSave={() => {
|
|
1238
1271
|
switch (activeTab) {
|
|
1239
1272
|
case "Descripción":
|
|
@@ -1373,21 +1406,16 @@ export const RetailerProductEdition = ({
|
|
|
1373
1406
|
/>
|
|
1374
1407
|
</div>
|
|
1375
1408
|
)}
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
}
|
|
1387
|
-
label={"Enviar evaluación"}
|
|
1388
|
-
onClick={() => sendToFacilitator()}
|
|
1389
|
-
/>
|
|
1390
|
-
)}
|
|
1409
|
+
<Button
|
|
1410
|
+
buttonType={
|
|
1411
|
+
evaluationFinished(user.id_role, activeTab, statusArray) &&
|
|
1412
|
+
requiredNull[activeTab] === 0
|
|
1413
|
+
? "general-green-button"
|
|
1414
|
+
: "general-button-disabled"
|
|
1415
|
+
}
|
|
1416
|
+
label={"Enviar evaluación"}
|
|
1417
|
+
onClick={() => sendToFacilitator()}
|
|
1418
|
+
/>
|
|
1391
1419
|
</div>
|
|
1392
1420
|
)}
|
|
1393
1421
|
</div>
|
|
@@ -1421,4 +1449,4 @@ export const RetailerProductEdition = ({
|
|
|
1421
1449
|
)}
|
|
1422
1450
|
</Container>
|
|
1423
1451
|
);
|
|
1424
|
-
};
|
|
1452
|
+
};
|
package/src/global-files/data.js
CHANGED
|
@@ -195,19 +195,18 @@ export const fetchUsers = async (auth) => {
|
|
|
195
195
|
export const getNewStatus = (statusArray) => {
|
|
196
196
|
let lookupString = "";
|
|
197
197
|
statusArray.forEach((element) => (lookupString += element + "/"));
|
|
198
|
-
if (lookupString.includes("
|
|
198
|
+
if (lookupString.includes("RF")) return "RF";
|
|
199
199
|
if (lookupString.includes("RA")) return "RA";
|
|
200
200
|
if (lookupString.includes("RP")) return "RP";
|
|
201
|
-
if (lookupString.includes("
|
|
202
|
-
if (lookupString.includes("UNASSIGNED")) return "
|
|
203
|
-
if (lookupString.includes("
|
|
204
|
-
if (lookupString.includes("
|
|
205
|
-
if (lookupString.includes("
|
|
201
|
+
if (lookupString.includes("RC")) return "RC";
|
|
202
|
+
if (lookupString.includes("UNASSIGNED")) return "IN_PROGRESS";
|
|
203
|
+
if (lookupString.includes("IN_PROGRESS")) return "IN_PROGRESS";
|
|
204
|
+
if (lookupString.includes("QF")) return "QF";
|
|
205
|
+
if (lookupString.includes("AF")) return "AF";
|
|
206
206
|
if (lookupString.includes("AA")) return "AA";
|
|
207
207
|
if (lookupString.includes("AP")) return "AP";
|
|
208
|
-
if (lookupString.includes("
|
|
209
|
-
if (lookupString.includes("
|
|
208
|
+
if (lookupString.includes("AC")) return "AC";
|
|
209
|
+
if (lookupString.includes("RECEIVED")) return "RECEIVED";
|
|
210
210
|
if (lookupString.includes("NA")) return "NA";
|
|
211
|
-
|
|
212
|
-
return "NA";
|
|
211
|
+
return new Error("Status not found");
|
|
213
212
|
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
<svg width="242" height="68" viewBox="0 0 242 68" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
2
|
-
<rect width="242" height="68" fill="url(#pattern0)"/>
|
|
3
|
-
<defs>
|
|
4
|
-
<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
|
|
5
|
-
<use xlink:href="#image0_11191_45209" transform="translate(0 -0.0217824) scale(0.0037594 0.013379)"/>
|
|
6
|
-
</pattern>
|
|
7
|
-
<image id="image0_11191_45209" width="266" height="78" xlink:href="data:image/png;base64,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"/>
|
|
8
|
-
</defs>
|
|
9
|
-
</svg>
|